Añadir una nueva relación a un bean de entidad de HCL Commerce existente

Los beans de entidad de HCL Commerce que implementan la interfaz Protectable ya están protegidos bajo el control de acceso. Los términos de los requisitos de control de acceso se determinan por el modo en que se utiliza el bean en las características y las funciones de HCL Commerce tal como se suministran. Es posible que encuentre situaciones en las que necesite añadir relaciones adicionales al control de acceso para dichos beans. Por ejemplo, si utiliza un bean existente en alguna parte del código personalizado o si modifica un bean de entidad público de HCL Commerce existente, es posible que necesite añadir relaciones adicionales al bean.

Por qué y cuándo se efectúa esta tarea

La lista siguiente proporciona los pasos generales para añadir relaciones nuevas en un bean de entidad de HCL Commerce existente que ya está protegido por el control de acceso:

Procedimiento

  1. Examine el método fulfills existente para el bean de entidad. Éste está ubicado en la clase ayudante de acceso del bean. No modifique esta clase; utilícela solo para determinar si necesita añadir una o más relaciones nuevas a esta lógica o si necesita alterar este método. Por ejemplo, el siguiente método fulfills aparece en la clase com.ibm.commerce.fulfillment.objsrc.FulfillmentCenterBeanAccessHelper:
    
    public boolean fulfills(Object obj, Long member, String relationship) 
     throws Exception {
    
            FulfillmentCenterBean bean = (FulfillmentCenterBean) obj;
            
            if ("ShippingArrangementOrganizationalEntity".
     equalsIgnoreCase(relationship))
            {
      FulfillmentJDBCHelperAccessBean ffmJDBCAB = 
       new FulfillmentJDBCHelperAccessBean();
      int count = ffmJDBCAB.
       checkFulfillmentCenterByMemberIdAndFulfillmentCenterId(
       member,bean.getFulfillmentCenterId());
      if(count>0) 
       return true;
            }
            return false;
    }
    
  2. El paso siguiente es crear un nuevo método fulfills en la clase de bean. Por ejemplo, puede crear un nuevo método fulfills en la clase com.ibm.commerce.fulfillment.objects.FulfillmentBean.java. La declaración para el método debe aparecer como:
    
    public boolean fulfills(Long member, String relationship) 
     throws Exception {
      // Place holder for relationship information
            }
    
  3. Si está añadiendo una relación adicional a las relaciones existentes, la primera línea del método debe ser para llamar al método fulfills desde la superclase. Entonces, si dicho método devuelve 'false', compruebe las nuevas relaciones como se indica a continuación:
    
    public boolean fulfills(Long member, String relationship) 
     throws Exception {
      if (super.fulfills().equals(false))
      {
       // Check if new relationship is met
       return true;
      }
    
      return false;
            }
    
  4. Si está sustituyendo enteramente las relaciones a partir de la implementación original, no deberá llamar al método super.fulfills, como se indica a continuación:
    
    public boolean fulfills(Long member, String relationship) 
     throws Exception {
      // Check if new relationship is met
      // If it is, then return true;
      
      // If the relationship is not met, return false;
            }
    
  5. Guarde los cambios. Vuelva a generar el código desplegado y RMIC para el bean, así como el bean de acceso correspondiente.