resource-registry/src/main/java/org/gcube/informationsystem/resourceregistry/instances/model/relations/ConsistsOfManagement.java

66 lines
2.9 KiB
Java
Raw Normal View History

2019-11-06 12:14:27 +01:00
package org.gcube.informationsystem.resourceregistry.instances.model.relations;
import org.gcube.informationsystem.base.reference.AccessType;
import org.gcube.informationsystem.model.impl.properties.PropagationConstraintImpl;
import org.gcube.informationsystem.model.reference.entities.Facet;
import org.gcube.informationsystem.model.reference.properties.PropagationConstraint;
import org.gcube.informationsystem.model.reference.properties.PropagationConstraint.AddConstraint;
import org.gcube.informationsystem.model.reference.properties.PropagationConstraint.RemoveConstraint;
import org.gcube.informationsystem.resourceregistry.api.exceptions.NotFoundException;
import org.gcube.informationsystem.resourceregistry.api.exceptions.ResourceRegistryException;
import org.gcube.informationsystem.resourceregistry.api.exceptions.relation.consistsOf.ConsistsOfAlreadyPresentException;
import org.gcube.informationsystem.resourceregistry.api.exceptions.relation.consistsOf.ConsistsOfAvailableInAnotherContextException;
import org.gcube.informationsystem.resourceregistry.api.exceptions.relation.consistsOf.ConsistsOfNotFoundException;
2021-02-16 17:17:40 +01:00
import org.gcube.informationsystem.resourceregistry.api.exceptions.schema.SchemaViolationException;
import org.gcube.informationsystem.resourceregistry.instances.model.entities.FacetManagement;
2021-02-22 16:36:19 +01:00
import org.gcube.informationsystem.types.reference.entities.FacetType;
/**
* @author Luca Frosini (ISTI - CNR)
*/
2021-02-22 16:36:19 +01:00
public class ConsistsOfManagement extends RelationManagement<FacetManagement, FacetType> {
public static final PropagationConstraint DEFAULT_CONSISTS_OF_PC;
static {
DEFAULT_CONSISTS_OF_PC = new PropagationConstraintImpl();
DEFAULT_CONSISTS_OF_PC.setRemoveConstraint(RemoveConstraint.cascadeWhenOrphan);
DEFAULT_CONSISTS_OF_PC.setAddConstraint(AddConstraint.propagate);
}
public ConsistsOfManagement() {
super(AccessType.CONSISTS_OF, Facet.class, DEFAULT_CONSISTS_OF_PC);
}
@Override
protected ConsistsOfNotFoundException getSpecificElementNotFoundException(NotFoundException e) {
return new ConsistsOfNotFoundException(e.getMessage(), e.getCause());
}
@Override
2021-02-05 17:50:16 +01:00
public ConsistsOfAvailableInAnotherContextException getSpecificERAvailableInAnotherContextException(
String message) {
return new ConsistsOfAvailableInAnotherContextException(message);
}
@Override
protected ConsistsOfAlreadyPresentException getSpecificERAlreadyPresentException(String message) {
return new ConsistsOfAlreadyPresentException(message);
}
@Override
protected FacetManagement newTargetEntityManagement() throws ResourceRegistryException {
2021-02-10 15:45:48 +01:00
FacetManagement facetManagement = new FacetManagement();
facetManagement.setoDatabaseDocument(oDatabaseDocument);
facetManagement.setWorkingContext(getWorkingContext());
return facetManagement;
}
2021-02-05 17:50:16 +01:00
@Override
2021-02-19 19:32:23 +01:00
public void sanityCheck() throws SchemaViolationException, ResourceRegistryException {
2021-02-05 17:50:16 +01:00
// TODO Auto-generated method stub
}
}