public PropertyDefinition get(String name) { return getMap().get(name); }
private void validateMapDefinition(PropertyDefinitionMap propertyDefinitionMap) { for (PropertyDefinition mapMemberPropertyDefinition : propertyDefinitionMap.getMap().values()) { if (!(mapMemberPropertyDefinition instanceof PropertyDefinitionSimple)) { throw new IllegalStateException("Only maps of simple properties are supported."); } } }
private static Collection<PropertyDefinition> getPropertyDefinitions( ConfigurationDefinition configurationDefinition, String mapName) { return configurationDefinition.getPropertyDefinitionMap(mapName).getMap().values(); } }
private static void normalizePropertyMap(AbstractPropertyMap propertyMap, PropertyDefinitionMap propertyDefinitionMap, boolean normalizeRequiredDefaults, boolean normalizeOptionalDefaults) { Map<String, PropertyDefinition> childPropertyDefinitions = propertyDefinitionMap.getMap(); for (PropertyDefinition childPropertyDefinition : childPropertyDefinitions.values()) { normalizeProperty(childPropertyDefinition, propertyMap, normalizeRequiredDefaults, normalizeOptionalDefaults); } }
private static void maskPropertyMap(AbstractPropertyMap propertyMap, PropertyDefinitionMap propertyDefinitionMap) { Map<String, PropertyDefinition> childPropertyDefinitions = propertyDefinitionMap.getMap(); for (PropertyDefinition childPropertyDefinition : childPropertyDefinitions.values()) { maskProperty(childPropertyDefinition, propertyMap); } }
private static void calculateGroupPropertyMap(PropertyDefinitionMap propertyDefinitionMap, List<AbstractPropertyMap> sourceParentPropertyMaps, AbstractPropertyMap targetParentPropertyMap) { Map<String, PropertyDefinition> childPropertyDefinitions = propertyDefinitionMap.getMap(); if (!childPropertyDefinitions.isEmpty()) { for (PropertyDefinition childPropertyDefinition : childPropertyDefinitions.values()) calculateGroupProperty(childPropertyDefinition, sourceParentPropertyMaps, targetParentPropertyMap); } else { calculateGroupOpenPropertyMap(sourceParentPropertyMaps, targetParentPropertyMap); } }
/** * This returned {@link Map} is backed by a {@link SortedMap} sorted on PropertyDefinition.order. This means that * result.keySet() and result.values() will be sorted by PropertyDefinition.order, ascending. Min(order) is 0. * <p> * For an unsorted Map use {@link #getMap()}.</p> * * @return The map's property definitions sorted by PropertyDefinition.order, ascending. Min(order) is 0. */ @NotNull public Map<String, PropertyDefinition> getPropertyDefinitions() { Map<String, PropertyDefinition> map = getMap(); // if there is nothing to sort just return it. if (map.size() <= 1) { return map; } // a funky comparator that compares index order given prop def names (i.e. keys) Comparator<String> orderComparator = new Comparator<String>() { public int compare(String o1, String o2) { return Integer.valueOf(get(o1).getOrder()).compareTo(get(o2).getOrder()); } }; final Map<String, PropertyDefinition> result = new TreeMap<String, PropertyDefinition>(orderComparator); for (String key : map.keySet()) { result.put(key, map.get(key)); } return result; }
private static void mergePropertyMap(PropertyDefinitionMap propertyDefinitionMap, List<AbstractPropertyMap> memberParentPropertyMaps, AbstractPropertyMap groupParentPropertyMap) { Map<String, PropertyDefinition> childPropertyDefinitions = propertyDefinitionMap.getMap(); if (!childPropertyDefinitions.isEmpty()) { for (PropertyDefinition childPropertyDefinition : childPropertyDefinitions.values()) mergeProperty(childPropertyDefinition, memberParentPropertyMaps, groupParentPropertyMap); } else { mergeOpenPropertyMap(memberParentPropertyMaps, groupParentPropertyMap); } }
private static Collection<PropertyDefinition> getPropertyDefinitions( ConfigurationDefinition configurationDefinition, String listName) { PropertyDefinitionMap mapDefinition = (PropertyDefinitionMap) configurationDefinition .getPropertyDefinitionList(listName).getMemberDefinition(); return mapDefinition.getMap().values(); } }
private static void addRepresentation(PropertyDefinitionMap pm, StringBuilder bld) { bld.append(pm.getName()); addRepresentation(pm.getMap(), bld); }
private static void traverse(PropertyDefinitionMap definition, PropertyMap map, List<PropertySimple> replacementCandidates) { for(PropertyDefinition def: definition.getMap().values()) { Property prop = map.get(def.getName()); propertySwitch(def, prop, replacementCandidates); } }
String value = null; for (Map.Entry<String, PropertyDefinition> entry : propertyDefinition.getMap().entrySet()) { PropertyDefinition def = entry.getValue(); if (!def.getName().contains(":"))
/** * Simple map property parsing. * * @param property raw map property * @param propertyDefinition property definition * @return parsed map, can be empty if no members were set. */ protected Map<String, Object> prepareSimplePropertyMap(PropertyMap property, PropertyDefinitionMap propertyDefinition) { Map<String, PropertyDefinition> memberDefinitions = propertyDefinition.getMap(); Map<String, Object> results = new HashMap<String, Object>(); for (String name : memberDefinitions.keySet()) { PropertyDefinition memberDefinition = memberDefinitions.get(name); if (memberDefinition.isReadOnly()) continue; if (memberDefinition instanceof PropertyDefinitionSimple) { PropertyDefinitionSimple pds = (PropertyDefinitionSimple) memberDefinition; PropertySimple ps = (PropertySimple) property.get(name); if ((ps == null || ps.getStringValue() == null) && !pds.isRequired()) continue; if (ps != null) results.put(name, ps.getStringValue()); } else { log.error(" *** not yet supported *** : " + memberDefinition.getName()); } } return results; }
private static void validatePropertyMap(AbstractPropertyMap propertyMap, AbstractPropertyMap currentPropertyMap, PropertyDefinitionMap propertyDefinitionMap, List<String> errorMessages) { // if the entire map is read-only then the new map must match the current map if the current map is non-empty if (propertyDefinitionMap.isReadOnly() && null != currentPropertyMap && !currentPropertyMap.getMap().isEmpty()) { if (!propertyMap.getMap().equals(currentPropertyMap.getMap())) { errorMessages.add("ReadOnly property '" + propertyDefinitionMap.getName() + "' has a value " + propertyMap.getMap() + " different than the current value " + currentPropertyMap.getMap() + "]. It is not allowed to change."); return; } } Map<String, PropertyDefinition> childPropertyDefinitions = propertyDefinitionMap.getMap(); for (PropertyDefinition childPropertyDefinition : childPropertyDefinitions.values()) { validateProperty(childPropertyDefinition, propertyMap, currentPropertyMap, errorMessages); } }
Map<String, PropertyDefinition> map = getMap();
property = new PropertyMap(propertyDefinition.getName()); Map<String, PropertyDefinition> childPropertyDefinitions = ((PropertyDefinitionMap) propertyDefinition) .getMap(); for (PropertyDefinition childPropertyDefinition : childPropertyDefinitions.values()) { createDefaultProperty(childPropertyDefinition, (PropertyMap) property);