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;
|
|
|
|
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
|
|
|
|
|
|
|
// @Getter
|
|
|
|
// @Setter
|
|
|
|
// private EMFProvider emfProvider=new ScopedEMFProvider();
|
|
|
|
|
|
|
|
|
|
|
|
@Getter
|
|
|
|
@Setter
|
|
|
|
private StorageHubProvider sHubProvider=new StorageHubProvider();
|
|
|
|
|
|
|
|
public void shutdown() {
|
|
|
|
// Stop JPA
|
|
|
|
// AbstractRecordManager.shutdown();
|
2021-10-06 11:26:35 +02:00
|
|
|
|
2021-10-05 16:27:19 +02:00
|
|
|
mongoClientProvider.shutdown();
|
2021-09-20 16:47:35 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
public void startup() {
|
|
|
|
// AbstractRecordManager.setDefaultProvider(emfProvider);
|
2021-10-06 11:26:35 +02:00
|
|
|
|
2021-09-20 16:47:35 +02:00
|
|
|
mongoClientProvider.init();
|
|
|
|
}
|
|
|
|
}
|