public class RemoteApplicationRequest extends Object implements Serializable
String responseId = remoteApplicationRequest.addTask(MyRemoteTaskHandler.class, param1, param2, param3); RemoteApplicationResponse remoteApplicationResponse = RemoteApplicationUtils.run(remoteApplicationRequest); Object fromHandler = remoteApplicationResponse.getTaskResponse(responseId);
<p/> Obviously this is a simplistic usecase, but essentially what happens is the task is added to the remote request. That executes a TaskHandler called MyRemoteTaskHandler
on the producer which could do setup with the specified params before the faces lifecycle is run. It can then return a result after the faces lifecycle is run which is then retrieved from the response. It is in this way that the RemoteApplication system can be extended in functionality while allowing the base protocol and framework to remain relatively lean.Modifier and Type | Class and Description |
---|---|
static class |
RemoteApplicationRequest.Operation
An enumeration of request types.
|
Constructor and Description |
---|
RemoteApplicationRequest(RemoteApplication app)
Constructs a new "INVOKE" RemoteApplicationRequest that will be used to run invoke type tasks on a producer.
|
RemoteApplicationRequest(RemoteApplication app, RemoteApplicationRequest.Operation operation, String resource)
Constructs a new RemoteApplicationRequest for a given Operation that will be used to make a connection to the producer.
|
RemoteApplicationRequest(RemoteApplication app, String resource)
Constructs a new "EXECUTE" RemoteApplicationRequest that will be used to run a resource on the producer.
|
Modifier and Type | Method and Description |
---|---|
void |
addCookie(javax.servlet.http.Cookie cookie)
Adds a cookie to this request
|
void |
addCookies(List<? extends javax.servlet.http.Cookie> cookies)
Adds a list of cookies to this request
|
void |
addHeader(String name, String value)
Add's a header to the header map.
|
void |
addHeaders(String name, String[] values)
This add's multiple headers with the same name to this request.
|
String |
addTask(Class<? extends TaskHandler> taskHandler, Serializable... parameters)
Adds a task to this request.
|
String |
addTask(String taskHandler, Serializable... parameters)
Adds a task to this request.
|
void |
clearCookies()
Clears all the stored cookies on this request
|
List<? extends javax.servlet.http.Cookie> |
getCookies()
Returns an unmodifiable list of cookies which need to be sent back to to the remote application during this request.
|
String |
getHeader(String header)
Returns a single header value.
|
Map<String,List<String>> |
getHeaderMap()
Returns a map of headers.
|
List<String> |
getHeaderValues(String header)
Returns all of the values of a header.
|
String |
getMethod()
Returns the 'simulated' method of this remote request.
|
RemoteApplicationRequest.Operation |
getOperation()
Returns the operation which is to be performed by this request.
|
Map<String,String[]> |
getParameterMap()
Returns the parameter map used for this request.
|
String |
getQueryString()
Returns the current query string of this instance.
|
RemoteApplication |
getRemoteApplication()
Returns the RemoteApplication or the RemoteApplicationInstance used to create this class.
|
String |
getResource()
Returns the resource that should be retrieved by this RemoteApplicationRequest
|
List<TaskInvocation> |
getTaskInvocations()
Returns an unmodifiable list of TaskInvocation objects.
|
Map<String,List<org.apache.myfaces.trinidad.model.UploadedFile>> |
getUploadedFileMap()
Returns a list of UploadedFiles which should be sent as part of this request.
|
void |
setMethod(String method)
Sets the 'simulated' request method for this request.
|
void |
setQueryString(String queryString)
Sets the query string of this request.
|
public RemoteApplicationRequest(RemoteApplication app)
app
- the RemoteApplication object representing the producerNullPointerException
- if the app property is null
public RemoteApplicationRequest(RemoteApplication app, String resource)
app
- the RemoteApplication object representing the producerresource
- the Resource to execute on the remote producer. This resource will be added to the url that is already present on the app representing the filter mapping.NullPointerException
- if either the app or the Resource is null
public RemoteApplicationRequest(RemoteApplication app, RemoteApplicationRequest.Operation operation, String resource)
app
- the RemoteApplication object representing the produceroperation
- the Operation to perform in the remote applicationresource
- the Resource to execute on the remote producer. This resource will be added to the url that is already present on the app representing the filter mapping. If this is an "invoke" type request, this property is ignored.NullPointerException
- if the app or the operation is null
IllegalArgumentException
- is resource is null
and operation is NOT "INVOKE".public RemoteApplication getRemoteApplication()
public RemoteApplicationRequest.Operation getOperation()
RemoteApplicationRequest.Operation
.public String getResource()
public void setMethod(String method)
HttpServletRequest.getMetho()
on the producer. Valid methods are: GET, POST, HEAD, OPTIONS, PUT, DELETE, or TRACE. The default is GET.method
- the 'simulated' method of the remote request.public String getMethod()
public List<? extends javax.servlet.http.Cookie> getCookies()
public void clearCookies()
public void addCookie(javax.servlet.http.Cookie cookie)
cookie
- the cookiepublic void addCookies(List<? extends javax.servlet.http.Cookie> cookies)
cookies
-public void setQueryString(String queryString)
queryString
- a valid queryString without the leading "?".public String getQueryString()
public Map<String,String[]> getParameterMap()
HttpServletRequest
as such.public Map<String,List<String>> getHeaderMap()
public void addHeader(String name, String value)
name
- the name of the headervalue
- the value of the headerpublic void addHeaders(String name, String[] values)
name
-values
-public String getHeader(String header)
null
. If the headers are present then the value of the first occurance of this header is returned.header
-public List<String> getHeaderValues(String header)
header
-public String addTask(String taskHandler, Serializable... parameters)
taskHandler
- a string representing the classname of the handler being invokedparameters
- a list of parametersUnsupportedOperationException
- id this method is not supported for the type of request. Currently "fetch" type requests do not support task execution.public String addTask(Class<? extends TaskHandler> taskHandler, Serializable... parameters)
taskHandler
- a Class representing the classname of the handler being invokedparameters
- a list of parametersUnsupportedOperationException
- id this method is not supported for the type of request. Currently "fetch" type requests do not support task execution.public List<TaskInvocation> getTaskInvocations()
public Map<String,List<org.apache.myfaces.trinidad.model.UploadedFile>> getUploadedFileMap()
Map
where all of the UploadedFile instances should be stored.