gcube-cms-suite/geoportal-service/src/main/java/org/gcube/application/geoportal/service/engine/providers/StorageClientProvider.java

46 lines
1.2 KiB
Java
Raw Normal View History

2021-09-20 16:47:35 +02:00
package org.gcube.application.geoportal.service.engine.providers;
import lombok.extern.slf4j.Slf4j;
2022-02-18 14:41:41 +01:00
import org.gcube.application.cms.caches.AbstractScopedMap;
2021-09-27 15:23:03 +02:00
import org.gcube.application.geoportal.common.utils.StorageUtils;
2022-02-04 17:45:47 +01:00
import org.gcube.application.geoportal.common.model.rest.ConfigurationException;
2021-09-20 16:47:35 +02:00
@Slf4j
2021-09-27 15:23:03 +02:00
public class StorageClientProvider extends AbstractScopedMap<StorageUtils> {
2021-09-20 16:47:35 +02:00
public StorageClientProvider() {
super("Storage client cache");
2021-10-06 16:12:16 +02:00
// setTTL(Duration.of(10, ChronoUnit.MINUTES));
2021-09-20 16:47:35 +02:00
}
@Override
2021-09-27 15:23:03 +02:00
protected StorageUtils retrieveObject() throws ConfigurationException {
try{
return new StorageUtils();
}catch(Throwable t){
throw new ConfigurationException("unable to get Storage",t);
}
2021-09-27 15:23:03 +02:00
// return new StorageClient(InterfaceConstants.SERVICE_CLASS, InterfaceConstants.SERVICE_NAME, ContextUtils.getCurrentCaller(), AccessType.SHARED, MemoryType.VOLATILE).getClient();
2021-09-20 16:47:35 +02:00
}
@Override
2021-09-27 15:23:03 +02:00
protected void dispose(StorageUtils toDispose) {
2021-09-20 16:47:35 +02:00
try {
2021-10-06 16:12:16 +02:00
toDispose.forceClose();
2021-09-20 16:47:35 +02:00
}catch (NullPointerException e) {
// expected if closed without uploading
}catch(Throwable t) {
log.warn(" unable to dispose "+toDispose,t);
}
}
@Override
public void init() {
}
}