private static void addRepresentation(PropertyDefinitionList pl, StringBuilder bld) { bld.append(pl.getName()); addRepresentation(pl.getMemberDefinition(), bld); } }
private static PropertyDefinitionList createIncludes(ConfigurationDefinition configDef, boolean readOnly) { String name = PROP_INCLUDES; String description = "A set of patterns that specify files and/or directories to include."; boolean required = false; PropertyDefinitionMap map = createInclude(readOnly); PropertyDefinitionList pd = new PropertyDefinitionList(name, description, required, map); pd.setDisplayName("Includes"); pd.setReadOnly(readOnly); pd.setSummary(true); pd.setOrder(8); pd.setConfigurationDefinition(configDef); return pd; }
PropertyDefinition doomedMemberDef = null; if (newList.getMemberDefinition() == null) { log.error("\n\n!! Member definition for new list property [" + newList.getName() + "] is null - check and fix the plugin descriptor\n"); return; PropertyDefinition exListMemberDefinition = exList.getMemberDefinition(); if (exListMemberDefinition != null && exListMemberDefinition.getId() != newList.getMemberDefinition().getId()) { doomedMemberDef = exListMemberDefinition; exList.setMemberDefinition(newList.getMemberDefinition()); exList.setMax(newList.getMax()); exList.setMin(newList.getMin());
private static void validatePropertyListSize(PropertyList propertyList, PropertyDefinitionList propertyDefinitionList, List<String> errorMessages) { int listMin = propertyDefinitionList.getMin(); int listMax = propertyDefinitionList.getMax(); if (listMin == 0 && listMax == Integer.MAX_VALUE) { return; } int listSize = propertyList.getList().size(); if (listMin == 0 && listMax < Integer.MAX_VALUE && listSize > listMax) { errorMessages.add("The list property '" + propertyDefinitionList.getName() + "' should contain " + listMax + " row(s) at most"); } else if (listMin > 0 && listMax == Integer.MAX_VALUE && listSize < listMin) { errorMessages.add("The list property '" + propertyDefinitionList.getName() + "' should contain at least " + listMin + " row(s)"); } else if (listSize < listMin || listSize > listMax) { errorMessages.add("The list property '%s' should contain a minimum of " + listMin + " and a maximum of " + listMax + " row(s)"); } }
private static Collection<PropertyDefinition> getPropertyDefinitions( ConfigurationDefinition configurationDefinition, String listName) { PropertyDefinitionMap mapDefinition = (PropertyDefinitionMap) configurationDefinition .getPropertyDefinitionList(listName).getMemberDefinition(); return mapDefinition.getMap().values(); } }
private static void adaptPropertyList(PropertyList source, PropertyList target, PropertyDefinitionList definition, Object parent, boolean adaptReadonlyProperties) { if ((adaptReadonlyProperties || !definition.isReadOnly())) { if (target == null) { target = new PropertyList(definition.getName()); add(parent, target); } if (target.getList().isEmpty()) { PropertyDefinition memberDef = definition.getMemberDefinition(); for (Property p : source.getList()) { PropertyType type = conforms(p, memberDef); if (type != null && type != PropertyType.UNKNOWN) { Property targetMember = instantiateDefaultProperty(memberDef); target.add(targetMember); adaptProperty(p, targetMember, memberDef, target, adaptReadonlyProperties); } } } } }
private static PropertyDefinitionList parseListProperty(ListProperty listProperty) throws InvalidPluginDescriptorException { String description = parseMultiValue(listProperty.getDescription(), listProperty.getLongDescription()); JAXBElement<? extends ConfigurationProperty> memberProperty = listProperty.getConfigurationProperty(); PropertyDefinition memberDefinition = (memberProperty != null) ? parseProperty(memberProperty.getValue(), 0) : null; PropertyDefinitionList list = new PropertyDefinitionList(listProperty.getName().intern(), description, listProperty.isRequired(), memberDefinition); String displayName = (listProperty.getDisplayName() != null) ? listProperty.getDisplayName() : StringUtils .deCamelCase(listProperty.getName()); if (displayName!=null) { list.setDisplayName(displayName.intern()); } list.setReadOnly(listProperty.isReadOnly()); list.setSummary(listProperty.isSummary()); list.setMin(listProperty.getMin().intValue()); if (listProperty.getMax().equals("unbounded")) { list.setMax(Integer.MAX_VALUE); } else { list.setMax(Integer.parseInt(listProperty.getMax())); } return list; }
@Nullable private String getListMemberMapKey(PropertyDefinitionList propDefList) { Configuration pluginConfig = this.resourceContext.getPluginConfiguration(); PropertyMap mapKeyNames = pluginConfig.getMap("listMemberMapKeyNames"); if (mapKeyNames == null) { return null; } String listName = propDefList.getName(); return mapKeyNames.getSimpleValue(listName, null); }
PropertyDefinition memberDef = pdl.getMemberDefinition(); if (memberDef instanceof PropertyDefinitionSimple) { PropertyDefinitionSimple pds = (PropertyDefinitionSimple) memberDef; LOG.debug("3 ____[ " + inner.toString() + " in " + pdl.toString() + " ]____ not yet supported"); LOG.debug("2 ____[ " + memberDef.toString() + " in " + pdl.toString() + " ]____ not yet supported");
resourceTypePlugin, updateSchedules); PropertyDefinitionList metricUpdateOverrides = new PropertyDefinitionList(METRIC_UPDATE_OVERRIDES_PROPERTY, "Per metric settings", false, metricUpdateOverride);
public PropertyDefinitionList(@NotNull String name, String description, boolean required, PropertyDefinition memberDefinition) { super(name, description, required); setMemberDefinition(memberDefinition); }
private static void traverse(PropertyDefinitionList definition, PropertyList list, List<PropertySimple> replacementCandidates) { PropertyDefinition memberDef = definition.getMemberDefinition(); List<Property> members = list.getList(); for(Property prop : members) { propertySwitch(memberDef, prop, replacementCandidates); } }
.getList(propertyDefinition.getName()); if (propertyDefinitionList.isReadOnly()) { if (null != currentPropertyList && !currentPropertyList.getList().isEmpty()) { if (!currentPropertyList.equals(propertyList)) { errorMessages.add("ReadOnly property '" + propertyDefinitionList.getName() + "' has a value " + propertyList.getList() + " different than the current value " + currentPropertyList.getList() + "]. It is not allowed to change."); PropertyDefinition listMemberPropertyDefinition = propertyDefinitionList.getMemberDefinition(); for (Property property : propertyList.getList()) { if (listMemberPropertyDefinition instanceof PropertyDefinitionSimple) {
protected void setNode(PropertyDefinition propDef, AbstractPropertyMap parentPropMap, Augeas augeas, AugeasNode parentNode) { String propName = getAugeasPathRelativeToParent(propDef, parentNode, augeas); AugeasNode node = (propName.equals(".")) ? parentNode : new AugeasNode(parentNode, propName); if (isPropertyDefined(propDef, parentPropMap)) { // The property *is* defined, which means we either need to add or update the corresponding node in the // Augeas tree. if (propDef instanceof PropertyDefinitionSimple) { PropertyDefinitionSimple propDefSimple = (PropertyDefinitionSimple) propDef; PropertySimple propSimple = parentPropMap.getSimple(propDefSimple.getName()); setNodeFromPropertySimple(augeas, node, propDefSimple, propSimple); } else if (propDef instanceof PropertyDefinitionMap) { PropertyDefinitionMap propDefMap = (PropertyDefinitionMap) propDef; PropertyMap propMap = parentPropMap.getMap(propDefMap.getName()); setNodeFromPropertyMap(propDefMap, propMap, augeas, node); } else if (propDef instanceof PropertyDefinitionList) { PropertyDefinitionList propDefList = (PropertyDefinitionList) propDef; PropertyList propList = parentPropMap.getList(propDefList.getName()); setNodeFromPropertyList(propDefList, propList, augeas, node); } else { throw new IllegalStateException("Unsupported PropertyDefinition subclass: " + propDef.getClass().getName()); } } else { // The property *is not* defined - remove the corresponding node from the Augeas tree if it exists. removeNodeIfItExists(augeas, node); } }
public Property createPropertyList(PropertyDefinitionList propDefList, AugeasNode node) throws AugeasRhqException { PropertyList propList = new PropertyList(propDefList.getName()); List<AugeasNode> nodes = tree.matchRelative(node, propDefList.getName()); PropertyDefinition listMemberPropDef = propDefList.getMemberDefinition(); for (AugeasNode listMemberNode : nodes) { propList.add(loadProperty(listMemberPropDef, listMemberNode)); } return propList; } }
private static List<Object> getInnerList(PropertyList propertyList, PropertyDefinitionList definition, boolean strict) { List<Object> result = new ArrayList<Object>(propertyList.getList().size()); if (definition==null) { if (strict) { throw new IllegalArgumentException("No Definition exists for " + propertyList.getName()); } } PropertyDefinition memberDefinition = null; if (definition != null) { memberDefinition = definition.getMemberDefinition(); } for (Property property : propertyList.getList()) { Object target = convertProperty(property,memberDefinition, strict); result.add(target); } return result; }
private static PropertyDefinitionList createExcludes(ConfigurationDefinition configDef, boolean readOnly) { String name = PROP_EXCLUDES; String description = "A set of patterns that specify files and/or directories to exclude."; boolean required = false; PropertyDefinitionMap map = createExclude(readOnly); PropertyDefinitionList pd = new PropertyDefinitionList(name, description, required, map); pd.setDisplayName("Excludes"); pd.setReadOnly(readOnly); pd.setSummary(true); pd.setOrder(9); pd.setConfigurationDefinition(configDef); return pd; }
public void updateList(PropertyDefinitionList propDef, Property prop, AugeasNode listNode, int seq) throws AugeasRhqException { PropertyList listProperty = null; PropertyDefinition childDefinition = propDef.getMemberDefinition(); if (prop instanceof PropertyList) { PropertyList lst = (PropertyList) prop; listProperty = (PropertyList) lst.getList().get(seq - 1); } if (prop instanceof PropertyMap) { PropertyMap map = (PropertyMap) prop; listProperty = (PropertyList) map.get(propDef.getName()); } List<AugeasNode> nodes = tree.matchRelative(listNode, propDef.getName()); AugeasNode node; if (nodes.isEmpty() || nodes.size() < seq) { node = tree.createNode(listNode, propDef.getName(), null, seq); nodes.add(node); } else node = nodes.get(seq); int i = 1; for (Property prp : listProperty.getList()) { System.out.println(prp.getName()); updateProperty(childDefinition, listProperty, node, i); i = i + 1; } }
public static PropertyDefinition getPropertyDefinitionForProperty(Property property, ConfigurationDefinition configurationDefinition) { LinkedList<Property> propertyHierarchy = getPropertyHierarchy(property); Property topLevelProperty = propertyHierarchy.get(0); PropertyDefinition propertyDefinition = configurationDefinition.getPropertyDefinitions().get(topLevelProperty.getName()); for (int i = 1; i < propertyHierarchy.size(); i++) { Property subProperty = propertyHierarchy.get(i); if (propertyDefinition instanceof PropertyDefinitionMap) { propertyDefinition = ((PropertyDefinitionMap)propertyDefinition).get(subProperty.getName()); } else if (propertyDefinition instanceof PropertyDefinitionList) { propertyDefinition = ((PropertyDefinitionList)propertyDefinition).getMemberDefinition(); } } return propertyDefinition; }
String propertyName = propDef.getName(); PropertyList propertyList = new PropertyList(propertyName); PropertyDefinition memberDefinition = propDef.getMemberDefinition(); if (memberDefinition == null) throw new IllegalArgumentException("Member definition for property [" + propertyName + "] was null"); Map<String, Object> map = (Map<String, Object>) obj; PropertyMap propertyMap = loadHandlePropertyMap((PropertyDefinitionMap) propDef.getMemberDefinition(), map, null); if (propertyMap != null)