gcube-cms-suite/cms-plugin-framework/src/main/java/org/gcube/application/cms/plugins/reports/StepExecutionReport.java

56 lines
1.7 KiB
Java
Raw Normal View History

2021-12-07 12:16:29 +01:00
package org.gcube.application.cms.plugins.reports;
2022-03-07 17:59:06 +01:00
import com.fasterxml.jackson.core.JsonProcessingException;
2022-09-26 16:11:20 +02:00
import lombok.Getter;
import lombok.NonNull;
import lombok.Setter;
import lombok.ToString;
2022-03-04 11:30:11 +01:00
import org.gcube.application.cms.plugins.faults.InvalidPluginRequestException;
2022-03-07 17:59:06 +01:00
import org.gcube.application.cms.plugins.faults.PluginExecutionException;
2022-02-14 12:23:38 +01:00
import org.gcube.application.cms.plugins.requests.EventExecutionRequest;
2021-12-07 12:16:29 +01:00
import org.gcube.application.cms.plugins.requests.StepExecutionRequest;
2022-03-07 17:59:06 +01:00
import org.gcube.application.geoportal.common.model.document.Project;
2021-12-07 12:16:29 +01:00
import java.util.ArrayList;
2022-02-14 12:23:38 +01:00
import java.util.List;
2022-02-23 17:13:22 +01:00
@Getter
@Setter
@ToString
2022-02-17 14:47:51 +01:00
public class StepExecutionReport extends DocumentHandlingReport<StepExecutionRequest>{
2022-02-14 12:23:38 +01:00
2022-03-04 11:30:11 +01:00
public StepExecutionReport(@NonNull StepExecutionRequest theRequest) throws InvalidPluginRequestException {
2022-02-24 18:09:30 +01:00
2022-02-23 17:13:22 +01:00
super(theRequest);
2022-02-24 18:09:30 +01:00
this.getToSetLifecycleInformation().cleanState();
this.getToSetLifecycleInformation().setLastInvokedStep(theRequest.getStep());
2022-02-23 17:13:22 +01:00
}
2022-02-14 12:23:38 +01:00
List<EventExecutionRequest> toTriggerEvents;
List<StepExecutionRequest> cascadeSteps;
2022-03-07 17:59:06 +01:00
public StepExecutionReport addToTriggerEvent(EventExecutionRequest req){
if(toTriggerEvents==null) toTriggerEvents = new ArrayList<>();
toTriggerEvents.add(req);
return this;
}
public StepExecutionReport addCascadeStep(StepExecutionRequest req){
if(cascadeSteps == null ) cascadeSteps = new ArrayList<>();
cascadeSteps.add(req);
return this;
}
2022-03-07 17:59:06 +01:00
@Override
public Project prepareResult() throws JsonProcessingException, PluginExecutionException {
Project toReturn= super.prepareResult();
2022-03-29 18:06:09 +02:00
2022-03-07 17:59:06 +01:00
return toReturn;
}
2021-12-07 12:16:29 +01:00
}