public OutputDescription getOutputDescription()

in taverna-server-webapp/src/main/java/org/apache/taverna/server/master/rest/TavernaServerRunREST.java [438:633]


	public OutputDescription getOutputDescription(@Nonnull @Context UriInfo ui)
			throws BadStateChangeException, FilesystemAccessException,
			NoDirectoryEntryException;

	/**
	 * Set the output Baclava file for this workflow run.
	 * 
	 * @param filename
	 *            The Baclava file to use, or empty to make the outputs be
	 *            written to individual files in the <tt>out</tt> subdirectory
	 *            of the working directory.
	 * @return The Baclava file as actually set.
	 * @throws NoUpdateException
	 *             If the current user is not permitted to update the run.
	 * @throws FilesystemAccessException
	 *             If the filename is invalid (starts with <tt>/</tt> or
	 *             contains a <tt>..</tt> segment).
	 * @throws BadStateChangeException
	 *             If the workflow is not in the Initialized state.
	 */
	@PUT
	@Path(OUT)
	@Consumes(TEXT)
	@Produces(TEXT)
	@Description("Sets the Baclava file where output will be written; empty "
			+ "means use multiple simple files in the out directory.")
	@Nonnull
	public String setOutputFile(@Nonnull String filename)
			throws NoUpdateException, FilesystemAccessException,
			BadStateChangeException;

	/** Get an outline of the operations supported. */
	@OPTIONS
	@Path(OUT)
	@Description("Produces the description of the run output.")
	Response outputOptions();

	/**
	 * Get a handle to the interaction feed.
	 * 
	 * @return
	 */
	@Path(FEED_URL_DIR)
	@Description("Access the interaction feed for the workflow run.")
	@Nonnull
	InteractionFeedREST getInteractionFeed();

	/**
	 * @return The stdout for the workflow run, or empty string if the run has
	 *         not yet started.
	 * @throws NoListenerException
	 */
	@GET
	@Path(STDOUT)
	@Description("Return the stdout for the workflow run.")
	@Produces(TEXT)
	@Nonnull
	String getStdout() throws NoListenerException;

	/** Get an outline of the operations supported. */
	@OPTIONS
	@Path(STDOUT)
	@Description("Return the stdout for the workflow run.")
	Response stdoutOptions();

	/**
	 * @return The stderr for the workflow run, or empty string if the run has
	 *         not yet started.
	 * @throws NoListenerException
	 */
	@GET
	@Path(STDERR)
	@Description("Return the stderr for the workflow run.")
	@Produces(TEXT)
	@Nonnull
	String getStderr() throws NoListenerException;

	/** Get an outline of the operations supported. */
	@OPTIONS
	@Path(STDERR)
	@Description("Return the stderr for the workflow run.")
	Response stderrOptions();

	/**
	 * @return The usage record for the workflow run, wrapped in a Response, or
	 *         "empty content" if the run has not yet finished.
	 * @throws NoListenerException
	 * @throws JAXBException
	 */
	@GET
	@Path(USAGE)
	@Description("Return the usage record for the workflow run.")
	@Produces(XML)
	@Nonnull
	Response getUsage() throws NoListenerException, JAXBException;

	/** Get an outline of the operations supported. */
	@OPTIONS
	@Path(USAGE)
	@Description("Return the usage record for the workflow run.")
	Response usageOptions();

	/**
	 * @return The log for the workflow run, or empty string if the run has not
	 *         yet started.
	 */
	@GET
	@Path(LOG)
	@Description("Return the log for the workflow run.")
	@Produces(TEXT)
	@Nonnull
	Response getLogContents();

	/** Get an outline of the operations supported. */
	@OPTIONS
	@Path(LOG)
	@Description("Return the log for the workflow run.")
	Response logOptions();

	/**
	 * @return The log for the workflow run, or empty string if the run has not
	 *         yet started.
	 */
	@GET
	@Path(RUNBUNDLE)
	@Description("Return the run bundle for the workflow run.")
	@Produces(ROBUNDLE)
	@Nonnull
	Response getRunBundle();

	/** Get an outline of the operations supported. */
	@OPTIONS
	@Path(RUNBUNDLE)
	@Description("Return the run bundle for the workflow run.")
	Response runBundleOptions();

	/**
	 * @return Whether to create the run bundle for the workflow run. Only
	 *         usefully set-able before the start of the run.
	 */
	@GET
	@Path(GENERATE_PROVENANCE)
	@Description("Whether to create the run bundle for the workflow run.")
	@Produces(TEXT)
	@Nonnull
	boolean getGenerateProvenance();

	/**
	 * @param provenanceFlag
	 *            Whether to create the run bundle for the workflow run. Only
	 *            usefully set-able before the start of the run.
	 * @return What it was actually set to.
	 * @throws NoUpdateException 
	 */
	@PUT
	@Path(GENERATE_PROVENANCE)
	@Description("Whether to create the run bundle for the workflow run.")
	@Consumes(TEXT)
	@Produces(TEXT)
	@Nonnull
	boolean setGenerateProvenance(boolean provenanceFlag) throws NoUpdateException;

	/** Get an outline of the operations supported. */
	@OPTIONS
	@Path(GENERATE_PROVENANCE)
	@Description("Whether to create the run bundle for the workflow run.")
	Response generateProvenanceOptions();

	/**
	 * Factored out path names used in the {@link TavernaServerRunREST}
	 * interface and related places.
	 * 
	 * @author Donal Fellows
	 */
	interface PathNames {
		public static final String ROOT = "/";
		public static final String WF = "workflow";
		public static final String DIR = "wd";
		public static final String NAME = "name";
		public static final String T_EXPIRE = "expiry";
		public static final String T_CREATE = "createTime";
		public static final String T_START = "startTime";
		public static final String T_FINISH = "finishTime";
		public static final String STATUS = "status";
		public static final String IN = "input";
		public static final String OUT = "output";
		public static final String PROFILE = "profile";
		public static final String LISTEN = "listeners";
		public static final String SEC = "security";
		public static final String STDOUT = "stdout";
		public static final String STDERR = "stderr";
		public static final String USAGE = "usage";
		public static final String LOG = "log";
		public static final String RUNBUNDLE = "run-bundle";
		public static final String GENERATE_PROVENANCE = "generate-provenance";
	}