@Test public void testReplacePlaceholdersListAttribute() { Map<String, Attribute> attributes = new HashMap<String, Attribute>(); ListAttribute listAttribute = new ListAttribute(); ListAttribute internalListAttribute = new ListAttribute(); listAttribute.setInherit(true); attributes.put("myList", listAttribute); listAttribute.add(new Attribute("value{2}")); listAttribute.add(new Attribute("value{2}{3}")); listAttribute.add(internalListAttribute); internalListAttribute.add(new Attribute("secondvalue{2}")); internalListAttribute.add(new Attribute("secondvalue{2}{3}")); Definition definition = new Definition("definitionName", new Attribute( "template{1}"), attributes); Definition nudef = PatternUtil.replacePlaceholders(definition, "nudef", "value0", "value1", "value2", "value3"); assertEquals("nudef", nudef.getName()); Attribute attribute = nudef.getTemplateAttribute(); assertEquals("templatevalue1", attribute.getValue()); ListAttribute nuListAttribute = (ListAttribute) nudef.getAttribute("myList"); assertTrue(nuListAttribute.isInherit()); List<Attribute> list = nuListAttribute.getValue(); assertEquals(LIST_ATTRIBUTE_SIZE, list.size()); attribute = list.get(0); assertEquals("valuevalue2", attribute.getValue()); attribute = list.get(1); assertEquals("valuevalue2value3", attribute.getValue()); ListAttribute evaluatedListAttribute = (ListAttribute) list.get(2); assertFalse(evaluatedListAttribute.isInherit()); list = evaluatedListAttribute.getValue(); assertEquals(2, list.size()); attribute = list.get(0); assertEquals("secondvaluevalue2", attribute.getValue()); attribute = list.get(1); assertEquals("secondvaluevalue2value3", attribute.getValue()); }
public static Definition replacePlaceholders(Definition d, String name, Object... varsOrig) { Object[] vars = replaceNullsWithBlank(varsOrig); Definition nudef = new Definition(); nudef.setExtends(replace(d.getExtends(), vars)); nudef.setName(name); nudef.setPreparer(replace(d.getPreparer(), vars)); Attribute templateAttribute = d.getTemplateAttribute(); if (templateAttribute != null) { nudef.setTemplateAttribute(replaceVarsInAttribute( templateAttribute, vars)); } Set<String> attributeNames = d.getLocalAttributeNames(); if (attributeNames != null && !attributeNames.isEmpty()) { for (String attributeName : attributeNames) { Attribute attr = d.getLocalAttribute(attributeName); Attribute nuattr = replaceVarsInAttribute(attr, vars); nudef.putAttribute(replace(attributeName, vars), nuattr); } } attributeNames = d.getCascadedAttributeNames(); if (attributeNames != null && !attributeNames.isEmpty()) { for (String attributeName : attributeNames) { Attribute attr = d.getCascadedAttribute(attributeName); Attribute nuattr = replaceVarsInAttribute(attr, vars); nudef.putAttribute(replace(attributeName, vars), nuattr, true); } } return nudef; }
PatternUtil { public static Definition replacePlaceholders(Definition d, String name, Object... varsOrig) { Object[] vars = replaceNullsWithBlank(varsOrig); Definition nudef = new Definition(); nudef.setExtends(replace(d.getExtends(), vars)); nudef.setName(name); nudef.setPreparer(replace(d.getPreparer(), vars)); Attribute templateAttribute = d.getTemplateAttribute(); if (templateAttribute != null) { nudef.setTemplateAttribute(replaceVarsInAttribute( templateAttribute, vars)); } Set<String> attributeNames = d.getLocalAttributeNames(); if (attributeNames != null && !attributeNames.isEmpty()) { for (String attributeName : attributeNames) { Attribute attr = d.getLocalAttribute(attributeName); Attribute nuattr = replaceVarsInAttribute(attr, vars); nudef.putAttribute(replace(attributeName, vars), nuattr); } } attributeNames = d.getCascadedAttributeNames(); if (attributeNames != null && !attributeNames.isEmpty()) { for (String attributeName : attributeNames) { Attribute attr = d.getCascadedAttribute(attributeName); Attribute nuattr = replaceVarsInAttribute(attr, vars); nudef.putAttribute(replace(attributeName, vars), nuattr, true); } } return nudef; } }
PatternUtil { public static Definition replacePlaceholders(Definition d, String name, Object... varsOrig) { Object[] vars = replaceNullsWithBlank(varsOrig); Definition nudef = new Definition(); nudef.setExtends(replace(d.getExtends(), vars)); nudef.setName(name); nudef.setPreparer(replace(d.getPreparer(), vars)); Attribute templateAttribute = d.getTemplateAttribute(); if (templateAttribute != null) { nudef.setTemplateAttribute(replaceVarsInAttribute( templateAttribute, vars)); } Set<String> attributeNames = d.getLocalAttributeNames(); if (attributeNames != null && !attributeNames.isEmpty()) { for (String attributeName : attributeNames) { Attribute attr = d.getLocalAttribute(attributeName); Attribute nuattr = replaceVarsInAttribute(attr, vars); nudef.putAttribute(replace(attributeName, vars), nuattr); } } attributeNames = d.getCascadedAttributeNames(); if (attributeNames != null && !attributeNames.isEmpty()) { for (String attributeName : attributeNames) { Attribute attr = d.getCascadedAttribute(attributeName); Attribute nuattr = replaceVarsInAttribute(attr, vars); nudef.putAttribute(replace(attributeName, vars), nuattr, true); } } return nudef; } private  PatternUtil(); }
PatternUtil { public static Definition replacePlaceholders(Definition d, String name, Object... varsOrig) { Object[] vars = replaceNullsWithBlank(varsOrig); Definition nudef = new Definition(); nudef.setExtends(replace(d.getExtends(), vars)); nudef.setName(name); nudef.setPreparer(replace(d.getPreparer(), vars)); Attribute templateAttribute = d.getTemplateAttribute(); if (templateAttribute != null) { nudef.setTemplateAttribute(replaceVarsInAttribute( templateAttribute, vars)); } Set<String> attributeNames = d.getLocalAttributeNames(); if (attributeNames != null && !attributeNames.isEmpty()) { for (String attributeName : attributeNames) { Attribute attr = d.getLocalAttribute(attributeName); Attribute nuattr = replaceVarsInAttribute(attr, vars); nudef.putAttribute(replace(attributeName, vars), nuattr); } } attributeNames = d.getCascadedAttributeNames(); if (attributeNames != null && !attributeNames.isEmpty()) { for (String attributeName : attributeNames) { Attribute attr = d.getCascadedAttribute(attributeName); Attribute nuattr = replaceVarsInAttribute(attr, vars); nudef.putAttribute(replace(attributeName, vars), nuattr, true); } } return nudef; } private  PatternUtil(); static Definition replacePlaceholders(Definition d, String name,
            Object... varsOrig); static Map<K, V> createExtractedMap(Map<K, V> map, Set<K> keys); }
