Exemple de personnalisation de règles, jeux de règles et relations multiples
Voici un autre exemple de configuration de règles applicables à plusieurs produits et relations. Cet exemple comporte 4 règles, 4 jeux de règles et 4 conteneurs.
Une fois toutes les règles créées, vous pouvez configurer le processus pour qu'il utilise ces jeux de règles à l'aide d'un code semblable à celui-ci :
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())
};
com.ptc.core.businessRules.validation.RuleValidationResultSet
resultSet = wt.businessRules.BusinessRulesHelper.engine.execute(primaryBusinessObject,
ruleSetBeans );
Exemples
Si un article contenu dans Product 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 Product 2 est un objet résultant, aucune règle ne lui est applicable. Cela est dû au fait que les règles s'appliquent uniquement aux articles.