atg.projects.store.droplet
Class TargetLinkURLDroplet

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.projects.store.droplet.TargetLinkURLDroplet
All Implemented Interfaces:
atg.naming.AbsoluteNameable, atg.naming.NameContextBindingListener, atg.naming.NameContextElement, atg.naming.NameContextParentable, atg.naming.NameResolver, atg.nucleus.AdminableService, atg.nucleus.Configured, atg.nucleus.logging.ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, atg.nucleus.logging.VariableArgumentApplicationLogging, atg.nucleus.naming.ComponentNameResolver, atg.nucleus.Service, atg.nucleus.ServiceListener, atg.servlet.ParameterServlet, java.util.EventListener, javax.servlet.Servlet

public class TargetLinkURLDroplet
extends atg.servlet.DynamoServlet

This droplet's main purpose is to determine an Endeca driven target link URL.

The URL passed into this droplet can be in any format but a substitution will only be attempted with what's between particular opening and closing tokens (if they exist). For the substitution to be attempted, the url value, should be in the form of:

The item ID key and repository ID will then be stripped from between the opening and closing tokens, and the corresponding Endeca dimension value URL will be determined. So the above URL will be modified to the following form: or for an SEO formatted URL:

Input Paramaters:

Open Parameters:

Output Parameters:

Example:

     <dsp:droplet name="/atg/endeca/store/droplet/TargetLinkURLDroplet">
       <dsp:param name="url" param="promotion.media.targetLink.url"/>
     
       <dsp:oparam name="output">
         <dsp:getvalueof var="targetLinkURL" param="targetLinkURL"/>
       </dsp:oparam>
     </dsp:droplet>
   

Version:
$Id: //hosting-blueprint/B2CBlueprint/version/10.2.1/Endeca/Assembler/src/atg/projects/store/droplet/TargetLinkURLDroplet.java#3 $$Change: 794093 $
Author:
David Stewart

Field Summary
static java.lang.String CATEGORY_ID
          The key that is used to reference a category ID
static java.lang.String CLASS_VERSION
          Class version string
static char ID_SEPARATOR
          The key/ID separator character
static java.lang.String OUTPUT
          Output parameter name.
static java.lang.String TARGET_LINK_URL
          Target link URL output parameter name.
static atg.nucleus.naming.ParameterName URL
          url parameter name.
 
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
TargetLinkURLDroplet()
           
 
Method Summary
 StoreDimensionValueCacheTools getDimensionValueCacheTools()
           
 java.lang.String getEnclosingEndToken()
           
 java.lang.String getEnclosingStartToken()
           
 void service(atg.servlet.DynamoHttpServletRequest pRequest, atg.servlet.DynamoHttpServletResponse pResponse)
          See class description - TargetLinkURLDroplet.
 void setDimensionValueCacheTools(StoreDimensionValueCacheTools pDimensionValueCacheTools)
           
 void setEnclosingEndToken(java.lang.String pEnclosingEndToken)
           
 void setEnclosingStartToken(java.lang.String pEnclosingStartToken)
           
 
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 final java.lang.String CLASS_VERSION
Class version string

See Also:
Constant Field Values

URL

public static final atg.nucleus.naming.ParameterName URL
url parameter name.


TARGET_LINK_URL

public static final java.lang.String TARGET_LINK_URL
Target link URL output parameter name.

See Also:
Constant Field Values

CATEGORY_ID

public static final java.lang.String CATEGORY_ID
The key that is used to reference a category ID

See Also:
Constant Field Values

ID_SEPARATOR

public static final char ID_SEPARATOR
The key/ID separator character

See Also:
Constant Field Values

OUTPUT

public static final java.lang.String OUTPUT
Output parameter name.

See Also:
Constant Field Values
Constructor Detail

TargetLinkURLDroplet

public TargetLinkURLDroplet()
Method Detail

setDimensionValueCacheTools

public void setDimensionValueCacheTools(StoreDimensionValueCacheTools pDimensionValueCacheTools)
Parameters:
pDimensionValueCacheTools - - The tools class for the DimensionValueCache.

getDimensionValueCacheTools

public StoreDimensionValueCacheTools getDimensionValueCacheTools()
Returns:
the tools class for the DimensionValueCache.

setEnclosingStartToken

public void setEnclosingStartToken(java.lang.String pEnclosingStartToken)
Parameters:
pEnclosingStartToken - - The start token that encloses the category ID.

getEnclosingStartToken

public java.lang.String getEnclosingStartToken()
Returns:
the start token that encloses the category ID.

setEnclosingEndToken

public void setEnclosingEndToken(java.lang.String pEnclosingEndToken)
Parameters:
pEnclosingEndToken - - The end token that encloses the category ID.

getEnclosingEndToken

public java.lang.String getEnclosingEndToken()
Returns:
the end token that encloses the category ID.

service

public void service(atg.servlet.DynamoHttpServletRequest pRequest,
                    atg.servlet.DynamoHttpServletResponse pResponse)
             throws javax.servlet.ServletException,
                    java.io.IOException
See class description - TargetLinkURLDroplet.

Overrides:
service in class atg.servlet.DynamoServlet
Parameters:
pRequest - - DynamoHttpSevletRequest.
pResponse - - DynamoHttpServletResponse.
Throws:
javax.servlet.ServletException - - if an error occurs.
java.io.IOException - - if an error occurs.