Class ProfileServiceImpl
java.lang.Object
fr.gouv.vitam.functional.administration.core.profile.ProfileServiceImpl
- All Implemented Interfaces:
VitamAutoCloseable,ProfileService,AutoCloseable
The implementation of the profile servie This implementation manage creation, update, ... profiles with any given
format (xsd, rng)
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionProfileServiceImpl(MongoDbAccessAdminImpl mongoAccess, VitamCounterService vitamCounterService, FunctionalBackupService functionalBackupService) Constructor -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()createProfiles(List<CreateProfileModel> createProfileModels) Create a collections of profile After passing the validation steps.javax.ws.rs.core.ResponsedownloadProfileFile(String profileIdentifier) download file corresponding to profileIdentifierfindByIdentifier(String identifier) Find profile by identifierfindProfiles(com.fasterxml.jackson.databind.JsonNode queryDsl) find Profile by QueryDslimportProfileFile(String profileIdentifier, InputStream profileFile) 1.updateProfile(ProfileModel profileModel, com.fasterxml.jackson.databind.JsonNode jsonDsl) Update profileupdateProfile(String identifier, com.fasterxml.jackson.databind.JsonNode jsonDsl) Update profiles after passing validation steps : Field modified : - ActivationDate - DesactivationDate - LastUpdate - Status
-
Field Details
-
OP_PROFILE_STORAGE
- See Also:
-
PROFILE_FORMAT_SHOULD_BE_XSD_OR_RNG
- See Also:
-
PROFILE_SEDAVERSION_SHOULD_BE_VALID
- See Also:
-
PROFILE_IDENTIFIER_ALREADY_EXISTS_IN_DATABASE
- See Also:
-
PROFILE_IDENTIFIER_MUST_BE_STRING
- See Also:
-
PROFILE_BACKUP_EVENT
- See Also:
-
PATH_UNUPDATABLE
- See Also:
-
PATH_SHOULD_NOT_BE_FILLED
- See Also:
-
-
Constructor Details
-
ProfileServiceImpl
public ProfileServiceImpl(MongoDbAccessAdminImpl mongoAccess, VitamCounterService vitamCounterService, FunctionalBackupService functionalBackupService) Constructor- Parameters:
mongoAccess- MongoDB clientvitamCounterService- the vitam counter servicefunctionalBackupService- the functional backup service
-
-
Method Details
-
createProfiles
public RequestResponse<ProfileModel> createProfiles(List<CreateProfileModel> createProfileModels) throws VitamException Description copied from interface:ProfileServiceCreate a collections of profile After passing the validation steps. If all the profiles are valid, they are stored in the collection and indexed. The profiles are not valid in the following situations :- The collection contains 2 ore many profile having the same identifier
- One or more mandatory field is missing
- A field has an invalid format
- One or many profile already exist in the database
- Specified by:
createProfilesin interfaceProfileService- Parameters:
createProfileModels- the list of profiles to be created- Returns:
- RequestResponseOK if success or VitamError
- Throws:
VitamException- if in error occurs while validating contracts
-
importProfileFile
public RequestResponse<ProfileModel> importProfileFile(String profileIdentifier, InputStream profileFile) throws VitamException Description copied from interface:ProfileService1. Check that the document with given id exists else return VitamError 2. Check that the document is (xsd, rng, ...) valid format else return VitamError 3. If ok, save the file is the storage with the name (the given profile id) TODO 4. In case of rng, check if RG exists ?!- Specified by:
importProfileFilein interfaceProfileService- Parameters:
profileIdentifier- the profile identifierprofileFile- the profile file as an input stream- Returns:
- RequestResponseOK if success or VitamError
- Throws:
VitamException- thrown if the profiles could not be imported
-
downloadProfileFile
public javax.ws.rs.core.Response downloadProfileFile(String profileIdentifier) throws ProfileNotFoundException, InvalidParseOperationException, ReferentialException Description copied from interface:ProfileServicedownload file corresponding to profileIdentifier- Specified by:
downloadProfileFilein interfaceProfileService- Parameters:
profileIdentifier- the profile identifier- Returns:
- Response
- Throws:
ProfileNotFoundException- thrown if the profile could not be foundInvalidParseOperationException- thrown if the query could not be executedReferentialException- thrown if the query could not be executed
-
updateProfile
public RequestResponse<ProfileModel> updateProfile(String identifier, com.fasterxml.jackson.databind.JsonNode jsonDsl) throws VitamException Description copied from interface:ProfileServiceUpdate profiles after passing validation steps : Field modified :- - ActivationDate
- - DesactivationDate
- - LastUpdate
- - Status
- Specified by:
updateProfilein interfaceProfileService- Parameters:
identifier- identifier of the profile to updatejsonDsl- the given profile dsl for update- Returns:
- RequestResponseOK if success or VitamError
- Throws:
VitamException- if in error occurs while validating contracts
-
updateProfile
public RequestResponse<ProfileModel> updateProfile(ProfileModel profileModel, com.fasterxml.jackson.databind.JsonNode jsonDsl) throws VitamException Description copied from interface:ProfileServiceUpdate profile- Specified by:
updateProfilein interfaceProfileService- Parameters:
profileModel- the updated ProfileModeljsonDsl- the query as a json- Returns:
- a response as a RequestResponse
object - Throws:
VitamException- thrown if the update could not be executed
-
findByIdentifier
public ProfileModel findByIdentifier(String identifier) throws ReferentialException, InvalidParseOperationException Description copied from interface:ProfileServiceFind profile by identifier- Specified by:
findByIdentifierin interfaceProfileService- Parameters:
identifier- the Profile identifier- Returns:
- ProfileModel
- Throws:
ReferentialException- thrown if the query could not be executedInvalidParseOperationException- thrown if the query could not be executed
-
findProfiles
public RequestResponseOK<ProfileModel> findProfiles(com.fasterxml.jackson.databind.JsonNode queryDsl) throws ReferentialException, InvalidParseOperationException Description copied from interface:ProfileServicefind Profile by QueryDsl- Specified by:
findProfilesin interfaceProfileService- Parameters:
queryDsl- the query as a json to be executed- Returns:
- list of ProfileModel
- Throws:
ReferentialException- thrown if the query could not be executedInvalidParseOperationException- thrown if the query could not be executed
-
close
public void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceVitamAutoCloseable
-