public String castToXhtmlString(Base b) throws FHIRException { if (b instanceof Element) { return ((Element) b).getValue(); } else if (b instanceof StringType) { return ((StringType) b).asStringValue(); } else throw new FHIRException("Unable to convert a "+b.getClass().getName()+" to XHtml string"); }
private void assertListEquals(List<StringType> list1, List<StringType> list2) { assertEquals(list1.size(), list2.size()); for (int i = 0; i < list1.size(); i++) { assertEquals(list1.get(i).asStringValue(), list2.get(i).asStringValue()); } } }
public XhtmlNode castToXhtml(Base b) throws FHIRException { if (b instanceof Element) { return ((Element) b).getXhtml(); } else if (b instanceof StringType) { try { return new XhtmlParser().parseFragment(((StringType) b).asStringValue()); } catch (IOException e) { throw new FHIRException(e); } } else throw new FHIRException("Unable to convert a "+b.getClass().getName()+" to XHtml"); }
b.append(" default "); assert rs.getDefaultValue() instanceof StringType; b.append("\""+Utilities.escapeJson(((StringType) rs.getDefaultValue()).asStringValue())+"\"");
else b.append(", "); b.append(rdp.asStringValue());
} else if (rt.getTransform() == StructureMapTransform.EVALUATE && rt.getParameter().size() == 1) { b.append("("); b.append("\""+((StringType) rt.getParameter().get(0).getValue()).asStringValue()+"\""); b.append(")"); } else if (rt.getTransform() == StructureMapTransform.EVALUATE && rt.getParameter().size() == 2) { b.append("("); b.append(((IdType) rt.getParameter().get(0).getValue()).asStringValue()); b.append("\""+((StringType) rt.getParameter().get(1).getValue()).asStringValue()+"\""); b.append(")"); } else {
private void executeDependency(String indent, TransformContext context, StructureMap map, Variables vin, StructureMapGroupComponent group, StructureMapGroupRuleDependentComponent dependent) throws FHIRException { ResolvedGroup rg = resolveGroupReference(map, group, dependent.getName()); if (rg.target.getInput().size() != dependent.getVariable().size()) { throw new FHIRException("Rule '"+dependent.getName()+"' has "+Integer.toString(rg.target.getInput().size())+" but the invocation has "+Integer.toString(dependent.getVariable().size())+" variables"); } Variables v = new Variables(); for (int i = 0; i < rg.target.getInput().size(); i++) { StructureMapGroupInputComponent input = rg.target.getInput().get(i); StringType rdp = dependent.getVariable().get(i); String var = rdp.asStringValue(); VariableMode mode = input.getMode() == StructureMapInputMode.SOURCE ? VariableMode.INPUT : VariableMode.OUTPUT; Base vv = vin.get(mode, var); if (vv == null && mode == VariableMode.INPUT) //* once source, always source. but target can be treated as source at user convenient vv = vin.get(VariableMode.OUTPUT, var); if (vv == null) throw new FHIRException("Rule '"+dependent.getName()+"' "+mode.toString()+" variable '"+input.getName()+"' named as '"+var+"' has no value"); v.add(mode, input.getName(), vv); } executeGroup(indent+" ", context, rg.targetMap, v, rg.target); }
private static void renderTransformParam(StringBuilder b, StructureMapGroupRuleTargetParameterComponent rtp) { try { if (rtp.hasValueBooleanType()) b.append(rtp.getValueBooleanType().asStringValue()); else if (rtp.hasValueDecimalType()) b.append(rtp.getValueDecimalType().asStringValue()); else if (rtp.hasValueIdType()) b.append(rtp.getValueIdType().asStringValue()); else if (rtp.hasValueDecimalType()) b.append(rtp.getValueDecimalType().asStringValue()); else if (rtp.hasValueIntegerType()) b.append(rtp.getValueIntegerType().asStringValue()); else b.append("\""+Utilities.escapeJava(rtp.getValueStringType().asStringValue())+"\""); } catch (FHIRException e) { e.printStackTrace(); b.append("error!"); } }
@Override public Base setProperty(int hash, String name, Base value) throws FHIRException { if (isPrimitive() && (hash == "value".hashCode())) { this.value = castToString(value).asStringValue(); return this;