Response submitWorkflow()

in taverna-server-webapp/src/main/java/org/apache/taverna/server/master/rest/TavernaServerREST.java [141:219]


	Response submitWorkflow(@Nonnull Workflow workflow,
			@Nonnull @Context UriInfo ui) throws NoUpdateException;

	/**
	 * Accepts (or not) a request to create a new run executing the workflow at
	 * the given location.
	 * 
	 * @param workflowReference
	 *            The wrapped URI to workflow document to execute.
	 * @param ui
	 *            About the URI being POSTed to.
	 * @return A response to the POST describing what was created.
	 * @throws NoUpdateException
	 *             If the POST failed.
	 * @throw NoCreateException If the workflow couldn't be read into the server
	 *        or the engine rejects it.
	 */
	@POST
	@Path(RUNS)
	@Consumes(URI_LIST)
	@RolesAllowed(USER)
	@Description("Accepts a URL to a workflow to download and run. The URL "
			+ "must be hosted on a publicly-accessible service.")
	@Nonnull
	Response submitWorkflowByURL(@Nonnull List<URI> referenceList,
			@Nonnull @Context UriInfo ui) throws NoCreateException,
			NoUpdateException;

	/** Get an outline of the operations supported. */
	@OPTIONS
	@Path(RUNS)
	@Description("Produces the description of the operations on the "
			+ "collection of runs.")
	Response runsOptions();

	/**
	 * @return A description of the policies supported by this server.
	 */
	@Path(POL)
	@Description("The policies supported by this server.")
	@Nonnull
	PolicyView getPolicyDescription();

	/**
	 * Get a particular named run resource.
	 * 
	 * @param runName
	 *            The name of the run.
	 * @param uriInfo
	 *            About the URI used to access this run.
	 * @return A RESTful delegate for the run.
	 * @throws UnknownRunException
	 *             If the run handle is unknown to the current user.
	 */
	@Path(RUNS + "/{runName}")
	@RolesAllowed(USER)
	@Description("Get a particular named run resource to dispatch to.")
	@Nonnull
	TavernaServerRunREST getRunResource(
			@Nonnull @PathParam("runName") String runName,
			@Nonnull @Context UriInfo uriInfo) throws UnknownRunException;

	/**
	 * Factored out path names used in the {@link TavernaServerREST} interface
	 * and related places.
	 * 
	 * @author Donal Fellows
	 */
	interface PathNames {
		public static final String ROOT = "/";
		public static final String RUNS = "runs";
		public static final String POL = "policy";
		public static final String POL_CAPABILITIES = "capabilities";
		public static final String POL_RUN_LIMIT = "runLimit";
		public static final String POL_OP_LIMIT = "operatingLimit";
		public static final String POL_PERM_WF = "permittedWorkflows";
		public static final String POL_PERM_LIST = "permittedListenerTypes";
		public static final String POL_NOTIFIERS = "enabledNotificationFabrics";
	}