Class RulesManagerFileImpl
- java.lang.Object
-
- fr.gouv.vitam.functional.administration.rules.core.RulesManagerFileImpl
-
- All Implemented Interfaces:
ReferentialFile<FileRules>
public class RulesManagerFileImpl extends java.lang.Object implements ReferentialFile<FileRules>
RulesManagerFileImplManage the Rules File features
-
-
Constructor Summary
Constructors Constructor Description RulesManagerFileImpl(MongoDbAccessAdminImpl dbConfiguration, VitamCounterService vitamCounterService, OntologyLoader ontologyLoader, VitamRuleService vitamRuleService)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.fasterxml.jackson.databind.node.ArrayNodecheckFile(java.io.InputStream rulesFileStream, java.util.Map<java.lang.Integer,java.util.List<ErrorReport>> errorsMap, java.util.List<FileRulesModel> usedDeletedRules, java.util.List<FileRulesModel> usedUpdatedRules, java.util.List<FileRulesModel> usedUpdateRulesForUpdateUnit, java.util.List<FileRulesModel> insertRules, java.util.Set<java.lang.String> notUsedDeletedRules, java.util.Set<java.lang.String> notUsedUpdatedRules)Checks File : checks if a stream of referential data is validbooleancheckRuleConformity(com.fasterxml.jackson.databind.node.ArrayNode array1, com.fasterxml.jackson.databind.node.ArrayNode array2, int tenant)Check if two arrayNodes are the sameFileRulesfindDocumentById(java.lang.String id)find document based on a given IdRequestResponseOK<FileRules>findDocuments(com.fasterxml.jackson.databind.JsonNode select)find document based on DSL queryjava.io.InputStreamgenerateErrorReport(java.util.Map<java.lang.Integer,java.util.List<ErrorReport>> errors, java.util.List<FileRulesModel> usedDeletedRules, java.util.List<FileRulesModel> usedUpdatedRules, StatusCode status, GUID eipMaster)generate Error Reportcom.fasterxml.jackson.databind.node.ArrayNodegetRuleFromCollection(int tenant)get the rule file from collectioncom.fasterxml.jackson.databind.node.ArrayNodegetRuleFromOffer(int tenant)get the last rule file from offervoidimportFile(java.io.InputStream rulesFileStream, java.lang.String filename)importFile : import reference file to database
-
-
-
Constructor Detail
-
RulesManagerFileImpl
public RulesManagerFileImpl(MongoDbAccessAdminImpl dbConfiguration, VitamCounterService vitamCounterService, OntologyLoader ontologyLoader, VitamRuleService vitamRuleService)
-
-
Method Detail
-
importFile
public void importFile(java.io.InputStream rulesFileStream, java.lang.String filename) throws java.io.IOException, InvalidParseOperationException, ReferentialException, StorageException, InvalidGuidOperationExceptionDescription copied from interface:ReferentialFileimportFile : import reference file to database- Specified by:
importFilein interfaceReferentialFile<FileRules>- Parameters:
rulesFileStream- as InputStreamfilename- file name- Throws:
java.io.IOExceptionInvalidParseOperationExceptionReferentialException- when there is error of importStorageExceptionInvalidGuidOperationException
-
checkFile
public com.fasterxml.jackson.databind.node.ArrayNode checkFile(java.io.InputStream rulesFileStream, java.util.Map<java.lang.Integer,java.util.List<ErrorReport>> errorsMap, java.util.List<FileRulesModel> usedDeletedRules, java.util.List<FileRulesModel> usedUpdatedRules, java.util.List<FileRulesModel> usedUpdateRulesForUpdateUnit, java.util.List<FileRulesModel> insertRules, java.util.Set<java.lang.String> notUsedDeletedRules, java.util.Set<java.lang.String> notUsedUpdatedRules) throws java.io.IOException, ReferentialException, InvalidParseOperationExceptionChecks File : checks if a stream of referential data is valid- Parameters:
rulesFileStream- as InputStreamerrorsMap- List of string that contains errorsusedDeletedRules- used rules in AU that want to deleteusedUpdatedRules- used rules in AU that want to updateinsertRules- inserted rulesusedUpdateRulesForUpdateUnit- used rules in AU that want to be updated for real purpose (duration)notUsedDeletedRules- not used rules in AU that want to deletenotUsedUpdatedRules- Updated rules not used in AU- Returns:
- The JsonArray containing the referential data if they are all valid
- Throws:
ReferentialException- when there is errors importjava.io.IOException- when there is IO ExceptionInvalidParseOperationException
-
findDocumentById
public FileRules findDocumentById(java.lang.String id)
Description copied from interface:ReferentialFilefind document based on a given Id- Specified by:
findDocumentByIdin interfaceReferentialFile<FileRules>- Parameters:
id- of vitam document- Returns:
- vitam document
-
findDocuments
public RequestResponseOK<FileRules> findDocuments(com.fasterxml.jackson.databind.JsonNode select) throws ReferentialException
Description copied from interface:ReferentialFilefind document based on DSL query- Specified by:
findDocumentsin interfaceReferentialFile<FileRules>- Parameters:
select- filter- Returns:
- vitam document list
- Throws:
FileFormatNotFoundException- when no results foundReferentialException- when error occurs
-
generateErrorReport
public java.io.InputStream generateErrorReport(java.util.Map<java.lang.Integer,java.util.List<ErrorReport>> errors, java.util.List<FileRulesModel> usedDeletedRules, java.util.List<FileRulesModel> usedUpdatedRules, StatusCode status, GUID eipMaster)
generate Error Report- Parameters:
errors- the list of error for generated errorsusedDeletedRules- list of fileRules that attempt to be deleted but have reference to unitusedUpdatedRules- list of fileRules that attempt to be updated but have reference to unitstatus- statuseipMaster- eipMaster- Returns:
- the error report inputStream
-
getRuleFromCollection
public com.fasterxml.jackson.databind.node.ArrayNode getRuleFromCollection(int tenant) throws InvalidParseOperationExceptionget the rule file from collection- Parameters:
tenant-- Returns:
- ArrayNode
- Throws:
InvalidParseOperationException
-
getRuleFromOffer
public com.fasterxml.jackson.databind.node.ArrayNode getRuleFromOffer(int tenant)
get the last rule file from offer- Parameters:
tenant-- Returns:
- ArrayNode
-
checkRuleConformity
public boolean checkRuleConformity(com.fasterxml.jackson.databind.node.ArrayNode array1, com.fasterxml.jackson.databind.node.ArrayNode array2, int tenant)Check if two arrayNodes are the same- Parameters:
array1-array2-tenant-- Returns:
- true if rule conformity, false if not
-
-