77 lines
2.8 KiB
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;
|
|
}
|
|
}
|