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.jersey.CloudStoreBinder; 010import co.codewizards.cloudstore.rest.server.jersey.CloudStoreJaxbContextResolver; 011import co.codewizards.cloudstore.rest.server.jersey.DefaultExceptionMapper; 012import co.codewizards.cloudstore.rest.server.service.BeginPutFileService; 013import co.codewizards.cloudstore.rest.server.service.ChangeSetDTOService; 014import co.codewizards.cloudstore.rest.server.service.CopyService; 015import co.codewizards.cloudstore.rest.server.service.EncryptedSignedAuthTokenService; 016import co.codewizards.cloudstore.rest.server.service.EndPutFileService; 017import co.codewizards.cloudstore.rest.server.service.EndSyncFromRepositoryService; 018import co.codewizards.cloudstore.rest.server.service.EndSyncToRepositoryService; 019import co.codewizards.cloudstore.rest.server.service.MakeDirectoryService; 020import co.codewizards.cloudstore.rest.server.service.MakeSymlinkService; 021import co.codewizards.cloudstore.rest.server.service.MoveService; 022import co.codewizards.cloudstore.rest.server.service.RepoFileDTOService; 023import co.codewizards.cloudstore.rest.server.service.RepositoryDTOService; 024import co.codewizards.cloudstore.rest.server.service.RequestRepoConnectionService; 025import co.codewizards.cloudstore.rest.server.service.TestService; 026import co.codewizards.cloudstore.rest.server.service.WebDavService; 027import co.codewizards.cloudstore.rest.shared.GZIPReaderInterceptor; 028import co.codewizards.cloudstore.rest.shared.GZIPWriterInterceptor; 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 RepositoryDTOService.class, 061 RequestRepoConnectionService.class, 062 TestService.class, 063 WebDavService.class, 064 // END services 065 066 // BEGIN providers 067 // providers are not services (they are infrastructure), but they are registered the same way. 068 GZIPReaderInterceptor.class, 069 GZIPWriterInterceptor.class, 070 CloudStoreJaxbContextResolver.class, 071 DefaultExceptionMapper.class 072 // END providers 073 ); 074 075 register(new CloudStoreBinder()); 076 } 077}