Class ValidDataAcquisitionProjectSaveValidator
java.lang.Object
eu.dzhw.fdz.metadatamanagement.projectmanagement.domain.validation.ValidDataAcquisitionProjectSaveValidator
- All Implemented Interfaces:
javax.validation.ConstraintValidator<ValidDataAcquisitionProjectSave,DataAcquisitionProject>
public class ValidDataAcquisitionProjectSaveValidator extends Object implements javax.validation.ConstraintValidator<ValidDataAcquisitionProjectSave,DataAcquisitionProject>
Validate
DataAcquisitionProject
save attempt.-
Field Summary
Fields Modifier and Type Field Description private static String
CREATE_PROJECT_NOT_ALLOWED
private static String
INVALID_ASSIGNEE_GROUP
private static String
INVALID_DATA_PROVIDER_UPDATE
private static String
INVALID_PUBLISHER_UPDATE
private static String
INVALID_REQUIREMENTS_UPDATE
private static String
MISSING_ASSIGNEE_GROUP_MESSAGE
private eu.dzhw.fdz.metadatamanagement.projectmanagement.repository.DataAcquisitionProjectRepository
repository
-
Constructor Summary
Constructors Constructor Description ValidDataAcquisitionProjectSaveValidator()
-
Method Summary
Modifier and Type Method Description void
initialize(ValidDataAcquisitionProjectSave constraintAnnotation)
private boolean
isAssigneeGroupChangePermitted(DataAcquisitionProject oldProject, DataAcquisitionProject newProject)
Project assignment can only be changed if user is publisher of the project, otherwise the user must be a data provider and the project must currently be assigned to data providers.private boolean
isDataAcquisitionProjectCreatePermitted()
private boolean
isDataProviderUpdatePermitted(DataAcquisitionProject oldProject, DataAcquisitionProject newProject)
private boolean
isMessageToAssigneeGroupProvided(DataAcquisitionProject oldProject, DataAcquisitionProject dataAcquisitionProject)
Current assignee group must provide a message if the group assignment changes.private boolean
isNotModified(Object objA, Object objB)
private boolean
isProjectRequirementsUpdatePermitted(DataAcquisitionProject oldProject, DataAcquisitionProject newProject)
private boolean
isPublisherUpdatePermitted(DataAcquisitionProject oldProject, DataAcquisitionProject newProject)
boolean
isValid(DataAcquisitionProject dataAcquisitionProject, javax.validation.ConstraintValidatorContext constraintValidatorContext)
-
Field Details
-
INVALID_ASSIGNEE_GROUP
- See Also:
- Constant Field Values
-
MISSING_ASSIGNEE_GROUP_MESSAGE
- See Also:
- Constant Field Values
-
INVALID_PUBLISHER_UPDATE
- See Also:
- Constant Field Values
-
INVALID_DATA_PROVIDER_UPDATE
- See Also:
- Constant Field Values
-
INVALID_REQUIREMENTS_UPDATE
- See Also:
- Constant Field Values
-
CREATE_PROJECT_NOT_ALLOWED
- See Also:
- Constant Field Values
-
repository
private final eu.dzhw.fdz.metadatamanagement.projectmanagement.repository.DataAcquisitionProjectRepository repository
-
-
Constructor Details
-
ValidDataAcquisitionProjectSaveValidator
public ValidDataAcquisitionProjectSaveValidator()
-
-
Method Details
-
initialize
- Specified by:
initialize
in interfacejavax.validation.ConstraintValidator<ValidDataAcquisitionProjectSave,DataAcquisitionProject>
-
isValid
public boolean isValid(DataAcquisitionProject dataAcquisitionProject, javax.validation.ConstraintValidatorContext constraintValidatorContext)- Specified by:
isValid
in interfacejavax.validation.ConstraintValidator<ValidDataAcquisitionProjectSave,DataAcquisitionProject>
-
isPublisherUpdatePermitted
private boolean isPublisherUpdatePermitted(DataAcquisitionProject oldProject, DataAcquisitionProject newProject) -
isDataProviderUpdatePermitted
private boolean isDataProviderUpdatePermitted(DataAcquisitionProject oldProject, DataAcquisitionProject newProject) -
isProjectRequirementsUpdatePermitted
private boolean isProjectRequirementsUpdatePermitted(DataAcquisitionProject oldProject, DataAcquisitionProject newProject) -
isDataAcquisitionProjectCreatePermitted
private boolean isDataAcquisitionProjectCreatePermitted() -
isAssigneeGroupChangePermitted
private boolean isAssigneeGroupChangePermitted(DataAcquisitionProject oldProject, DataAcquisitionProject newProject)Project assignment can only be changed if user is publisher of the project, otherwise the user must be a data provider and the project must currently be assigned to data providers. -
isMessageToAssigneeGroupProvided
private boolean isMessageToAssigneeGroupProvided(DataAcquisitionProject oldProject, DataAcquisitionProject dataAcquisitionProject)Current assignee group must provide a message if the group assignment changes. -
isNotModified
-