atg.endeca.assembler.droplet
Class InvokeAssembler

java.lang.Object
  extended by atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
      extended by atg.nucleus.GenericService
          extended by atg.nucleus.TimedOperationService
              extended by atg.nucleus.servlet.ServletService
                  extended by atg.nucleus.servlet.HttpServletService
                      extended by atg.servlet.DynamoServlet
                          extended by atg.endeca.assembler.droplet.InvokeAssembler
All Implemented Interfaces:
atg.naming.AbsoluteNameable, NameContextBindingListener, NameContextElement, atg.naming.NameContextParentable, NameResolver, AdminableService, atg.nucleus.Configured, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, ParameterServlet, java.util.EventListener, javax.servlet.Servlet

public class InvokeAssembler
extends DynamoServlet

This droplet acts as an entry point into the Assembler API. The droplet is used to make a request for content from an Endeca application. The droplet has multiple parameters.

Input Parameters
includePath: A path used to return an Endeca 'page'. The path is passed into a ContentInclude ContentItem. An example of an include path is "/pages/browse", used to return a browse page defined in Experience Manager. No other parameters should be used in conjunction with this parameter.
contentCollection: A path used to return an Endeca 'slot' in Experience Manager. The path is passed into a ContentSlotConfig ContentItem. An example of a content collection is "/shared/SearchBoxAutoSuggestContent", used to return a content collection called SearchBoxAutoSuggestContent. This parameter may be used in conjunction with ruleLimit.
contentItemType: A string used to indicate that the handler for a particular content item type should be called directly. For example "ResultsList" will cause the Assembler to try and determine the handler for cartridges of type ResultsList and invoke the handler.
ruleLimit: Used in conjunction with the contentCollection parameter. Indicates how many rules can fire for this particular slot.
Open Parameters
output: Rendered when the Assembler returns content.
error: Rendered when an error occurred. Log files can be used to determine the nature of the error.
Output Parameters
contentItem: The content (ContentItem) assembled by the invocation of the Assembler.

This droplet can be called from a page like so:


Field Summary
static java.lang.String CLASS_VERSION
          Class version string
static ParameterName CONTENT_COLLECTION
           
static java.lang.String CONTENT_ITEM_PARAM
           
static ParameterName CONTENT_ITEM_TYPE
           
static java.lang.String ERROR_KEY
           
static ParameterName ERROR_OPARAM
           
static ParameterName INCLUDE_PATH
           
static ParameterName NAVIGATION_ACTION_CONTENT_PATH
           
static ParameterName OUTPUT_OPARAM
           
static ParameterName RECORD_ACTION_CONTENT_PATH
           
static ParameterName RULE_LIMIT
           
 
Fields inherited from class atg.servlet.DynamoServlet
mAllowCleanupRequest, mParameters
 
Fields inherited from class atg.nucleus.servlet.ServletService
SERVLET_INFO_KEY
 
Fields inherited from class atg.nucleus.GenericService
SERVICE_INFO_KEY
 
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging
DEFAULT_LOG_TRACE_STATUS
 
Fields inherited from interface atg.nucleus.logging.ApplicationLogging
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS
 
Constructor Summary
InvokeAssembler()
           
 
Method Summary
protected  ContentItem createContentInclude(DynamoHttpServletRequest pRequest, java.lang.String pResourcePath)
          Create a new ContentInclude content item.
protected  ContentSlotConfig createContentSlotConfig(DynamoHttpServletRequest pRequest, java.lang.String pContent, int pRuleLimit)
          Create a new ContentSlotConfig content item
 AssemblerTools getAssemblerTools()
           
