public ConfigDataImpl(List<ConfigItem> configItems) { ArrayList<ConfigItemImpl> cis = new ArrayList<ConfigItemImpl>(configItems.size()); HashSet<String> sourceSet = new HashSet<String>(); for (ConfigItem configItem : configItems) { if (configItem != null) { cis.add((ConfigItemImpl)configItem.copy()); if (configItem.getSource() != null && !"UNKNOWN".equals(configItem.getSource())) { sourceSet.add(configItem.getSource()); } totalConfigItems++; if (configItem.isRegistered()) { registeredConfigItems++; } else { unRegisteredConfigItems++; } } } this.sources = sourceSet.toArray(new String[sourceSet.size()]); Collections.sort(cis); this.items = new ArrayList<ConfigItem>(cis); } public int getTotalConfigItems() {
hItem.setSecured(item.isSecured()); hItem.setRegistered(item.isRegistered()); hItem.setSource(item.getSource()); hItem.setDescription(item.getDescription()); hItem.setDynamic(item.isDynamic());
item.getType(), item.getDescription(), item.getSource(), serialDefaultValue, item.isRegistered(),
public ConfigItem registerConfigItem(ConfigItem configItem) { if (configItem == null) { throw new IllegalArgumentException("configItem must be set"); } ConfigItemImpl ci = null; if (StringUtils.isNotBlank(configItem.getName())) { ci = new ConfigItemImpl(configItem.getName(), configItem.getValue(), configItem.getSource()); if (configItem.getValue() != null) { ci.setValue(configItem.getValue()); } if (configItem.getDefaultValue() != null) { ci.setDefaultValue(configItem.getDefaultValue()); } ci = this.addConfigItem(ci, ci.getSource()); } else { log.warn("Skipping registering invalid config item (name not set): "+configItem); } return ci; }
/** * merges the contents of one config item (the safely changed fields) into this one * @param ci any config item */ public void merge(ConfigItem ci) { if (ci != null) { //this.name = name; this.value = ci.getValue(); this.type = setValue(ci.getValue()); this.description = ci.getDescription(); if (StringUtils.isNotBlank(ci.getSource())) { this.source = ci.getSource(); } this.defaultValue = ci.getDefaultValue(); this.dynamic = ci.isDynamic(); } }
/** * Make an impl from something that implements ConfigItem by copying the field values * @param ci a ci object */ @SuppressWarnings("unused") public ConfigItemImpl(ConfigItem ci) { this(ci.getName(), ci.getValue(), ci.getType(), ci.getDescription(), ci.getSource(), ci.getDefaultValue(), ci.getRequested(), ci.getChanged(), null, ci.isRegistered(), ci.isDefaulted(), ci.isSecured(), ci.isDynamic()); if (ci.getHistory() != null) { this.history = Arrays.asList(ci.getHistory()); } else { this.history = new ArrayList<ConfigHistory>(); } }