List of usage examples for org.apache.commons.jexl3 MapContext set
@Override public void set(String name, Object value)
From source file:org.apache.syncope.core.provisioning.java.utils.TemplateUtils.java
private void fill(final AnyTO anyTO, final AnyTO template) { MapContext jexlContext = new MapContext(); JexlUtils.addFieldsToContext(anyTO, jexlContext); JexlUtils.addAttrTOsToContext(anyTO.getPlainAttrs(), jexlContext); JexlUtils.addAttrTOsToContext(anyTO.getDerAttrs(), jexlContext); JexlUtils.addAttrTOsToContext(anyTO.getVirAttrs(), jexlContext); if (template.getRealm() != null) { String evaluated = JexlUtils.evaluate(template.getRealm(), jexlContext); if (StringUtils.isNotBlank(evaluated)) { anyTO.setRealm(evaluated);/*from www.j a v a 2 s . co m*/ } } Map<String, AttrTO> currentAttrMap = EntityTOUtils.buildAttrMap(anyTO.getPlainAttrs()); for (AttrTO templatePlainAttr : template.getPlainAttrs()) { if (!templatePlainAttr.getValues().isEmpty() && (!currentAttrMap.containsKey(templatePlainAttr.getSchema()) || currentAttrMap.get(templatePlainAttr.getSchema()).getValues().isEmpty())) { AttrTO evaluated = evaluateAttr(templatePlainAttr, jexlContext); if (!evaluated.getValues().isEmpty()) { anyTO.getPlainAttrs().add(evaluated); jexlContext.set(evaluated.getSchema(), evaluated.getValues().get(0)); } } } currentAttrMap = EntityTOUtils.buildAttrMap(anyTO.getDerAttrs()); for (AttrTO templateDerAttr : template.getDerAttrs()) { if (!currentAttrMap.containsKey(templateDerAttr.getSchema())) { anyTO.getDerAttrs().add(templateDerAttr); } } currentAttrMap = EntityTOUtils.buildAttrMap(anyTO.getVirAttrs()); for (AttrTO templateVirAttr : template.getVirAttrs()) { if (!templateVirAttr.getValues().isEmpty() && (!currentAttrMap.containsKey(templateVirAttr.getSchema()) || currentAttrMap.get(templateVirAttr.getSchema()).getValues().isEmpty())) { AttrTO evaluated = evaluateAttr(templateVirAttr, jexlContext); if (!evaluated.getValues().isEmpty()) { anyTO.getVirAttrs().add(evaluated); jexlContext.set(evaluated.getSchema(), evaluated.getValues().get(0)); } } } anyTO.getResources().addAll(template.getResources()); anyTO.getAuxClasses().addAll(template.getAuxClasses()); }