Ajout d'une nouvelle relation à une bean d'entité HCL Commerce existant
HCL Commerce les beans d'entité qui implémentent l'interface à protéger sont déjà protégés avec le contrôle d'accès. Les modalités des exigences de contrôle d'accès sont déterminées par la façon dont le bean est utilisé dans les fonctions et fonctionnalités prêtes à l'emploi de HCL Commerce. Vous pouvez rencontrer des situations dans lesquelles vous devez ajouter des relations supplémentaires au contrôle d'accès pour ces beans. Par exemple, si vous utilisez un bean existant dans certains de vos codes personnalisés, ou si vous modifiez un bean d'entité publique HCL Commerce existant, vous devrez peut-être ajouter des relations supplémentaires au bean.
Pourquoi et quand exécuter cette tâche
La liste suivante fournit les étapes globales pour ajouter de nouvelles relations à un bean d'entité HCL Commerce existant qui est déjà protégé par le contrôle d'accès :
Procédure
-
Examinez la méthode fulfills existante pour le bean d'entité. Il est situé dans la classe auxiliaire d'accès du bean. Ne modifiez pas cette classe, utilisez-la uniquement pour déterminer si vous devez ajouter une ou plusieurs nouvelles relations à cette logique ou si vous devez remplacer cette méthode. Par exemple, la méthode fulfills suivante apparaît dans la classe 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; } -
La prochaine étape consiste à créer une nouvelle méthode fulfills dans la classe de bean. Par exemple, vous pouvez créer une nouvelle méthode dans la classe com.ibm.commerce.fulfillment.objects.FulfillmentBean.java. La déclaration de la méthode doit apparaître comme :
public boolean fulfills(Long member, String relationship) throws Exception { // Place holder for relationship information } -
Si vous ajoutez une relation supplémentaire aux relations existantes, la première ligne de votre méthode devrait appeler la méthode fulfills à partir de la superclasse. Ensuite, si cette méthode retourne une valeur false, vérifiez vos nouvelles relations, comme suit :
public boolean fulfills(Long member, String relationship) throws Exception { if (super.fulfills().equals(false)) { // Check if new relationship is met return true; } return false; } -
Si vous remplacez entièrement les relations de l'implémentation originale, vous ne devez pas appeler la méthode super.fulfills, comme suit :
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; } - Sauvegardez vos modifications. Régénérez le code déployé et RMIC pour le bean, ainsi que le bean d'accès correspondant.