gcube-cms-suite/geoportal-service/src/main/java/org/gcube/application/geoportal/service/GeoPortalService.java

58 lines
2.3 KiB
Java
Raw Normal View History

2021-09-20 16:47:35 +02:00
package org.gcube.application.geoportal.service;
import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider;
import lombok.extern.slf4j.Slf4j;
import org.gcube.application.cms.implementations.ImplementationProvider;
2021-09-20 16:47:35 +02:00
import org.gcube.application.geoportal.common.rest.InterfaceConstants;
import org.gcube.application.geoportal.common.utils.StorageUtils;
2022-03-04 18:28:45 +01:00
import org.gcube.application.geoportal.service.engine.mongo.UCDManagerI;
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;
2021-09-20 16:47:35 +02:00
import org.gcube.application.geoportal.service.rest.ConcessioniOverMongo;
2021-12-07 11:16:26 +01:00
2021-12-15 19:10:19 +01:00
import org.gcube.application.geoportal.service.rest.ProfiledDocuments;
2022-02-01 15:24:39 +01:00
import org.gcube.application.cms.serialization.Serialization;
2022-03-04 18:28:45 +01:00
import org.gcube.application.geoportal.service.rest.UseCaseDescriptors;
import org.gcube.common.storagehub.client.dsl.StorageHubClient;
2021-09-20 16:47:35 +02:00
import org.glassfish.jersey.server.ResourceConfig;
import javax.ws.rs.ApplicationPath;
@ApplicationPath(InterfaceConstants.APPLICATION_PATH)
@Slf4j
2021-09-20 16:47:35 +02:00
public class GeoPortalService extends ResourceConfig{
public GeoPortalService() {
super();
//Register interrfaces
// registerClasses(Concessioni.class);
registerClasses(ConcessioniOverMongo.class);
2021-12-15 19:10:19 +01:00
registerClasses(ProfiledDocuments.class);
2022-03-04 18:28:45 +01:00
registerClasses(UseCaseDescriptors.class);
2021-12-07 11:16:26 +01:00
log.info("Setting implementations .. ");
2021-09-20 16:47:35 +02:00
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);
2022-03-04 18:28:45 +01:00
ImplementationProvider.get().setEngine(new UCDManager(),UCDManagerI.class);
2022-03-10 18:15:10 +01:00
ImplementationProvider.get().setEngine(new ConfigurationCache(), ConfigurationCache.ConfigurationMap.class);
2021-09-20 16:47:35 +02:00
JacksonJaxbJsonProvider provider = new JacksonJaxbJsonProvider();
provider.setMapper(Serialization.mapper);
register(provider);
}
}