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