String generateHtml()

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;
		}
	}