Adición de campos obligatorios al bean de datos

Puede modificar los campos necesarios en el bean de datos nuevo. Los dos campos necesarios son para los siguientes tipos de información: contexto de mandato y propiedades de petición.

Procedimiento

  1. Efectúe una doble pulsación en el bean de datos nuevo (por ejemplo UserResDataBean) para ver el código fuente.
  2. Localice el método getCommandContext. Inicialmente aparece de este modo:
    
    public CommandContext getCommandContext() {
                    return null;
            }
    

    Modifique el código para que aparezca del modo siguiente:

    
    private CommandContext iCommandContext = null;
    
    public com.ibm.commerce.command.CommandContext getCommandContext()
    {
            
    return iCommandContext;
    }
    
  3. Localice el método setCommandContext. Inicialmente aparece de este modo:
    
    public void setCommandContext(CommandContext arg0) {
            }
    

    Modifique el código para que aparezca del modo siguiente:

    
    public void
    setCommandContext(com.ibm.commerce.command.CommandContext 
       
    aCommandContext)
    {
            
    iCommandContext = aCommandContext;
    }
    
  4. Guarde el trabajo.
  5. Para modificar el campo iRequestProperties:
    1. Efectúe una doble pulsación en el bean de datos nuevo (por ejemplo UserResDataBean) para ver el código fuente.
    2. Localice el método getRequestProperties. Inicialmente aparece de este modo:
      
      public TypedProperty getRequestProperties() {
                      return null;
              }
      

      Modifique el código para que aparezca del modo siguiente:

      
      private com.ibm.commerce.datatype.TypedProperty 
         requestProperties;
      
      public TypedProperty getRequestProperties() {
              
      return requestProperties;
      }
      
    3. Localice el método setRequestProperties. Inicialmente aparece de este modo:
      
      public void setRequestProperties(TypedProperty arg0) throws
      Exception {
              }
      

      Modifique el código para que aparezca del modo siguiente:

      
      public void
      setRequestProperties(com.ibm.commerce.datatype.TypedProperty 
         
      aParam)
      throws Exception 
      {
         // copy input TypedProperties to local
      
               
      requestProperties = aParam;
      }
      
    4. Guarde el trabajo.
    5. Continúe en modificar el método populate.
  6. Cómo llenar de datos la clave primaria del bean de acceso correspondiente

    Es posible que desee modificar el código fuente para llenar de datos la clave primaria del bean de acceso correspondiente. La forma recomendada para hacerlo es utilizar el gestor de bean de datos para establecer indirectamente este valor. Este método indirecto garantiza que un valor de clave primaria tomado de las propiedades del URL no modificará la clave primaria, si ésta se ha establecido anteriormente. Para que su método setRequestProperties siga este modelo, codifíquelo de forma parecida al siguiente fragmento de código. En el ejemplo siguiente, observe que la clave primaria es el ID de usuario. Esto puede variar, según la situación y así, el siguiente código quizá no se compile inmediatamente en su aplicación.

    
    public void setRequestProperties(
       com.ibm.commerce.datatype.TypedProperty arg1) 
       throws Exception 
       {
          iRequestProperties = arg1;
          try {
              if (// check for nulls 
                  getDataBeanKeyUserId() == null) 
                 {
                    super.setInitKey_UserId(aUserId);
                 }
          } catch
    (com.ibm.commerce.exception.ParameterNotFoundException e) 
               {
               }
       }
    

    Hay dos maneras adicionales de establecer la clave primaria para el bean de acceso. Se puede hacer externamente desde el bean de datos, por ejemplo en la página JSP. En este caso, antes de activar el bean de datos en la página JSP, utilice el parámetro c:set de la etiqueta userBean para establecer la clave primaria. Por ejemplo, JSP podría incluir código parecido al siguiente:

    
    <wcbase:useBean id="orderBean" 
      classname="com.ibm.commerce.order.beans.OrderDataBean"
    scope="page">    
      <c:set value="${orderId[0]}" target="${orderBean}"
    property="orderId"/>
    </wcbase:useBean> 
    

    De forma alternativa, la clave primaria puede establecerse de forma directa. Por ejemplo, el código para el método setRequestProperties de los beans de datos se parecería a éste:

    
    public void setRequestProperties(
       com.ibm.commerce.datatype.TypedProperty arg1) 
       throws Exception 
          {
             iRequestProperties = arg1;
             try 
                 {
                    super.setInitKey_UserId(aUserId);
                 }
           } catch
    (com.ibm.commerce.exception.ParameterNotFoundException e)
               {
               }
          }
    

    Tenga en cuenta que el procedimiento recomendado para establecer la clave primaria es el método indirecto.