2021-09-20 16:47:35 +02:00
|
|
|
package org.gcube.application.geoportal.service.engine;
|
|
|
|
|
|
|
|
//import org.gcube.application.geoportal.managers.AbstractRecordManager;
|
|
|
|
//import org.gcube.application.geoportal.managers.EMFProvider;
|
|
|
|
|
|
|
|
import lombok.Getter;
|
|
|
|
import lombok.Setter;
|
|
|
|
import lombok.Synchronized;
|
2022-01-12 18:42:22 +01:00
|
|
|
import org.gcube.application.cms.plugins.Plugin;
|
2021-09-20 16:47:35 +02:00
|
|
|
import org.gcube.application.geoportal.service.engine.providers.*;
|
|
|
|
|
|
|
|
public class ImplementationProvider {
|
|
|
|
|
|
|
|
private static ImplementationProvider instance=null;
|
|
|
|
|
|
|
|
@Synchronized
|
|
|
|
public static ImplementationProvider get() {
|
|
|
|
if(instance==null) {
|
|
|
|
instance=new ImplementationProvider();
|
|
|
|
}
|
|
|
|
return instance;
|
|
|
|
}
|
|
|
|
|
2021-10-06 11:26:35 +02:00
|
|
|
|
2021-09-20 16:47:35 +02:00
|
|
|
@Getter
|
|
|
|
@Setter
|
|
|
|
private MongoClientProvider mongoClientProvider=new MongoClientProvider();
|
|
|
|
|
|
|
|
|
|
|
|
@Getter
|
|
|
|
@Setter
|
|
|
|
private StorageClientProvider storageProvider=new StorageClientProvider();
|
|
|
|
|
|
|
|
@Getter
|
|
|
|
@Setter
|
|
|
|
private PostgisConnectionProvider dbProvider=new PostgisConnectionProvider();
|
|
|
|
|
2021-10-06 11:26:35 +02:00
|
|
|
@Getter
|
|
|
|
@Setter
|
|
|
|
private ISProvider isProvider=new ISProvider();
|
2021-09-20 16:47:35 +02:00
|
|
|
|
2021-12-07 13:05:08 +01:00
|
|
|
@Getter
|
|
|
|
@Setter
|
|
|
|
private ProfileMapCache profiles=new ProfileMapCache();
|
2022-01-12 18:42:22 +01:00
|
|
|
|
|
|
|
@Getter
|
|
|
|
@Setter
|
|
|
|
private PluginManager pluginManager=new PluginManager();
|
2021-09-20 16:47:35 +02:00
|
|
|
|
|
|
|
@Getter
|
|
|
|
@Setter
|
|
|
|
private StorageHubProvider sHubProvider=new StorageHubProvider();
|
|
|
|
|
2022-01-12 18:42:22 +01:00
|
|
|
// public void shutdown() {
|
|
|
|
// // Stop JPA
|
|
|
|
//// AbstractRecordManager.shutdown();
|
|
|
|
//
|
|
|
|
// mongoClientProvider.shutdown();
|
|
|
|
// pluginManager.shutdown();
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// public void startup() {
|
|
|
|
//// AbstractRecordManager.setDefaultProvider(emfProvider);
|
|
|
|
// pluginManager.init();
|
|
|
|
// mongoClientProvider.init();
|
|
|
|
// }
|
2021-09-20 16:47:35 +02:00
|
|
|
}
|