use of org.akaza.openclinica.logic.rulerunner.BeanPropertyRuleRunner in project OpenClinica by OpenClinica.
the class RuleSetService method runIndividualRulesInBeanProperty.
public void runIndividualRulesInBeanProperty(List<RuleSetBean> ruleSets, Integer userId, StudyEventChangeDetails changeDetails, Integer studyEventOrdinal) {
ArrayList<RuleSetBean> ruleSetBeans = new ArrayList<>();
for (RuleSetBean ruleSet : ruleSets) {
String studyEventDefinitionOrdinal = getExpressionService().getStudyEventDefinitionOrdninalCurated(ruleSet.getOriginalTarget().getValue() + ".A.B");
if (studyEventDefinitionOrdinal.equals("") || studyEventDefinitionOrdinal.equals(String.valueOf(studyEventOrdinal))) {
ruleSetBeans.add(ruleSet);
}
}
BeanPropertyRuleRunner ruleRunner = new BeanPropertyRuleRunner(dataSource, requestURLMinusServletPath, contextPath, mailSender);
ruleRunner.runRules(ruleSetBeans, dataSource, beanPropertyService, getStudyEventDomainDao(), getStudyEventDefDomainDao(), changeDetails, userId, mailSender);
}
use of org.akaza.openclinica.logic.rulerunner.BeanPropertyRuleRunner in project OpenClinica by OpenClinica.
the class RuleSetService method runRulesInBeanProperty.
public void runRulesInBeanProperty(List<RuleSetBean> ruleSets, Integer userId, StudyEventChangeDetails changeDetails) {
BeanPropertyRuleRunner ruleRunner = new BeanPropertyRuleRunner(dataSource, requestURLMinusServletPath, contextPath, mailSender);
ruleSets = (ArrayList<RuleSetBean>) filterByStatusEqualsAvailable(ruleSets);
ruleSets = (ArrayList<RuleSetBean>) filterRuleSetsByStudyEventOrdinal(ruleSets, null);
try {
ruleSets = (ArrayList<RuleSetBean>) filterRuleSetsByStudySubject(ruleSets);
} catch (NumberFormatException | ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ruleRunner.runRules(ruleSets, dataSource, beanPropertyService, getStudyEventDomainDao(), getStudyEventDefDomainDao(), changeDetails, userId, mailSender);
}
Aggregations