package eu.europeana.cloud.service.mcs.rest; import eu.europeana.cloud.service.commons.logging.LoggingFilter; import eu.europeana.cloud.service.mcs.exception.RevisionNotExistsException; import eu.europeana.cloud.service.mcs.rest.exceptionmappers.*; import org.glassfish.jersey.media.multipart.MultiPartFeature; import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.server.spring.scope.RequestContextFilter; /** * Jersey Configuration for Exception Mappers and Resources */ public class JerseyConfig extends ResourceConfig { /** * Register JAX-RS application components. */ public JerseyConfig() { super(); //features register(MultiPartFeature.class); // filters register(RequestContextFilter.class); register(LoggingFilter.class); // exception mappers register(CannotPersistEmptyRepresentationExceptionMapper.class); register(CannotModifyPersistentRepresentationExceptionMapper.class); register(CannotPersistEmptyRepresentationExceptionMapper.class); register(DataSetAlreadyExistsExceptionMapper.class); register(DataSetNotExistsExceptionMapper.class); register(FileAlreadyExistsExceptionMapper.class); register(FileNotExistsExceptionMapper.class); register(RecordNotExistsExceptionMapper.class); register(RepresentationNotExistsExceptionMapper.class); register(VersionNotExistsExceptionMapper.class); register(WrongContentRangeExceptionMapper.class); register(ProviderNotExistsExceptionMapper.class); register(WebApplicationExceptionMapper.class); register(RuntimeExceptionMapper.class); registerClasses(RevisionIsNotValidExceptionMapper.class); register(RevisionNotExistsExceptionMapper.class); // resources register(RecordsResource.class); register(RepresentationResource.class); register(RepresentationsResource.class); register(RepresentationVersionResource.class); register(RepresentationVersionsResource.class); register(RepresentationAuthorizationResource.class); register(FilesResource.class); register(FileResource.class); register(FileUploadResource.class); register(DataSetResource.class); register(DataSetsResource.class); register(DataSetAssignmentsResource.class); register(DataSetRevisionsResource.class); register(SimplifiedFileAccessResource.class); register(SimplifiedRecordsResource.class); register(SimplifiedRepresentationResource.class); registerClasses(RevisionResource.class); registerClasses(RepresentationRevisionsResource.class); } }