PatternUtil { public static Definition replacePlaceholders(Definition d, String name, Object... varsOrig) { Object[] vars = replaceNullsWithBlank(varsOrig); Definition nudef = new Definition(); nudef.setExtends(replace(d.getExtends(), vars)); nudef.setName(name); nudef.setPreparer(replace(d.getPreparer(), vars)); Attribute templateAttribute = d.getTemplateAttribute(); if (templateAttribute != null) { nudef.setTemplateAttribute(replaceVarsInAttribute( templateAttribute, vars)); } Set<String> attributeNames = d.getLocalAttributeNames(); if (attributeNames != null && !attributeNames.isEmpty()) { for (String attributeName : attributeNames) { Attribute attr = d.getLocalAttribute(attributeName); Attribute nuattr = replaceVarsInAttribute(attr, vars); nudef.putAttribute(replace(attributeName, vars), nuattr); } } attributeNames = d.getCascadedAttributeNames(); if (attributeNames != null && !attributeNames.isEmpty()) { for (String attributeName : attributeNames) { Attribute attr = d.getCascadedAttribute(attributeName); Attribute nuattr = replaceVarsInAttribute(attr, vars); nudef.putAttribute(replace(attributeName, vars), nuattr, true); } } return nudef; } private  PatternUtil(); static Definition replacePlaceholders(Definition d, String name,
            Object... varsOrig); static Map<K, V> createExtractedMap(Map<K, V> map, Set<K> keys);  }