Updated PoC APIs of Model-driven SAL 81/581/2
authorTony Tkacik <ttkacik@cisco.com>
Tue, 9 Jul 2013 15:25:36 +0000 (17:25 +0200)
committerGerrit Code Review <gerrit@opendaylight.org>
Thu, 11 Jul 2013 11:24:38 +0000 (11:24 +0000)
  - Bumped version of YANG tools
  - Added Concepts Lang package with reusable tranformator functionality

Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
22 files changed:
opendaylight/sal/yang-prototype/concepts-lang/pom.xml [new file with mode: 0644]
opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/Acceptor.java [new file with mode: 0644]
opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/AggregateTransformer.java [new file with mode: 0644]
opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/CompositeClassBasedTransformer.java [new file with mode: 0644]
opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/CompositeConditionalTransformer.java [new file with mode: 0644]
opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/InputClassBasedTransformer.java [new file with mode: 0644]
opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/RuleBasedTransformer.java [new file with mode: 0644]
opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/SimpleConditionalTransformer.java [new file with mode: 0644]
opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/Transformer.java [new file with mode: 0644]
opendaylight/sal/yang-prototype/pom.xml
opendaylight/sal/yang-prototype/sal/pom.xml
opendaylight/sal/yang-prototype/sal/sal-binding-api/pom.xml
opendaylight/sal/yang-prototype/sal/sal-binding-broker-impl/pom.xml
opendaylight/sal/yang-prototype/sal/sal-binding-spi/pom.xml
opendaylight/sal/yang-prototype/sal/sal-binding-spi/src/main/java/org/opendaylight/controller/sal/binding/spi/DataDomToJavaTransformer.java [new file with mode: 0644]
opendaylight/sal/yang-prototype/sal/sal-binding-spi/src/main/java/org/opendaylight/controller/sal/binding/spi/JavaToDataDomTransformer.java [new file with mode: 0644]
opendaylight/sal/yang-prototype/sal/sal-broker-impl/pom.xml
opendaylight/sal/yang-prototype/sal/sal-common-util/pom.xml
opendaylight/sal/yang-prototype/sal/sal-common/pom.xml
opendaylight/sal/yang-prototype/sal/sal-core-api/pom.xml
opendaylight/sal/yang-prototype/sal/sal-core-demo/pom.xml
opendaylight/sal/yang-prototype/sal/sal-schema-repository-api/pom.xml

