X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fconfig%2Fconfig-persister-file-xml-adapter%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fpersist%2Fstorage%2Ffile%2Fxml%2Fmodel%2FConfigSnapshot.java;h=05372dd105f8e1057d7ffa70bbd220c5779e7c22;hp=41976000ba43d9e0e16ab26f4c2ab0f64020d265;hb=f43b01b81319959b1907e3e04537f5169e7f33d8;hpb=7e6e19f57c11d6a35558f230f05b5b0d13b4ebe8 diff --git a/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/model/ConfigSnapshot.java b/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/model/ConfigSnapshot.java index 41976000ba..05372dd105 100644 --- a/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/model/ConfigSnapshot.java +++ b/opendaylight/config/config-persister-file-xml-adapter/src/main/java/org/opendaylight/controller/config/persist/storage/file/xml/model/ConfigSnapshot.java @@ -7,57 +7,86 @@ */ package org.opendaylight.controller.config.persist.storage.file.xml.model; -import org.opendaylight.controller.config.persist.api.ConfigSnapshotHolder; - +import java.util.HashSet; +import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; import javax.xml.bind.annotation.XmlAnyElement; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlElementWrapper; import javax.xml.bind.annotation.XmlRootElement; -import java.util.SortedSet; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; +import org.opendaylight.controller.config.persist.api.ConfigSnapshotHolder; -@XmlRootElement(name = "snapshot") +@XmlRootElement(name = ConfigSnapshot.SNAPSHOT_ROOT_ELEMENT_NAME) public class ConfigSnapshot { - private String configSnapshot; - private SortedSet capabilities; + public static final String SNAPSHOT_ROOT_ELEMENT_NAME = "snapshot"; + + private String configXml; + private SortedSet capabilities = new TreeSet<>(); + private Set features = new HashSet<>(); + + ConfigSnapshot(final String configXml, final SortedSet capabilities) { + this.configXml = configXml; + this.capabilities = capabilities; + } - ConfigSnapshot(String configXml, SortedSet capabilities) { - this.configSnapshot = configXml; + ConfigSnapshot(final String configXml, final SortedSet capabilities, final Set features) { + this.configXml = configXml; this.capabilities = capabilities; + this.features = features; } - public ConfigSnapshot() { + ConfigSnapshot() { } - public static ConfigSnapshot fromConfigSnapshot(ConfigSnapshotHolder cfg) { + public static ConfigSnapshot fromConfigSnapshot(final ConfigSnapshotHolder cfg) { return new ConfigSnapshot(cfg.getConfigSnapshot(), cfg.getCapabilities()); } + public static ConfigSnapshot fromConfigSnapshot(final ConfigSnapshotHolder cfg, final Set features) { + return new ConfigSnapshot(cfg.getConfigSnapshot(), cfg.getCapabilities(), features); + } + @XmlAnyElement(SnapshotHandler.class) public String getConfigSnapshot() { - return configSnapshot; + return configXml; } - public void setConfigSnapshot(String configSnapshot) { - this.configSnapshot = configSnapshot; + public void setConfigSnapshot(final String configSnapshot) { + this.configXml = configSnapshot; } @XmlElement(name = "capability") @XmlElementWrapper(name = "required-capabilities") + @XmlJavaTypeAdapter(value=StringTrimAdapter.class) public SortedSet getCapabilities() { return capabilities; } - public void setCapabilities(SortedSet capabilities) { + public void setCapabilities(final SortedSet capabilities) { this.capabilities = capabilities; } + @XmlElement(name = "feature") + @XmlElementWrapper(name = "features") + @XmlJavaTypeAdapter(value=StringTrimAdapter.class) + public Set getFeatures() { + return features; + } + + public void setFeatures(final Set features) { + this.features = features; + } + @Override public String toString() { - final StringBuffer sb = new StringBuffer("ConfigSnapshot{"); - sb.append("configSnapshot='").append(configSnapshot).append('\''); - sb.append(", capabilities=").append(capabilities); - sb.append('}'); - return sb.toString(); + return "ConfigSnapshot{" + + "configSnapshot='" + configXml + '\'' + + ", capabilities=" + capabilities + + ", features=" + features + + '}'; } } +