in taverna-interaction-activity/src/main/java/org/apache/taverna/activities/interaction/InteractionActivityRunnable.java [274:335]
String generateHtml(final String inputDataUrl, final String outputDataUrl,
final Map<String, Object> inputData, final String runId,
final String id) {
final VelocityContext velocityContext = new VelocityContext();
for (final String inputName : inputData.keySet()) {
final Object input = inputData.get(inputName);
velocityContext.put(inputName, input);
}
velocityContext.put("feed", interactionPreference
.getFeedUrlString());
velocityContext.put("runId", runId);
velocityContext.put("entryId", id);
final String pmrpcUrl = interactionPreference
.getLocationUrl() + "/pmrpc.js";
velocityContext.put("pmrpcUrl", pmrpcUrl);
velocityContext.put("inputDataUrl", inputDataUrl);
velocityContext.put("outputDataUrl", outputDataUrl);
final String interactionUrl = interactionPreference
.getInteractionUrlString(id);
velocityContext.put("interactionUrl", interactionUrl);
String presentationUrl = "";
final String authorizeUrl = "";
try {
if (this.requestor.getPresentationType().equals(
InteractionActivityType.VelocityTemplate)) {
presentationUrl = interactionPreference
.getPresentationUrlString(id);
final String presentationString = this.processTemplate(
this.presentationTemplate, velocityContext);
interactionUtils.publishFile(presentationUrl,
presentationString, runId, id);
} else if (this.requestor.getPresentationType().equals(
InteractionActivityType.LocallyPresentedHtml)) {
presentationUrl = this.requestor.getPresentationOrigin();
}
velocityContext.put("presentationUrl", presentationUrl);
final String interactionString = this.processTemplate(
interactionVelocity.getInteractionTemplate(),
velocityContext);
interactionUtils.publishFile(interactionUrl, interactionString,
runId, id);
if (!authorizeUrl.isEmpty()) {
return authorizeUrl;
}
return interactionUrl;
} catch (final IOException e) {
logger.error(e);
this.requestor.fail("Unable to generate HTML");
return null;
}
}