Exemples de règles multiples, de jeux de règles et de relations
Imaginez que vous deviez configurer des règles permettant de vérifier plusieurs produits et plusieurs relations. Prenons l'exemple suivant :
Produit1
Produit2
Produit 3
Organisation
Jeu contenant deux règles :
Objets affectés (règle de récupération)
Objets résultants (règle de récupération et règle d'attribut d'article : le nom doit contenir moins de 10 caractères)
Jeu contenant une règle :
Objets résultants (règle d'attribut d'article : le nom doit commencer par EXT)
Aucune règle, aucun jeu de règles
Jeu contenant une règle :
Règle d'avis de modification : le nom doit commencer par CN
Une fois que toutes les règles sont créées, vous pouvez configurer le processus pour qu'il utilise ces jeux de règles à l'aide d'un code tel que le suivant :
com.ptc.core.businessRules.engine.BusinessRuleSetBean[] ruleSetBeans = new
com.ptc.core.businessRules.engine.BusinessRuleSetBean[] {
com.ptc.core.businessRules.engine.BusinessRuleSetBean.
newBusinessRuleSetBean ("CNOrgRuleSet", com.ptc.core.businessRules.engine.
BusinessRuleSetBean.PRIMARY_BUSINESS_OBJECT),
com.ptc.core.businessRules.engine.BusinessRuleSetBean.
newBusinessRuleSetBean("AffectedPartProdRuleSet", wt.change2.
AffectedActivityData.class.getName()),
com.ptc.core.businessRules.engine.BusinessRuleSetBean.newBusinessRuleSetBean
("ResultingPartProdRuleSet", wt.change2.ChangeRecord2.class.getName())
};
businessRulesResultSetGlobal = "";
preReleaseConflictsMsg = "";
com.ptc.core.businessRules.validation.RuleValidationResultSet
resultSet = wt.businessRules.BusinessRulesHelper.engine.execute
(primaryBusinessObject, ruleSetBeans );
Exemples :
Si un article contenu dans Produit 1 est un objet résultant, son nom doit être inférieur à 10 caractères et l'article ne peut pas être récupéré.
Si un document contenu dans Produit 2 est un objet résultant, aucune règle ne s'y applique car les règles s'appliquent uniquement aux articles.
Est-ce que cela a été utile ?