X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fadsal%2Fnorthbound%2Fcontrollermanager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcontrollermanager%2Fnorthbound%2FControllerProperties.java;fp=opendaylight%2Fadsal%2Fnorthbound%2Fcontrollermanager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcontrollermanager%2Fnorthbound%2FControllerProperties.java;h=cec5a93a9e04ac79f527f2b22299e75cfd21f60b;hb=42c32160bfd41de57189bb246fec5ffb48ed8e9e;hp=0000000000000000000000000000000000000000;hpb=edf5bfcee83c750853253ccfd991ba7000f5f65b;p=controller.git diff --git a/opendaylight/adsal/northbound/controllermanager/src/main/java/org/opendaylight/controller/controllermanager/northbound/ControllerProperties.java b/opendaylight/adsal/northbound/controllermanager/src/main/java/org/opendaylight/controller/controllermanager/northbound/ControllerProperties.java new file mode 100644 index 0000000000..cec5a93a9e --- /dev/null +++ b/opendaylight/adsal/northbound/controllermanager/src/main/java/org/opendaylight/controller/controllermanager/northbound/ControllerProperties.java @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.controller.controllermanager.northbound; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + +import javax.xml.bind.annotation.XmlAccessType; +import javax.xml.bind.annotation.XmlAccessorType; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlElementWrapper; +import javax.xml.bind.annotation.XmlRootElement; + +import org.opendaylight.controller.sal.core.Property; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; + +/** + * The class describes set of properties attached to a controller + */ + +@XmlRootElement +@XmlAccessorType(XmlAccessType.NONE) +public class ControllerProperties { + + /** + * Set to store the controller properties + */ + @XmlElement(name="property") + @XmlElementWrapper + @JsonIgnore + private Set properties; + + // JAXB required constructor + private ControllerProperties() { + this.properties = null; + } + + public ControllerProperties(Set properties) { + this.properties = properties; + } + + @JsonProperty(value="properties") + public Map getMapProperties() { + Map map = new HashMap(); + for (Property p : properties) { + map.put(p.getName(), p); + } + return map; + } + + public void setMapProperties(Map propertiesMap) { + this.properties = new HashSet(propertiesMap.values()); + } + + public Set getProperties() { + return properties; + } + + public void setProperties(Set properties) { + this.properties = properties; + } +}