[ONOS-5088] YANG SBI Broker Implementation.

Change-Id: Ibe87e095a4c209c54e3e90aceca0ec9097c5ede0
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/Combined.yang b/apps/yms/app/src/test/resources/ychTestResourceFiles/Combined.yang
new file mode 100644
index 0000000..a9c2f48
--- /dev/null
+++ b/apps/yms/app/src/test/resources/ychTestResourceFiles/Combined.yang
@@ -0,0 +1,114 @@
+module Combined {
+
+    yang-version 1;
+    namespace "ych:combined";
+    prefix "combined";
+
+    organization "Huawei India Pvt. Ltd.";
+
+    description "This module defines for purchasing-supervisor.";
+
+    revision "2016-05-24" {
+        description "Initial revision.";
+    }
+
+    typedef protocol-version {
+        type uint8 {
+            range 1..7;
+        }
+    }
+
+    typedef path-id {
+        type uint32;
+        default 0;
+        description
+            "Identifier of a single path. The identifier does not
+             carry any semantic meaning beyond uniquely identifying
+             a path.";
+    }
+
+    typedef as-num {
+        type uint32;
+        default 0;
+        description
+            "Identifier of a single path. The identifier does not
+             carry any semantic meaning beyond uniquely identifying
+             a path.";
+    }
+
+    typedef metric {
+        type uint32;
+        default 0;
+        description
+            "Identifier of a single path. The identifier does not
+             carry any semantic meaning beyond uniquely identifying
+             a path.";
+    }
+
+    container attributes {
+        container origin {
+            reference "http://tools.ietf.org/html/rfc4271#section-5.1.1";
+            leaf value {
+                type path-id;
+                mandatory true;
+            }
+        }
+        container multi-exit-disc {
+            reference "http://tools.ietf.org/html/rfc4271#section-5.1.4";
+            leaf med {
+                type uint32;
+            }
+        }
+        container local-pref {
+            reference "http://tools.ietf.org/html/rfc4271#section-5.1.5";
+            leaf pref {
+                type uint32;
+            }
+        }
+        container aigp {
+            container aigp-tlv {
+                leaf metric {
+                    type metric;
+                }
+            }
+        }
+
+        list unrecognized-attributes {
+            key type;
+            leaf partial {
+                type boolean;
+                mandatory true;
+            }
+            leaf transitive {
+                type boolean;
+                mandatory true;
+            }
+            leaf type {
+                type uint8;
+                mandatory true;
+            }
+            leaf value {
+                type binary {
+                    length 0..65535;
+                }
+                mandatory true;
+            }
+        }
+
+        list bgp-parameters {
+            config false;
+            list optional-capabilities {
+                config false;
+                reference "http://tools.ietf.org/html/rfc5492#section-4";
+                container c-parameters {
+                    container as4-bytes-capability {
+                        reference "http://tools.ietf.org/html/rfc6793";
+                        leaf as-number {
+                            type as-num;
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/EmptyContainer.yang b/apps/yms/app/src/test/resources/ychTestResourceFiles/EmptyContainer.yang
new file mode 100644
index 0000000..92106e9
--- /dev/null
+++ b/apps/yms/app/src/test/resources/ychTestResourceFiles/EmptyContainer.yang
@@ -0,0 +1,19 @@
+module EmptyContainer {
+
+    yang-version 1;
+
+    namespace "ych.Empty.Container";
+
+    prefix "purchasing";
+
+    organization "ON-LAB";
+
+    description "This module defines for purchasing-supervisor.";
+
+    revision "2016-05-24" {
+        description "Initial revision.";
+    }
+
+    container EmptyContainer {
+    }
+}
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/combinedrootname.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/combinedrootname.xml
new file mode 100644
index 0000000..1997f3d
--- /dev/null
+++ b/apps/yms/app/src/test/resources/ychTestResourceFiles/combinedrootname.xml
@@ -0,0 +1,98 @@
+<rpc message-id="101"
+     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+    <edit-config>
+        <target>
+            <running/>
+        </target>
+        <filter xmlns="ydt.filter-type" type="subtree">
+            <Combined xmlns="ych:combined">
+                <attributes>
+                    <origin>
+                        <value>123</value>
+                    </origin>
+                    <multi-exit-disc>
+                        <med>456</med>
+                    </multi-exit-disc>
+                    <local-pref>
+                        <pref>23</pref>
+                    </local-pref>
+                    <aigp>
+                        <aigp-tlv>
+                            <metric>456</metric>
+                        </aigp-tlv>
+                    </aigp>
+                    <unrecognized-attributes>
+                        <partial>false</partial>
+                        <transitive>false</transitive>
+                        <type>1</type>
+                        <value>QUJD</value>
+                    </unrecognized-attributes>
+                    <unrecognized-attributes>
+                        <partial>true</partial>
+                        <transitive>true</transitive>
+                        <type>2</type>
+                        <value>QUJD</value>
+                    </unrecognized-attributes>
+                    <unrecognized-attributes>
+                        <partial>true</partial>
+                        <transitive>false</transitive>
+                        <type>3</type>
+                        <value>QUJD</value>
+                    </unrecognized-attributes>
+                    <unrecognized-attributes>
+                        <partial>false</partial>
+                        <transitive>true</transitive>
+                        <type>4</type>
+                        <value>QUJD</value>
+                    </unrecognized-attributes>
+                    <bgp-parameters>
+                        <optional-capabilities>
+                            <c-parameters>
+                                <as4-bytes-capability>
+                                    <as-number>11</as-number>
+                                </as4-bytes-capability>
+                            </c-parameters>
+                        </optional-capabilities>
+                        <optional-capabilities>
+                            <c-parameters>
+                                <as4-bytes-capability>
+                                    <as-number>22</as-number>
+                                </as4-bytes-capability>
+                            </c-parameters>
+                        </optional-capabilities>
+                        <optional-capabilities>
+                            <c-parameters>
+                                <as4-bytes-capability>
+                                    <as-number>33</as-number>
+                                </as4-bytes-capability>
+                            </c-parameters>
+                        </optional-capabilities>
+                    </bgp-parameters>
+                    <bgp-parameters>
+                        <optional-capabilities>
+                            <c-parameters>
+                                <as4-bytes-capability>
+                                    <as-number>33</as-number>
+                                </as4-bytes-capability>
+                            </c-parameters>
+                        </optional-capabilities>
+                        <optional-capabilities>
+                            <c-parameters>
+                                <as4-bytes-capability>
+                                    <as-number>33</as-number>
+                                </as4-bytes-capability>
+                            </c-parameters>
+                        </optional-capabilities>
+                        <optional-capabilities>
+                            <c-parameters>
+                                <as4-bytes-capability>
+                                    <as-number>33</as-number>
+                                </as4-bytes-capability>
+                            </c-parameters>
+                        </optional-capabilities>
+                    </bgp-parameters>
+                </attributes>
+            </Combined>
+        </filter>
+    </edit-config>
+</rpc>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/configrootname.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/configrootname.xml
new file mode 100644
index 0000000..c8509f1
--- /dev/null
+++ b/apps/yms/app/src/test/resources/ychTestResourceFiles/configrootname.xml
@@ -0,0 +1,20 @@
+<rpc message-id="101"
+     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+    <edit-config>
+        <target>
+            <running/>
+        </target>
+        <config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
+            <Logistics-manager xmlns="ydt.root">
+                <Customs-supervisor>abc</Customs-supervisor>
+                <Purchasing-supervisor xmlns="ydt.root">
+                    <purchasing-specialist>bcd</purchasing-specialist>
+                    <support>cde</support>
+                </Purchasing-supervisor>
+            </Logistics-manager>
+            <merchandisersupervisor xmlns="ydt.Merchandiser-supervisor">
+                <supervisor>abc</supervisor>
+            </merchandisersupervisor>
+        </config>
+    </edit-config>
+</rpc>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/configrootnameOperationType.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/configrootnameOperationType.xml
new file mode 100644
index 0000000..6cecea49
--- /dev/null
+++ b/apps/yms/app/src/test/resources/ychTestResourceFiles/configrootnameOperationType.xml
@@ -0,0 +1,20 @@
+<rpc message-id="101"
+     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+    <edit-config>
+        <target>
+            <running/>
+        </target>
+        <config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
+            <Logistics-manager xmlns="ydt.root">
+                <Customs-supervisor>abc</Customs-supervisor>
+                <Purchasing-supervisor xmlns="ydt.root" operation="delete">
+                    <purchasing-specialist>bcd</purchasing-specialist>
+                    <support>cde</support>
+                </Purchasing-supervisor>
+            </Logistics-manager>
+            <merchandisersupervisor xmlns="ydt.Merchandiser-supervisor">
+                <supervisor>abc</supervisor>
+            </merchandisersupervisor>
+        </config>
+    </edit-config>
+</rpc>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/getReply.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/getReply.xml
new file mode 100644
index 0000000..b6d11fe
--- /dev/null
+++ b/apps/yms/app/src/test/resources/ychTestResourceFiles/getReply.xml
@@ -0,0 +1,11 @@
+<rpc-reply message-id="101"
+           xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
+           xmlns:ex="http://example.net/content/1.0">
+    <data>
+        <Logistics-manager xmlns="ydt.root">
+            <Purchasing-supervisor xmlns="ydt.root">
+                <purchasing-specialist>bcd</purchasing-specialist>
+            </Purchasing-supervisor>
+        </Logistics-manager>
+    </data>
+</rpc-reply>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigReply.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigReply.xml
new file mode 100644
index 0000000..e27beab
--- /dev/null
+++ b/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigReply.xml
@@ -0,0 +1,8 @@
+<rpc message-id="101"
+     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+    <data>
+       <merchandisersupervisor xmlns="ydt.Merchandiser-supervisor">
+            <supervisor>abc</supervisor>
+       </merchandisersupervisor>
+    </data>
+</rpc>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigemptycontainer.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigemptycontainer.xml
new file mode 100644
index 0000000..adc7902
--- /dev/null
+++ b/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigemptycontainer.xml
@@ -0,0 +1,11 @@
+<rpc message-id="101"
+     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+    <get-config>
+        <source>
+            <running/>
+        </source>
+        <filter xmlns="ydt.filter-type" type="subtree">
+            <EmptyContainer xmlns="ych.Empty.Container"/>
+        </filter>
+    </get-config>
+</rpc>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigrootname.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigrootname.xml
new file mode 100644
index 0000000..df69691
--- /dev/null
+++ b/apps/yms/app/src/test/resources/ychTestResourceFiles/getconfigrootname.xml
@@ -0,0 +1,13 @@
+<rpc message-id="101"
+     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+    <get-config>
+        <source>
+            <running/>
+        </source>
+        <filter type="subtree">
+            <merchandisersupervisor xmlns="ydt.Merchandiser-supervisor">
+                <supervisor>abc</supervisor>
+            </merchandisersupervisor>
+        </filter>
+    </get-config>
+</rpc>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/getrootname.xml b/apps/yms/app/src/test/resources/ychTestResourceFiles/getrootname.xml
new file mode 100644
index 0000000..9773893
--- /dev/null
+++ b/apps/yms/app/src/test/resources/ychTestResourceFiles/getrootname.xml
@@ -0,0 +1,12 @@
+<rpc message-id="101"
+     xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+    <get>
+        <filter type="subtree">
+            <Logistics-manager xmlns="ydt.root">
+                <Purchasing-supervisor xmlns="ydt.root">
+                    <purchasing-specialist>bcd</purchasing-specialist>
+                </Purchasing-supervisor>
+            </Logistics-manager>
+        </filter>
+    </get>
+</rpc>
\ No newline at end of file
diff --git a/apps/yms/app/src/test/resources/ychTestResourceFiles/purchasingsupervisor.yang b/apps/yms/app/src/test/resources/ychTestResourceFiles/purchasingsupervisor.yang
new file mode 100644
index 0000000..507c64e
--- /dev/null
+++ b/apps/yms/app/src/test/resources/ychTestResourceFiles/purchasingsupervisor.yang
@@ -0,0 +1,28 @@
+module ych-purchasingsupervisor {
+
+    yang-version 1;
+
+    namespace "ych.purchasing-supervisor";
+
+    prefix "purchasing";
+
+    organization "ON-LAB";
+
+    description "This module defines for purchasing-supervisor.";
+
+    revision "2016-05-24" {
+        description "Initial revision.";
+    }
+
+    container ych-purchasing-supervisor {
+        leaf ych-purchasing-specialist {
+            type string;
+            description "name of the purchasing-specialist person";
+        }
+
+        leaf ych-purchasing-support {
+            type string;
+            description "name of the support person";
+        }
+    }
+}
\ No newline at end of file