package org.gcube.application.geoportal.service; import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider; import jdk.internal.dynalink.linker.LinkerServices; import lombok.extern.slf4j.Slf4j; import org.gcube.application.cms.implementations.ISInterface; import org.gcube.application.cms.implementations.ImplementationProvider; import org.gcube.application.geoportal.common.rest.InterfaceConstants; import org.gcube.application.geoportal.common.utils.StorageUtils; import org.gcube.application.geoportal.service.engine.postgis.PostgisDBManager; import org.gcube.application.geoportal.service.engine.providers.*; import org.gcube.application.geoportal.service.model.internal.db.Mongo; import org.gcube.application.geoportal.service.rest.ConcessioniOverMongo; import org.gcube.application.geoportal.service.rest.ProfiledDocuments; import org.gcube.application.geoportal.service.rest.Sections; import org.gcube.application.cms.serialization.Serialization; import org.gcube.common.storagehub.client.dsl.StorageHubClient; import org.glassfish.jersey.server.ResourceConfig; import javax.ws.rs.ApplicationPath; @ApplicationPath(InterfaceConstants.APPLICATION_PATH) @Slf4j public class GeoPortalService extends ResourceConfig{ public GeoPortalService() { super(); //Register interrfaces // registerClasses(Concessioni.class); registerClasses(ConcessioniOverMongo.class); registerClasses(ProfiledDocuments.class); registerClasses(Sections.class); log.info("Setting implementations .. "); ImplementationProvider.get().setEngine(new MongoClientProvider(), Mongo.class); ImplementationProvider.get().setEngine(new StorageClientProvider(), StorageUtils.class); ImplementationProvider.get().setEngine(new PostgisConnectionProvider(), PostgisDBManager.class); ImplementationProvider.get().setEngine(new ProfileMapCache(), ProfileMapCache.ProfileMap.class); ImplementationProvider.get().setEngine(new PluginManager(), PluginManager.PluginMap.class); ImplementationProvider.get().setEngine(new StorageHubProvider(), StorageHubClient.class); JacksonJaxbJsonProvider provider = new JacksonJaxbJsonProvider(); provider.setMapper(Serialization.mapper); register(provider); } }