Ejemplo de personalización de varias reglas, conjuntos de reglas y relaciones
Este es otro ejemplo de cómo se pueden configurar reglas para varios productos y varias relaciones. En este caso, hay 4 reglas, 4 conjuntos de reglas y 4 contenedores.
Después de crear todas las reglas, se puede configurar el proceso de trabajo para que use estos conjuntos de reglas mediante un código similar al siguiente:
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 );
Ejemplos
Si se tuviera un artículo del Producto 1 que fuese un objeto resultante, el artículo tendría que tener un nombre de artículo con menos de 10 caracteres y no se podría extraer.
Si se tuviera un documento en el Producto 2 que fuera un objeto resultante, no habría reglas para el mismo. Esto se debe a que solo hay reglas para los artículos.