X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fadsal%2Fnorthbound%2Fswitchmanager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fswitchmanager%2Fnorthbound%2FNodeProperties.java;fp=opendaylight%2Fadsal%2Fnorthbound%2Fswitchmanager%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fswitchmanager%2Fnorthbound%2FNodeProperties.java;h=380d759ab7ff9185de1422ddfdb46319b085f883;hb=42c32160bfd41de57189bb246fec5ffb48ed8e9e;hp=0000000000000000000000000000000000000000;hpb=edf5bfcee83c750853253ccfd991ba7000f5f65b;p=controller.git diff --git a/opendaylight/adsal/northbound/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/northbound/NodeProperties.java b/opendaylight/adsal/northbound/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/northbound/NodeProperties.java new file mode 100644 index 0000000000..380d759ab7 --- /dev/null +++ b/opendaylight/adsal/northbound/switchmanager/src/main/java/org/opendaylight/controller/switchmanager/northbound/NodeProperties.java @@ -0,0 +1,83 @@ + +/* + * Copyright (c) 2013 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.switchmanager.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.Node; +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 node + */ + +@XmlRootElement +@XmlAccessorType(XmlAccessType.NONE) +public class NodeProperties { + @XmlElement + private Node node; + + @XmlElement(name="property") + @XmlElementWrapper + @JsonIgnore + private Set properties; + + // JAXB required constructor + private NodeProperties() { + this.node = null; + this.properties = null; + } + + public NodeProperties(Node node, Set properties) { + this.node = node; + 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; + } + + public Node getNode() { + return node; + } + + public void setNode(Node node) { + this.node = node; + } +}