EAF 7.4 Implementation

org.enhydra.util.chiba
Class HttpRequestHandler

java.lang.Object
  extended by org.enhydra.util.chiba.HttpRequestHandler

public class HttpRequestHandler
extends java.lang.Object

Default implementation for handling http servlet requests.

Version:
$Id: HttpRequestHandler.java,v 1.3 2007/06/29 07:10:11 alex Exp $
Author:
joern turner

Field Summary
static java.lang.String DATA_PREFIX_DEFAULT
           
static java.lang.String DATA_PREFIX_PROPERTY
           
static java.lang.String REMOVE_UPLOAD_PREFIX_DEFAULT
           
static java.lang.String REMOVE_UPLOAD_PREFIX_PROPERTY
           
static java.lang.String SELECTOR_PREFIX_DEFAULT
           
static java.lang.String SELECTOR_PREFIX_PROPERTY
           
static java.lang.String TRIGGER_PREFIX_DEFAULT
           
static java.lang.String TRIGGER_PREFIX_PROPERTY
           
 
Constructor Summary
HttpRequestHandler(ChibaBean chibaBean)
           
 
Method Summary
 void execute(ChibaEvent event)
          executes this handler.
 ChibaBean getChibaBean()
          Get the value of chibaBean.
protected  java.lang.String getDataPrefix()
           
protected  java.lang.String getRemoveUploadPrefix()
           
 java.lang.String getSelectorPrefix()
          returns the configured prefix which identifies 'selector' parameters.
protected  java.lang.String getTriggerPrefix()
          returns the prefix which is used to identify trigger parameters.
protected  void handleData(java.lang.String name, java.lang.String[] values)
           
protected  void handleRequest(HttpPresentationComms comms)
          checks whether we have multipart or urlencoded request and processes it accordingly.
protected  void handleSelector(java.lang.String name, java.lang.String value)
           
protected  java.lang.String handleTrigger(java.lang.String trigger, java.lang.String name)
           
protected  java.lang.String processMultiPartRequest(javax.servlet.http.HttpServletRequest request, java.lang.String trigger)
           
protected  java.lang.String processUrlencodedRequest(javax.servlet.http.HttpServletRequest request, java.lang.String trigger)
           
protected  java.lang.String trim(java.lang.String value)
          patch to handle linefeed duplication in text areas with some browsers.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DATA_PREFIX_PROPERTY

public static final java.lang.String DATA_PREFIX_PROPERTY
See Also:
Constant Field Values

TRIGGER_PREFIX_PROPERTY

public static final java.lang.String TRIGGER_PREFIX_PROPERTY
See Also:
Constant Field Values

SELECTOR_PREFIX_PROPERTY

public static final java.lang.String SELECTOR_PREFIX_PROPERTY
See Also:
Constant Field Values

REMOVE_UPLOAD_PREFIX_PROPERTY

public static final java.lang.String REMOVE_UPLOAD_PREFIX_PROPERTY
See Also:
Constant Field Values

DATA_PREFIX_DEFAULT

public static final java.lang.String DATA_PREFIX_DEFAULT
See Also:
Constant Field Values

TRIGGER_PREFIX_DEFAULT

public static final java.lang.String TRIGGER_PREFIX_DEFAULT
See Also:
Constant Field Values

SELECTOR_PREFIX_DEFAULT

public static final java.lang.String SELECTOR_PREFIX_DEFAULT
See Also:
Constant Field Values

REMOVE_UPLOAD_PREFIX_DEFAULT

public static final java.lang.String REMOVE_UPLOAD_PREFIX_DEFAULT
See Also:
Constant Field Values
Constructor Detail

HttpRequestHandler

public HttpRequestHandler(ChibaBean chibaBean)
Method Detail

execute

public void execute(ChibaEvent event)
             throws XFormsException
executes this handler.

Throws:
XFormsException

handleRequest

protected void handleRequest(HttpPresentationComms comms)
                      throws XFormsException
checks whether we have multipart or urlencoded request and processes it accordingly. After updating the data, a recalculate, revalidate refresh sequence is fired and the found trigger is executed.

Parameters:
request - Servlet request
Throws:
org.chiba.xml.xforms.exception.XFormsException - todo: implement action block behavior
XFormsException

processMultiPartRequest

protected java.lang.String processMultiPartRequest(javax.servlet.http.HttpServletRequest request,
                                                   java.lang.String trigger)
                                            throws XFormsException
Parameters:
request - Servlet request
trigger - Trigger control
Returns:
the calculated trigger
Throws:
XFormsException - If an error occurs

processUrlencodedRequest

protected java.lang.String processUrlencodedRequest(javax.servlet.http.HttpServletRequest request,
                                                    java.lang.String trigger)
                                             throws XFormsException
Throws:
XFormsException

handleData

protected void handleData(java.lang.String name,
                          java.lang.String[] values)
                   throws XFormsException
Parameters:
name -
Throws:
XFormsException

trim

protected java.lang.String trim(java.lang.String value)
patch to handle linefeed duplication in text areas with some browsers.

Parameters:
value - the value where line breaks will be trimmed
Returns:
returns a cleaned up version of the value

handleSelector

protected void handleSelector(java.lang.String name,
                              java.lang.String value)
                       throws XFormsException
Parameters:
name -
Throws:
XFormsException

handleTrigger

protected java.lang.String handleTrigger(java.lang.String trigger,
                                         java.lang.String name)

getTriggerPrefix

protected final java.lang.String getTriggerPrefix()
returns the prefix which is used to identify trigger parameters.

Returns:
the prefix which is used to identify trigger parameters

getDataPrefix

protected final java.lang.String getDataPrefix()

getRemoveUploadPrefix

protected final java.lang.String getRemoveUploadPrefix()

getSelectorPrefix

public final java.lang.String getSelectorPrefix()
returns the configured prefix which identifies 'selector' parameters. These are used to transport the state of repeat indices via http.

Returns:
the prefix for selector parameters from the configuration

getChibaBean

public ChibaBean getChibaBean()
Get the value of chibaBean.

Returns:
the value of chibaBean

EAF 7.4 Implementation