jBPM :: Distribution 6.2.0.Final

org.jbpm.process.workitem.rest
Class RESTWorkItemHandler

java.lang.Object
  extended by org.jbpm.process.workitem.AbstractLogOrThrowWorkItemHandler
      extended by org.jbpm.process.workitem.rest.RESTWorkItemHandler
All Implemented Interfaces:
WorkItemHandler

public class RESTWorkItemHandler
extends AbstractLogOrThrowWorkItemHandler

WorkItemHandler that is capable of interacting with REST service. Supports both types of services secured (that requires authentication) and open (no authentication). Authentication methods currently supported:

Authentication information can be given on handler initialization and can be overridden via work item parameters. All other configuration options must be given via work item parameters map:


Nested Class Summary
static class RESTWorkItemHandler.AuthenticationType
           
 
Field Summary
protected static boolean HTTP_CLIENT_API_43
           
 
Fields inherited from class org.jbpm.process.workitem.AbstractLogOrThrowWorkItemHandler
logThrownException
 
Constructor Summary
RESTWorkItemHandler()
          Used when no authentication is required
RESTWorkItemHandler(String username, String password)
          Dedicated constructor when BASIC authentication method shall be used
RESTWorkItemHandler(String username, String password, String authUrl)
          Dedicated constructor when FORM BASED authentication method shall be used
 
Method Summary
 void abortWorkItem(WorkItem workItem, WorkItemManager manager)
          The given work item should be aborted.
protected  void close(org.apache.http.client.HttpClient httpClient, Object httpMethod)
           
protected  Object configureRequest(String method, String urlStr, Map<String,Object> params)
           
protected  org.apache.http.HttpResponse doRequestWithAuthorization(org.apache.http.client.HttpClient httpclient, org.apache.http.client.methods.HttpRequestBase httpMethod, Map<String,Object> params)
           
protected  org.apache.http.HttpResponse doRequestWithAuthorization(org.apache.http.client.HttpClient httpclient, Object method, Map<String,Object> params)
           
protected  org.apache.http.HttpResponse doRequestWithAuthorization(org.apache.http.client.HttpClient httpclient, org.apache.http.client.methods.RequestBuilder requestBuilder, Map<String,Object> params)
          This method does the actual request, including the setup for authorization.
 void executeWorkItem(WorkItem workItem, WorkItemManager manager)
          The given work item should be executed.
 String getAuthUrl()
           
protected  org.apache.http.client.HttpClient getHttpClient(Integer readTimeout, Integer connectTimeout)
           
protected  Integer getParamAsInt(Object param)
           
protected  void postProcessResult(String result, Map<String,Object> results)
           
protected  void setBody(org.apache.http.client.methods.HttpRequestBase theMethod, Map<String,Object> params)
           
protected  void setBody(org.apache.http.client.methods.RequestBuilder builder, Map<String,Object> params)
           
 
Methods inherited from class org.jbpm.process.workitem.AbstractLogOrThrowWorkItemHandler
handleException, handleException, setLogThrownException
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

HTTP_CLIENT_API_43

protected static boolean HTTP_CLIENT_API_43
Constructor Detail

RESTWorkItemHandler

public RESTWorkItemHandler()
Used when no authentication is required


RESTWorkItemHandler

public RESTWorkItemHandler(String username,
                           String password)
Dedicated constructor when BASIC authentication method shall be used

Parameters:
username - - user name to be used for authentication
password - - password to be used for authentication

RESTWorkItemHandler

public RESTWorkItemHandler(String username,
                           String password,
                           String authUrl)
Dedicated constructor when FORM BASED authentication method shall be used

Parameters:
username - - user name to be used for authentication
password - - password to be used for authentication
authUrl -
Method Detail

getAuthUrl

public String getAuthUrl()

executeWorkItem

public void executeWorkItem(WorkItem workItem,
                            WorkItemManager manager)
Description copied from interface: WorkItemHandler
The given work item should be executed.

Parameters:
workItem - the work item that should be executed
manager - the manager that requested the work item to be executed

getParamAsInt

protected Integer getParamAsInt(Object param)

setBody

protected void setBody(org.apache.http.client.methods.RequestBuilder builder,
                       Map<String,Object> params)

setBody

protected void setBody(org.apache.http.client.methods.HttpRequestBase theMethod,
                       Map<String,Object> params)

postProcessResult

protected void postProcessResult(String result,
                                 Map<String,Object> results)

doRequestWithAuthorization

protected org.apache.http.HttpResponse doRequestWithAuthorization(org.apache.http.client.HttpClient httpclient,
                                                                  Object method,
                                                                  Map<String,Object> params)

doRequestWithAuthorization

protected org.apache.http.HttpResponse doRequestWithAuthorization(org.apache.http.client.HttpClient httpclient,
                                                                  org.apache.http.client.methods.RequestBuilder requestBuilder,
                                                                  Map<String,Object> params)
This method does the actual request, including the setup for authorization.

It is not responsible for cleaning up after the last request that it does.

It is responsible for cleaning up after all previous request, such as for form-based authentication, that happen.

Parameters:
httpclient - The HttpClient instance
requestBuilder - The RequestBuilder instance
params - The parameters that may be needed for authentication
Returns:
A HttpResponse instance from which we can extract the content

doRequestWithAuthorization

protected org.apache.http.HttpResponse doRequestWithAuthorization(org.apache.http.client.HttpClient httpclient,
                                                                  org.apache.http.client.methods.HttpRequestBase httpMethod,
                                                                  Map<String,Object> params)

abortWorkItem

public void abortWorkItem(WorkItem workItem,
                          WorkItemManager manager)
Description copied from interface: WorkItemHandler
The given work item should be aborted.

Parameters:
workItem - the work item that should be aborted
manager - the manager that requested the work item to be aborted

getHttpClient

protected org.apache.http.client.HttpClient getHttpClient(Integer readTimeout,
                                                          Integer connectTimeout)

close

protected void close(org.apache.http.client.HttpClient httpClient,
                     Object httpMethod)
              throws IOException
Throws:
IOException

configureRequest

protected Object configureRequest(String method,
                                  String urlStr,
                                  Map<String,Object> params)

jBPM :: Distribution 6.2.0.Final

Copyright © 2001-2015 JBoss by Red Hat. All Rights Reserved.