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; } }