protected  ContentItem invokeAssembler(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse, ContentItem pContentItem)
          This method invokes the assembler with the given ContentItem and returns the results.
 void service(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          Invokes the Assembler and assembles the content specified by the "includePath" input parameter or the "contentCollection" input parameter.
 void setAssemblerTools(AssemblerTools pAssemblerTools)
          Set a new assembler tools class
 
Methods inherited from class atg.servlet.DynamoServlet
doDelete, doGet, doPost, doPut, getParameter, getParameters, getServletContext, init, service, service, setParameter
 
Methods inherited from class atg.nucleus.servlet.ServletService
destroy, getServletConfig, getServletInfo, setServletInfo
 
Methods inherited from class atg.nucleus.TimedOperationService
getAverageRequestHandlingTime, getHandledRequestCount, getRequestStartTime, getTotalRequestHandlingTime, isKeepingStatistics, notifyHandledRequest, resetStatistics, setKeepingStatistics
 
Methods inherited from class atg.nucleus.GenericService
addLogListener, createAdminServlet, doStartService, doStopService, getAbsoluteName, getAdminServlet, getAdminServletOutputStreamEncoding, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isAdminServletUseServletOutputStream, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, reResolveThis, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setAdminServletOutputStreamEncoding, setAdminServletUseServletOutputStream, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CLASS_VERSION

public static java.lang.String CLASS_VERSION
Class version string


INCLUDE_PATH

public static final ParameterName INCLUDE_PATH

CONTENT_COLLECTION

public static final ParameterName CONTENT_COLLECTION

RULE_LIMIT

public static final ParameterName RULE_LIMIT

CONTENT_ITEM_TYPE

public static final ParameterName CONTENT_ITEM_TYPE

NAVIGATION_ACTION_CONTENT_PATH

public static final ParameterName NAVIGATION_ACTION_CONTENT_PATH

RECORD_ACTION_CONTENT_PATH

public static final ParameterName RECORD_ACTION_CONTENT_PATH

OUTPUT_OPARAM

public static final ParameterName OUTPUT_OPARAM

ERROR_OPARAM

public static final ParameterName ERROR_OPARAM

CONTENT_ITEM_PARAM

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

ERROR_KEY

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

InvokeAssembler

public InvokeAssembler()
Method Detail

getAssemblerTools

public AssemblerTools getAssemblerTools()
Returns:
The assembler tools class

setAssemblerTools

public void setAssemblerTools(AssemblerTools pAssemblerTools)
Set a new assembler tools class

Parameters:
pAssemblerTools -

service

public void service(DynamoHttpServletRequest pRequest,
                    DynamoHttpServletResponse pResponse)
             throws javax.servlet.ServletException,
                    java.io.IOException
Invokes the Assembler and assembles the content specified by the "includePath" input parameter or the "contentCollection" input parameter. The assembled content will be available in the "contentItem" output parameter rendered inside the "output" open parameter. If no content is assembled the "empty" open parameter is rendered. If an error occurs the "error" open parameter is rendered.

Overrides:
service in class DynamoServlet
Parameters:
pRequest - the request to be processed
pResponse - the response object for this request
Throws:
javax.servlet.ServletException - an application specific error occurred processing this request
java.io.IOException - an error occurred reading data from the request or writing data to the response.

createContentInclude

protected ContentItem createContentInclude(DynamoHttpServletRequest pRequest,
                                           java.lang.String pResourcePath)
Create a new ContentInclude content item. Returns an instance of RedirectAwareContentInclude if keyword redirects are enabled.

Parameters:
pRequest -
pResourcePath -
Returns:

createContentSlotConfig

protected ContentSlotConfig createContentSlotConfig(DynamoHttpServletRequest pRequest,
                                                    java.lang.String pContent,
                                                    int pRuleLimit)
Create a new ContentSlotConfig content item

Parameters:
pRequest - HttpRequest
pResourcePath - resource path
pRuleLimit - rule limit
Returns:

invokeAssembler

protected ContentItem invokeAssembler(DynamoHttpServletRequest pRequest,
                                      DynamoHttpServletResponse pResponse,
                                      ContentItem pContentItem)
                               throws AssemblerException
This method invokes the assembler with the given ContentItem and returns the results.

Parameters:
pRequest -
pResponse -
pContentItem -
Returns:
Throws:
AssemblerException