package org.pentaho.test.platform.engine.services.actions;
import java.util.List;
import org.pentaho.platform.api.action.ActionPreProcessingException;
import org.pentaho.platform.api.action.IDefinitionAwareAction;
import org.pentaho.platform.api.action.IPreProcessingAction;
@SuppressWarnings("nls")
public class TestDefinitionPreProcessingAction implements IDefinitionAwareAction, IPreProcessingAction {
private String message;
private boolean executeWasCalled = false;
private boolean doPreExecutionWasCalled = false;
private List<String> inputNames;
private List<String> outputNames;
private boolean isReadyToExecute;
public boolean isDoPreExecutionWasCalled() {
return doPreExecutionWasCalled;
}
public List<String> getInputNames() {
return inputNames;
}
public List<String> getOutputNames() {
return outputNames;
}
public boolean isExecuteWasCalled() {
return executeWasCalled;
}
public void execute() throws Exception {
if(!isReadyToExecute) {
throw new IllegalStateException("doPreExecution was not called before execute!");
}
executeWasCalled = true;
}
public void setMessage(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
public void setInputNames(List<String> inputNames) {
this.inputNames = inputNames;
}
public void setOutputNames(List<String> outputNames) {
this.outputNames = outputNames;
}
public void doPreExecution() throws ActionPreProcessingException {
doPreExecutionWasCalled = true;
isReadyToExecute = true;
}
}