gcube-cms-suite/concessioni-lifecycle/src/main/java/org/gcube/application/cms/concessioni/plugins/SDIMaterializerPlugin.java

77 lines
2.8 KiB
Java

package org.gcube.application.cms.concessioni.plugins;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.gcube.application.cms.concessioni.sdi.SDIManager;
import org.gcube.application.cms.plugins.MaterializationPlugin;
import org.gcube.application.cms.plugins.faults.InitializationException;
import org.gcube.application.cms.plugins.faults.MaterializationException;
import org.gcube.application.cms.plugins.faults.ShutDownException;
import org.gcube.application.cms.plugins.model.PluginDescriptor;
import org.gcube.application.cms.plugins.reports.InitializationReport;
import org.gcube.application.cms.plugins.reports.MaterializationReport;
import org.gcube.application.cms.plugins.requests.MaterializationRequest;
import org.gcube.application.geoportal.common.model.document.lifecycle.LifecycleInformation;
import org.gcube.application.geoportal.common.model.document.ProfiledDocument;
import org.gcube.application.geoportal.common.model.document.filesets.RegisteredFileSet;
import org.gcube.application.geoportal.common.model.profile.HandlerDeclaration;
import org.gcube.application.geoportal.common.model.profile.Profile;
@Slf4j
public class SDIMaterializerPlugin implements MaterializationPlugin {
SDIManager sdiManager;
@Override
public InitializationReport initInContext() throws InitializationException {
return null;
}
@Override
public InitializationReport init() throws InitializationException {
return null;
}
@Override
public void shutdown() throws ShutDownException {
}
@Override
public MaterializationReport materialize(MaterializationRequest request) throws MaterializationException {
log.info("Materializer {} : Performing {} ",this.getDescriptor().getId(),request);
ProfiledDocument doc=request.getDocument();
Profile profile = request.getProfile();
Document configuration=request.getParameters();
Document profileConfiguration =null;
for (HandlerDeclaration h : profile.getHandlers()) {
if (h.getId().equals("SDI-Default-Materializer")) {
profileConfiguration = h.getConfiguration();
}
}
log.debug("Profile Configuration is {} ",profileConfiguration);
try{
// for each
RegisteredFileSet fileSet=null;
sdiManager.materializeLayer()
}catch (MaterializationException e){
throw e;
}catch (Throwable t){
log.error("Unable to execute on event "+request.getEvent(),t);
info.setLastOperationStatus(LifecycleInformation.Status.ERROR);
info.addErrorMessage("Unable to execute on event "+request.getEvent()+". Error was "+t.getMessage());
}finally{
}
}
@Override
public PluginDescriptor getDescriptor() {
return null;
}
}