001package co.codewizards.cloudstore.rest.server; 002 003import javax.ws.rs.ApplicationPath; 004 005import org.glassfish.jersey.server.ResourceConfig; 006import org.slf4j.Logger; 007import org.slf4j.LoggerFactory; 008 009import co.codewizards.cloudstore.rest.server.service.BeginPutFileService; 010import co.codewizards.cloudstore.rest.server.service.ChangeSetDtoService; 011import co.codewizards.cloudstore.rest.server.service.CopyService; 012import co.codewizards.cloudstore.rest.server.service.EncryptedSignedAuthTokenService; 013import co.codewizards.cloudstore.rest.server.service.EndPutFileService; 014import co.codewizards.cloudstore.rest.server.service.EndSyncFromRepositoryService; 015import co.codewizards.cloudstore.rest.server.service.EndSyncToRepositoryService; 016import co.codewizards.cloudstore.rest.server.service.MakeDirectoryService; 017import co.codewizards.cloudstore.rest.server.service.MakeSymlinkService; 018import co.codewizards.cloudstore.rest.server.service.MoveService; 019import co.codewizards.cloudstore.rest.server.service.PutParentConfigPropSetDtoService; 020import co.codewizards.cloudstore.rest.server.service.RepoFileDtoService; 021import co.codewizards.cloudstore.rest.server.service.RepositoryDtoService; 022import co.codewizards.cloudstore.rest.server.service.RequestRepoConnectionService; 023import co.codewizards.cloudstore.rest.server.service.TestService; 024import co.codewizards.cloudstore.rest.server.service.VersionInfoDtoService; 025import co.codewizards.cloudstore.rest.server.service.WebDavService; 026import co.codewizards.cloudstore.rest.shared.filter.GZIPContainerRequestFilter; 027import co.codewizards.cloudstore.rest.shared.interceptor.GZIPConditionalReaderInterceptor; 028import co.codewizards.cloudstore.rest.shared.interceptor.GZIPConditionalWriterInterceptor; 029 030/** 031 * @author Marco หงุ่ยตระกูล-Schulze - marco at nightlabs dot de 032 */ 033@ApplicationPath("CloudStoreRest") 034public class CloudStoreRest extends ResourceConfig { 035 private static final Logger logger = LoggerFactory.getLogger(CloudStoreRest.class); 036 037 static { 038 logger.debug("<static_init>: Class loaded."); 039 } 040 041 { 042 logger.debug("<init>: Instance created."); 043// getProperties().put("com.sun.jersey.spi.container.ContainerRequestFilters", JDOTransactionRequestFilter.class.getName()); 044// getProperties().put("com.sun.jersey.spi.container.ContainerResponseFilters", JDOTransactionResponseFilter.class.getName()); 045// getProperties().put("com.sun.jersey.spi.container.ResourceFilters", value) 046 047 registerClasses( 048 // BEGIN services 049 BeginPutFileService.class, 050 ChangeSetDtoService.class, 051 CopyService.class, 052 EncryptedSignedAuthTokenService.class, 053 EndPutFileService.class, 054 EndSyncFromRepositoryService.class, 055 EndSyncToRepositoryService.class, 056 RepoFileDtoService.class, 057 MakeDirectoryService.class, 058 MakeSymlinkService.class, 059 MoveService.class, 060 PutParentConfigPropSetDtoService.class, 061 RepositoryDtoService.class, 062 RequestRepoConnectionService.class, 063 TestService.class, 064 VersionInfoDtoService.class, 065 WebDavService.class, 066 // END services 067 068 // BEGIN providers 069 // providers are not services (they are infrastructure), but they are registered the same way. 070 GZIPConditionalReaderInterceptor.class, 071 GZIPConditionalWriterInterceptor.class, 072 GZIPContainerRequestFilter.class, 073 CloudStoreJaxbContextResolver.class, 074 DefaultExceptionMapper.class 075 // END providers 076 ); 077 078 register(new CloudStoreBinder()); 079 } 080}