atg.targeting
Class RuleBasedRepositoryItemGroupFilter

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.targeting.RuleBasedRepositoryItemGroupFilter
All Implemented Interfaces:
NameContextBindingListener, NameContextElement, NameResolver, AdminableService, ApplicationLogging, atg.nucleus.logging.ApplicationLoggingSender, atg.nucleus.logging.TraceApplicationLogging, atg.nucleus.logging.VariableArgumentApplicationLogging, ComponentNameResolver, Service, ServiceListener, ParameterServlet, java.util.EventListener, javax.servlet.Servlet

public class RuleBasedRepositoryItemGroupFilter
extends DynamoServlet

A Servlet that, given a RuleBasedRepositoryItemGroup object and an array or List of RepositoryItem objects, produces as output a subset of the input list that matches the RuleBasedRepositoryItemGroup rules. The Servlet accepts either an array or List and creates the corresponding container type on output.


Field Summary
static java.lang.String CLASS_VERSION
           
static ParameterName INPUT_ITEMS
           
static ParameterName OUTPUT
           
static java.lang.String OUTPUT_ITEMS
           
static ParameterName REPOSITORY_ITEM_GROUP
           
static java.lang.String RESOURCE_BUNDLE
           
 
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
RuleBasedRepositoryItemGroupFilter()
           
 
Method Summary
protected  void commitTransaction(javax.transaction.Transaction pTransaction)
          Commits the supplied transaction
protected  java.util.List createFilteredList(java.util.List pRepositoryItems, atg.targeting.RuleBasedRepositoryItemGroup pRepositoryItemGroup)
          Create a new List which contains the subset of pRepositoryItems that belong to the group pRepositoryItemGroup
protected  java.lang.Object[] createFilteredList(java.lang.Object[] pRepositoryItems, atg.targeting.RuleBasedRepositoryItemGroup pRepositoryItemGroup)
          Create a new Array which contains the subset of pRepositoryItems that belong to the group pRepositoryItemGroup
 void doStartService()
          Resolve the global Dynamo transaction manager and assign it to the transactionManager property for use in the service method.
protected  javax.transaction.Transaction ensureTransaction()
          This method ensures that a transaction exists before returning.
 javax.transaction.TransactionManager getTransactionManager()
          Returns property TransactionManager.
 boolean isEnsureTransaction()
          Returns property EnsureTransaction
 void service(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
          This method provides the default implementation of service, by dispatching to conventionally named methods which begin with "do".
 void setEnsureTransaction(boolean pEnsureTransaction)
          Sets property EnsureTransaction
 void setTransactionManager(javax.transaction.TransactionManager pTransactionManager)
          Sets property TransactionManager
 
Methods inherited from class atg.servlet.DynamoServlet
doDelete, doGet, doPost, doPut, getParameter, getParameters, getServletContext, service, service, setParameter
 
Methods inherited from class atg.nucleus.servlet.ServletService
destroy, getServletConfig, getServletInfo, init, 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, doStopService, getAbsoluteName, getAdminServlet, getLoggingForVlogging, getLogListenerCount, getLogListeners, getName, getNameContext, getNucleus, getRoot, getServiceConfiguration, getServiceInfo, isLoggingDebug, isLoggingError, isLoggingInfo, isLoggingTrace, isLoggingWarning, isRunning, logDebug, logDebug, logDebug, logError, logError, logError, logInfo, logInfo, logInfo, logTrace, logTrace, logTrace, logWarning, logWarning, logWarning, nameContextElementBound, nameContextElementUnbound, removeLogListener, resolveName, resolveName, resolveName, resolveName, sendLogEvent, setLoggingDebug, setLoggingError, setLoggingInfo, setLoggingTrace, setLoggingWarning, setNucleus, setServiceInfo, startService, stopService
 
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl
vlogDebug, vlogDebug, vlogDebug, vlogDebug, 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

OUTPUT_ITEMS

public static java.lang.String OUTPUT_ITEMS

RESOURCE_BUNDLE

public static java.lang.String RESOURCE_BUNDLE

INPUT_ITEMS

public static final ParameterName INPUT_ITEMS

REPOSITORY_ITEM_GROUP

public static final ParameterName REPOSITORY_ITEM_GROUP

OUTPUT

public static final ParameterName OUTPUT
Constructor Detail

RuleBasedRepositoryItemGroupFilter

public RuleBasedRepositoryItemGroupFilter()
Method Detail

setTransactionManager

public void setTransactionManager(javax.transaction.TransactionManager pTransactionManager)
Sets property TransactionManager


getTransactionManager

public javax.transaction.TransactionManager getTransactionManager()
Returns property TransactionManager. If the internal transaction manager reference is null, it will be retrieved from the Repository if possible


setEnsureTransaction

public void setEnsureTransaction(boolean pEnsureTransaction)
Sets property EnsureTransaction


isEnsureTransaction

public boolean isEnsureTransaction()
Returns property EnsureTransaction


doStartService

public void doStartService()
                    throws ServiceException
Resolve the global Dynamo transaction manager and assign it to the transactionManager property for use in the service method.

Overrides:
doStartService in class GenericService
Throws:
ServiceException - if the Service had a problem starting up

ensureTransaction

protected javax.transaction.Transaction ensureTransaction()
This method ensures that a transaction exists before returning. If there is no transaction, a new one is started and returned. In this case, you must call commitTransaction when the transaction completes.


commitTransaction

protected void commitTransaction(javax.transaction.Transaction pTransaction)
Commits the supplied transaction


service

public void service(DynamoHttpServletRequest pRequest,
                    DynamoHttpServletResponse pResponse)
             throws javax.servlet.ServletException,
                    java.io.IOException
Description copied from class: DynamoServlet
This method provides the default implementation of service, by dispatching to conventionally named methods which begin with "do".

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.

createFilteredList

protected java.util.List createFilteredList(java.util.List pRepositoryItems,
                                            atg.targeting.RuleBasedRepositoryItemGroup pRepositoryItemGroup)
Create a new List which contains the subset of pRepositoryItems that belong to the group pRepositoryItemGroup

Parameters:
pRepositoryItems - The list of all repository items
pRepositoryItemGroup - the group used to filter those items
Returns:
a possibly empty List that contains the subset of pRepositoryItems that belong to the pRepositoryItemGroup

createFilteredList

protected java.lang.Object[] createFilteredList(java.lang.Object[] pRepositoryItems,
                                                atg.targeting.RuleBasedRepositoryItemGroup pRepositoryItemGroup)
Create a new Array which contains the subset of pRepositoryItems that belong to the group pRepositoryItemGroup

Parameters:
pRepositoryItems - The Array of all repository items
pRepositoryItemGroup - the group used to filter those items
Returns:
a possibly empty Array that contains the subset of pRepositoryItems that belong to the pRepositoryItemGroup