package co.codewizards.cloudstore.ls.rest.server; import javax.ws.rs.ApplicationPath; import org.glassfish.jersey.server.ResourceConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import co.codewizards.cloudstore.ls.core.provider.JavaNativeMessageBodyReader; import co.codewizards.cloudstore.ls.core.provider.JavaNativeMessageBodyWriter; import co.codewizards.cloudstore.ls.core.provider.JavaNativeWithObjectRefMessageBodyReader; import co.codewizards.cloudstore.ls.core.provider.JavaNativeWithObjectRefMessageBodyWriter; import co.codewizards.cloudstore.ls.rest.server.auth.AuthFilter; import co.codewizards.cloudstore.ls.rest.server.service.ClassInfoService; import co.codewizards.cloudstore.ls.rest.server.service.InverseServiceRequestService; import co.codewizards.cloudstore.ls.rest.server.service.InverseServiceResponseService; import co.codewizards.cloudstore.ls.rest.server.service.InvokeMethodService; import co.codewizards.cloudstore.ls.rest.server.service.RepoInfoService; import co.codewizards.cloudstore.ls.rest.server.service.TestService; /** * @author Marco หงุ่ยตระกูล-Schulze - marco at nightlabs dot de */ @ApplicationPath("LocalServerRest") public class LocalServerRest extends ResourceConfig { private static final Logger logger = LoggerFactory.getLogger(LocalServerRest.class); static { logger.debug("<static_init>: Class loaded."); } { logger.debug("<init>: Instance created."); registerClasses( // BEGIN services ClassInfoService.class, InverseServiceRequestService.class, InverseServiceResponseService.class, InvokeMethodService.class, RepoInfoService.class, TestService.class, // END services // BEGIN providers // providers are not services (they are infrastructure), but they are registered the same way. AuthFilter.class, JavaNativeMessageBodyReader.class, JavaNativeMessageBodyWriter.class, CloudStoreJaxbContextResolver.class, DefaultExceptionMapper.class // END providers ); register(new LocalServerRestBinder()); final ObjectRefConverterFactoryImpl objectRefConverterFactory = new ObjectRefConverterFactoryImpl(); register(new JavaNativeWithObjectRefMessageBodyReader(objectRefConverterFactory)); register(new JavaNativeWithObjectRefMessageBodyWriter(objectRefConverterFactory)); } }