public SetElementWithDataValueActionRuleLine() { super(OpenEHRLanguageManager.getMessage("SetElementWithDataValue"), OpenEHRLanguageManager.getMessage("SetElementWithDataValueDesc")); archetypeElementRuleLineElement = new ArchetypeElementRuleLineElement(this); archetypeDataValueRuleLineElement = new ArchetypeDataValueRuleLineElement(this); getRuleLineElements().add(new StaticTextRuleLineElement(this, "SetElementRLE")); getRuleLineElements().add(archetypeElementRuleLineElement); getRuleLineElements().add(new StaticTextRuleLineElement(this, "ToRLE")); getRuleLineElements().add(archetypeDataValueRuleLineElement); }
public AssignmentExpression toAssignmentExpression() throws IllegalStateException { ArchetypeElementVO archetypeElementVO = getArchetypeElementRuleLineElement().getArchetypeElementVO(); if (archetypeElementVO == null) { log.debug("No variable set on assignment expression"); return null; } String name = getArchetypeManager().getArchetypeElements().getText(archetypeElementVO, getLanguage()); Variable var = new Variable( archetypeElementRuleLineElement.getValue().getValue(), null, name); DataValue dataValue = archetypeDataValueRuleLineElement.getValue(); ConstantExpression constantExpression; if (dataValue != null) { constantExpression = DVUtil.convertToExpression(dataValue); } else { log.debug("No data value set"); return null; } return new AssignmentExpression( var, constantExpression); } }
sewearl.getSecondArchetypeElementRuleLineElement().setValue(gtCodeRuleLineElementAux); } else if (expressionItemAux instanceof ConstantExpression) { SetElementWithDataValueActionRuleLine sedvar = new SetElementWithDataValueActionRuleLine(); ruleLines.add(sedvar); sedvar.getArchetypeElementRuleLineElement().setValue(gtCodeRuleLineElement); ArchetypeElementVO archetypeElementVO = null; if (gtCodeElementMap.get(gtCode) instanceof ArchetypeElementRuleLine) { String dvStr = ((ConstantExpression) expressionItemAux).getValue(); DataValue dv = parseDataValue(rmType, dvStr, archetypeElementVO); ArchetypeDataValueRuleLineElement archetypeDataValueRuleLineElement = sedvar.getArchetypeDataValueRuleLineElement(); archetypeDataValueRuleLineElement.setArchetypeElementVO(archetypeElementVO); archetypeDataValueRuleLineElement.setValue(dv);