diff --git a/opendaylight/sal/yang-prototype/concepts-lang/pom.xml b/opendaylight/sal/yang-prototype/concepts-lang/pom.xml
new file mode 100644 (file)
index 0000000..68fe50d
--- /dev/null
@@ -0,0 +1,11 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>yang-prototype</artifactId>
+        <groupId>org.opendaylight.controller</groupId>
+        <version>0.5-SNAPSHOT</version>
+    </parent>
+    <artifactId>concepts-lang</artifactId>
+    <packaging>jar</packaging>
+</project>
\ No newline at end of file
diff --git a/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/Acceptor.java b/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/Acceptor.java
new file mode 100644 (file)
index 0000000..43b14bb
--- /dev/null
@@ -0,0 +1,20 @@
+
+/*
+ * 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.concepts.lang;
+
+public interface Acceptor<I> {
+
+    /**
+     *
+     * @param input
+     * @return true if input is accepted.
+     */
+    boolean isAcceptable(I input);
+}
diff --git a/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/AggregateTransformer.java b/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/AggregateTransformer.java
new file mode 100644 (file)
index 0000000..3a60894
--- /dev/null
@@ -0,0 +1,21 @@
+/*
+ * 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.concepts.lang;
+import java.util.Collection;
+/**
+ *
+ * @author Tony Tkacik
+ *
+ * @param <I>
+ * @param <P>
+ */
+public interface AggregateTransformer<I,P> extends Transformer<I,P> {
+
+    Collection<P> transformAll(Collection<? extends I> inputs);
+}
diff --git a/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/CompositeClassBasedTransformer.java b/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/CompositeClassBasedTransformer.java
new file mode 100644 (file)
index 0000000..253ac85
--- /dev/null
@@ -0,0 +1,120 @@
+/*
+ * 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.concepts.lang;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+
+/**
+ * Transformer which aggregates multiple implementations of
+ * {@link InputClassBasedTransformer}.
+ *
+ * The transformation process is driven by {@link Class} of input. The selection
+ * of used {@link InputClassBasedTransformer} is done by using the {@link Class}
+ * of input as a key to select the transformer.
+ *
+ * This approach provides quick resolution of transformer, but does not support
+ * registering a super type of input to provide transformation support for all
+ * subclasses, one must register a new instance of transformer for each valid
+ * input class.
+ *
+ * If you need more flexible selection of transformation consider using
+ * {@link CompositeConditionalTransformer} which is slower but most flexible or
+ * {@link RuleBasedTransformer} which provides declarative approach for
+ * transformation.
+ *
+ * See {@link #transform(Object)} for more information about tranformation
+ * process.
+ *
+ * @author Tony Tkacik <ttkacik@cisco.com>
+ *
+ * @param <I>
+ *            Input super-type
+ * @param <P>
+ *            Product
+ */
+public abstract class CompositeClassBasedTransformer<I, P> implements
+        InputClassBasedTransformer<I, I, P>,
+        AggregateTransformer<I, P> {
+
+    private Map<Class<? extends I>, InputClassBasedTransformer<I, ? extends I, P>> transformers = new ConcurrentHashMap<Class<? extends I>, InputClassBasedTransformer<I, ? extends I, P>>();
+
+    /**
+     * Transforms an input into instance of Product class.
+     *
+     * The final registered transformer is the one which match following
+     * condition:
+     *
+     * <code>input.getClass() == transformer.getInputClass()</code>
+     *
+     * This means that transformers are not resolved by class hierarchy, only
+     * selected based on final class of the input. If you need more flexible
+     * selection of transformation consider using
+     * {@link CompositeConditionalTransformer} which is slower but more
+     * flexible.
+     *
+     */
+    @Override
+    public P transform(I input) {
+        @SuppressWarnings("unchecked")
+        InputClassBasedTransformer<I, I, P> transformer = (InputClassBasedTransformer<I, I, P>) transformers
+                .get(input.getClass());
+        if (transformer == null)
+            throw new IllegalArgumentException("Transformation of: " + input
+                    + " is not supported");
+        return transformer.transform(input);
+    }
+
+    /**
+     * Registers a new transformer.
+     *
+     * The transformer is registered for class returned by
+     * {@link InputClassBasedTransformer#getInputClass()}. Only one transformer
+     * can be registered for particular input class.
+     *
+     */
+    public void addTransformer(
+            InputClassBasedTransformer<I, ? extends I, P> transformer)
+            throws IllegalStateException {
+        if (transformer == null)
+            throw new IllegalArgumentException("Transformer should not be null");
+        if (transformer.getInputClass() == null)
+            throw new IllegalArgumentException(
+                    "Transformer should specify input class.");
+        transformers.put(transformer.getInputClass(), transformer);
+    }
+
+    /**
+     * Removes an registered transformer.
+     *
+     * Note: Removal is currently unsupported.
+     *
+     * @param transformer
+     *            Tranformer to be removed.
+     * @throws IllegalArgumentException
+     *             If the provided transformer is null or is not registered.
+     */
+    public void removeTransformer(
+            InputClassBasedTransformer<I, ? extends I, P> transformer)
+            throws IllegalArgumentException {
+        throw new UnsupportedOperationException("Not implemented yet");
+    }
+
+    @Override
+    public Collection<P> transformAll(Collection<? extends I> inputs) {
+        Collection<P> ret = new ArrayList<P>();
+        for (I i : inputs) {
+            ret.add(transform(i));
+        }
+        return ret;
+    }
+
+}
diff --git a/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/CompositeConditionalTransformer.java b/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/CompositeConditionalTransformer.java
new file mode 100644 (file)
index 0000000..4bbd629
--- /dev/null
@@ -0,0 +1,156 @@
+/*
+ * 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.concepts.lang;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Comparator;
+import java.util.Set;
+import java.util.TreeSet;
+
+/**
+ * Composite transformer which aggregates multiple implementation and selects
+ * the one which accepts the input.
+ *
+ *
+ * @author Tony Tkacik
+ *
+ * @param <I>
+ *            Input class for transformation
+ * @param <P>
+ *            Product of transformation
+ */
+public class CompositeConditionalTransformer<I, P> implements
+        SimpleConditionalTransformer<I, P>,
+        AggregateTransformer<I,P> {
+
+    private final Comparator<TransformerWithPriority<I, P>> comparator = new Comparator<TransformerWithPriority<I, P>>() {
+
+        @Override
+        public int compare(TransformerWithPriority<I, P> o1,
+                TransformerWithPriority<I, P> o2) {
+            return Integer.valueOf(o1.priority).compareTo(Integer.valueOf(o2.priority));
+        }
+
+    };
+    private final Set<TransformerWithPriority<I, P>> transformers;
+
+    public CompositeConditionalTransformer() {
+        // FIXME: Add Ordering
+        transformers = new TreeSet<TransformerWithPriority<I, P>>(comparator);
+    }
+
+    @Override
+    public boolean isAcceptable(I input) {
+        for (SimpleConditionalTransformer<I, P> trans : transformers) {
+            if (trans.isAcceptable(input)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public P transform(I input) {
+        for (SimpleConditionalTransformer<I, P> trans : transformers) {
+            if (trans.isAcceptable(input)) {
+                return trans.transform(input);
+            }
+        }
+        throw new IllegalStateException(
+                "Transformer for provided input is not available.");
+    }
+
+    public void addTransformer(SimpleConditionalTransformer<I, P> transformer,
+            int priority) throws IllegalStateException {
+        if (transformer == null) {
+            throw new IllegalArgumentException(
+                    "transformer should not be null.");
+        }
+        TransformerWithPriority<I, P> withPriority = new TransformerWithPriority<I, P>(
+                transformer, priority);
+        if (false == transformers.add(withPriority)) {
+            throw new IllegalStateException("transformer " + transformer
+                    + "already registered");
+        }
+    }
+
+    public void removeTransformer(SimpleConditionalTransformer<I, P> transformer)
+            throws IllegalArgumentException {
+        if (transformer == null) {
+            throw new IllegalArgumentException(
+                    "transformer should not be null.");
+        }
+        if (false == transformers.remove(transformer)) {
+            throw new IllegalStateException("transformer " + transformer
+                    + "already registered");
+        }
+    }
+
+    @Override
+    public Collection<P> transformAll(Collection<? extends I> inputs) {
+        Collection<P> ret = new ArrayList<P>();
+        for (I i : inputs) {
+            ret.add(transform(i));
+        }
+        return ret;
+    }
+
+    private static class TransformerWithPriority<I, P> implements
+            SimpleConditionalTransformer<I, P> {
+        final int priority;
+        final SimpleConditionalTransformer<I, P> transformer;
+
+        public TransformerWithPriority(
+                SimpleConditionalTransformer<I, P> transformer, int priority) {
+            this.priority = priority;
+            this.transformer = transformer;
+        }
+
+        @Override
+        public int hashCode() {
+            final int prime = 31;
+            int result = 1;
+            result = prime * result
+                    + ((transformer == null) ? 0 : transformer.hashCode());
+            return result;
+        }
+
+        @Override
+        public boolean equals(Object obj) {
+            if (this == obj)
+                return true;
+            if (obj == null)
+                return false;
+            if (getClass() != obj.getClass())
+                return false;
+            TransformerWithPriority<?,?> other = (TransformerWithPriority<?,?>) obj;
+            if (transformer == null) {
+                if (other.transformer != null)
+                    return false;
+            } else if (!transformer.equals(other.transformer))
+                return false;
+            return true;
+        }
+
+        @Override
+        public boolean isAcceptable(I input) {
+            return transformer.isAcceptable(input);
+        }
+
+        @Override
+        public P transform(I input) {
+            return transformer.transform(input);
+        }
+
+
+
+
+
+    }
+}
diff --git a/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/InputClassBasedTransformer.java b/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/InputClassBasedTransformer.java
new file mode 100644 (file)
index 0000000..e6a1024
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * 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.concepts.lang;
+/**
+ * Input class based transformer
+ *
+ * {@link Transformer} which accepts / transforms only specific classes of
+ * input, and is useful if the selection of transformer should be based on the
+ * class of the input and there is one-to-one mapping between input class and
+ * transformer.
+ *
+ *
+ * @author Tony Tkacik
+ *
+ * @param <S>
+ *            Common supertype of input
+ * @param <I>
+ *            Concrete type of input
+ * @param <P>
+ *            Product
+ */
+public interface InputClassBasedTransformer<S, I extends S, P> extends
+        Transformer<I, P> {
+
+    /**
+     * Returns an {@link Class} of input which is acceptable for transformation.
+     *
+     * @return {@link Class} of input which is acceptable for transformation.
+     */
+    Class<? extends S> getInputClass();
+}
diff --git a/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/RuleBasedTransformer.java b/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/RuleBasedTransformer.java
new file mode 100644 (file)
index 0000000..12c793c
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * 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.concepts.lang;
+import java.util.Set;
+
+/**
+ * Transformer with set of acceptance rules
+ *
+ * The transformer provides a set of {@link Acceptor}s, which could be used to
+ * verify if the input will produce result using the transformer.
+ *
+ * The transormer is able to produce result if ANY of associated
+ * {@link Acceptor}s accepted result.
+ *
+ * @author Tony Tkacik
+ *
+ * @param <I>
+ *            Input class for transformation
+ * @param <P>
+ *            Product of transformation
+ */
+public interface RuleBasedTransformer<I, P> extends Transformer<I, P> {
+
+    /**
+     * Set of {@link Acceptor}, which could be used to verify if the input is
+     * usable by transformer.
+     *
+     * The transformer is able to produce result if ANY of associated
+     * {@link Acceptor}s accepted result.
+     *
+     * @return Set of input acceptance rules associated to this transformer.
+     */
+    Set<Acceptor<I>> getRules();
+
+}
diff --git a/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/SimpleConditionalTransformer.java b/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/SimpleConditionalTransformer.java
new file mode 100644 (file)
index 0000000..d514667
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * 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.concepts.lang;
+/**
+ * Simple condition-based transformer
+ *
+ * The transformer provides {@link #isAcceptable(Object)} method,
+ * which could be used to query transformer if the input will produce
+ * result.
+ *
+ * This interface is simplified version of {@link RuleBasedTransformer} - does not
+ * provide decoupling of Acceptance rule from transformer, and should be used only
+ * for simple use-cases.
+ *
+ * @author Tony Tkacik
+ *
+ * @param <I> Input class for transformation
+ * @param <P> Product of transformation
+ */
+public interface SimpleConditionalTransformer<I,P> extends Transformer<I, P>, Acceptor<I> {
+
+
+    /**
+     * Checks if the input is acceptable
+     * for processing by the transformer.
+     *
+     * @return true it the input is acceptable for processing by transformer.
+     */
+    @Override
+    public boolean isAcceptable(I input);
+}
diff --git a/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/Transformer.java b/opendaylight/sal/yang-prototype/concepts-lang/src/main/java/org/opendaylight/controller/concepts/lang/Transformer.java
new file mode 100644 (file)
index 0000000..23f2d6a
--- /dev/null
@@ -0,0 +1,26 @@
+/*
+ * 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.concepts.lang;
+/**
+ * Factory which produces product based on input object
+ *
+ * @author Tony Tkacik
+ *
+ * @param <I> Input
+ * @param <P> Product
+ */
+public interface Transformer<I,P> {
+    /**
+     * Transforms input into instance of product.
+     *
+     * @param input Input which drives transformation
+     * @return Instance of product which was created from supplied input.
+     */
+    P transform(I input);
+}
index 7df5bfef6ed9677a3ba11bd3110e850ad9df7f44..741e2177ff9376cb8a1b80c555ec826ea751a6ab 100644 (file)
@@ -6,6 +6,7 @@
     <version>0.5-SNAPSHOT</version>
     <packaging>pom</packaging>
     <modules>
+        <module>concepts-lang</module>
         <module>yang</module>
         <module>code-generator</module>
         <module>model</module>
index 2604a45acf5dba351021c8a8049b394bace037c4..b2131f791b3741c25d96fa33ef9edbf7c153c85e 100644 (file)
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <groupId>org.opendaylight.controller</groupId>
-       <artifactId>sal</artifactId>
-       <version>1.0-SNAPSHOT</version>
-       <packaging>pom</packaging>
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.opendaylight.controller</groupId>
+    <artifactId>sal</artifactId>
+    <version>1.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
 
-       <modules>
-               <module>sal-common</module>
-               <module>sal-common-util</module>
-               <module>sal-core-api</module>
-               <module>sal-data-api</module>
-               <module>sal-binding-api</module>
-               <module>sal-binding-spi</module>
-               <module>sal-binding-broker-impl</module>
-               <module>sal-schema-repository-api</module>
-               <module>sal-core-spi</module>
-               <module>sal-broker-impl</module>
-               <module>sal-core-demo</module>
-       </modules>
+    <modules>
+        <module>sal-common</module>
+        <module>sal-common-util</module>
+        <module>sal-core-api</module>
+        <module>sal-data-api</module>
+        <module>sal-binding-api</module>
+        <module>sal-binding-spi</module>
+        <module>sal-binding-broker-impl</module>
+        <module>sal-schema-repository-api</module>
+        <module>sal-core-spi</module>
+        <module>sal-broker-impl</module>
+    </modules>
 
-       <dependencyManagement>
-               <dependencies>
-                       <dependency>
-                               <groupId>com.google.guava</groupId>
-                               <artifactId>guava</artifactId>
-                               <version>14.0.1</version>
-                               <type>jar</type>
-                       </dependency>
-                       <dependency>
-                               <groupId>org.slf4j</groupId>
-                               <artifactId>slf4j-api</artifactId>
-                               <version>1.7.2</version>
-                       </dependency>
-                       <dependency>
-                               <groupId>junit</groupId>
-                               <artifactId>junit</artifactId>
-                               <version>4.10</version>
-                       </dependency>
-               </dependencies>
-       </dependencyManagement>
+    <properties>
+        <yang.version>0.5.3-SNAPSHOT</yang.version>
+    </properties>
 
-       <dependencies>
-               <dependency>
-                       <groupId>junit</groupId>
-                       <artifactId>junit</artifactId>
-                       <scope>test</scope>
-                       <optional>true</optional>
-               </dependency>
-               <dependency>
-                       <groupId>org.mockito</groupId>
-                       <artifactId>mockito-all</artifactId>
-                       <version>1.9.5</version>
-                       <scope>test</scope>
-               </dependency>
-       </dependencies>
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-compiler-plugin</artifactId>
-                               <version>2.0</version>
-                               <inherited>true</inherited>
-                               <configuration>
-                                       <source>1.7</source>
-                                       <target>1.7</target>
-                               </configuration>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-javadoc-plugin</artifactId>
-                               <version>2.8.1</version>
-                               <configuration>
-                                       <stylesheet>maven</stylesheet>
-                               </configuration>
-                               <executions>
-                                       <execution>
-                                               <goals>
-                                                       <goal>aggregate</goal>
-                                               </goals>
-                                               <phase>site</phase>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-       </build>
-       <reporting>
-               <plugins>
-                       <plugin>
-                               <groupId>org.codehaus.mojo</groupId>
-                               <artifactId>findbugs-maven-plugin</artifactId>
-                               <version>2.4.0</version>
-                               <configuration>
-                                       <effort>Max</effort>
-                                       <threshold>Low</threshold>
-                                       <goal>site</goal>
-                               </configuration>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.codehaus.mojo</groupId>
-                               <artifactId>jdepend-maven-plugin</artifactId>
-                               <version>2.0-beta-2</version>
-                       </plugin>
-               </plugins>
-       </reporting>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>com.google.guava</groupId>
+                <artifactId>guava</artifactId>
+                <version>14.0.1</version>
+                <type>jar</type>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-api</artifactId>
+                <version>1.7.2</version>
+            </dependency>
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>4.10</version>
+            </dependency>
+            <dependency>
+                <groupId>org.opendaylight.controller</groupId>
+                <artifactId>yang-binding</artifactId>
+                <version>${yang.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.opendaylight.controller</groupId>
+                <artifactId>yang-common</artifactId>
+                <version>${yang.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.opendaylight.controller</groupId>
+                <artifactId>yang-data-api</artifactId>
+                <version>${yang.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.opendaylight.controller</groupId>
+                <artifactId>yang-model-api</artifactId>
+                <version>${yang.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>org.opendaylight.controller</groupId>
+                <artifactId>yang-data-util</artifactId>
+                <version>${yang.version}</version>
+            </dependency>
+        </dependencies>
+
+    </dependencyManagement>
+
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+            <optional>true</optional>
+        </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-all</artifactId>
+            <version>1.9.5</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.0</version>
+                <inherited>true</inherited>
+                <configuration>
+                    <source>1.7</source>
+                    <target>1.7</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.8.1</version>
+                <configuration>
+                    <stylesheet>maven</stylesheet>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>aggregate</goal>
+                        </goals>
+                        <phase>site</phase>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>findbugs-maven-plugin</artifactId>
+                <version>2.4.0</version>
+                <configuration>
+                    <effort>Max</effort>
+                    <threshold>Low</threshold>
+                    <goal>site</goal>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>jdepend-maven-plugin</artifactId>
+                <version>2.0-beta-2</version>
+            </plugin>
+        </plugins>
+    </reporting>
 </project>
\ No newline at end of file
index b339e30070009232e6b8b05b06370a58bba7a0ec..92cfc3ba7aa61c46c72d8b6a9640663999dfeaa5 100644 (file)
@@ -1,27 +1,28 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-  <modelVersion>4.0.0</modelVersion>\r
-  <parent>\r
-    <groupId>org.opendaylight.controller</groupId>\r
-    <artifactId>sal</artifactId>\r
-    <version>1.0-SNAPSHOT</version>\r
-  </parent>\r
-   <artifactId>sal-binding-api</artifactId>\r
-   \r
-   <dependencies>\r
-       <dependency>\r
-               <groupId>org.opendaylight.controller</groupId>\r
-               <artifactId>yang-common</artifactId>\r
-               <version>1.0</version>\r
-       </dependency>\r
-       <dependency>\r
-               <groupId>org.opendaylight.controller</groupId>\r
-               <artifactId>yang-binding</artifactId>\r
-               <version>1.0</version>\r
-       </dependency>\r
-       <dependency>\r
-               <groupId>org.opendaylight.controller</groupId>\r
-               <artifactId>sal-common</artifactId>\r
-               <version>1.0-SNAPSHOT</version>\r
-       </dependency>\r
-   </dependencies>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
+    <modelVersion>4.0.0</modelVersion>\r
+    <parent>\r
+        <groupId>org.opendaylight.controller</groupId>\r
+        <artifactId>sal</artifactId>\r
+        <version>1.0-SNAPSHOT</version>\r
+    </parent>\r
+    <artifactId>sal-binding-api</artifactId>\r
+\r
+    <dependencies>\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>yang-common</artifactId>\r
+\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>yang-binding</artifactId>\r
+\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>sal-common</artifactId>\r
+            <version>1.0-SNAPSHOT</version>\r
+        </dependency>\r
+    </dependencies>
 </project>
\ No newline at end of file
index 2d427cb61fa5aa6993e4648d83a3c2d27bf3eb2d..3073bec988c128f307c82b2d7fdcc87eaa39a87a 100644 (file)
@@ -1,46 +1,46 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-       <modelVersion>4.0.0</modelVersion>\r
-       <parent>\r
-               <groupId>org.opendaylight.controller</groupId>\r
-               <artifactId>sal</artifactId>\r
-               <version>1.0-SNAPSHOT</version>\r
-       </parent>\r
-       <artifactId>sal-binding-broker-impl</artifactId>\r
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
+    <modelVersion>4.0.0</modelVersion>\r
+    <parent>\r
+        <groupId>org.opendaylight.controller</groupId>\r
+        <artifactId>sal</artifactId>\r
+        <version>1.0-SNAPSHOT</version>\r
+    </parent>\r
+    <artifactId>sal-binding-broker-impl</artifactId>\r
 \r
 \r
 \r
-       <dependencies>\r
-               <dependency>\r
-                       <groupId>org.opendaylight.controller</groupId>\r
-                       <artifactId>sal-common-util</artifactId>\r
-                       <version>1.0-SNAPSHOT</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.opendaylight.controller</groupId>\r
-                       <artifactId>sal-binding-api</artifactId>\r
-                       <version>1.0-SNAPSHOT</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.opendaylight.controller</groupId>\r
-                       <artifactId>sal-binding-spi</artifactId>\r
-                       <version>1.0-SNAPSHOT</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.opendaylight.controller</groupId>\r
-                       <artifactId>sal-core-api</artifactId>\r
-                       <version>1.0-SNAPSHOT</version>\r
-               </dependency>\r
+    <dependencies>\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>sal-common-util</artifactId>\r
+            <version>1.0-SNAPSHOT</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>sal-binding-api</artifactId>\r
+            <version>1.0-SNAPSHOT</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>sal-binding-spi</artifactId>\r
+            <version>1.0-SNAPSHOT</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>sal-core-api</artifactId>\r
+            <version>1.0-SNAPSHOT</version>\r
+        </dependency>\r
 \r
-               <dependency>\r
-                       <groupId>org.slf4j</groupId>\r
-                       <artifactId>slf4j-api</artifactId>\r
-               </dependency>\r
+        <dependency>\r
+            <groupId>org.slf4j</groupId>\r
+            <artifactId>slf4j-api</artifactId>\r
+        </dependency>\r
 \r
-               <dependency>\r
-                       <groupId>com.google.guava</groupId>\r
-                       <artifactId>guava</artifactId>\r
-                       <type>jar</type>\r
-               </dependency>\r
-       </dependencies>\r
+        <dependency>\r
+            <groupId>com.google.guava</groupId>\r
+            <artifactId>guava</artifactId>\r
+            <type>jar</type>\r
+        </dependency>\r
+    </dependencies>\r
 </project>
\ No newline at end of file
index 720d1e91c36e4461398254ece06ff489240c55fa..fd7fad6f14f411c8195b8e5c292c350859b04c55 100644 (file)
@@ -1,22 +1,28 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.opendaylight.controller</groupId>
-    <artifactId>sal</artifactId>
-    <version>1.0-SNAPSHOT</version>
-  </parent>
-   <artifactId>sal-binding-spi</artifactId>
-   
-   <dependencies>
-       <dependency>
-               <groupId>org.opendaylight.controller</groupId>
-               <artifactId>sal-binding-api</artifactId>
-               <version>1.0-SNAPSHOT</version>
-       </dependency>
-       <dependency>
-               <groupId>org.opendaylight.controller</groupId>
-               <artifactId>sal-core-api</artifactId>
-               <version>1.0-SNAPSHOT</version>
-       </dependency>
-   </dependencies>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>org.opendaylight.controller</groupId>
+        <artifactId>sal</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <artifactId>sal-binding-spi</artifactId>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-binding-api</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-core-api</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>concepts-lang</artifactId>
+            <version>0.5-SNAPSHOT</version>
+        </dependency>
+    </dependencies>
 </project>
\ No newline at end of file
diff --git a/opendaylight/sal/yang-prototype/sal/sal-binding-spi/src/main/java/org/opendaylight/controller/sal/binding/spi/DataDomToJavaTransformer.java b/opendaylight/sal/yang-prototype/sal/sal-binding-spi/src/main/java/org/opendaylight/controller/sal/binding/spi/DataDomToJavaTransformer.java
new file mode 100644 (file)
index 0000000..db35de1
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * 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.sal.binding.spi;
+
+import org.opendaylight.controller.concepts.lang.Transformer;
+import org.opendaylight.controller.yang.binding.DataObject;
+import org.opendaylight.controller.yang.common.QName;
+import org.opendaylight.controller.yang.data.api.CompositeNode;
+
+public interface DataDomToJavaTransformer<P extends DataObject> extends Transformer<CompositeNode, P> {
+
+    /**
+     * Returns a QName of valid input composite node.
+     * 
+     * @return
+     */
+    QName getQName();
+}
diff --git a/opendaylight/sal/yang-prototype/sal/sal-binding-spi/src/main/java/org/opendaylight/controller/sal/binding/spi/JavaToDataDomTransformer.java b/opendaylight/sal/yang-prototype/sal/sal-binding-spi/src/main/java/org/opendaylight/controller/sal/binding/spi/JavaToDataDomTransformer.java
new file mode 100644 (file)
index 0000000..3c4d486
--- /dev/null
@@ -0,0 +1,16 @@
+/*
+ * 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.sal.binding.spi;
+
+import org.opendaylight.controller.concepts.lang.InputClassBasedTransformer;
+import org.opendaylight.controller.yang.binding.DataObject;
+import org.opendaylight.controller.yang.data.api.CompositeNode;
+
+public interface JavaToDataDomTransformer<I extends DataObject> extends
+        InputClassBasedTransformer<DataObject, I, CompositeNode> {
+}
index c195fe4ae2c317807c2ed2d1ae77b867f55a26fe..779a6dc6ab9fffe8092a7ef9af49becce3e1b948 100644 (file)
@@ -1,36 +1,36 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-       <modelVersion>4.0.0</modelVersion>\r
-       <parent>\r
-               <groupId>org.opendaylight.controller</groupId>\r
-               <artifactId>sal</artifactId>\r
-               <version>1.0-SNAPSHOT</version>\r
-       </parent>\r
-       <artifactId>sal-broker-impl</artifactId>\r
-       <dependencies>\r
-               <dependency>\r
-                       <groupId>org.opendaylight.controller</groupId>\r
-                       <artifactId>sal-core-api</artifactId>\r
-                       <version>1.0-SNAPSHOT</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.opendaylight.controller</groupId>\r
-                       <artifactId>sal-common-util</artifactId>\r
-                       <version>1.0-SNAPSHOT</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.opendaylight.controller</groupId>\r
-                       <artifactId>sal-core-spi</artifactId>\r
-                       <version>1.0-SNAPSHOT</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.slf4j</groupId>\r
-                       <artifactId>slf4j-api</artifactId>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>com.google.guava</groupId>\r
-                       <artifactId>guava</artifactId>\r
-                       <type>jar</type>\r
-               </dependency>\r
-       </dependencies>
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
+    <modelVersion>4.0.0</modelVersion>\r
+    <parent>\r
+        <groupId>org.opendaylight.controller</groupId>\r
+        <artifactId>sal</artifactId>\r
+        <version>1.0-SNAPSHOT</version>\r
+    </parent>\r
+    <artifactId>sal-broker-impl</artifactId>\r
+    <dependencies>\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>sal-core-api</artifactId>\r
+            <version>1.0-SNAPSHOT</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>sal-common-util</artifactId>\r
+            <version>1.0-SNAPSHOT</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>sal-core-spi</artifactId>\r
+            <version>1.0-SNAPSHOT</version>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.slf4j</groupId>\r
+            <artifactId>slf4j-api</artifactId>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>com.google.guava</groupId>\r
+            <artifactId>guava</artifactId>\r
+            <type>jar</type>\r
+        </dependency>\r
+    </dependencies>
 </project>
\ No newline at end of file
index b8be514c0285957bbca174570b908eff01a6180d..fedd6d12f05af7d95e1569313b304a4c990c5773 100644 (file)
@@ -1,24 +1,23 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-       <modelVersion>4.0.0</modelVersion>\r
-       <parent>\r
-               <groupId>org.opendaylight.controller</groupId>\r
-               <artifactId>sal</artifactId>\r
-               <version>1.0-SNAPSHOT</version>\r
-       </parent>\r
-       <artifactId>sal-common-util</artifactId>\r
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
+    <modelVersion>4.0.0</modelVersion>\r
+    <parent>\r
+        <groupId>org.opendaylight.controller</groupId>\r
+        <artifactId>sal</artifactId>\r
+        <version>1.0-SNAPSHOT</version>\r
+    </parent>\r
+    <artifactId>sal-common-util</artifactId>\r
 \r
-       <dependencies>\r
-               <dependency>\r
-                       <groupId>org.opendaylight.controller</groupId>\r
-                       <artifactId>yang-common</artifactId>\r
-                       <version>1.0</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.opendaylight.controller</groupId>\r
-                       <artifactId>sal-common</artifactId>\r
-                       <version>1.0-SNAPSHOT</version>\r
-               </dependency>\r
-       </dependencies>
+    <dependencies>\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>yang-common</artifactId>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>sal-common</artifactId>\r
+            <version>1.0-SNAPSHOT</version>\r
+        </dependency>\r
+    </dependencies>
 
 </project>
\ No newline at end of file
index a144b542da9b6654ef6951eb08b9c27639820b35..89cf5207edda8be9125f8af4bebf501c228a8864 100644 (file)
@@ -1,14 +1,14 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-       <modelVersion>4.0.0</modelVersion>\r
-       <parent>\r
-               <groupId>org.opendaylight.controller</groupId>\r
-               <artifactId>sal</artifactId>\r
-               <version>1.0-SNAPSHOT</version>\r
-       </parent>\r
-       <artifactId>sal-common</artifactId>\r
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
+    <modelVersion>4.0.0</modelVersion>\r
+    <parent>\r
+        <groupId>org.opendaylight.controller</groupId>\r
+        <artifactId>sal</artifactId>\r
+        <version>1.0-SNAPSHOT</version>\r
+    </parent>\r
+    <artifactId>sal-common</artifactId>\r
 \r
-       <dependencies>\r
-       </dependencies>
+    <dependencies>\r
+    </dependencies>
 
 </project>
\ No newline at end of file
index 7ced1746fc5fd86c639b01541742d0d2b3636317..e82392d24aef70827f20838cd5e798758f63bcd7 100644 (file)
@@ -1,29 +1,27 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
-       <modelVersion>4.0.0</modelVersion>\r
-       <parent>\r
-               <groupId>org.opendaylight.controller</groupId>\r
-               <artifactId>sal</artifactId>\r
-               <version>1.0-SNAPSHOT</version>\r
-       </parent>\r
-       <artifactId>sal-core-api</artifactId>\r
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
+    <modelVersion>4.0.0</modelVersion>\r
+    <parent>\r
+        <groupId>org.opendaylight.controller</groupId>\r
+        <artifactId>sal</artifactId>\r
+        <version>1.0-SNAPSHOT</version>\r
+    </parent>\r
+    <artifactId>sal-core-api</artifactId>\r
 \r
-       <dependencies>\r
-               <dependency>\r
-                       <groupId>org.opendaylight.controller</groupId>\r
-                       <artifactId>sal-common</artifactId>\r
-                       <version>1.0-SNAPSHOT</version>\r
-               </dependency>\r
+    <dependencies>\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>sal-common</artifactId>\r
+            <version>1.0-SNAPSHOT</version>\r
+        </dependency>\r
 \r
-               <dependency>\r
-                       <groupId>org.opendaylight.controller</groupId>\r
-                       <artifactId>yang-data-api</artifactId>\r
-                       <version>1.0</version>\r
-               </dependency>\r
-               <dependency>\r
-                       <groupId>org.opendaylight.controller</groupId>\r
-                       <artifactId>yang-model-api</artifactId>\r
-                       <version>1.0</version>\r
-               </dependency>\r
-       </dependencies>
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>yang-data-api</artifactId>\r
+        </dependency>\r
+        <dependency>\r
+            <groupId>org.opendaylight.controller</groupId>\r
+            <artifactId>yang-model-api</artifactId>\r
+        </dependency>\r
+    </dependencies>
 </project>
\ No newline at end of file
index a162f52d69198985ed16cc9ce3e469296a7869a4..96af32bc7ae394ba385f54b95fd8c3cbd38decfa 100644 (file)
@@ -18,7 +18,6 @@
                <dependency>\r
                        <groupId>org.opendaylight.controller</groupId>\r
                        <artifactId>yang-data-util</artifactId>\r
-                       <version>1.0</version>\r
                </dependency>\r
                <dependency>\r
                        <groupId>org.slf4j</groupId>\r
index db0ee84c4796f595b88fdfb3fc1484b5c20e291e..b67529ac35938b2c5b6e8d706e37c2a03dc22acc 100644 (file)
@@ -10,7 +10,6 @@
       <dependency>\r
           <groupId>org.opendaylight.controller</groupId>\r
           <artifactId>yang-model-api</artifactId>\r
-          <version>1.0</version>\r
       </dependency>\r
   </dependencies>\r
 </project>
\ No newline at end of file