Código de muestra
A continuación se muestra un ejemplo de la sintaxis de direccionador condicional del flujo de trabajo en la plantilla de flujo de trabajo de notificación de cambio entregada. La sintaxis de direccionador condicional del flujo de trabajo realiza una llamada al motor de reglas empresariales para el conjunto de reglas empresariales CHANGEABLE_PRE_RELEASE. La regla empresarial CHANGEABLE_PRE_RELEASE contiene las reglas empresariales CHECKOUT_RULE y RELEASE_TARGET.
Expresión de distribución
result = "NOT_READY";
com.ptc.core.businessRules.engine.BusinessRuleSetBean[] ruleSetBeans =
new com.ptc.core.businessRules.engine.BusinessRuleSetBean[] {
com.ptc.core.businessRules.engine.BusinessRuleSetBean.
newBusinessRuleSetBean("CHANGEABLE_PRE_RELEASE", "wt.change2.ChangeRecord2")
};
//Invoke the business rule engine
com.ptc.core.businessRules.validation.RuleValidationResultSet resultSet =
wt.businessRules.BusinessRulesHelper.engine.execute(primaryBusinessObject,
ruleSetBeans);
if ( !resultSet.hasResultsByStatus(com.ptc.core.businessRules.validation.
RuleValidationStatus.FAILURE)) {
result = "PROCEED";
}
else {
//This line of code will start exception handling for the business
rules that failed
businessRulesResultSetGlobal = wt.businessRules.BusinessRulesHelper.
serialize(resultSet);
preReleaseConflictsMsg = new wt.util.WTMessage("com.ptc.windchill.
enterprise.change2.change2ClientResource", com.ptc.windchill.enterprise.
change2.change2ClientResource.BUSINESS_RULES_PRERELEASE_VALIDATION_MSG,
null).getLocalizedMessage();
preReleaseConflictsMsg = preReleaseConflictsMsg + "\n" + resultSet.
getFailedRulesMessage(java.util.Locale.getDefault());
}
Tenga en cuenta que si los resultados de validación no son correctos, el atributo businessRulesResultSetGlobal se define en la cadena serializada del conjunto de resultados de validación. El vínculo del informe "Ver conflictos" se mostrará en las páginas de tareas de flujo de trabajo "Audit Change Notice" y "Resolve Release Conflicts".
¿Fue esto útil?