@Override public Map<String, String> getConfiguration(String pid) { return getConfigurationInternal(pid); }
@Override public List<String> getParents() { Map<String, String> config = getConfigurationInternal(Constants.AGENT_PID); String pspec = config.get(PARENTS_ATTRIBUTE_KEY); String[] parentIds = pspec != null ? pspec.split(" ") : new String[0]; return Arrays.asList(parentIds); }
@Override public ProfileBuilder setLocked(boolean flag) { Map<String, String> config = getConfigurationInternal(Constants.AGENT_PID); if (flag) { config.put(LOCKED_ATTRIBUTE_KEY, "true"); } else { config.remove(LOCKED_ATTRIBUTE_KEY); } addConfiguration(Constants.AGENT_PID, config); return this; }
@Override public ProfileBuilder addConfiguration(String pid, String key, String value) { Map<String, String> config = getConfigurationInternal(pid); config.put(key, value); return addConfiguration(pid, config); }
private void addAgentConfiguration(ConfigListType type, List<String> values) { String prefix = type + "."; Map<String, String> config = getConfigurationInternal(Constants.AGENT_PID); for (String key : new ArrayList<>(config.keySet())) { if (key.startsWith(prefix)) { config.remove(key); } } for (String value : values) { config.put(prefix + value, value); } addConfiguration(Constants.AGENT_PID, config); }
@Override public ProfileBuilder setAttributes(Map<String, String> attributes) { Map<String, String> config = getConfigurationInternal(Constants.AGENT_PID); for (String key : new ArrayList<>(config.keySet())) { if (key.startsWith(Profile.ATTRIBUTE_PREFIX)) { config.remove(key); } } for (Entry<String, String> entry : attributes.entrySet()) { config.put(Profile.ATTRIBUTE_PREFIX + entry.getKey(), entry.getValue()); } addConfiguration(Constants.AGENT_PID, config); return null; }
private void updateParentsAttribute(Collection<String> parentIds) { Map<String, String> config = getConfigurationInternal(Constants.AGENT_PID); if (parentIds.size() > 0) { config.put(PARENTS_ATTRIBUTE_KEY, parentsAttributeValue(parentIds)); } else { config.remove(PARENTS_ATTRIBUTE_KEY); } addConfiguration(Constants.AGENT_PID, config); }