From 253cbac90b756bbe7be3a07293e37ae235adcb31 Mon Sep 17 00:00:00 2001 From: Tony Tkacik Date: Tue, 5 Nov 2013 08:05:13 +0100 Subject: [PATCH] Added Compatibility for Switch Manager and Topology Manager - Created model-topology under controller for easier retrieval of topology models (baseline model is ietf draft and is present in YANGTools git). - Added aggregate topology view - Added mapping to inventory Change-Id: I26d73415bd19478984908d34d77a476a7a842c9f Signed-off-by: Tony Tkacik --- opendaylight/md-sal/sal-binding-util/pom.xml | 33 ++++++++++++++++ .../sal/binding/util/TypeSafeDataReader.java | 38 +++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 opendaylight/md-sal/sal-binding-util/pom.xml create mode 100644 opendaylight/md-sal/sal-binding-util/src/main/java/org/opendaylight/controller/md/sal/binding/util/TypeSafeDataReader.java diff --git a/opendaylight/md-sal/sal-binding-util/pom.xml b/opendaylight/md-sal/sal-binding-util/pom.xml new file mode 100644 index 0000000000..26041ea85e --- /dev/null +++ b/opendaylight/md-sal/sal-binding-util/pom.xml @@ -0,0 +1,33 @@ + + 4.0.0 + + org.opendaylight.controller + sal-parent + 1.0-SNAPSHOT + + sal-binding-util + bundle + + scm:git:ssh://git.opendaylight.org:29418/controller.git + scm:git:ssh://git.opendaylight.org:29418/controller.git + https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL + + + + + com.google.guava + guava + + + org.opendaylight.controller + sal-binding-api + 1.0-SNAPSHOT + + + org.apache.felix + org.apache.felix.dependencymanager + 3.1.0 + + + diff --git a/opendaylight/md-sal/sal-binding-util/src/main/java/org/opendaylight/controller/md/sal/binding/util/TypeSafeDataReader.java b/opendaylight/md-sal/sal-binding-util/src/main/java/org/opendaylight/controller/md/sal/binding/util/TypeSafeDataReader.java new file mode 100644 index 0000000000..738a14a9bd --- /dev/null +++ b/opendaylight/md-sal/sal-binding-util/src/main/java/org/opendaylight/controller/md/sal/binding/util/TypeSafeDataReader.java @@ -0,0 +1,38 @@ +package org.opendaylight.controller.md.sal.binding.util; + +import org.opendaylight.controller.md.sal.common.api.data.DataReader; +import org.opendaylight.yangtools.yang.binding.DataObject; +import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; + +public final class TypeSafeDataReader { + + + private final DataReader,DataObject> delegate; + + + + public DataReader, DataObject> getDelegate() { + return delegate; + } + + + public TypeSafeDataReader(DataReader, DataObject> delegate) { + this.delegate = delegate; + } + + + @SuppressWarnings("unchecked") + public D readConfigurationData(InstanceIdentifier path) { + return (D) delegate.readConfigurationData(path); + } + + + @SuppressWarnings("unchecked") + public D readOperationalData(InstanceIdentifier path) { + return (D) delegate.readOperationalData(path); + } + + public static TypeSafeDataReader forReader(DataReader, DataObject> delegate) { + return new TypeSafeDataReader(delegate); + } +} -- 2.36.6