Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* chore: Update devcontainer.json with new VS Code extensions * Using @PostConstruct to create mandatory directories * Init Subscribing events for Ingestor repository * 🚧 OnEvent * Upgrade Gradle Plugin org.springframework.boot from 3.2.5 to 3.3.0 * feat: Update package import statements for DataProperties The package import statements for `DataProperties` have been updated to reflect the new package structure in the `ai.dragon.config.properties` package. This change ensures that the correct class is imported and used in the `DirectoryStructureComponent` and `PropertiesConfig` classes. * feat: Remove unused method onApplicationStartup in JobService The method `onApplicationStartup` in the `JobService` class is no longer used and can be safely removed. This change eliminates unnecessary code and improves code readability. * feat: Refactor IngestorJobService to use EntityChangeListener * feat: Update package import statements for DataProperties The package import statements for `DataProperties` have been updated to reflect the new package structure in the `ai.dragon.config.properties` package. This change ensures that the correct class is imported and used in the `DirectoryStructureComponent` and `PropertiesConfig` classes. * feat: Rename StartupApplicationListener to DragonApplicationListener * feat: Renaming IAbstractEntity interface * feat: Refactor AbstractRepository to use EntityChangeListener * feat: Refactor entity classes to use AbstractEntity instead of IAbstractEntity The entity classes (IngestorEntity, ProviderEntity, and SiloEntity) have been refactored to use the AbstractEntity class instead of the IAbstractEntity interface. This change ensures consistency and improves code readability. * feat: Remove unused JobScheduler dependency in IngestorJobService * Remove unused DatabaseService dependency in DragonApplicationListener * 🚧 Silo Job *⚠️ An Ingestor is now a Silo and a Silo is now a Farm (collection of Silos) * 🚧 JobScheduler * feat: Refactor getByUuid method in AbstractRepository The `getByUuid` method in the `AbstractRepository` class has been refactored to return an `Optional` instead of a nullable value. This change improves code readability and ensures safer handling of null values. * feat: Refactor JobRunrConfig The `JobRunrConfig` class has been refactored to remove unused imports and methods. This change improves code cleanliness and reduces unnecessary dependencies. * Refactor SiloIngestorJobHandler and SiloIngestorRequest The `SiloIngestorJobHandler` and `SiloIngestorRequest` classes have been refactored. The previous implementation in the `ai.dragon.job` package has been deleted, and new implementations have been added in the `ai.dragon.job.silo` package. * Refactor DragonApplicationListener to close web server application context The `DragonApplicationListener` class has been refactored to include the closing of the web server application context. This change ensures proper cleanup and resource management. * Refactor SiloJobService to use JobRequestScheduler The `SiloJobService` class has been refactored to use the `JobRequestScheduler` instead of the `JobScheduler`. * Refactor background job server configuration for Profile(test) Enable the background job server and set the poll interval to 5 seconds. Also, enable the job scheduler and configure the default number of retries for failing jobs. * feat: Fix getByUuid and exists methods in AbstractRepository * refactor: Use Optional in repository tests Refactor the repository tests to use `Optional` when retrieving entities by UUID. This change improves code readability and ensures safer handling of null values. * feat: Add UnusedLocalVariable check to checkstyle.xml The `checkstyle.xml` file in the backend has been updated to include the `UnusedLocalVariable` check. This change ensures that unused local variables are flagged during code analysis. * refactor: Add EmptyStatement check to checkstyle.xml * refactor: Add EqualsAvoidNull check to checkstyle.xml * refactor: Add SimplifyBooleanExpression and SimplifyBooleanReturn checks to checkstyle.xml * refactor: Add UnnecessaryParentheses check to checkstyle.xml * refactor: Add UnnecessarySemicolonAfterOuterTypeDeclaration check to checkstyle.xml * refactor: Add UnnecessarySemicolonAfterTypeMemberDeclaration and UnnecessarySemicolonInEnumeration checks to checkstyle.xml * refactor: Moving fields from FarmEntity to SiloEntity * refactor: Rename stopRecurringJob to removeRecurringJob and stopAllRecurringJobs to removeAllRecurringJobs The methods in the JobService class have been renamed to improve clarity and consistency. The stopRecurringJob method has been renamed to removeRecurringJob, and the stopAllRecurringJobs method has been renamed to removeAllRecurringJobs. This change aligns with the purpose of these methods and enhances code readability. * 🚧 SiloIngestorJob progress * refactor: Rename stopRecurringJob to removeRecurringJob and stopAllRecurringJobs to removeAllRecurringJobs * refactor: Update EntityChangeListener to pass the entity object instead of UUID The EntityChangeListener class has been modified to pass the entity object instead of just the UUID to the onChangeEvent method. * refactor: Update JobService to include getRecurringJob method The JobService class has been modified to include a new method called getRecurringJob. This method retrieves a recurring job by its ID. This change enhances the functionality of the JobService and improves code organization. * feat: Update SiloJobService to use SiloEntity instead of UUID in job methods The SiloJobService class has been modified to use the SiloEntity object instead of UUID in the createSiloIngestorJob, removeSiloIngestorJob, and restartSiloIngestorJob methods. This change improves code clarity and aligns with the recent modifications in the EntityChangeListener class. * refactor: Update SiloJobService to use SiloEntity in job methods * refactor: Remove unused import of UUID in EntityChangeListener * refactor: ingestorType and ingestorSchedule are now mandatory * refactor: Update SiloEntity to use List<String> for ingestorSettings * refactor: Update EmbeddingModelType to use Lombok annotations The EmbeddingModelType class has been refactored to use Lombok annotations for generating getters, setters, and builder methods. This change improves code readability and reduces boilerplate code. * refactor: Renaming SiloType to IngestorType * refactor: Update EmbeddingModelType to use Lombok annotations * refactor: Update SiloJobService to use SiloEntity in job methods * refactor: Add LocalSiloIngestor and LocalIngestorSettings classes * refactor: Update SiloIngestorJobRequest to use Lombok annotations * refactor: Update SiloIngestorJobHandler to ingest data to SiloEntity with progress tracking This commit refactors the SiloIngestorJobHandler class to include a new method, ingestDataToSilo, which ingests data to the SiloEntity with progress tracking. The method uses a LocalSiloIngestor to list the documents to be ingested and iterates through them, updating the progress bar accordingly. * refactor: Add ImplAbstractSiloIngestor class The commit adds a new class, `ImplAbstractSiloIngestor`, which extends the `AbstractSiloIngestor` interface. This class provides a base implementation for ingesting data into a `SiloEntity` object. It includes methods for converting ini settings to objects and checking ingestor settings. This addition enhances the functionality of the codebase. * refactor: Update LocalSiloIngestor to use IniSettingUtil for converting ini settings to objects The LocalSiloIngestor class has been updated to use the IniSettingUtil class for converting ini settings to objects. This change improves code organization and promotes code reuse. * refactor: Improve logging messages in SiloIngestorJobHandler This commit improves the logging messages in the SiloIngestorJobHandler class. It updates the log messages to provide more descriptive information about the job being executed, such as the UUID of the Silo Ingestor Job. This change enhances the readability and clarity of the log output, making it easier to track the progress of the job. * ```text refactor: Update AbstractSiloIngestor to throw exception in listDocuments() This commit updates the AbstractSiloIngestor interface to throw an exception in the listDocuments() method. This change ensures that any errors encountered during the listing of documents are properly handled and propagated. * refactor: Add recursive document listing in LocalSiloIngestor This commit adds the ability to recursively list documents in the LocalSiloIngestor class. It introduces a new private method, makeDocumentsList, which uses the Files.newDirectoryStream method to iterate through the directory and its subdirectories. This enhancement allows for a more comprehensive listing of documents and improves the functionality of the codebase. * refactor: Add URI field to IngestorDocument and add new properties to LocalIngestorSettings This commit adds a new field, `URI`, to the `IngestorDocument` class, allowing for the storage of document URIs. Additionally, it introduces new properties, `matches` and `recursive`, to the `LocalIngestorSettings` class. The `matches` property represents a string pattern for matching documents, while the `recursive` property indicates whether the document listing should be done recursively. These changes enhance the functionality and flexibility of the codebase.
- Loading branch information