com.ibm.commerce.tools.experimentation.search

Class PromotionSearchListDataBean

  • java.lang.Object
    • com.ibm.commerce.beans.InputDataBeanImpl
      • com.ibm.commerce.beans.SmartDataBeanImpl
        • com.ibm.commerce.tools.util.CommonSearchHelperBean
          • com.ibm.commerce.tools.experimentation.search.PromotionSearchListDataBean
  • All Implemented Interfaces:
    com.ibm.commerce.beans.DataBean, com.ibm.commerce.beans.InputDataBean, com.ibm.commerce.beans.SmartDataBean, java.io.Serializable


    public class PromotionSearchListDataBean
    extends com.ibm.commerce.tools.util.CommonSearchHelperBean
    This data bean finds promotions in a store. It accepts parameters to be used as the search criteria, generates and executes a SQL query to find the result set from the database, and returns the result to the view. In order to use the abstract class com.ibm.commerce.tools.util.CommonSearchHelperBean to support the database side execution, the most important methods that would be necessary are the ones that contruct the database query and the list of data beans. Methods are also provided to get a list of entries that have been found and to get a specific entry that has been found. Extend this class with extra getters and setters to add extra search criteria.

    To make use of com.ibm.commerce.tools.util.CommonSearchHelperBean class, a query must first be created that will return the desired results from the database. Some hints as to how this is done can be taken from looking at the current enterprise beans and discovering what tables and contraints they currently use to retrieve the desired data. Any parameters that are to be passed to the query such as ordering information or search criteria must be received before the execution of the query. Some of these parameters will have been set through the search or list data bean's constructor. They can also be set by calling set methods in the JSP.

    com.ibm.commerce.tools.util.CommonSearchHelperBean provides a method to execute the SQL statement. It sets up a cursor and an instance of a JDBC helper class com.ibm.commerce.base.objects.ServerJDBCHelperBean, and passes the cursor and the returned SQL string (built in the buildQuery method implemented in this class) to the com.ibm.commerce.base.objects.ServerJDBCHelperBean instance. The result size is then set, taken from the cursor. With the use of cursor, high volumes of returned results can be divided into separate segments, and be displayed onto an appropriate number of pages.

    The buildResultDataBean method must also be implemented. This method would need to get the results from the returned vector and parse each row into the set methods of a data bean. One would need to either create or augment an existing data bean to allow parameters to be set in the data bean.

    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static java.lang.String COPYRIGHT
      IBM copyright notice field.
      • Fields inherited from interface com.ibm.commerce.beans.DataBean

        emptyString
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String buildQuery()
      This method constructs the SQL query.
      void buildResultDataBean(java.util.Vector resultVector)
      This method constructs the list of result data beans.
      PromotionSearchDataBean[] getPromotionList()
      This method returns the list of data beans found from the search or list, represented by an array of PromotionSearchDataBean object.
      PromotionSearchDataBean getPromotionListData(int index)
      This method returns the specific data bean at the passed index within the array of data beans returned, represented by the PromotionSearchDataBean object.
      java.lang.String getPromotionName()
      This method returns the name of the promotion to be searched for, this is the value of the name criteria.
      java.lang.String getPromotionNameType()
      This method returns the type of search that is being performed to the promotion name criteria.
      void setPromotionList(java.util.Vector newPromotionList)
      This method sets the list of data beans found from the search or list, represented by an array of PromotionSearchDataBean object.
      void setPromotionName(java.lang.String newPromotionName)
      This method sets the name of the promotion to be searched for, this is the value of the name criteria.
      void setPromotionNameType(java.lang.String newPromotionNameType)
      This method sets the type of search that is being performed to the promotion name criteria.
      • Methods inherited from class com.ibm.commerce.tools.util.CommonSearchHelperBean

        escapeSQLstring, getDefaultLanguageId, getIndexBegin, getIndexEnd, getLanguageId, getListSize, getResultList, getResultSetSize, getStoreId, getStoreIds, getStoreIdsInEntityType, getStoreRelType, getUpperCaseFunction, getUseCursor, populate, setIndexBegin, setIndexEnd, setLanguageId, setResultList, setResultSetSize, setStoreId, setStoreIds, setStoreIdsInEntityType, setStoreRelType, setUseCursor
      • Methods inherited from class com.ibm.commerce.beans.SmartDataBeanImpl

        fulfills, getCommandContext, getHttpRequest, getHttpResponse, getResources, getViewCommandContext, setCommandContext, setHttpRequest, setHttpResponse, setViewCommandContext
      • Methods inherited from class com.ibm.commerce.beans.InputDataBeanImpl

        getRequestProperties, setRequestProperties
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface com.ibm.commerce.beans.InputDataBean

        getRequestProperties, setRequestProperties
    • Field Detail

      • COPYRIGHT

        public static final java.lang.String COPYRIGHT
        IBM copyright notice field.
        See Also:
        Constant Field Values
    • Constructor Detail

      • PromotionSearchListDataBean

        public PromotionSearchListDataBean()
        The default constructor for this class.
    • Method Detail

      • buildQuery

        public java.lang.String buildQuery()
                                    throws java.lang.Exception
        This method constructs the SQL query. Here the query must be put together using the user given parameters for the search to be performed properly. This implements the buildQuery abstract method in com.ibm.commerce.tools.util.CommonSearchHelperBean and be called by the populate method found in the same abstract class.
        Specified by:
        buildQuery in class com.ibm.commerce.tools.util.CommonSearchHelperBean
        Returns:
        The SQL query string that is used to search for promotions.
        Throws:
        java.lang.Exception - Thrown when an exception is encountered when constructing the query.
      • buildResultDataBean

        public void buildResultDataBean(java.util.Vector resultVector)
        This method constructs the list of result data beans. After the SQL has been performed and a result vector has been returned, a list of data beans will be populated. This is called by the populate method found in the com.ibm.commerce.tools.util.CommonSearchHelperBean.
        Specified by:
        buildResultDataBean in class com.ibm.commerce.tools.util.CommonSearchHelperBean
        Parameters:
        resultVector - The result vector returned from the query execution.
      • getPromotionList

        public PromotionSearchDataBean[] getPromotionList()
        This method returns the list of data beans found from the search or list, represented by an array of PromotionSearchDataBean object. These are data beans that each hold data about a returned row. Each row returned has its own data bean.
        Returns:
        The list of promotion data beans.
      • getPromotionListData

        public PromotionSearchDataBean getPromotionListData(int index)
                                                     throws java.lang.ArrayIndexOutOfBoundsException
        This method returns the specific data bean at the passed index within the array of data beans returned, represented by the PromotionSearchDataBean object. If the index is larger than the size of the array, an ArrayIndexOutOfBoundsException will be thrown.
        Parameters:
        index - The index of the result array.
        Returns:
        The specific entry that was found in the array of PromotionSearchDataBean object.
        Throws:
        java.lang.ArrayIndexOutOfBoundsException - Thrown when accessing an array with an out of bound index.
      • getPromotionName

        public java.lang.String getPromotionName()
        This method returns the name of the promotion to be searched for, this is the value of the name criteria.
        Returns:
        The promotion name in the name criteria.
      • getPromotionNameType

        public java.lang.String getPromotionNameType()
        This method returns the type of search that is being performed to the promotion name criteria.
        Returns:
        The type of search on the promotion name criteria.
      • setPromotionList

        public void setPromotionList(java.util.Vector newPromotionList)
        This method sets the list of data beans found from the search or list, represented by an array of PromotionSearchDataBean object. These are data beans that each hold data about a returned row. Each row returned has its own data bean.
        Parameters:
        newPromotionList - The list of promotion data beans.
      • setPromotionName

        public void setPromotionName(java.lang.String newPromotionName)
        This method sets the name of the promotion to be searched for, this is the value of the name criteria.
        Parameters:
        newPromotionName - The promotion name in the name criteria.
      • setPromotionNameType

        public void setPromotionNameType(java.lang.String newPromotionNameType)
        This method sets the type of search that is being performed to the promotion name criteria.
        Parameters:
        newPromotionNameType - The type of search on the promotion name criteria.