You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sdi-service/src/main/java/org/gcube/spatial/data/sdi/engine/impl/ThreddsManagerImpl.java

44 lines
1.4 KiB
Java

package org.gcube.spatial.data.sdi.engine.impl;
import javax.inject.Singleton;
import org.gcube.spatial.data.sdi.LocalConfiguration;
import org.gcube.spatial.data.sdi.engine.ThreddsManager;
import org.gcube.spatial.data.sdi.engine.impl.cache.Cache;
import org.gcube.spatial.data.sdi.engine.impl.cache.ThreddsRetriever;
import org.gcube.spatial.data.sdi.engine.impl.faults.ConfigurationNotFoundException;
import org.gcube.spatial.data.sdi.engine.impl.faults.ServiceRegistrationException;
import org.gcube.spatial.data.sdi.model.health.ServiceHealthReport;
import org.gcube.spatial.data.sdi.model.service.ThreddsConfiguration;
import org.gcube.spatial.data.sdi.model.services.ThreddsDefinition;
@Singleton
public class ThreddsManagerImpl implements ThreddsManager {
private Cache<ThreddsConfiguration> cache=null;
private ThreddsRetriever retriever=null;
public ThreddsManagerImpl() {
retriever=new ThreddsRetriever();
cache=Cache.getCache(retriever,
Long.parseLong(LocalConfiguration.get().getProperty(LocalConfiguration.THREDDS_CACHE_TTL)), "THREDDS - CACHE");
}
@Override
public ThreddsConfiguration getConfiguration() throws ConfigurationNotFoundException {
return cache.get();
}
@Override
public ServiceHealthReport getHealthReport() {
return retriever.getHealthReport();
}
@Override
public String registerService(ThreddsDefinition definition) throws ServiceRegistrationException {
return retriever.registerService(definition);
}
}