uws.service.actions
Class AddJob<JL extends JobList<J>,J extends AbstractJob>

java.lang.Object
  extended by uws.service.actions.UWSAction<JL,J>
      extended by uws.service.actions.AddJob<JL,J>
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
ExtendedUWS.AddJobWithConstructor

public class AddJob<JL extends JobList<J>,J extends AbstractJob>
extends UWSAction<JL,J>

The "Add Job" action of a UWS.

Note: The corresponding name is UWSAction.ADD_JOB.

This action creates a new job and adds it to the specified jobs list. The response of this action is a redirection to the new job resource (that is to say: a redirection to the job summary of the new job).

Version:
02/2011
Author:
Grégory Mantelet (CDS)
See Also:
Serialized Form

Field Summary
 
Fields inherited from class uws.service.actions.UWSAction
ADD_JOB, DESTROY_JOB, GET_JOB_PARAM, HOME_PAGE, JOB_SUMMARY, LIST_JOBS, SET_JOB_PARAM, uws
 
Constructor Summary
AddJob(AbstractUWS<JL,J> u)
           
 
Method Summary
 boolean apply(UWSUrl urlInterpreter, java.lang.String userId, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          Gets the specified jobs list (throw an error if not found), creates a new job, adds it to the jobs list and makes a redirection to the summary of this new job.
 java.lang.String getDescription()
          Gets the description of this UWS action.
 java.lang.String getName()
          Gets the name of this UWS action.
 boolean match(UWSUrl urlInterpreter, java.lang.String userId, javax.servlet.http.HttpServletRequest request)
          Checks whether: a job list name is specified in the given UWS URL (note: by default, the existence of the jobs list is not checked), the UWS URL does not make a reference to a job (so: no job ID), the HTTP method is HTTP-POST.
 
Methods inherited from class uws.service.actions.UWSAction
equals, getJob, getJob, getJobsList, getUWS, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AddJob

public AddJob(AbstractUWS<JL,J> u)
Method Detail

getName

public java.lang.String getName()
Description copied from class: UWSAction

Gets the name of this UWS action. MUST BE UNIQUE !

Note: By default the name of the class is returned (Class.getName()).

Overrides:
getName in class UWSAction<JL extends JobList<J>,J extends AbstractJob>
Returns:
Its name.
See Also:
UWSAction.ADD_JOB, UWSAction.getName()

getDescription

public java.lang.String getDescription()
Description copied from class: UWSAction

Gets the description of this UWS action.

Note: By default an empty string is returned.

Overrides:
getDescription in class UWSAction<JL extends JobList<J>,J extends AbstractJob>
Returns:
Its description.

match

public boolean match(UWSUrl urlInterpreter,
                     java.lang.String userId,
                     javax.servlet.http.HttpServletRequest request)
              throws UWSException
Checks whether:

Specified by:
match in class UWSAction<JL extends JobList<J>,J extends AbstractJob>
Parameters:
urlInterpreter - The UWS URL of the given request.
userId - The user who has sent the given request.
request - The received request.
Returns:
true if the given request corresponds to this UWS action, false otherwise.
Throws:
UWSException - If any error occurs during the tests.
See Also:
UWSAction.match(uws.service.UWSUrl, java.lang.String, javax.servlet.http.HttpServletRequest)

apply

public boolean apply(UWSUrl urlInterpreter,
                     java.lang.String userId,
                     javax.servlet.http.HttpServletRequest request,
                     javax.servlet.http.HttpServletResponse response)
              throws UWSException,
                     java.io.IOException
Gets the specified jobs list (throw an error if not found), creates a new job, adds it to the jobs list and makes a redirection to the summary of this new job.

Specified by:
apply in class UWSAction<JL extends JobList<J>,J extends AbstractJob>
Parameters:
urlInterpreter - The UWS URL of the given request.
userId - The user who has sent the given request.
request - The received request.
response - The response of the given request (MUST BE UPDATED).
Returns:
true if the actions has been successfully applied, false otherwise.
Throws:
UWSException - If any error occurs during the action application.
java.io.IOException - If there is an error while the result is written in the given response.
See Also:
UWSAction.getJobsList(UWSUrl), UWSToolBox.getParamsMap(HttpServletRequest, java.lang.String), ExecutionDurationController.init(Map), DestructionTimeController.init(Map), AbstractUWS.createJob(java.util.Map), AbstractUWS.setExecutionManager(uws.job.manager.ExecutionManager), JobList.addNewJob(AbstractJob), AbstractUWS.redirect(String, HttpServletRequest, HttpServletResponse), UWSAction.apply(uws.service.UWSUrl, java.lang.String, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)