Fixed resolving of schema path and qname for nodes added by augmentation.
[yangtools.git] / yang / yang-parser-impl / src / test / resources / grouping-test / uses-grouping.yang
1 module uses-grouping {
2     yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:uses-grouping";
4     prefix "ug";
5
6     import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
7     import grouping-definitions { prefix gd; revision-date 2013-09-04; }
8
9     organization "opendaylight";
10     contact "asdf";
11
12     revision "2013-07-30" {
13     }
14
15
16     grouping bandwidth-object {
17         uses gd:object-header;
18
19         container bandwidth {
20             uses gd:ieee754-32;
21         }
22     }
23
24     grouping endpoints-object {
25         uses gd:object;
26
27         choice address-family {
28             case ipv4 {
29                 leaf source-ipv4-address {
30                     type inet:ipv4-address;
31                     mandatory true;
32                 }
33             }
34             case ipv6 {
35                 leaf source-ipv6-address {
36                     type inet:ipv6-address;
37                     mandatory true;
38                 }
39             }
40         }
41     }
42
43     grouping lsp-attributes {
44         container bandwidth {
45             uses bandwidth-object;
46         }
47     }
48
49     grouping metric-object {
50         uses gd:object;
51         leaf metric-type {
52             type uint8;
53             mandatory true;
54         }
55     }
56
57     grouping path-key-object {
58         uses gd:object-header;
59
60         list path-keys {
61         }
62     }
63
64     grouping route-object {
65         uses gd:object-header;
66
67         list subobjects {
68         }
69     }
70
71     grouping svec-object {
72         uses gd:object-header;
73
74         leaf link-diverse {
75             type boolean;
76             default false;
77         }
78     }
79
80
81     notification pcreq {
82         uses gd:message-header;
83
84         list requests {
85             container rp {
86                 uses gd:rp-object;
87             }
88             container path-key-expansion {
89                 when "rp/path-key = true";
90                 container path-key {
91                     uses path-key-object {
92                         augment path-keys {
93                             uses gd:message-header;
94                         }
95                     }
96                 }
97             }
98             container segment-computation {
99                 when "rp/path-key = false";
100
101                 container p2p {
102                     when "../rp/p2mp = false";
103
104                     container endpoints {
105                         uses endpoints-object;
106                     }
107                     container reported-route {
108                         uses route-object;
109
110                         container bandwidth {
111                             uses bandwidth-object;
112                         }
113                     }
114
115                     uses lsp-attributes;
116                 }
117             }
118         }
119
120         list svec {
121             uses svec-object;
122             list metric {
123                 uses metric-object;
124             }
125         }
126     }
127
128 }