After the definition of this extension a Java class implementing the IToolExecutor interface is created in the plug-in project. Edit this Java class to implement the functionality of your tool.
Find below a sample implementation of the Simple Tool which determines the value of the sole tool attribute and lists the values of all modeled tool parameters:
public class SimpleToolExecutor implements IToolExecutor {
public SimpleToolExecutor() {
}
@Override
public ToolExecutionStatus execTool(IExecutionContext pContext,
ToolDescriptor pToolDescriptor, String pAffectedResName,
IProgressMonitor pMon) throws TaurusToolException {
// Get a modeled attribute value
Object attributeValue = pToolDescriptor
.getDynamicValue("update-allowed.attr");
if (attributeValue instanceof Boolean) {
Boolean updateAllowed = (Boolean) attributeValue;
if (updateAllowed)
System.out.println("Update is allowed.");
else
System.out.println("Update is not allowed.");
}
// Print every parameter value into console
for (RToolInParameter inputParameter : pToolDescriptor.getInputParm()) {
String parameterValue = ActionExecutor.getParameterValue(
inputParameter, pContext);
int sequenceNumber = inputParameter.getSeqNo();
System.out.println("Input parameter #" + sequenceNumber + ": "
+ parameterValue);
}
// Return OK execution status
int returnCode = 0;
return new ToolExecutionStatus(pToolDescriptor.getID(), returnCode);
}
@Override
public IToolOutputReader getOutputReader() {
// Do nothing
return null;
}
@Override
public List<String> readParmFile(ISystemImage pImg, String pParmFilePath,
IProgressMonitor pMon) throws IOException {
// Do nothing
return null;
}
}
The implementation of the new Simple Function Package tool is now complete and will be tested later on.