--- /dev/null
+# NEMO
+.classpath
+.project
+.settings
+.metadata
+*/.classpath
+*/.project
+*/.settings
+*/.metadata
+
+# OS
+*~
+
+# Maven
+target/
+
+# ODL
+yang-gen-*/
--- /dev/null
+[gerrit]
+host=git.opendaylight.org
+port=29418
+project=nemo.git
+defaultbranch=master
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2015 Huawei, 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
+-->
+<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.yangtools</groupId>
+ <artifactId>binding-parent</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <relativePath />
+ </parent>
+
+ <groupId>org.opendaylight.nemo</groupId>
+ <artifactId>nemo-api</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+ <name>${project.artifactId}</name>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.opendaylight.yangtools</groupId>
+ <artifactId>yang-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate-sources</goal>
+ </goals>
+ <configuration>
+ <yangFilesRootDir>src/main/yang</yangFilesRootDir>
+ <codeGenerators>
+ <generator>
+ <codeGeneratorClass>
+ org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
+ </codeGeneratorClass>
+ <outputBaseDir>
+ ${salGeneratorPath}
+ </outputBaseDir>
+ </generator>
+ </codeGenerators>
+ <inspectDependencies>true</inspectDependencies>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.yangtools</groupId>
+ <artifactId>maven-sal-api-gen-plugin</artifactId>
+ <version>${yangtools.version}</version>
+ <type>jar</type>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+
+ <scm>
+ <connection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</connection>
+ <developerConnection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</developerConnection>
+ <url>https://wiki.opendaylight.org/view/NEMO:Main</url>
+ <tag>HEAD</tag>
+ </scm>
+</project>
\ No newline at end of file
--- /dev/null
+/*\r
+ * Copyright (c) 2015 Huawei Technologies Co., Ltd. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+\r
+module nemo-common{\r
+ yang-version 1; \r
+ namespace "urn:opendaylight:params:xml:ns:yang:nemo:common"; \r
+ prefix "nemo-common";\r
+ \r
+ revision "2015-06-29" {\r
+ description\r
+ "Initial revision.";\r
+ }\r
+ \r
+ /**********************\r
+ * Base types\r
+ **********************/\r
+ typedef description {\r
+ description "A human-readable description for a object.";\r
+ type string {\r
+ length "1..4096";\r
+ }\r
+ }\r
+ \r
+ typedef name {\r
+ description\r
+ "A generic string name type. Must start with a letter";\r
+ type string {\r
+ pattern '[a-zA-Z]([a-zA-Z0-9\-_.])*';\r
+ length "1..256";\r
+ }\r
+ }\r
+ \r
+ // UUID type from ietf-yang-types@2013-07-15\r
+ typedef uuid {\r
+ type string {\r
+ pattern '[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-'\r
+ + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}';\r
+ }\r
+ description\r
+ "A Universally Unique IDentifier in the string representation\r
+ defined in RFC 4122. The canonical representation uses\r
+ lowercase characters.\r
+\r
+ The following is an example of a UUID in string\r
+ representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6";\r
+ reference\r
+ "RFC 4122: A Universally Unique IDentifier (UUID) URN\r
+ Namespace";\r
+ }\r
+\r
+ typedef unique-id {\r
+ type uuid;\r
+ description "A globally unique identifier";\r
+ }\r
+ \r
+ /*********************\r
+ * Unique IDs\r
+ *********************/ \r
+ typedef object-id {\r
+ type unique-id;\r
+ description "A unique ID for a parameterized object";\r
+ }\r
+ \r
+ typedef node-definition-id {\r
+ type object-id;\r
+ description "A unique ID for a node definition.";\r
+ }\r
+ typedef node-instance-id {\r
+ type object-id;\r
+ description "A unique ID for a node instance.";\r
+ } \r
+ \r
+ typedef connection-definition-id {\r
+ type object-id;\r
+ description "A unique ID for a connection definition.";\r
+ }\r
+ typedef connection-instance-id {\r
+ type object-id;\r
+ description "A unique ID for a connection instance.";\r
+ } \r
+ \r
+ typedef flow-definition-id {\r
+ type object-id;\r
+ description "A unique ID for a flow definition.";\r
+ }\r
+ typedef flow-instance-id {\r
+ type object-id;\r
+ description "A unique ID for a flow instance.";\r
+ }\r
+ \r
+ typedef expected-definition-id {\r
+ type unique-id;\r
+ description "A unique ID for an expected definition.";\r
+ }\r
+ typedef expected-instance-id {\r
+ type unique-id;\r
+ description "A unique ID for an expected instance.";\r
+ }\r
+ \r
+ typedef avoid-definition-id {\r
+ type unique-id;\r
+ description "A unique ID for an avoid definition.";\r
+ }\r
+ typedef avoid-instance-id {\r
+ type unique-id;\r
+ description "A unique ID for an avoid instance.";\r
+ }\r
+ \r
+ typedef context-id {\r
+ type unique-id;\r
+ description "A unique ID for a context.";\r
+ }\r
+ \r
+ typedef intent-id {\r
+ type unique-id;\r
+ description "A unique ID for an intent.";\r
+ }\r
+ \r
+ typedef user-id {\r
+ type unique-id;\r
+ description "A unique ID for a user.";\r
+ }\r
+ \r
+ \r
+ \r
+ /*********************\r
+ * names\r
+ *********************/ \r
+ typedef object-name {\r
+ type name;\r
+ description "A name for a parameterized object";\r
+ }\r
+ \r
+ typedef node-instance-name {\r
+ type object-name;\r
+ description "A name for a node instance.";\r
+ } \r
+ \r
+ typedef connection-instance-name {\r
+ type object-name;\r
+ description "A name for a connection instance.";\r
+ } \r
+ \r
+ typedef flow-instance-name {\r
+ type object-name;\r
+ description "A name for a flow instance.";\r
+ } \r
+ \r
+ typedef node-property-name {\r
+ type name;\r
+ description "A name for a node property.";\r
+ } \r
+ \r
+ typedef connection-property-name {\r
+ type name;\r
+ description "A name for a connection property.";\r
+ } \r
+\r
+ typedef match-item-name {\r
+ type name;\r
+ description "A name for a flow match item.";\r
+ }\r
+ \r
+ typedef property-name {\r
+ type name;\r
+ description "A name for a property.";\r
+ }\r
+ \r
+ typedef parameter-name {\r
+ type name;\r
+ description "A name for a parameter.";\r
+ }\r
+ \r
+ typedef action-definition-name {\r
+ type name;\r
+ description "A name for an action definition.";\r
+ } \r
+ typedef action-instance-name {\r
+ type name;\r
+ description "A name for an action instance.";\r
+ } \r
+ typedef condition-definition-name {\r
+ type name;\r
+ description "A name for a condition definition.";\r
+ }\r
+ typedef condition-instance-name {\r
+ type name;\r
+ description "A name for a condition instance.";\r
+ }\r
+ typedef condition-parameter-name {\r
+ type name;\r
+ description "A name for a condition parameter.";\r
+ }\r
+ typedef constraint-definition-name {\r
+ type name;\r
+ description "A name for a constraint definition.";\r
+ }\r
+ typedef constraint-instance-name {\r
+ type name;\r
+ description "A name for a constraint instance.";\r
+ }\r
+ typedef constraint-parameter-name {\r
+ type name;\r
+ description "A name for a constraint parameter.";\r
+ }\r
+ \r
+\r
+ typedef data-name {\r
+ type name;\r
+ description "A name for an action data.";\r
+ }\r
+ \r
+ typedef context-name {\r
+ type name;\r
+ description "A name for an context";\r
+ }\r
+ \r
+ typedef intent-name {\r
+ type name;\r
+ description "A name for an intent.";\r
+ }\r
+ typedef user-name {\r
+ type name;\r
+ description "A name for a user.";\r
+ }\r
+ typedef expected-instance-name {\r
+ type name;\r
+ description "A name for an expected instance.";\r
+ }\r
+ typedef avoid-instance-name {\r
+ type name;\r
+ description "A name for an avoid instance.";\r
+ }\r
+ \r
+ \r
+ \r
+ /*********************\r
+ * types\r
+ *********************/ \r
+ typedef node-definition-type {\r
+ type name;\r
+ description "A type for a node."; \r
+ }\r
+ typedef connection-definition-type {\r
+ type name;\r
+ description "A type for a connection."; \r
+ }\r
+ typedef flow-definition-type {\r
+ type name;\r
+ description "A type for a flow."; \r
+ } \r
+ typedef node-instance-type {\r
+ type name;\r
+ description "A type for a node instance."; \r
+ } \r
+ typedef connection-instance-type {\r
+ type name;\r
+ description "A type for a connection instance."; \r
+ }\r
+ typedef flow-instance-type {\r
+ type name;\r
+ description "A type for a flow instance."; \r
+ }\r
+\r
+}\r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+ \r
+
\ No newline at end of file
--- /dev/null
+/*\r
+ * Copyright (c) 2015 Huawei Technologies Co., Ltd. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+ \r
+module nemo-intent {\r
+ yang-version 1; \r
+ namespace "urn:opendaylight:params:xml:ns:yang:nemo:intent"; \r
+ prefix "nemo-intent";\r
+ \r
+ import nemo-common {prefix nemo-common;}\r
+ import nemo-object {prefix nemo-object;}\r
+ import nemo-operation {prefix nemo-operation;}\r
+ import nemo-result {prefix nemo-result;}\r
+ \r
+ revision "2015-06-29" {\r
+ description\r
+ "Initial revision.";\r
+ }\r
+ \r
+ grouping intent-instance {\r
+ description "";\r
+ leaf intent-id {\r
+ description "A unique ID for the intent";\r
+ type nemo-common:intent-id; \r
+ mandatory true;\r
+ } \r
+ leaf intent-name {\r
+ description "A user-visible name for the intent";\r
+ type nemo-common:intent-name;\r
+ } \r
+ container objects {\r
+ description "";\r
+ list node {\r
+ key "node-id";\r
+ uses nemo-object:node-instance;\r
+ } \r
+ list connection {\r
+ key "connection-id";\r
+ uses nemo-object:connection-instance;\r
+ } \r
+ list flow {\r
+ key "flow-id";\r
+ uses nemo-object:flow-instance;\r
+ } \r
+ }\r
+ \r
+ container operation {\r
+ leaf apply-on-object {\r
+ type nemo-common:object-id;\r
+ mandatory true;\r
+ } \r
+ leaf priority{\r
+ type int64;\r
+ default 1;\r
+ }\r
+ uses nemo-operation:condition-instance;\r
+ uses nemo-operation:action-instance;\r
+ uses nemo-operation:constraint-instance; \r
+ }\r
+ \r
+ container result{\r
+ leaf result-to-object {\r
+ type nemo-common:object-id;\r
+ mandatory true;\r
+ } \r
+ leaf priority{\r
+ type int64;\r
+ default 1;\r
+ }\r
+ choice result-mode {\r
+ mandatory true;\r
+ case expected-case {\r
+ uses nemo-result:expected-instance;\r
+ }\r
+ case avoid-case{\r
+ uses nemo-result:avoid-instance;\r
+ } \r
+ } \r
+ } \r
+ container contexts{\r
+ list context {\r
+ key "context-id";\r
+ leaf context-id {\r
+ type nemo-common:context-id;\r
+ mandatory true;\r
+ }\r
+ leaf context-name{\r
+ type nemo-common:context-name;\r
+ mandatory true;\r
+ }\r
+ } \r
+ }\r
+ }\r
+ \r
+ container users {\r
+ description "The list of all known users";\r
+ list user {\r
+ description "";\r
+ key "user-id";\r
+ leaf user-id {\r
+ description "A unique ID for the user"; \r
+ type nemo-common:user-id;\r
+ mandatory true;\r
+ }\r
+ leaf user-name {\r
+ description "A user-visible name for the user";\r
+ type nemo-common:user-name;\r
+ mandatory false;\r
+ } \r
+ list intent{\r
+ key "intent-id";\r
+ uses intent-instance;\r
+ min-elements 1;\r
+ }\r
+ } \r
+ }\r
+ \r
+ rpc register-node-instance {\r
+ description "";\r
+ input {\r
+ uses nemo-object:node-instance;\r
+ }\r
+ }\r
+ \r
+ rpc unregister-node-instance {\r
+ description "";\r
+ input {\r
+ uses nemo-object:node-instance;\r
+ }\r
+ }\r
+ \r
+}
\ No newline at end of file
--- /dev/null
+/*\r
+ * Copyright (c) 2015 Huawei Technologies Co., Ltd. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+\r
+module nemo-object{\r
+ yang-version 1; \r
+ namespace "urn:opendaylight:params:xml:ns:yang:nemo:object"; \r
+ prefix "nemo-object";\r
+ \r
+ import nemo-common {prefix nemo-common;}\r
+ \r
+ revision "2015-06-29" {\r
+ description\r
+ "Initial revision.";\r
+ }\r
+ \r
+ grouping property-definition { \r
+ list property {\r
+ description "";\r
+ key "name";\r
+ leaf name {\r
+ description "A user-visible name for the property";\r
+ type nemo-common:property-name;\r
+ mandatory true;\r
+ }\r
+ leaf value-type {\r
+ description "The type of the property";\r
+ default string;\r
+ type enumeration {\r
+ enum string {\r
+ description "A string-valued property";\r
+ }\r
+ enum int {\r
+ description "An integer-valued property";\r
+ }\r
+ enum range {\r
+ description "An integer-range property";\r
+ }\r
+ }\r
+ }\r
+ leaf is-required {\r
+ description "Specify whether the property is\r
+ required for object.";\r
+ default optional;\r
+ type enumeration {\r
+ enum required {\r
+ description "The property is required";\r
+ }\r
+ enum optional {\r
+ description "The property is optional";\r
+ }\r
+ }\r
+ }\r
+ } \r
+ } \r
+ container node-definitions{\r
+ list node-definition{\r
+ description "";\r
+ key "id";\r
+ leaf id {\r
+ description "A unique ID for a kind of node definition";\r
+ type nemo-common:node-definition-id;\r
+ mandatory true;\r
+ } \r
+ leaf node-type{\r
+ description "A user-readable description";\r
+ type nemo-common:node-definition-type;\r
+ mandatory true; \r
+ }\r
+ uses property-definition; \r
+ } \r
+ } \r
+ container connection-definitions{\r
+ list connection-definition{\r
+ key "id";\r
+ leaf id {\r
+ description "A unique ID for a kind of connection definition";\r
+ type nemo-common:connection-definition-id;\r
+ mandatory true;\r
+ } \r
+ leaf connection-type{\r
+ description "A user-readable description";\r
+ type nemo-common:connection-definition-type;\r
+ mandatory true; \r
+ }\r
+ uses property-definition; \r
+ } \r
+ }\r
+ \r
+ \r
+ grouping match-item-definition{\r
+ \r
+ list match-item {\r
+ description "";\r
+ key "name";\r
+ leaf name {\r
+ description "A user-visible name for the match-item";\r
+ type nemo-common:match-item-name;\r
+ mandatory true;\r
+ }\r
+ leaf value-type {\r
+ description "The type of the match item";\r
+ default string;\r
+ type enumeration {\r
+ enum string {\r
+ description "A string-valued match item";\r
+ }\r
+ enum int {\r
+ description "An integer-valued match item";\r
+ }\r
+ enum range {\r
+ description "An integer-range match item";\r
+ }\r
+ }\r
+ }\r
+ leaf is-required {\r
+ description "Specify whether the match item is required \r
+ for the flow.";\r
+ default optional;\r
+ type enumeration {\r
+ enum required {\r
+ description "The match item is required";\r
+ }\r
+ enum optional {\r
+ description "The match item is optional";\r
+ }\r
+ }\r
+ }\r
+ } \r
+ } \r
+ container flow-definitions{\r
+ list flow-definition{\r
+ key "id";\r
+ leaf id {\r
+ description "A unique ID for a kind of flow definition";\r
+ type nemo-common:flow-definition-id;\r
+ mandatory true;\r
+ } \r
+ leaf flow-type{\r
+ description "A user-readable description";\r
+ type nemo-common:flow-definition-type;\r
+ mandatory true; \r
+ }\r
+ uses match-item-definition; \r
+ } \r
+ }\r
+ \r
+ grouping node-property-instance{\r
+ list property {\r
+ key "name";\r
+ leaf name {\r
+ type nemo-common:node-property-name;\r
+ mandatory true;\r
+ }\r
+ leaf string-value {\r
+ type string;\r
+ }\r
+ leaf int-value {\r
+ type int64;\r
+ }\r
+ container range-value {\r
+ leaf min {\r
+ type int64;\r
+ mandatory true;\r
+ }\r
+ leaf max {\r
+ type int64;\r
+ mandatory true;\r
+ }\r
+ }\r
+ } \r
+ } \r
+ grouping node-instance{\r
+ description "";\r
+ leaf node-id {\r
+ description "A unique ID for the node instance";\r
+ type nemo-common:node-instance-id;\r
+ mandatory true;\r
+ }\r
+ leaf node-name {\r
+ description\r
+ "A user-visible name for the node definition";\r
+ type nemo-common:node-instance-name;\r
+ }\r
+ leaf node-type {\r
+ type nemo-common:node-instance-type;\r
+ mandatory true; \r
+ }\r
+ container subnodes{ \r
+ leaf-list subnode-id{\r
+ type nemo-common:node-instance-id; \r
+ } \r
+ }\r
+ container property{\r
+ uses node-property-instance; \r
+ } \r
+ }\r
+ \r
+ grouping connection-property-instance{\r
+ list property {\r
+ key "name";\r
+ leaf name {\r
+ type nemo-common:connection-property-name;\r
+ mandatory true;\r
+ }\r
+ leaf string-value {\r
+ type string;\r
+ }\r
+ leaf int-value {\r
+ type int64;\r
+ }\r
+ container range-value {\r
+ leaf min {\r
+ type int64;\r
+ mandatory true;\r
+ }\r
+ leaf max {\r
+ type int64;\r
+ mandatory true;\r
+ }\r
+ }\r
+ } \r
+ } \r
+ grouping connection-instance {\r
+ description "";\r
+ leaf connection-id {\r
+ description "A unique ID for the connection instance";\r
+ type nemo-common:connection-instance-id;\r
+ mandatory true;\r
+ }\r
+ leaf connection-name {\r
+ description "A user-visible name for the connection instance";\r
+ type nemo-common:connection-instance-name;\r
+ mandatory false;\r
+ }\r
+ leaf connection-type {\r
+ type nemo-common:connection-instance-type;\r
+ mandatory true; \r
+ }\r
+ container endnodes{\r
+ list one-end{\r
+ key "node-id";\r
+ leaf node-id{\r
+ type nemo-common:node-instance-id; \r
+ }\r
+ min-elements 1;\r
+ } \r
+ list the-other-end{\r
+ key "node-id";\r
+ leaf node-id{\r
+ type nemo-common:node-instance-id;\r
+ }\r
+ min-elements 1; \r
+ } \r
+ }\r
+ container property{\r
+ uses connection-property-instance; \r
+ } \r
+ }\r
+ \r
+ grouping match-item-instance{\r
+ list match-item {\r
+ key "name";\r
+ leaf name {\r
+ type string;\r
+ mandatory true;\r
+ }\r
+ leaf string-value {\r
+ type string;\r
+ }\r
+ leaf int-value {\r
+ type int64;\r
+ }\r
+ container range-value {\r
+ leaf min {\r
+ type int64;\r
+ mandatory true;\r
+ }\r
+ leaf max {\r
+ type int64;\r
+ mandatory true;\r
+ }\r
+ }\r
+ } \r
+ }\r
+ grouping has-direction {\r
+ description "Object that have a directionality."; \r
+ leaf direction {\r
+ default bidirectional;\r
+ type enumeration {\r
+ enum in {\r
+ description\r
+ "Applies to flow into provider node";\r
+ }\r
+ enum out {\r
+ description\r
+ "Applies to flow out of provider node";\r
+ }\r
+ enum bidirectional {\r
+ description\r
+ "Applies to flow in both directions";\r
+ }\r
+ }\r
+ }\r
+ } \r
+ grouping flow-instance{\r
+ leaf flow-id {\r
+ description "A unique ID for the flow instance";\r
+ type nemo-common:flow-instance-id;\r
+ mandatory true;\r
+ }\r
+ leaf flow-name {\r
+ description "A user-visible name for the flow instance";\r
+ type nemo-common:flow-instance-name;\r
+ mandatory false;\r
+ }\r
+ leaf flow-type {\r
+ type nemo-common:flow-instance-type;\r
+ mandatory true; \r
+ }\r
+ container match {\r
+ uses has-direction;\r
+ uses match-item-instance;\r
+ }\r
+ } \r
+ \r
+}\r
--- /dev/null
+/*\r
+ * Copyright (c) 2015 Huawei Technologies Co., Ltd. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+\r
+module nemo-operation {\r
+\r
+ yang-version 1; \r
+ namespace "urn:opendaylight:params:xml:ns:yang:nemo:operation"; \r
+ prefix "nemo-operation";\r
+ \r
+ import nemo-common {prefix nemo-common;}\r
+ \r
+ revision "2015-06-29" {\r
+ description\r
+ "Initial revision.";\r
+ }\r
+ \r
+ grouping parameter-definition {\r
+ leaf name {\r
+ description "A user-visible name for parameter";\r
+ type nemo-common:parameter-name;\r
+ mandatory true;\r
+ } \r
+ leaf type {\r
+ description "The type of the parameter";\r
+ default string;\r
+ type enumeration {\r
+ enum string {\r
+ description "A string-valued parameter";\r
+ }\r
+ enum int {\r
+ description "An integer-valued parameter";\r
+ }\r
+ enum range {\r
+ description "An integer-range parameter";\r
+ }\r
+ }\r
+ } \r
+ leaf is-required {\r
+ description "Specify whether the parameter is required ";\r
+ default optional;\r
+ type enumeration {\r
+ enum required {\r
+ description "The parameter is required";\r
+ }\r
+ enum optional {\r
+ description "The parameter is optional";\r
+ }\r
+ }\r
+ } \r
+ }\r
+ \r
+ \r
+ container action-definitions {\r
+ list action-definition { \r
+ key "action-name";\r
+ leaf action-name {\r
+ description "A name for the action definition";\r
+ type nemo-common:action-definition-name;\r
+ mandatory true; \r
+ } \r
+ list data {\r
+ description\r
+ "data for the action that can be passed in.";\r
+ key "name"; \r
+ uses parameter-definition; \r
+ } \r
+ }\r
+ } \r
+ grouping action-parameter-instance{\r
+ leaf data-name {\r
+ type nemo-common:data-name;\r
+ mandatory true;\r
+ }\r
+ leaf string-value {\r
+ type string;\r
+ }\r
+ leaf int-value {\r
+ type int64;\r
+ }\r
+ container range-value {\r
+ leaf min {\r
+ type int64;\r
+ mandatory true;\r
+ }\r
+ leaf max {\r
+ type int64;\r
+ mandatory true;\r
+ }\r
+ } \r
+ } \r
+ grouping action-instance{\r
+ description " ";\r
+ leaf action-name{\r
+ type nemo-common:action-instance-name;\r
+ mandatory true;\r
+ }\r
+ list data {\r
+ key "data-name";\r
+ uses action-parameter-instance; \r
+ } \r
+ }\r
+ \r
+ container condition-definitions {\r
+ list condition-definition{\r
+ key "condition-name";\r
+ leaf condition-name{\r
+ type nemo-common:condition-definition-name;\r
+ mandatory true; \r
+ }\r
+ list condition-parameter{\r
+ key "name";\r
+ uses parameter-definition;\r
+ min-elements 1;\r
+ } \r
+ }\r
+ }\r
+ grouping conditon-parameter-instance{\r
+ leaf parameter-name {\r
+ type nemo-common:condition-parameter-name;\r
+ mandatory true;\r
+ }\r
+ leaf string-value {\r
+ type string;\r
+ }\r
+ leaf int-value {\r
+ type int64;\r
+ }\r
+ container range-value {\r
+ leaf min {\r
+ type int64;\r
+ mandatory true;\r
+ }\r
+ leaf max {\r
+ type int64;\r
+ mandatory true;\r
+ }\r
+ } \r
+ } \r
+ grouping condition-instance {\r
+ description " ";\r
+ leaf condition-name{\r
+ type nemo-common:condition-instance-name;\r
+ mandatory true; \r
+ } \r
+ list condition-parameter{\r
+ key "parameter-name";\r
+ uses conditon-parameter-instance;\r
+ min-elements 1;\r
+ }\r
+ }\r
+ \r
+ \r
+ container constraint-definitions {\r
+ list constraint-definition{\r
+ key "constraint-name";\r
+ leaf constraint-name{\r
+ type nemo-common:constraint-definition-name;\r
+ mandatory true; \r
+ }\r
+ list constraint-parameter{\r
+ key "name";\r
+ uses parameter-definition;\r
+ min-elements 1;\r
+ } \r
+ }\r
+ }\r
+ grouping constraint-parameter-instance{\r
+ leaf parameter-name {\r
+ type nemo-common:constraint-parameter-name;\r
+ mandatory true;\r
+ }\r
+ leaf string-value {\r
+ type string;\r
+ }\r
+ leaf int-value {\r
+ type int64;\r
+ }\r
+ container range-value {\r
+ leaf min {\r
+ type int64;\r
+ mandatory true;\r
+ }\r
+ leaf max {\r
+ type int64;\r
+ mandatory true;\r
+ }\r
+ } \r
+ } \r
+ grouping constraint-instance {\r
+ description " ";\r
+ leaf constraint-name{\r
+ type nemo-common:constraint-instance-name;\r
+ mandatory true; \r
+ } \r
+ list constraint-parameter{\r
+ key "parameter-name";\r
+ uses constraint-parameter-instance;\r
+ min-elements 1;\r
+ }\r
+ }\r
+ \r
+}
\ No newline at end of file
--- /dev/null
+/*\r
+ * Copyright (c) 2015 Huawei Technologies Co., Ltd. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+\r
+module nemo-result{\r
+\r
+ yang-version 1; \r
+ namespace "urn:opendaylight:params:xml:ns:yang:nemo:result"; \r
+ prefix "nemo-result";\r
+ \r
+ import nemo-common {prefix nemo-common;}\r
+ \r
+ revision "2015-06-29" {\r
+ description\r
+ "Initial revision.";\r
+ }\r
+ \r
+ container expected-definitons{\r
+ \r
+ } \r
+ \r
+ grouping expected-instance {\r
+ leaf expected-id {\r
+ type nemo-common:expected-instance-id;\r
+ mandatory true;\r
+ }\r
+ leaf expected-name{\r
+ type nemo-common:expected-instance-name;\r
+ mandatory false;\r
+ }\r
+ leaf expected-description {\r
+ type nemo-common:description;\r
+ } \r
+ }\r
+ \r
+ container avoid-definitons{\r
+ \r
+ }\r
+\r
+ grouping avoid-instance {\r
+ leaf avoid-id {\r
+ type nemo-common:avoid-instance-id;\r
+ mandatory true;\r
+ }\r
+ leaf avoid-name{\r
+ type nemo-common:avoid-instance-name;\r
+ mandatory false;\r
+ }\r
+ leaf avoid-description {\r
+ type nemo-common:description;\r
+ } \r
+ }\r
+ \r
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2015 Huawei, 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
+-->
+<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.nemo</groupId>
+ <artifactId>nemo-artifacts</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>${project.artifactId}</name>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nemo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nemo-impl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>openflow-renderer</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nemo-ui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nemo-features</artifactId>
+ <version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <scm>
+ <connection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</connection>
+ <developerConnection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</developerConnection>
+ <url>https://wiki.opendaylight.org/view/NEMO:Main</url>
+ <tag>HEAD</tag>
+ </scm>
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2015 Huawei, 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
+-->
+<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.odlparent</groupId>
+ <artifactId>features-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath/>
+ </parent>
+
+ <groupId>org.opendaylight.nemo</groupId>
+ <artifactId>nemo-features</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <name>${project.artifactId}</name>
+
+ <prerequisites>
+ <maven>3.1.1</maven>
+ </prerequisites>
+
+ <properties>
+ <mdsal.version>1.3.0-SNAPSHOT</mdsal.version>
+ <yangtools.version>0.8.0-SNAPSHOT</yangtools.version>
+ <dlux.version>0.3.0-SNAPSHOT</dlux.version>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.controller</groupId>
+ <artifactId>mdsal-artifacts</artifactId>
+ <version>${mdsal.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.dlux</groupId>
+ <artifactId>features-dlux</artifactId>
+ <version>${dlux.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.yangtools</groupId>
+ <artifactId>features-yangtools</artifactId>
+ <version>${yangtools.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.controller</groupId>
+ <artifactId>features-mdsal</artifactId>
+ <classifier>features</classifier>
+ <type>xml</type>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.controller</groupId>
+ <artifactId>features-restconf</artifactId>
+ <classifier>features</classifier>
+ <type>xml</type>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.dlux</groupId>
+ <artifactId>features-dlux</artifactId>
+ <version>${dlux.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nemo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nemo-impl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>openflow-renderer</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>openflow-renderer</artifactId>
+ <version>${project.version}</version>
+ <classifier>config</classifier>
+ <type>xml</type>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nemo-ui</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
+ <scm>
+ <connection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</connection>
+ <developerConnection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</developerConnection>
+ <url>https://wiki.opendaylight.org/view/NEMO:Main</url>
+ <tag>HEAD</tag>
+ </scm>
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+Copyright (c) 2015 Huawei, Inc and others. All rights reserved.\r
+This program and the accompanying materials are made available under the\r
+terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+and is available at http://www.eclipse.org/legal/epl-v10.html\r
+-->\r
+<features name="odl-nemo-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"\r
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+ xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">\r
+ <repository>mvn:org.opendaylight.yangtools/features-yangtools/${yangtools.version}/xml/features</repository>\r
+ <repository>mvn:org.opendaylight.controller/features-mdsal/${mdsal.version}/xml/features</repository>\r
+ <repository>mvn:org.opendaylight.controller/features-restconf/${mdsal.version}/xml/features</repository>\r
+ <repository>mvn:org.opendaylight.dlux/features-dlux/${dlux.version}/xml/features</repository>\r
+ <feature name='odl-nemo-api' version='${project.version}' description='OpenDaylight :: NEMO :: API'>\r
+ <feature version='${yangtools.version}'>odl-yangtools-models</feature>\r
+ <bundle>mvn:org.opendaylight.nemo/nemo-api/${project.version}</bundle>\r
+ </feature>\r
+ <feature name='odl-nemo-engine' version='${project.version}' description='OpenDaylight :: NEMO :: Engine'>\r
+ <feature version='${mdsal.version}'>odl-mdsal-broker</feature>\r
+ <feature version='${project.version}'>odl-nemo-api</feature>\r
+ <bundle>mvn:org.opendaylight.nemo/nemo-impl/${project.version}</bundle>\r
+ </feature>\r
+ <feature name='odl-nemo-engine-rest' version='${project.version}' description='OpenDaylight :: NEMO :: Engine :: REST'>\r
+ <feature version='${mdsal.version}'>odl-restconf</feature>\r
+ <feature version='${mdsal.version}'>odl-mdsal-apidocs</feature>\r
+ <feature version='${mdsal.version}'>odl-mdsal-xsql</feature>\r
+ <feature version='${project.version}'>odl-nemo-engine</feature>\r
+ </feature>\r
+ <feature name='odl-nemo-openflow-renderer' version='${project.version}' description='OpenDaylight :: NEMO :: OpenFlow Renderer'>\r
+ <feature version='${project.version}'>odl-nemo-engine</feature>\r
+ <bundle>mvn:org.opendaylight.nemo/openflow-renderer/${project.version}</bundle>\r
+ <configfile finalname='etc/opendaylight/karaf/00-nemo-openflow-renderer.xml'>mvn:org.opendaylight.nemo/openflow-renderer/${project.version}/xml/config</configfile>\r
+ </feature>\r
+ <feature name='odl-nemo-engine-ui' version='${project.version}' description='OpenDaylight :: NEMO :: Engine :: UI'>\r
+ <feature version='${dlux.version}'>odl-dlux-core</feature>\r
+ <feature version='${project.version}'>odl-nemo-engine-rest</feature>\r
+ <bundle>mvn:org.opendaylight.nemo/nemo-ui/${project.version}</bundle>\r
+ </feature>\r
+</features>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2015 Huawei, 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
+-->
+<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.yangtools</groupId>
+ <artifactId>binding-parent</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <relativePath />
+ </parent>
+
+ <groupId>org.opendaylight.nemo</groupId>
+ <artifactId>nemo-impl</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+ <name>${project.artifactId}</name>
+
+ <properties>
+ <jacoco.version>0.7.2.201409121644</jacoco.version>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nemo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jettison</groupId>
+ <artifactId>jettison</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco.version}</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>org.opendaylight.nemo.*</include>
+ </includes>
+ </configuration>
+ <executions>
+ <execution>
+ <id>pre-test</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>post-test</id>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <phase>test</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <scm>
+ <connection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</connection>
+ <developerConnection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</developerConnection>
+ <url>https://wiki.opendaylight.org/view/NEMO:Main</url>
+ <tag>HEAD</tag>
+ </scm>
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2015 Huawei, 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
+-->
+<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>karaf-parent</artifactId>
+ <version>1.6.0-SNAPSHOT</version>
+ <relativePath />
+ </parent>
+
+ <groupId>org.opendaylight.nemo</groupId>
+ <artifactId>nemo-karaf</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <name>${project.artifactId}</name>
+
+ <prerequisites>
+ <maven>3.1.1</maven>
+ </prerequisites>
+
+ <properties>
+ <feature.test.version>1.6.0-SNAPSHOT</feature.test.version>
+ <feature.mdsal.version>1.3.0-SNAPSHOT</feature.mdsal.version>
+ <feature.dlux.version>0.3.0-SNAPSHOT</feature.dlux.version>
+ <feature.flow.version>1.3.0-SNAPSHOT</feature.flow.version>
+ <feature.yangtools.version>0.8.0-SNAPSHOT</feature.yangtools.version>
+ <feature.adsal.version>0.10.0-SNAPSHOT</feature.adsal.version>
+ </properties>
+
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nemo-artifacts</artifactId>
+ <version>${project.version}</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.karaf.features</groupId>
+ <artifactId>framework</artifactId>
+ <type>kar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.controller</groupId>
+ <artifactId>features-mdsal</artifactId>
+ <version>${feature.mdsal.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.controller</groupId>
+ <artifactId>features-adsal</artifactId>
+ <classifier>features</classifier>
+ <version>${feature.adsal.version}</version>
+ <type>xml</type>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.dlux</groupId>
+ <artifactId>features-dlux</artifactId>
+ <version>${feature.dlux.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nemo-features</artifactId>
+ <version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
+ <scope>runtime</scope>
+ </dependency>
+ </dependencies>
+
+ <scm>
+ <connection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</connection>
+ <developerConnection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</developerConnection>
+ <url>https://wiki.opendaylight.org/view/NEMO:Main</url>
+ <tag>HEAD</tag>
+ </scm>
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2015 Huawei, 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
+-->
+<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>config-parent</artifactId>
+ <version>0.4.0-SNAPSHOT</version>
+ <relativePath />
+ </parent>
+
+ <groupId>org.opendaylight.nemo</groupId>
+ <artifactId>openflow-renderer</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+ <name>${project.artifactId}</name>
+
+ <properties>
+ <jacoco.version>0.7.2.201409121644</jacoco.version>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nemo-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nemo-impl</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jettison</groupId>
+ <artifactId>jettison</artifactId>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <version>${jacoco.version}</version>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.opendaylight.yangtools</groupId>
+ <artifactId>yang-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate-sources</goal>
+ </goals>
+ <configuration>
+ <yangFilesRootDir>src/main/yang</yangFilesRootDir>
+ <codeGenerators>
+ <generator>
+ <codeGeneratorClass>
+ org.opendaylight.yangtools.maven.sal.api.gen.plugin.CodeGeneratorImpl
+ </codeGeneratorClass>
+ <outputBaseDir>
+ ${salGeneratorPath}
+ </outputBaseDir>
+ </generator>
+ </codeGenerators>
+ <inspectDependencies>true</inspectDependencies>
+ </configuration>
+ </execution>
+ </executions>
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.yangtools</groupId>
+ <artifactId>maven-sal-api-gen-plugin</artifactId>
+ <version>${yangtools.version}</version>
+ <type>jar</type>
+ </dependency>
+ </dependencies>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>attach-artifacts</id>
+ <goals>
+ <goal>attach-artifact</goal>
+ </goals>
+ <phase>package</phase>
+ <configuration>
+ <artifacts>
+ <artifact>
+ <file>${project.build.directory}/classes/etc/opendaylight/karaf/config.xml</file>
+ <type>xml</type>
+ <classifier>config</classifier>
+ </artifact>
+ </artifacts>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.jacoco</groupId>
+ <artifactId>jacoco-maven-plugin</artifactId>
+ <configuration>
+ <includes>
+ <include>org.opendaylight.nemo.*</include>
+ </includes>
+ </configuration>
+ <executions>
+ <execution>
+ <id>pre-test</id>
+ <goals>
+ <goal>prepare-agent</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>post-test</id>
+ <goals>
+ <goal>report</goal>
+ </goals>
+ <phase>test</phase>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <scm>
+ <connection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</connection>
+ <developerConnection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</developerConnection>
+ <url>https://wiki.opendaylight.org/view/NEMO:Main</url>
+ <tag>HEAD</tag>
+ </scm>
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+Copyright (c) 2015 Huawei, Inc and others. All rights reserved.\r
+This program and the accompanying materials are made available under the\r
+terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+and is available at http://www.eclipse.org/legal/epl-v10.html\r
+-->\r
+<snapshot>\r
+ <configuration>\r
+ <data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">\r
+ <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">\r
+ <module>\r
+ <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:nemo:openflow:renderer:impl">prefix:openflow-renderer-impl</type>\r
+ <name>openflow-renderer-impl</name>\r
+ <data-broker>\r
+ <type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-async-data-broker</type>\r
+ <name>binding-data-broker</name>\r
+ </data-broker>\r
+ <rpc-registry>\r
+ <type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-rpc-registry</type>\r
+ <name>binding-rpc-broker</name>\r
+ </rpc-registry>\r
+ <notification-service>\r
+ <type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-notification-service</type>\r
+ <name>binding-notification-broker</name>\r
+ </notification-service>\r
+ </module>\r
+ </modules>\r
+ </data>\r
+ </configuration>\r
+\r
+ <required-capabilities></required-capabilities>\r
+</snapshot>
\ No newline at end of file
--- /dev/null
+/*\r
+ * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+\r
+module openflow-renderer-impl {\r
+ yang-version 1;\r
+\r
+ namespace "urn:opendaylight:params:xml:ns:yang:nemo:openflow:renderer:impl";\r
+ prefix "openflow-renderer-impl";\r
+\r
+ import config { prefix config; revision-date 2013-04-05; }\r
+ import opendaylight-md-sal-binding { prefix mdsal; revision-date 2013-10-28; }\r
+\r
+ description\r
+ "This module contains the base YANG definitions for\r
+ NEMO Openflow renderer implementation.";\r
+\r
+ revision "2015-07-01" {\r
+ description\r
+ "Initial revision.";\r
+ }\r
+\r
+ identity openflow-renderer-impl {\r
+ base config:module-type;\r
+ config:java-name-prefix OpenflowRenderer;\r
+ }\r
+\r
+ augment "/config:modules/config:module/config:configuration" {\r
+ case openflow-renderer-impl {\r
+ when "/config:modules/config:module/config:type = 'openflow-renderer-impl'";\r
+\r
+ container data-broker {\r
+ uses config:service-ref {\r
+ refine type {\r
+ mandatory false;\r
+ config:required-identity mdsal:binding-async-data-broker;\r
+ }\r
+ }\r
+ }\r
+ container rpc-registry {\r
+ uses config:service-ref {\r
+ refine type {\r
+ mandatory true;\r
+ config:required-identity mdsal:binding-rpc-registry;\r
+ }\r
+ }\r
+ }\r
+ container notification-service {\r
+ uses config:service-ref {\r
+ refine type {\r
+ mandatory true;\r
+ config:required-identity mdsal:binding-notification-service;\r
+ }\r
+ }\r
+ }\r
+ }\r
+ }\r
+}\r
--- /dev/null
+/*\r
+ * Copyright (c) 2015 Huawei, Inc. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+\r
+module openflow-renderer {\r
+ yang-version 1;\r
+\r
+ namespace "urn:opendaylight:params:xml:ns:yang:nemo:openflow:renderer";\r
+ prefix "openflow-renderer";\r
+\r
+ description\r
+ "This module defines the NEMO Openflow renderer model.";\r
+\r
+ revision "2015-07-01" {\r
+ description\r
+ "Initial revision.";\r
+ }\r
+}\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2015 Huawei, 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
+-->
+<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.nemo</groupId>
+ <artifactId>nemo.project</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.opendaylight.nemo</groupId>
+ <artifactId>nemo-renderers</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>${project.artifactId}</name>
+
+ <modules>
+ <module>openflow-renderer</module>
+ </modules>
+
+ <scm>
+ <connection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</connection>
+ <developerConnection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</developerConnection>
+ <url>https://wiki.opendaylight.org/view/NEMO:Main</url>
+ <tag>HEAD</tag>
+ </scm>
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2015 Huawei, 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
+-->
+<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.yangtools</groupId>
+ <artifactId>binding-parent</artifactId>
+ <version>0.8.0-SNAPSHOT</version>
+ <relativePath />
+ </parent>
+
+ <groupId>org.opendaylight.nemo</groupId>
+ <artifactId>nemo-ui</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+ <name>${project.artifactId}</name>
+
+ <properties>
+ <dlux.version>0.3.0-SNAPSHOT</dlux.version>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.opendaylight.dlux</groupId>
+ <artifactId>loader</artifactId>
+ <version>${dlux.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <resources>
+ <resource>
+ <directory>target/generated-resources</directory>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <version>2.6</version>
+ <executions>
+ <execution>
+ <id>unpack-loader-resources</id>
+ <goals>
+ <goal>unpack-dependencies</goal>
+ </goals>
+ <phase>generate-resources</phase>
+ <configuration>
+ <outputDirectory>${project.build.directory}/generated-resources</outputDirectory>
+ <groupId>org.opendaylight.nemo</groupId>
+ <includeArtifactIds>nemo-ui</includeArtifactIds>
+ <excludes>META-INF\/**</excludes>
+ <excludeTransitive>true</excludeTransitive>
+ <ignorePermissions>false</ignorePermissions>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Import-Package>
+ org.osgi.service.http,
+ org.osgi.framework;version="1.0.0",
+ org.opendaylight.dlux.loader,
+ org.slf4j
+ </Import-Package>
+ <Export-Package></Export-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <scm>
+ <connection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</connection>
+ <developerConnection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</developerConnection>
+ <url>https://wiki.opendaylight.org/view/NEMO:Main</url>
+ <tag>HEAD</tag>
+ </scm>
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (c) 2015 Huawei, 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
+-->
+<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>releasepom</artifactId>
+ <version>0.3.0-SNAPSHOT</version>
+ <relativePath />
+ </parent>
+
+ <groupId>org.opendaylight.nemo</groupId>
+ <artifactId>nemo.project</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+ <name>nemo</name>
+ <description>OpenDaylight NEMO</description>
+
+ <prerequisites>
+ <maven>3.1.1</maven>
+ </prerequisites>
+
+ <modules>
+ <module>nemo-artifacts</module>
+ <module>nemo-api</module>
+ <module>nemo-impl</module>
+ <module>nemo-ui</module>
+ <module>nemo-features</module>
+ <module>nemo-karaf</module>
+ <module>nemo-renderers</module>
+ </modules>
+
+ <url>https://wiki.opendaylight.org/view/NEMO:Main</url>
+
+ <licenses>
+ <license>
+ <name>Eclipse Public License v1.0</name>
+ <url>http://www.eclipse.org/legal/epl-v10.html</url>
+ <distribution>repo</distribution>
+ </license>
+ </licenses>
+
+ <developers>
+ <developer>
+ <name>Zhigang Ji</name>
+ <email>jizhigang@huawei.com</email>
+ <organization>Huawei, Inc</organization>
+ <organizationUrl>http://www.huawei.com</organizationUrl>
+ </developer>
+ </developers>
+
+ <scm>
+ <connection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</connection>
+ <developerConnection>scm:git:ssh://git.opendaylight.org:29418/nemo.git</developerConnection>
+ <url>https://wiki.opendaylight.org/view/NEMO:Main</url>
+ <tag>HEAD</tag>
+ </scm>
+</project>
\ No newline at end of file