From: Martin Vitez Date: Fri, 19 Jul 2013 09:15:10 +0000 (+0200) Subject: Projects moved under correct parent. X-Git-Tag: releasepom-0.1.0~267^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=ba1a5528e27b0ae8a883fa7b768d803659bf9336 Projects moved under correct parent. Moved code-generator/maven-yang -> yang/. Moved code-generator/maven-yang-plugin -> yang/. Moved code-generator/maven-yang-plugin-it -> yang/. Moved code-generator/yang-model-parser-api -> yang/. Moved code-generator/yang-model-parser-impl -> yang/. Configured site plugin for project. Fixed some javadocs. Fixed bug in ParserUtils causing NullPointerException. Fixed bug in resolving uses statement. Improved tests. Change-Id: Ia7567544fbe006f0cf87055c6633c04b5ce2c50e Signed-off-by: Martin Vitez --- diff --git a/opendaylight/sal/yang-prototype/code-generator/binding-model-api/pom.xml b/opendaylight/sal/yang-prototype/code-generator/binding-model-api/pom.xml index f9f4c8398b..972b60c0f7 100644 --- a/opendaylight/sal/yang-prototype/code-generator/binding-model-api/pom.xml +++ b/opendaylight/sal/yang-prototype/code-generator/binding-model-api/pom.xml @@ -1,9 +1,15 @@ - - 4.0.0 - - org.opendaylight.controller - binding-generator - 0.5.4-SNAPSHOT - - binding-model-api + + + + org.opendaylight.controller + binding-generator + 0.5.4-SNAPSHOT + + + 4.0.0 + binding-model-api + ${project.artifactId} + ${project.artifactId} + diff --git a/opendaylight/sal/yang-prototype/code-generator/pom.xml b/opendaylight/sal/yang-prototype/code-generator/pom.xml index 8776bd98ab..3776cf8bc7 100644 --- a/opendaylight/sal/yang-prototype/code-generator/pom.xml +++ b/opendaylight/sal/yang-prototype/code-generator/pom.xml @@ -1,18 +1,18 @@ - - 4.0.0 + org.opendaylight.controller yang-prototype 0.5-SNAPSHOT - 0.5.4-SNAPSHOT + 4.0.0 + 0.5.4-SNAPSHOT binding-generator pom - binding-generator + ${project.artifactId} + ${project.artifactId} UTF-8 @@ -133,22 +133,7 @@ 1.7 - - org.apache.maven.plugins - maven-javadoc-plugin - 2.8.1 - - maven - - - - - aggregate - - site - - - + diff --git a/opendaylight/sal/yang-prototype/code-generator/src/site/site.xml b/opendaylight/sal/yang-prototype/code-generator/src/site/site.xml new file mode 100644 index 0000000000..80ff3a4b99 --- /dev/null +++ b/opendaylight/sal/yang-prototype/code-generator/src/site/site.xml @@ -0,0 +1,16 @@ + + + + org.apache.maven.skins + maven-fluido-skin + 1.3.0 + + + + + + + + + + diff --git a/opendaylight/sal/yang-prototype/concepts-lang/pom.xml b/opendaylight/sal/yang-prototype/concepts-lang/pom.xml index 68fe50d238..e6ed882aaa 100644 --- a/opendaylight/sal/yang-prototype/concepts-lang/pom.xml +++ b/opendaylight/sal/yang-prototype/concepts-lang/pom.xml @@ -1,11 +1,16 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + yang-prototype org.opendaylight.controller 0.5-SNAPSHOT + + 4.0.0 concepts-lang jar - \ No newline at end of file + ${project.artifactId} + ${project.artifactId} + + diff --git a/opendaylight/sal/yang-prototype/concepts-lang/src/site/site.xml b/opendaylight/sal/yang-prototype/concepts-lang/src/site/site.xml new file mode 100644 index 0000000000..80ff3a4b99 --- /dev/null +++ b/opendaylight/sal/yang-prototype/concepts-lang/src/site/site.xml @@ -0,0 +1,16 @@ + + + + org.apache.maven.skins + maven-fluido-skin + 1.3.0 + + + + + + + + + + diff --git a/opendaylight/sal/yang-prototype/model/ietf/ietf-inet-types/pom.xml b/opendaylight/sal/yang-prototype/model/ietf/ietf-inet-types/pom.xml index e9fa751143..06d1189aa0 100644 --- a/opendaylight/sal/yang-prototype/model/ietf/ietf-inet-types/pom.xml +++ b/opendaylight/sal/yang-prototype/model/ietf/ietf-inet-types/pom.xml @@ -1,11 +1,16 @@ - 4.0.0 + model-ietf org.opendaylight.controller 0.5-SNAPSHOT + + 4.0.0 ietf-inet-types 2010.09.24-SNAPSHOT - \ No newline at end of file + ${project.artifactId} + ${project.artifactId} + + diff --git a/opendaylight/sal/yang-prototype/model/ietf/ietf-yang-types/pom.xml b/opendaylight/sal/yang-prototype/model/ietf/ietf-yang-types/pom.xml index 4831cf1bc8..1ad4e4a78e 100644 --- a/opendaylight/sal/yang-prototype/model/ietf/ietf-yang-types/pom.xml +++ b/opendaylight/sal/yang-prototype/model/ietf/ietf-yang-types/pom.xml @@ -1,11 +1,16 @@ - 4.0.0 + model-ietf org.opendaylight.controller 0.5-SNAPSHOT + + 4.0.0 ietf-yang-types 2010.09.24-SNAPSHOT - \ No newline at end of file + ${project.artifactId} + ${project.artifactId} + + diff --git a/opendaylight/sal/yang-prototype/model/ietf/pom.xml b/opendaylight/sal/yang-prototype/model/ietf/pom.xml index aadde16857..a5b87b03ea 100644 --- a/opendaylight/sal/yang-prototype/model/ietf/pom.xml +++ b/opendaylight/sal/yang-prototype/model/ietf/pom.xml @@ -1,15 +1,21 @@ - 4.0.0 + model-parent org.opendaylight.controller 0.5-SNAPSHOT + + 4.0.0 model-ietf pom + ${project.artifactId} + ${project.artifactId} + - ietf-inet-types - ietf-yang-types + ietf-inet-types + ietf-yang-types - \ No newline at end of file + + diff --git a/opendaylight/sal/yang-prototype/model/pom.xml b/opendaylight/sal/yang-prototype/model/pom.xml index 44f59bc36b..2c14ea6d61 100644 --- a/opendaylight/sal/yang-prototype/model/pom.xml +++ b/opendaylight/sal/yang-prototype/model/pom.xml @@ -1,18 +1,23 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + yang-prototype org.opendaylight.controller 0.5-SNAPSHOT + + 4.0.0 model-parent pom + ${project.artifactId} + ${project.artifactId} + ietf model-topology model-openflow - + @@ -72,7 +77,8 @@ - + org.eclipse.m2e lifecycle-mapping @@ -108,6 +114,7 @@ + org.opendaylight.controller @@ -120,4 +127,5 @@ 0.5.4-SNAPSHOT + diff --git a/opendaylight/sal/yang-prototype/model/src/site/site.xml b/opendaylight/sal/yang-prototype/model/src/site/site.xml new file mode 100644 index 0000000000..80ff3a4b99 --- /dev/null +++ b/opendaylight/sal/yang-prototype/model/src/site/site.xml @@ -0,0 +1,16 @@ + + + + org.apache.maven.skins + maven-fluido-skin + 1.3.0 + + + + + + + + + + diff --git a/opendaylight/sal/yang-prototype/pom.xml b/opendaylight/sal/yang-prototype/pom.xml index 1946bcd5e3..2f2df0a04d 100644 --- a/opendaylight/sal/yang-prototype/pom.xml +++ b/opendaylight/sal/yang-prototype/pom.xml @@ -1,10 +1,63 @@ + 4.0.0 org.opendaylight.controller yang-prototype 0.5-SNAPSHOT pom + ${project.artifactId} + + YANG Tools is a infrastructure project aiming to develop necessary tooling and libraries providing support of + NETCONF and YANG for Java (JVM-language based) projects and applications, such as Model Driven SAL for + Controller (which uses YANG as it's modeling language) and Netconf / OFConfig plugins. + + + + + ttkacik + Tony Tkacik + ttkacik@cisco.com + OpenDaylight + + + rovarga + Robert Varga + rovarga@cisco.com + OpenDaylight + + + lsedlak + Lukas Sedlak + lsedlak@cisco.com + OpenDaylight + + + mvitez + Martin Vitez + mvitez@cisco.com + OpenDaylight + + + jmedved + Jan Medved + jmedved@cisco.com + OpenDaylight + + + jgloncak + Jozef Gloncak + jgloncak@cisco.com + OpenDaylight + + + mirehak + Michal Rehak + mirehak@cisco.com + OpenDaylight + + + concepts-lang yang @@ -17,6 +70,7 @@ http://nexus.opendaylight.org/content dav:http://nexus.opendaylight.org/content/sites/site 3.2 + ${project.basedir}/src/site/resources/stylesheet.css 2.6 UTF-8 2.3.2 @@ -75,8 +129,8 @@ ops4j-releases ${nexusproxy}/repositories/ops4j-releases/ - + thirdparty thirdparty @@ -113,14 +167,12 @@ opendaylight-snapshot ${nexusproxy}/repositories/opendaylight.snapshot/ - - + + ${project.artifactId}-site + ./ + - @@ -138,28 +190,7 @@ - - - - - org.apache.maven.plugins - maven-source-plugin - 2.2.1 - - - org.apache.maven.plugins - maven-deploy-plugin - 2.7 - - - org.apache.maven.plugins - maven-surefire-plugin - 2.15 - - - - org.apache.maven.plugins @@ -171,52 +202,155 @@ 1.7 + + maven-source-plugin + + + attach-sources + deploy + + jar-no-fork + + + + + + + maven-deploy-plugin + + + deploy + deploy + + deploy + + + + + org.apache.maven.plugins maven-javadoc-plugin - 2.8.1 - maven + ${defaultStylesheet} + + *.opendaylight.controller.antlrv4.code.gen + + aggregate aggregate site - - - attach-javadocs - deploy - jar - - - - - maven-source-plugin - + - attach-sources + attach-javadocs deploy - jar-no-fork + + jar + - + + + + + org.apache.maven.plugins + maven-site-plugin + false + + + org.apache.maven.doxia + doxia-module-markdown + 1.3 + + + + ${project.basedir}/src/site + UTF-8 + UTF-8 + - - - maven-deploy-plugin - - - deploy - deploy - deploy - - - + + + + + org.apache.maven.plugins + maven-source-plugin + 2.2.1 + + + org.apache.maven.plugins + maven-deploy-plugin + 2.7 + + + org.apache.maven.plugins + maven-surefire-plugin + 2.15 + + + org.apache.maven.plugins + maven-site-plugin + + + org.apache.maven.doxia + doxia-module-markdown + 1.3 + + + + ${project.parent.basedir}/src/site + UTF-8 + UTF-8 + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.9.1 + + ${defaultStylesheet} + + + + aggregate + + aggregate + + site + + + attach-javadocs + deploy + + jar + + + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.9.1 + + + + javadoc + + + + org.codehaus.mojo findbugs-maven-plugin @@ -234,6 +368,7 @@ + viewbuild diff --git a/opendaylight/sal/yang-prototype/src/site/markdown/readme.md b/opendaylight/sal/yang-prototype/src/site/markdown/readme.md new file mode 100644 index 0000000000..1faff043e1 --- /dev/null +++ b/opendaylight/sal/yang-prototype/src/site/markdown/readme.md @@ -0,0 +1,24 @@ +YANG tools +==================== + +Project documentation +--------------------- + +### Description + +YANG Tools is a infrastructure project aiming to develop necessary tooling and libraries providing support of NETCONF and YANG for Java (JVM-language based) projects and applications, such as Model Driven SAL for Controller (which uses YANG as it's modeling language) and Netconf / OFConfig plugins. + +### Scope + +The scope of YANG Tools includes: + +* Parser of YANG files +* Java meta-model for YANG +* Java binding for YANG +* Maven plugin for processing YANG files +* Infrastructure for code generators based on YANG +* Validation of instance data (XML) based on YANG to RelaxNG mapping - RFC6110 +* Proof-of-concept, research and support for new YANG extensions, which are meant to be reused by other projects. +* IDE related tools to assist in writing, using and developing YANG models +* Libraries and supporting functionality for YANG API (REST APIs defined by the YANG model). + diff --git a/opendaylight/sal/yang-prototype/src/site/resources/stylesheet.css b/opendaylight/sal/yang-prototype/src/site/resources/stylesheet.css new file mode 100644 index 0000000000..19365864f5 --- /dev/null +++ b/opendaylight/sal/yang-prototype/src/site/resources/stylesheet.css @@ -0,0 +1,522 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ +body { + background-color:#ffffff; + color:#353833; + font-family:Arial, Helvetica, sans-serif; + font-size:76%; + margin:0; +} +a:link, a:visited { + text-decoration:none; + color:#4c6b87; +} +a:hover, a:focus { + text-decoration:none; + color:#bb7a2a; +} +a:active { + text-decoration:none; + color:#4c6b87; +} +a[name] { + color:#353833; +} +a[name]:hover { + text-decoration:none; + color:#353833; +} +pre { + font-size:1.3em; +} +h1 { + font-size:1.8em; +} +h2 { + font-size:1.5em; +} +h3 { + font-size:1.4em; +} +h4 { + font-size:1.3em; +} +h5 { + font-size:1.2em; +} +h6 { + font-size:1.1em; +} +ul { + list-style-type:disc; +} +code, tt { + font-size:1.2em; +} +dt code { + font-size:1.2em; +} +table tr td dt code { + font-size:1.2em; + vertical-align:top; +} +sup { + font-size:.6em; +} +/* +Document title and Copyright styles +*/ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:.8em; + z-index:200; + margin-top:-7px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + background-image:url(resources/titlebar.gif); + background-position:left top; + background-repeat:no-repeat; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* +Navigation bar styles +*/ +.bar { + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:1em; + margin:0; +} +.topNav { + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; +} +.bottomNav { + margin-top:10px; + background-image:url(resources/background.gif); + background-repeat:repeat-x; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; +} +.subNav { + background-color:#dee3e9; + border-bottom:1px solid #9eadc0; + float:left; + width:100%; + overflow:hidden; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding:3px 6px; +} +ul.subNavList li{ + list-style:none; + float:left; + font-size:90%; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; +} +.navBarCell1Rev { + background-image:url(resources/tab.gif); + background-color:#a88834; + color:#FFFFFF; + margin: auto 5px; + border:1px solid #c9aa44; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexHeader { + margin:10px; + position:relative; +} +.indexHeader span{ + margin-right:15px; +} +.indexHeader h1 { + font-size:1.3em; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 25px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:1.2em; +} +/* +Heading styles +*/ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + margin:0 0 6px -8px; + padding:2px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + margin:0 0 6px -8px; + padding:2px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:1.0em; +} +.indexContainer h2 { + font-size:1.1em; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:1.1em; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:10px 0 10px 20px; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* +List styles +*/ +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:25px; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #9eadc0; + background-color:#f9f9f9; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:1px solid #9eadc0; + border-top:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; + border-bottom:1px solid #9eadc0; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* +Table styles +*/ +.contentContainer table, .classUseContainer table, .constantValuesContainer table { + border-bottom:1px solid #9eadc0; + width:100%; +} +.contentContainer ul li table, .classUseContainer ul li table, .constantValuesContainer ul li table { + width:100%; +} +.contentContainer .description table, .contentContainer .details table { + border-bottom:none; +} +.contentContainer ul li table th.colOne, .contentContainer ul li table th.colFirst, .contentContainer ul li table th.colLast, .classUseContainer ul li table th, .constantValuesContainer ul li table th, .contentContainer ul li table td.colOne, .contentContainer ul li table td.colFirst, .contentContainer ul li table td.colLast, .classUseContainer ul li table td, .constantValuesContainer ul li table td{ + vertical-align:top; + padding-right:20px; +} +.contentContainer ul li table th.colLast, .classUseContainer ul li table th.colLast,.constantValuesContainer ul li table th.colLast, +.contentContainer ul li table td.colLast, .classUseContainer ul li table td.colLast,.constantValuesContainer ul li table td.colLast, +.contentContainer ul li table th.colOne, .classUseContainer ul li table th.colOne, +.contentContainer ul li table td.colOne, .classUseContainer ul li table td.colOne { + padding-right:3px; +} +.overviewSummary caption, .packageSummary caption, .contentContainer ul.blockList li.blockList caption, .summary caption, .classUseContainer caption, .constantValuesContainer caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#FFFFFF; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + margin:0px; + white-space:pre; +} +caption a:link, caption a:hover, caption a:active, caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .packageSummary caption span, .contentContainer ul.blockList li.blockList caption span, .summary caption span, .classUseContainer caption span, .constantValuesContainer caption span { + white-space:nowrap; + padding-top:8px; + padding-left:8px; + display:block; + float:left; + background-image:url(resources/titlebar.gif); + height:18px; +} +.contentContainer ul.blockList li.blockList caption span.activeTableTab span { + white-space:nowrap; + padding-top:8px; + padding-left:8px; + display:block; + float:left; + background-image:url(resources/activetitlebar.gif); + height:18px; +} +.contentContainer ul.blockList li.blockList caption span.tableTab span { + white-space:nowrap; + padding-top:8px; + padding-left:8px; + display:block; + float:left; + background-image:url(resources/titlebar.gif); + height:18px; +} +.contentContainer ul.blockList li.blockList caption span.tableTab, .contentContainer ul.blockList li.blockList caption span.activeTableTab { + padding-top:0px; + padding-left:0px; + background-image:none; + float:none; + display:inline; +} +.overviewSummary .tabEnd, .packageSummary .tabEnd, .contentContainer ul.blockList li.blockList .tabEnd, .summary .tabEnd, .classUseContainer .tabEnd, .constantValuesContainer .tabEnd { + width:10px; + background-image:url(resources/titlebar_end.gif); + background-repeat:no-repeat; + background-position:top right; + position:relative; + float:left; +} +.contentContainer ul.blockList li.blockList .activeTableTab .tabEnd { + width:10px; + margin-right:5px; + background-image:url(resources/activetitlebar_end.gif); + background-repeat:no-repeat; + background-position:top right; + position:relative; + float:left; +} +.contentContainer ul.blockList li.blockList .tableTab .tabEnd { + width:10px; + margin-right:5px; + background-image:url(resources/titlebar_end.gif); + background-repeat:no-repeat; + background-position:top right; + position:relative; + float:left; +} +ul.blockList ul.blockList li.blockList table { + margin:0 0 12px 0px; + width:100%; +} +.tableSubHeadingColor { + background-color: #EEEEFF; +} +.altColor { + background-color:#eeeeef; +} +.rowColor { + background-color:#ffffff; +} +.overviewSummary td, .packageSummary td, .contentContainer ul.blockList li.blockList td, .summary td, .classUseContainer td, .constantValuesContainer td { + text-align:left; + padding:3px 3px 3px 7px; +} +th.colFirst, th.colLast, th.colOne, .constantValuesContainer th { + background:#dee3e9; + border-top:1px solid #9eadc0; + border-bottom:1px solid #9eadc0; + text-align:left; + padding:3px 3px 3px 7px; +} +td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { + font-weight:bold; +} +td.colFirst, th.colFirst { + border-left:1px solid #9eadc0; + white-space:nowrap; +} +td.colLast, th.colLast { + border-right:1px solid #9eadc0; +} +td.colOne, th.colOne { + border-right:1px solid #9eadc0; + border-left:1px solid #9eadc0; +} +table.overviewSummary { + padding:0px; + margin-left:0px; +} +table.overviewSummary td.colFirst, table.overviewSummary th.colFirst, +table.overviewSummary td.colOne, table.overviewSummary th.colOne { + width:25%; + vertical-align:middle; +} +table.packageSummary td.colFirst, table.overviewSummary th.colFirst { + width:25%; + vertical-align:middle; +} +/* +Content styles +*/ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} +/* +Formatting effect styles +*/ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:.9em; +} +.block { + display:block; + margin:3px 0 0 0; +} +.strong { + font-weight:bold; +} + diff --git a/opendaylight/sal/yang-prototype/src/site/site.xml b/opendaylight/sal/yang-prototype/src/site/site.xml new file mode 100644 index 0000000000..6957e2ebb9 --- /dev/null +++ b/opendaylight/sal/yang-prototype/src/site/site.xml @@ -0,0 +1,18 @@ + + + + org.apache.maven.skins + maven-fluido-skin + 1.3.0 + + + + + + + + + + + + diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/.gitignore b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/.gitignore similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/.gitignore rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/.gitignore diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/pom.xml b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/pom.xml similarity index 95% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/pom.xml rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/pom.xml index 0fb693380a..bec1acb110 100644 --- a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/pom.xml +++ b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/pom.xml @@ -5,7 +5,6 @@ yang org.opendaylight.controller 0.5.4-SNAPSHOT - ../../yang/pom.xml yang-maven-plugin-it diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/java/org/opendaylight/controller/yang2sources/plugin/it/YangToSourcesPluginTestIT.java b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/java/org/opendaylight/controller/yang2sources/plugin/it/YangToSourcesPluginTestIT.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/java/org/opendaylight/controller/yang2sources/plugin/it/YangToSourcesPluginTestIT.java rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/java/org/opendaylight/controller/yang2sources/plugin/it/YangToSourcesPluginTestIT.java diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/AdditionalConfig/pom.xml b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/AdditionalConfig/pom.xml similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/AdditionalConfig/pom.xml rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/AdditionalConfig/pom.xml diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/Correct/pom.xml b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/Correct/pom.xml similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/Correct/pom.xml rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/Correct/pom.xml diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/GenerateTest1/pom.xml b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/GenerateTest1/pom.xml similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/GenerateTest1/pom.xml rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/GenerateTest1/pom.xml diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/GenerateTest1/src/main/resources/testfile1.yang b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/GenerateTest1/src/main/resources/testfile1.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/GenerateTest1/src/main/resources/testfile1.yang rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/GenerateTest1/src/main/resources/testfile1.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/GenerateTest1/src/main/resources/testfile2.yang b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/GenerateTest1/src/main/resources/testfile2.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/GenerateTest1/src/main/resources/testfile2.yang rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/GenerateTest1/src/main/resources/testfile2.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/GenerateTest1/src/main/resources/testfile3.yang b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/GenerateTest1/src/main/resources/testfile3.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/GenerateTest1/src/main/resources/testfile3.yang rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/GenerateTest1/src/main/resources/testfile3.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/GenerateTest2/pom.xml b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/GenerateTest2/pom.xml similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/GenerateTest2/pom.xml rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/GenerateTest2/pom.xml diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/GenerateTest2/yang/private.yang b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/GenerateTest2/yang/private.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/GenerateTest2/yang/private.yang rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/GenerateTest2/yang/private.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/Generator/pom.xml b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/Generator/pom.xml similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/Generator/pom.xml rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/Generator/pom.xml diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/MissingYangInDep/pom.xml b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/MissingYangInDep/pom.xml similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/MissingYangInDep/pom.xml rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/MissingYangInDep/pom.xml diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/MissingYangInDep/yang/private.yang b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/MissingYangInDep/yang/private.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/MissingYangInDep/yang/private.yang rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/MissingYangInDep/yang/private.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/NoGenerators/pom.xml b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/NoGenerators/pom.xml similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/NoGenerators/pom.xml rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/NoGenerators/pom.xml diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/NoOutputDir/pom.xml b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/NoOutputDir/pom.xml similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/NoOutputDir/pom.xml rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/NoOutputDir/pom.xml diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/NoYangFiles/pom.xml b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/NoYangFiles/pom.xml similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/NoYangFiles/pom.xml rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/NoYangFiles/pom.xml diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/UnknownGenerator/pom.xml b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/UnknownGenerator/pom.xml similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/UnknownGenerator/pom.xml rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/UnknownGenerator/pom.xml diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/YangRootNotExist/pom.xml b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/YangRootNotExist/pom.xml similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/YangRootNotExist/pom.xml rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/YangRootNotExist/pom.xml diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/files/testfile1.yang b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/files/testfile1.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/files/testfile1.yang rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/files/testfile1.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/files/testfile2.yang b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/files/testfile2.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/files/testfile2.yang rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/files/testfile2.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/files/testfile3.yang b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/files/testfile3.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin-it/src/test/resources/files/testfile3.yang rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin-it/src/test/resources/files/testfile3.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/pom.xml b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin/pom.xml similarity index 98% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/pom.xml rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin/pom.xml index 8fa00dd665..444fa1fc3f 100644 --- a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/pom.xml +++ b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin/pom.xml @@ -5,7 +5,6 @@ yang org.opendaylight.controller 0.5.4-SNAPSHOT - ../../yang/pom.xml yang-maven-plugin diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/ConfigArg.java b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/ConfigArg.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/ConfigArg.java rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/ConfigArg.java diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/Util.java b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/Util.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/Util.java rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/Util.java diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/YangToSourcesMojo.java b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/YangToSourcesMojo.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/YangToSourcesMojo.java rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/YangToSourcesMojo.java diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/YangToSourcesProcessor.java b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/YangToSourcesProcessor.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/YangToSourcesProcessor.java rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin/src/main/java/org/opendaylight/controller/yang2sources/plugin/YangToSourcesProcessor.java diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/test/java/org/opendaylight/controller/yang2sources/plugin/GenerateSourcesTest.java b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin/src/test/java/org/opendaylight/controller/yang2sources/plugin/GenerateSourcesTest.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/test/java/org/opendaylight/controller/yang2sources/plugin/GenerateSourcesTest.java rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin/src/test/java/org/opendaylight/controller/yang2sources/plugin/GenerateSourcesTest.java diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/test/java/org/opendaylight/controller/yang2sources/plugin/UtilTest.java b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin/src/test/java/org/opendaylight/controller/yang2sources/plugin/UtilTest.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/test/java/org/opendaylight/controller/yang2sources/plugin/UtilTest.java rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin/src/test/java/org/opendaylight/controller/yang2sources/plugin/UtilTest.java diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/test/resources/yang/mock.yang b/opendaylight/sal/yang-prototype/yang/maven-yang-plugin/src/test/resources/yang/mock.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang-plugin/src/test/resources/yang/mock.yang rename to opendaylight/sal/yang-prototype/yang/maven-yang-plugin/src/test/resources/yang/mock.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang/pom.xml b/opendaylight/sal/yang-prototype/yang/maven-yang/pom.xml similarity index 94% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang/pom.xml rename to opendaylight/sal/yang-prototype/yang/maven-yang/pom.xml index a8a45519ac..6754c8c3c4 100644 --- a/opendaylight/sal/yang-prototype/code-generator/maven-yang/pom.xml +++ b/opendaylight/sal/yang-prototype/yang/maven-yang/pom.xml @@ -1,13 +1,17 @@ - 4.0.0 + yang org.opendaylight.controller 0.5.4-SNAPSHOT - ../../yang/pom.xml + + 4.0.0 yang-maven-plugin-spi + ${project.artifactId} + ${project.artifactId} + org.opendaylight.controller @@ -43,4 +47,5 @@ + diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang/src/main/java/org/opendaylight/controller/yang2sources/spi/CodeGenerator.java b/opendaylight/sal/yang-prototype/yang/maven-yang/src/main/java/org/opendaylight/controller/yang2sources/spi/CodeGenerator.java similarity index 93% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang/src/main/java/org/opendaylight/controller/yang2sources/spi/CodeGenerator.java rename to opendaylight/sal/yang-prototype/yang/maven-yang/src/main/java/org/opendaylight/controller/yang2sources/spi/CodeGenerator.java index 09dcd3e8e9..3042160a2a 100644 --- a/opendaylight/sal/yang-prototype/code-generator/maven-yang/src/main/java/org/opendaylight/controller/yang2sources/spi/CodeGenerator.java +++ b/opendaylight/sal/yang-prototype/yang/maven-yang/src/main/java/org/opendaylight/controller/yang2sources/spi/CodeGenerator.java @@ -34,13 +34,11 @@ public interface CodeGenerator { * user * @param currentModules * yang modules parsed from yangFilesRootDir - * @param log - * maven logger * @return collection of files that were generated from schema context * @throws IOException */ - Collection generateSources(SchemaContext context, File outputBaseDir, - Set currentModules) throws IOException; + Collection generateSources(SchemaContext context, File outputBaseDir, Set currentModules) + throws IOException; /** * Utilize maven logging if necessary @@ -69,7 +67,7 @@ public interface CodeGenerator { * Provided maven project object. Any additional information about current * maven project can be accessed from it. * - * @param resourceBaseDir + * @param project */ void setMavenProject(MavenProject project); } diff --git a/opendaylight/sal/yang-prototype/code-generator/maven-yang/src/test/java/org/opendaylight/controller/yang2sources/spi/CodeGeneratorTestImpl.java b/opendaylight/sal/yang-prototype/yang/maven-yang/src/test/java/org/opendaylight/controller/yang2sources/spi/CodeGeneratorTestImpl.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/maven-yang/src/test/java/org/opendaylight/controller/yang2sources/spi/CodeGeneratorTestImpl.java rename to opendaylight/sal/yang-prototype/yang/maven-yang/src/test/java/org/opendaylight/controller/yang2sources/spi/CodeGeneratorTestImpl.java diff --git a/opendaylight/sal/yang-prototype/yang/pom.xml b/opendaylight/sal/yang-prototype/yang/pom.xml index fc50604994..5c3617c988 100644 --- a/opendaylight/sal/yang-prototype/yang/pom.xml +++ b/opendaylight/sal/yang-prototype/yang/pom.xml @@ -21,16 +21,16 @@ yang-common yang-data-api yang-data-util - yang-data-impl + yang-data-impl yang-model-api yang-model-util yang-binding yang-ext - ../code-generator/yang-model-parser-api - ../code-generator/yang-model-parser-impl - ../code-generator/maven-yang - ../code-generator/maven-yang-plugin - ../code-generator/maven-yang-plugin-it + yang-model-parser-api + yang-model-parser-impl + maven-yang + maven-yang-plugin + maven-yang-plugin-it @@ -104,7 +104,6 @@ org.apache.maven.plugins maven-javadoc-plugin - 2.8.1 maven @@ -119,6 +118,7 @@ + @@ -138,4 +138,5 @@ + diff --git a/opendaylight/sal/yang-prototype/yang/src/site/site.xml b/opendaylight/sal/yang-prototype/yang/src/site/site.xml new file mode 100644 index 0000000000..80ff3a4b99 --- /dev/null +++ b/opendaylight/sal/yang-prototype/yang/src/site/site.xml @@ -0,0 +1,16 @@ + + + + org.apache.maven.skins + maven-fluido-skin + 1.3.0 + + + + + + + + + + diff --git a/opendaylight/sal/yang-prototype/yang/yang-binding/pom.xml b/opendaylight/sal/yang-prototype/yang/yang-binding/pom.xml index 79add78254..70b7a5a311 100644 --- a/opendaylight/sal/yang-prototype/yang/yang-binding/pom.xml +++ b/opendaylight/sal/yang-prototype/yang/yang-binding/pom.xml @@ -1,9 +1,15 @@ - - 4.0.0 - - org.opendaylight.controller - yang - 0.5.4-SNAPSHOT - - yang-binding + + + + org.opendaylight.controller + yang + 0.5.4-SNAPSHOT + + + 4.0.0 + yang-binding + ${project.artifactId} + Java binding for YANG + diff --git a/opendaylight/sal/yang-prototype/yang/yang-common/pom.xml b/opendaylight/sal/yang-prototype/yang/yang-common/pom.xml index a94013b288..445e310a2a 100644 --- a/opendaylight/sal/yang-prototype/yang/yang-common/pom.xml +++ b/opendaylight/sal/yang-prototype/yang/yang-common/pom.xml @@ -1,16 +1,23 @@ - - 4.0.0 - - org.opendaylight.controller - yang - 0.5.4-SNAPSHOT - - yang-common - - - org.slf4j - slf4j-api - ${slf4j.version} - - + + + + org.opendaylight.controller + yang + 0.5.4-SNAPSHOT + + + 4.0.0 + yang-common + ${project.artifactId} + ${project.artifactId} + + + + org.slf4j + slf4j-api + + + + diff --git a/opendaylight/sal/yang-prototype/yang/yang-data-api/pom.xml b/opendaylight/sal/yang-prototype/yang/yang-data-api/pom.xml index 28f25946ba..145daf9561 100644 --- a/opendaylight/sal/yang-prototype/yang/yang-data-api/pom.xml +++ b/opendaylight/sal/yang-prototype/yang/yang-data-api/pom.xml @@ -1,12 +1,16 @@ - 4.0.0 + org.opendaylight.controller yang 0.5.4-SNAPSHOT + + 4.0.0 yang-data-api + ${project.artifactId} + ${project.artifactId} @@ -14,4 +18,5 @@ yang-common - \ No newline at end of file + + diff --git a/opendaylight/sal/yang-prototype/yang/yang-data-impl/pom.xml b/opendaylight/sal/yang-prototype/yang/yang-data-impl/pom.xml index 7a1b756332..ca5bd5ced0 100644 --- a/opendaylight/sal/yang-prototype/yang/yang-data-impl/pom.xml +++ b/opendaylight/sal/yang-prototype/yang/yang-data-impl/pom.xml @@ -1,13 +1,16 @@ - - 4.0.0 + org.opendaylight.controller yang 0.5.4-SNAPSHOT + + 4.0.0 yang-data-impl + ${project.artifactId} + ${project.artifactId} 2.1.6 @@ -25,7 +28,6 @@ - org.opendaylight.controller @@ -81,4 +83,5 @@ test + diff --git a/opendaylight/sal/yang-prototype/yang/yang-data-util/pom.xml b/opendaylight/sal/yang-prototype/yang/yang-data-util/pom.xml index 722a379aa3..bbd6cd6382 100644 --- a/opendaylight/sal/yang-prototype/yang/yang-data-util/pom.xml +++ b/opendaylight/sal/yang-prototype/yang/yang-data-util/pom.xml @@ -1,16 +1,22 @@ - 4.0.0 + org.opendaylight.controller yang 0.5.4-SNAPSHOT + + 4.0.0 yang-data-util + ${project.artifactId} + ${project.artifactId} + org.opendaylight.controller yang-data-api - \ No newline at end of file + + diff --git a/opendaylight/sal/yang-prototype/yang/yang-ext/pom.xml b/opendaylight/sal/yang-prototype/yang/yang-ext/pom.xml index 85ecb91b33..d1d543abb5 100644 --- a/opendaylight/sal/yang-prototype/yang/yang-ext/pom.xml +++ b/opendaylight/sal/yang-prototype/yang/yang-ext/pom.xml @@ -1,13 +1,17 @@ - 4.0.0 + org.opendaylight.controller yang 0.5.4-SNAPSHOT + + 4.0.0 yang-ext 2013.09.07-SNAPSHOT + ${project.artifactId} + ${project.artifactId} diff --git a/opendaylight/sal/yang-prototype/yang/yang-model-api/pom.xml b/opendaylight/sal/yang-prototype/yang/yang-model-api/pom.xml index 8c4cb35196..14e7d20350 100644 --- a/opendaylight/sal/yang-prototype/yang/yang-model-api/pom.xml +++ b/opendaylight/sal/yang-prototype/yang/yang-model-api/pom.xml @@ -1,16 +1,22 @@ - 4.0.0 + org.opendaylight.controller yang 0.5.4-SNAPSHOT + + 4.0.0 yang-model-api + ${project.artifactId} + ${project.artifactId} + org.opendaylight.controller yang-common + diff --git a/opendaylight/sal/yang-prototype/yang/yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/type/DecimalTypeDefinition.java b/opendaylight/sal/yang-prototype/yang/yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/type/DecimalTypeDefinition.java index 74a420a3f8..068d4a977c 100644 --- a/opendaylight/sal/yang-prototype/yang/yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/type/DecimalTypeDefinition.java +++ b/opendaylight/sal/yang-prototype/yang/yang-model-api/src/main/java/org/opendaylight/controller/yang/model/api/type/DecimalTypeDefinition.java @@ -11,21 +11,20 @@ import java.util.List; import org.opendaylight.controller.yang.model.api.TypeDefinition; -public interface DecimalTypeDefinition extends - TypeDefinition { +public interface DecimalTypeDefinition extends TypeDefinition { List getRangeStatements(); /** * Returns integer between 1 and 18 inclusively.
*
- * + * * The "fraction-digits" statement controls the size of the minimum * difference between values of a decimal64 type, by restricting the value * space to numbers that are expressible as "i x 10^-n" where n is the * fraction-digits argument. - * - * @return + * + * @return number of fraction digits */ Integer getFractionDigits(); } diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-api/pom.xml b/opendaylight/sal/yang-prototype/yang/yang-model-parser-api/pom.xml similarity index 86% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-api/pom.xml rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-api/pom.xml index c796f34f55..5bd261cdbd 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-api/pom.xml +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-api/pom.xml @@ -1,16 +1,21 @@ - 4.0.0 + org.opendaylight.controller yang 0.5.4-SNAPSHOT - ../../yang/pom.xml + + 4.0.0 yang-model-parser-api + ${project.artifactId} + YANG parser API + org.opendaylight.controller yang-model-api + diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-api/src/main/java/org/opendaylight/controller/yang/model/parser/api/YangModelParser.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-api/src/main/java/org/opendaylight/controller/yang/model/parser/api/YangModelParser.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-api/src/main/java/org/opendaylight/controller/yang/model/parser/api/YangModelParser.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-api/src/main/java/org/opendaylight/controller/yang/model/parser/api/YangModelParser.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-api/src/main/java/org/opendaylight/controller/yang/model/parser/api/package-info.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-api/src/main/java/org/opendaylight/controller/yang/model/parser/api/package-info.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-api/src/main/java/org/opendaylight/controller/yang/model/parser/api/package-info.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-api/src/main/java/org/opendaylight/controller/yang/model/parser/api/package-info.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/pom.xml b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/pom.xml similarity index 89% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/pom.xml rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/pom.xml index f0ba0d2981..b40cd3c0b5 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/pom.xml +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/pom.xml @@ -5,11 +5,12 @@ org.opendaylight.controller yang 0.5.4-SNAPSHOT - ../../yang/pom.xml 4.0.0 yang-model-parser-impl + ${project.artifactId} + YANG parser @@ -92,6 +93,15 @@ + + org.apache.maven.plugins + maven-javadoc-plugin + + + *.opendaylight.controller.antlrv4.code.gen + + +
diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/antlr/YangLexer.g4 b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/antlr/YangLexer.g4 similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/antlr/YangLexer.g4 rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/antlr/YangLexer.g4 diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/antlr/YangParser.g4 b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/antlr/YangParser.g4 similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/antlr/YangParser.g4 rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/antlr/YangParser.g4 diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractDataNodeContainerBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractDataNodeContainerBuilder.java similarity index 93% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractDataNodeContainerBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractDataNodeContainerBuilder.java index d6867ce735..e85305dac9 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractDataNodeContainerBuilder.java +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractDataNodeContainerBuilder.java @@ -70,9 +70,9 @@ public abstract class AbstractDataNodeContainerBuilder extends AbstractBuilder i String childName = child.getQName().getLocalName(); for (DataSchemaNodeBuilder addedChildNode : addedChildNodes) { if (addedChildNode.getQName().getLocalName().equals(childName)) { - throw new YangParseException(child.getModuleName(), child.getLine(), "Can not add '" + child - + "' to node '" + qname.getLocalName() + "' in module '" + moduleName - + "': node with same name already declared at line " + addedChildNode.getLine()); + throw new YangParseException(child.getModuleName(), child.getLine(), "Can not add '" + child + "' to '" + + this + "' in module '" + moduleName + "': node with same name already declared at line " + + addedChildNode.getLine()); } } addedChildNodes.add(child); diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractSchemaNodeBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractSchemaNodeBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractSchemaNodeBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractSchemaNodeBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractTypeAwareBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractTypeAwareBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractTypeAwareBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AbstractTypeAwareBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AugmentationSchemaBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AugmentationSchemaBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AugmentationSchemaBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AugmentationSchemaBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AugmentationTargetBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AugmentationTargetBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AugmentationTargetBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/AugmentationTargetBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/Builder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/Builder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/Builder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/Builder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/DataNodeContainerBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/DataNodeContainerBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/DataNodeContainerBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/DataNodeContainerBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/DataSchemaNodeBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/DataSchemaNodeBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/DataSchemaNodeBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/DataSchemaNodeBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/GroupingBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/GroupingBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/GroupingBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/GroupingBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/GroupingMember.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/GroupingMember.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/GroupingMember.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/GroupingMember.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/SchemaNodeBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/SchemaNodeBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/SchemaNodeBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/SchemaNodeBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/TypeAwareBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/TypeAwareBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/TypeAwareBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/TypeAwareBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/TypeDefinitionBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/TypeDefinitionBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/TypeDefinitionBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/TypeDefinitionBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/UsesNodeBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/UsesNodeBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/UsesNodeBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/api/UsesNodeBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AnyXmlBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AnyXmlBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AnyXmlBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AnyXmlBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ChoiceBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ChoiceBuilder.java similarity index 97% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ChoiceBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ChoiceBuilder.java index 1cd54cae62..291554c848 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ChoiceBuilder.java +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ChoiceBuilder.java @@ -137,9 +137,10 @@ public final class ChoiceBuilder extends AbstractSchemaNodeBuilder implements Da * case node */ public void addCase(DataSchemaNodeBuilder caseNode) { - String newCaseName = caseNode.getQName().getLocalName(); + QName caseQName = caseNode.getQName(); + String caseName = caseQName.getLocalName(); for (ChoiceCaseBuilder addedCase : addedCases) { - if (addedCase.getQName().getLocalName().equals(newCaseName)) { + if (addedCase.getQName().getLocalName().equals(caseName)) { throw new YangParseException(caseNode.getModuleName(), caseNode.getLine(), "Can not add '" + caseNode + "' to node '" + qname.getLocalName() + "' in module '" + moduleName + "': case with same name already declared at line " + addedCase.getLine()); @@ -150,7 +151,7 @@ public final class ChoiceBuilder extends AbstractSchemaNodeBuilder implements Da addedCases.add((ChoiceCaseBuilder) caseNode); } else { ChoiceCaseBuilder caseBuilder = new ChoiceCaseBuilder(caseNode.getModuleName(), caseNode.getLine(), - caseNode.getQName()); + caseQName); if (caseNode.isAugmenting()) { // if node is added by augmentation, set case builder augmenting // as true and node augmenting as false @@ -158,7 +159,8 @@ public final class ChoiceBuilder extends AbstractSchemaNodeBuilder implements Da caseNode.setAugmenting(false); } caseBuilder.setPath(caseNode.getPath()); - SchemaPath newPath = ParserUtils.createSchemaPath(caseNode.getPath(), caseNode.getQName().getLocalName()); + SchemaPath newPath = ParserUtils.createSchemaPath(caseNode.getPath(), caseQName.getLocalName(), + caseQName.getNamespace(), caseQName.getRevision(), caseQName.getPrefix()); caseNode.setPath(newPath); caseBuilder.addChildNode(caseNode); addedCases.add(caseBuilder); diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ChoiceCaseBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ChoiceCaseBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ChoiceCaseBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ChoiceCaseBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ConstraintsBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ConstraintsBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ConstraintsBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ConstraintsBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ContainerSchemaNodeBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ContainerSchemaNodeBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ContainerSchemaNodeBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ContainerSchemaNodeBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/DeviationBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/DeviationBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/DeviationBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/DeviationBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ExtensionBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ExtensionBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ExtensionBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ExtensionBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/FeatureBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/FeatureBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/FeatureBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/FeatureBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/GroupingBuilderImpl.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/GroupingBuilderImpl.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/GroupingBuilderImpl.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/GroupingBuilderImpl.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/IdentitySchemaNodeBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/IdentitySchemaNodeBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/IdentitySchemaNodeBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/IdentitySchemaNodeBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/IdentityrefTypeBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/IdentityrefTypeBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/IdentityrefTypeBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/IdentityrefTypeBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/LeafSchemaNodeBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/LeafSchemaNodeBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/LeafSchemaNodeBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/LeafSchemaNodeBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ListSchemaNodeBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ListSchemaNodeBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ListSchemaNodeBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ListSchemaNodeBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ModuleBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ModuleBuilder.java similarity index 98% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ModuleBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ModuleBuilder.java index f424bcfdf9..80fe524fed 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ModuleBuilder.java +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ModuleBuilder.java @@ -85,6 +85,7 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder { super(name, 0, null); this.name = name; instance = new ModuleImpl(name); + actualPath.push(this); } /** @@ -379,7 +380,7 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder { builder.setParent(parent); String groupingName = qname.getLocalName(); - if (parent == null) { + if (parent.equals(this)) { for (GroupingBuilder addedGrouping : addedGroupings) { if (addedGrouping.getQName().getLocalName().equals(groupingName)) { throw new YangParseException(name, line, "grouping with same name '" + groupingName @@ -420,7 +421,7 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder { Builder parent = getActualNode(); builder.setParent(parent); - if (parent == null) { + if (parent.equals(this)) { // augment can be declared only under 'module' ... addedAugments.add(builder); } else { @@ -448,7 +449,7 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder { Builder parent = getActualNode(); usesBuilder.setParent(parent); - if (parent == null) { + if (parent.equals(this)) { addedUsesNodes.add(usesBuilder); } else { if (!(parent instanceof DataNodeContainerBuilder)) { @@ -465,21 +466,16 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder { public void addRefine(final RefineHolder refine) { final Builder parent = getActualNode(); - if (parent == null) { + if (!(parent instanceof UsesNodeBuilder)) { throw new YangParseException(name, refine.getLine(), "refine can be defined only in uses statement"); - } else { - if (parent instanceof UsesNodeBuilder) { - ((UsesNodeBuilder) parent).addRefine(refine); - } else { - throw new YangParseException(name, refine.getLine(), "refine can be defined only in uses statement"); - } - refine.setParent(parent); } + ((UsesNodeBuilder) parent).addRefine(refine); + refine.setParent(parent); } public RpcDefinitionBuilder addRpc(final int line, final QName qname) { Builder parent = getActualNode(); - if (parent != null) { + if (!(parent.equals(this))) { throw new YangParseException(name, line, "rpc can be defined only in module or submodule"); } @@ -523,7 +519,7 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder { } public ContainerSchemaNodeBuilder addRpcOutput(final SchemaPath schemaPath, final QName qname, final int line) { - final Builder parent = actualPath.getFirst(); + final Builder parent = getActualNode(); if (!(parent instanceof RpcDefinitionBuilder)) { throw new YangParseException(name, line, "output can be defined only in rpc statement"); } @@ -537,7 +533,8 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder { } public NotificationBuilder addNotification(final int line, final QName qname) { - if (!(actualPath.isEmpty())) { + final Builder parent = getActualNode(); + if (!(parent.equals(this))) { throw new YangParseException(name, line, "notification can be defined only in module or submodule"); } @@ -569,7 +566,7 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder { public FeatureBuilder addFeature(final int line, final QName qname) { Builder parent = getActualNode(); - if (parent != null) { + if (!(parent.equals(this))) { throw new YangParseException(name, line, "feature can be defined only in module or submodule"); } @@ -598,7 +595,7 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder { public ChoiceCaseBuilder addCase(final int line, final QName qname) { Builder parent = getActualNode(); - if (parent == null) { + if (parent == null || parent.equals(this)) { throw new YangParseException(name, line, "'case' parent not found"); } @@ -645,7 +642,7 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder { builder.setParent(parent); String typedefName = qname.getLocalName(); - if (parent == null) { + if (parent.equals(this)) { for (TypeDefinitionBuilder tdb : addedTypedefs) { if (tdb.getQName().getLocalName().equals(typedefName)) { throw new YangParseException(name, line, "typedef with same name '" + typedefName @@ -723,7 +720,7 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder { public DeviationBuilder addDeviation(final int line, final String targetPath) { Builder parent = getActualNode(); - if (parent != null) { + if (!(parent.equals(this))) { throw new YangParseException(name, line, "deviation can be defined only in module or submodule"); } @@ -734,7 +731,7 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder { public IdentitySchemaNodeBuilder addIdentity(final QName qname, final List parentPath, final int line) { Builder parent = getActualNode(); - if (parent != null) { + if (!(parent.equals(this))) { throw new YangParseException(name, line, "identity can be defined only in module or submodule"); } String identityName = qname.getLocalName(); @@ -762,7 +759,7 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder { builder.setParent(parent); allUnknownNodes.add(builder); - if (parent == null) { + if (parent.equals(this)) { addedUnknownNodes.add(builder); } else { if (parent instanceof SchemaNodeBuilder) { @@ -1137,7 +1134,7 @@ public class ModuleBuilder extends AbstractDataNodeContainerBuilder { */ private void addChildToParent(final Builder parent, final DataSchemaNodeBuilder child, final String childName) { final int line = child.getLine(); - if (parent == null) { + if (parent.equals(this)) { // if parent == null => node is defined under module // All leafs, leaf-lists, lists, containers, choices, rpcs, // notifications, and anyxmls defined within a parent node or at the diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/NotificationBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/NotificationBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/NotificationBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/NotificationBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/RpcDefinitionBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/RpcDefinitionBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/RpcDefinitionBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/RpcDefinitionBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/TypeDefinitionBuilderImpl.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/TypeDefinitionBuilderImpl.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/TypeDefinitionBuilderImpl.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/TypeDefinitionBuilderImpl.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UnionTypeBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UnionTypeBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UnionTypeBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UnionTypeBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UnknownSchemaNodeBuilder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UnknownSchemaNodeBuilder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UnknownSchemaNodeBuilder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UnknownSchemaNodeBuilder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UsesNodeBuilderImpl.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UsesNodeBuilderImpl.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UsesNodeBuilderImpl.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UsesNodeBuilderImpl.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/SchemaContextImpl.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/SchemaContextImpl.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/SchemaContextImpl.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/SchemaContextImpl.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangErrorListener.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangErrorListener.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangErrorListener.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangErrorListener.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserImpl.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserImpl.java similarity index 96% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserImpl.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserImpl.java index 0c1f5e27dd..065d270f09 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserImpl.java +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserImpl.java @@ -14,6 +14,7 @@ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; +import java.net.URI; import java.util.ArrayList; import java.util.Collections; import java.util.Date; @@ -893,7 +894,7 @@ public final class YangParserImpl implements YangModelParser { } // child nodes - processUsesNode(usesNode, targetGrouping); + processUsesNode(module, usesNode, targetGrouping); } } @@ -942,7 +943,7 @@ public final class YangParserImpl implements YangModelParser { usesNode.addRefineNode(nodeToRefine); } - processUsesNode(usesNode, targetGroupingBuilder); + processUsesNode(module, usesNode, targetGroupingBuilder); } } } @@ -1056,19 +1057,34 @@ public final class YangParserImpl implements YangModelParser { * Add nodes defined in target grouping to current context. Refinement has * to be already performed. * + * @param module current module * @param usesNode * @param targetGrouping */ - private void processUsesNode(final UsesNodeBuilder usesNode, final GroupingBuilder targetGrouping) { + private void processUsesNode(final ModuleBuilder module, final UsesNodeBuilder usesNode, final GroupingBuilder targetGrouping) { List refineNodes = usesNode.getRefineNodes(); DataNodeContainerBuilder parent = usesNode.getParent(); + URI namespace = null; + Date revision = null; + String prefix = null; + if (parent instanceof ModuleBuilder || parent instanceof AugmentationSchemaBuilder) { + namespace = module.getNamespace(); + revision = module.getRevision(); + prefix = module.getPrefix(); + } else { + QName parentQName = parent.getQName(); + namespace = parentQName.getNamespace(); + revision = parentQName.getRevision(); + prefix = parentQName.getPrefix(); + } SchemaPath parentPath = parent.getPath(); for (DataSchemaNodeBuilder child : targetGrouping.getChildNodeBuilders()) { if (child != null) { // if node is refined, take it from refined nodes and continue SchemaNodeBuilder refined = getRefined(child.getQName(), refineNodes); if (refined != null) { - refined.setPath(createSchemaPath(parentPath, refined.getQName().getLocalName())); + refined.setPath(createSchemaPath(parentPath, refined.getQName().getLocalName(), namespace, + revision, prefix)); parent.addChildNode((DataSchemaNodeBuilder) refined); continue; } @@ -1097,20 +1113,22 @@ public final class YangParserImpl implements YangModelParser { ((GroupingMember) newChild).setAddedByUses(true); } - newChild.setPath(createSchemaPath(parentPath, newChild.getQName().getLocalName())); + newChild.setPath(createSchemaPath(parentPath, newChild.getQName().getLocalName(), namespace, revision, + prefix)); parent.addChildNode(newChild); } } for (GroupingBuilder g : targetGrouping.getGroupingBuilders()) { GroupingBuilder newGrouping = new GroupingBuilderImpl(g); newGrouping.setAddedByUses(true); - newGrouping.setPath(createSchemaPath(parentPath, newGrouping.getQName().getLocalName())); + newGrouping.setPath(createSchemaPath(parentPath, newGrouping.getQName().getLocalName(), namespace, + revision, prefix)); parent.addGrouping(newGrouping); } for (TypeDefinitionBuilder td : targetGrouping.getTypeDefinitionBuilders()) { TypeDefinitionBuilder newType = new TypeDefinitionBuilderImpl(td); newType.setAddedByUses(true); - newType.setPath(createSchemaPath(parentPath, newType.getQName().getLocalName())); + newType.setPath(createSchemaPath(parentPath, newType.getQName().getLocalName(), namespace, revision, prefix)); parent.addTypedef(newType); } for (UsesNodeBuilder un : targetGrouping.getUses()) { @@ -1122,7 +1140,7 @@ public final class YangParserImpl implements YangModelParser { for (UnknownSchemaNodeBuilder un : targetGrouping.getUnknownNodeBuilders()) { UnknownSchemaNodeBuilder newUn = new UnknownSchemaNodeBuilder(un); newUn.setAddedByUses(true); - newUn.setPath(createSchemaPath(parentPath, un.getQName().getLocalName())); + newUn.setPath(createSchemaPath(parentPath, un.getQName().getLocalName(), namespace, revision, prefix)); parent.addUnknownNodeBuilder(newUn); } } @@ -1132,13 +1150,28 @@ public final class YangParserImpl implements YangModelParser { final int line = usesNode.getLine(); List refineNodes = usesNode.getRefineNodes(); DataNodeContainerBuilder parent = usesNode.getParent(); + URI namespace = null; + Date revision = null; + String prefix = null; + if (parent instanceof ModuleBuilder) { + ModuleBuilder module = (ModuleBuilder) parent; + namespace = module.getNamespace(); + revision = module.getRevision(); + prefix = module.getPrefix(); + } else { + QName parentQName = parent.getQName(); + namespace = parentQName.getNamespace(); + revision = parentQName.getRevision(); + prefix = parentQName.getPrefix(); + } SchemaPath parentPath = parent.getPath(); for (DataSchemaNode child : targetGrouping.getChildNodes()) { if (child != null) { // if node is refined, take it from refined nodes and continue SchemaNodeBuilder refined = getRefined(child.getQName(), refineNodes); if (refined != null) { - refined.setPath(createSchemaPath(parentPath, refined.getQName().getLocalName())); + refined.setPath(createSchemaPath(parentPath, refined.getQName().getLocalName(), namespace, + revision, prefix)); parent.addChildNode((DataSchemaNodeBuilder) refined); continue; } @@ -1166,20 +1199,22 @@ public final class YangParserImpl implements YangModelParser { if (newChild instanceof GroupingMember) { ((GroupingMember) newChild).setAddedByUses(true); } - newChild.setPath(createSchemaPath(parentPath, newChild.getQName().getLocalName())); + newChild.setPath(createSchemaPath(parentPath, newChild.getQName().getLocalName(), namespace, revision, + prefix)); parent.addChildNode(newChild); } } for (GroupingDefinition g : targetGrouping.getGroupings()) { GroupingBuilder newGrouping = createGrouping(g, moduleName, line); newGrouping.setAddedByUses(true); - newGrouping.setPath(createSchemaPath(parentPath, newGrouping.getQName().getLocalName())); + newGrouping.setPath(createSchemaPath(parentPath, newGrouping.getQName().getLocalName(), namespace, + revision, prefix)); parent.addGrouping(newGrouping); } for (TypeDefinition td : targetGrouping.getTypeDefinitions()) { TypeDefinitionBuilder newType = createTypedef((ExtendedType) td, moduleName, line); newType.setAddedByUses(true); - newType.setPath(createSchemaPath(parentPath, newType.getQName().getLocalName())); + newType.setPath(createSchemaPath(parentPath, newType.getQName().getLocalName(), namespace, revision, prefix)); parent.addTypedef(newType); } for (UsesNode un : targetGrouping.getUses()) { @@ -1193,7 +1228,7 @@ public final class YangParserImpl implements YangModelParser { for (UnknownSchemaNode un : targetGrouping.getUnknownSchemaNodes()) { UnknownSchemaNodeBuilder newNode = createUnknownSchemaNode(un, moduleName, line); newNode.setAddedByUses(true); - newNode.setPath(createSchemaPath(parentPath, un.getQName().getLocalName())); + newNode.setPath(createSchemaPath(parentPath, un.getQName().getLocalName(), namespace, revision, prefix)); parent.addUnknownNodeBuilder(newNode); } } diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserListenerImpl.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserListenerImpl.java similarity index 96% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserListenerImpl.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserListenerImpl.java index 77ac8a5620..b6944d1a70 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserListenerImpl.java +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserListenerImpl.java @@ -523,6 +523,35 @@ public final class YangParserListenerImpl extends YangParserBaseListener { exitLog("uses", actualPath.pop()); } + @Override public void enterUses_augment_stmt(YangParser.Uses_augment_stmtContext ctx) { + final int line = ctx.getStart().getLine(); + final String augmentPath = stringFromNode(ctx); + enterLog("augment", augmentPath, line); + + AugmentationSchemaBuilder builder = moduleBuilder.addAugment(line, augmentPath); + + for (int i = 0; i < ctx.getChildCount(); i++) { + ParseTree child = ctx.getChild(i); + if (child instanceof Description_stmtContext) { + builder.setDescription(stringFromNode(child)); + } else if (child instanceof Reference_stmtContext) { + builder.setReference(stringFromNode(child)); + } else if (child instanceof Status_stmtContext) { + builder.setStatus(parseStatus((Status_stmtContext) child)); + } else if (child instanceof When_stmtContext) { + builder.addWhenCondition(stringFromNode(child)); + } + } + + moduleBuilder.enterNode(builder); + actualPath.push(augmentPath); + } + + @Override public void exitUses_augment_stmt(YangParser.Uses_augment_stmtContext ctx) { + moduleBuilder.exitNode(); + exitLog("augment", actualPath.pop()); + } + @Override public void enterRefine_stmt(YangParser.Refine_stmtContext ctx) { final String refineString = stringFromNode(ctx); diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/BitImpl.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/BitImpl.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/BitImpl.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/BitImpl.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/Comparators.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/Comparators.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/Comparators.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/Comparators.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ModuleDependencySort.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ModuleDependencySort.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ModuleDependencySort.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ModuleDependencySort.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/MustDefinitionImpl.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/MustDefinitionImpl.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/MustDefinitionImpl.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/MustDefinitionImpl.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ParserListenerUtils.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ParserListenerUtils.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ParserListenerUtils.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ParserListenerUtils.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ParserUtils.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ParserUtils.java similarity index 98% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ParserUtils.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ParserUtils.java index 25232796cc..4fc58b3d98 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ParserUtils.java +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/ParserUtils.java @@ -7,6 +7,7 @@ */ package org.opendaylight.controller.yang.parser.util; +import java.net.URI; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -93,6 +94,7 @@ import org.opendaylight.controller.yang.parser.builder.impl.ConstraintsBuilder; import org.opendaylight.controller.yang.parser.builder.impl.ContainerSchemaNodeBuilder; import org.opendaylight.controller.yang.parser.builder.impl.ContainerSchemaNodeBuilder.ContainerSchemaNodeImpl; import org.opendaylight.controller.yang.parser.builder.impl.GroupingBuilderImpl; +import org.opendaylight.controller.yang.parser.builder.impl.IdentityrefTypeBuilder; import org.opendaylight.controller.yang.parser.builder.impl.LeafListSchemaNodeBuilder; import org.opendaylight.controller.yang.parser.builder.impl.LeafSchemaNodeBuilder; import org.opendaylight.controller.yang.parser.builder.impl.ListSchemaNodeBuilder; @@ -121,12 +123,15 @@ public final class ParserUtils { * @param name * @return */ - public static SchemaPath createSchemaPath(SchemaPath schemaPath, String name) { - List path = new ArrayList(schemaPath.getPath()); - QName last = path.get(path.size() - 1); - QName newQName = new QName(last.getNamespace(), last.getRevision(), last.getPrefix(), name); + public static SchemaPath createSchemaPath(SchemaPath schemaPath, String name, URI namespace, Date revision, String prefix) { + List path = new ArrayList(); + if(schemaPath != null) { + path.addAll(schemaPath.getPath()); + } + QName newQName = new QName(namespace, revision, prefix, name); path.add(newQName); - return new SchemaPath(path, schemaPath.isAbsolute()); + boolean abs = schemaPath == null ? true : schemaPath.isAbsolute(); + return new SchemaPath(path, abs); } /** @@ -997,7 +1002,7 @@ public final class ParserUtils { module.augmentResolved(); } else { throw new YangParseException(module.getName(), line, "Target of type " + node.getClass() - + " can not be augmented."); + + " cannot be augmented."); } } @@ -1173,8 +1178,8 @@ public final class ParserUtils { final TypeConstraints constraints, final Map> modules, final ModuleBuilder builder, final SchemaContext context) { - // union type cannot be restricted - if (nodeToResolve instanceof UnionTypeBuilder) { + // union and identityref types cannot be restricted + if (nodeToResolve instanceof UnionTypeBuilder || nodeToResolve instanceof IdentityrefTypeBuilder) { return constraints; } diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/RefineHolder.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/RefineHolder.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/RefineHolder.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/RefineHolder.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/RefineUtils.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/RefineUtils.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/RefineUtils.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/RefineUtils.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/TopologicalSort.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/TopologicalSort.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/TopologicalSort.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/TopologicalSort.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/TypeConstraints.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/TypeConstraints.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/TypeConstraints.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/TypeConstraints.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/UnknownBoundaryNumber.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/UnknownBoundaryNumber.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/UnknownBoundaryNumber.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/UnknownBoundaryNumber.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/YangParseException.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/YangParseException.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/YangParseException.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/YangParseException.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/YangValidationException.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/YangValidationException.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/YangValidationException.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/util/YangValidationException.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/BasicValidations.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/BasicValidations.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/BasicValidations.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/BasicValidations.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/ValidationUtil.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/ValidationUtil.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/ValidationUtil.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/ValidationUtil.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/YangModelBasicValidationListener.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/YangModelBasicValidationListener.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/YangModelBasicValidationListener.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/YangModelBasicValidationListener.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/YangModelBasicValidator.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/YangModelBasicValidator.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/YangModelBasicValidator.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/validator/YangModelBasicValidator.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/AugmentTest.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/AugmentTest.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/AugmentTest.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/AugmentTest.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/GroupingTest.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/GroupingTest.java similarity index 69% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/GroupingTest.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/GroupingTest.java index 88d7543520..e62fdb6f37 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/GroupingTest.java +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/GroupingTest.java @@ -17,6 +17,7 @@ import java.util.Set; import org.junit.Before; import org.junit.Test; import org.opendaylight.controller.yang.model.api.AnyXmlSchemaNode; +import org.opendaylight.controller.yang.model.api.AugmentationSchema; import org.opendaylight.controller.yang.model.api.ChoiceNode; import org.opendaylight.controller.yang.model.api.ContainerSchemaNode; import org.opendaylight.controller.yang.model.api.DataSchemaNode; @@ -228,4 +229,113 @@ public class GroupingTest { assertFalse(node_u.equals(node_g)); } + @Test + public void testUsesUnderModule() { + // suffix _u = added by uses + // suffix _g = defined in grouping + + Module testModule = TestUtils.findModule(modules, "custom"); + + // get grouping + Set groupings = testModule.getGroupings(); + assertEquals(1, groupings.size()); + GroupingDefinition grouping = groupings.iterator().next(); + + // get node containing uses + Module destination = TestUtils.findModule(modules, "nodes"); + + // check uses + Set uses = destination.getUses(); + assertEquals(1, uses.size()); + + // check uses process + AnyXmlSchemaNode data_u = (AnyXmlSchemaNode) destination.getDataChildByName("data"); + assertNotNull(data_u); + assertTrue(data_u.isAddedByUses()); + + AnyXmlSchemaNode data_g = (AnyXmlSchemaNode) grouping.getDataChildByName("data"); + assertNotNull(data_g); + assertFalse(data_g.isAddedByUses()); + assertFalse(data_u.equals(data_g)); + + ChoiceNode how_u = (ChoiceNode) destination.getDataChildByName("how"); + assertNotNull(how_u); + assertTrue(how_u.isAddedByUses()); + + ChoiceNode how_g = (ChoiceNode) grouping.getDataChildByName("how"); + assertNotNull(how_g); + assertFalse(how_g.isAddedByUses()); + assertFalse(how_u.equals(how_g)); + + LeafSchemaNode address_u = (LeafSchemaNode) destination.getDataChildByName("address"); + assertNotNull(address_u); + assertNull(address_u.getDefault()); + assertEquals("Target IP address", address_u.getDescription()); + assertNull(address_u.getReference()); + assertTrue(address_u.isConfiguration()); + assertTrue(address_u.isAddedByUses()); + + LeafSchemaNode address_g = (LeafSchemaNode) grouping.getDataChildByName("address"); + assertNotNull(address_g); + assertFalse(address_g.isAddedByUses()); + assertNull(address_g.getDefault()); + assertEquals("Target IP address", address_g.getDescription()); + assertNull(address_g.getReference()); + assertTrue(address_g.isConfiguration()); + assertFalse(address_u.equals(address_g)); + + ContainerSchemaNode port_u = (ContainerSchemaNode) destination.getDataChildByName("port"); + assertNotNull(port_u); + assertTrue(port_u.isAddedByUses()); + + ContainerSchemaNode port_g = (ContainerSchemaNode) grouping.getDataChildByName("port"); + assertNotNull(port_g); + assertFalse(port_g.isAddedByUses()); + assertFalse(port_u.equals(port_g)); + + ListSchemaNode addresses_u = (ListSchemaNode) destination.getDataChildByName("addresses"); + assertNotNull(addresses_u); + assertTrue(addresses_u.isAddedByUses()); + + ListSchemaNode addresses_g = (ListSchemaNode) grouping.getDataChildByName("addresses"); + assertNotNull(addresses_g); + assertFalse(addresses_g.isAddedByUses()); + assertFalse(addresses_u.equals(addresses_g)); + + // grouping defined by 'uses' + Set groupings_u = destination.getGroupings(); + assertEquals(1, groupings_u.size()); + GroupingDefinition grouping_u = groupings_u.iterator().next(); + assertTrue(grouping_u.isAddedByUses()); + + // grouping defined in 'grouping' node + Set groupings_g = grouping.getGroupings(); + assertEquals(1, groupings_g.size()); + GroupingDefinition grouping_g = groupings_g.iterator().next(); + assertFalse(grouping_g.isAddedByUses()); + assertFalse(grouping_u.equals(grouping_g)); + + List nodes_u = destination.getUnknownSchemaNodes(); + assertEquals(1, nodes_u.size()); + UnknownSchemaNode node_u = nodes_u.get(0); + assertTrue(node_u.isAddedByUses()); + + List nodes_g = grouping.getUnknownSchemaNodes(); + assertEquals(1, nodes_g.size()); + UnknownSchemaNode node_g = nodes_g.get(0); + assertFalse(node_g.isAddedByUses()); + assertFalse(node_u.equals(node_g)); + + UsesNode un = uses.iterator().next(); + Set usesAugments = un.getAugmentations(); + assertEquals(1, usesAugments.size()); + AugmentationSchema augment = usesAugments.iterator().next(); + assertEquals("inner augment", augment.getDescription()); + Set children = augment.getChildNodes(); + assertEquals(1, children.size()); + DataSchemaNode leaf = children.iterator().next(); + assertTrue(leaf instanceof LeafSchemaNode); + assertEquals("name", leaf.getQName().getLocalName()); + } + } diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TestUtils.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TestUtils.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TestUtils.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TestUtils.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TypesResolutionTest.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TypesResolutionTest.java similarity index 98% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TypesResolutionTest.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TypesResolutionTest.java index 8f49fecc8e..d9f256caae 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TypesResolutionTest.java +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/TypesResolutionTest.java @@ -305,10 +305,15 @@ public class TypesResolutionTest { TypeDefinition testedType = TestUtils.findTypedef(typedefs, "service-type-ref"); IdentityrefType baseType = (IdentityrefType) testedType.getBaseType(); QName identity = baseType.getIdentity(); - assertEquals(URI.create("urn:simple.container.demo"), identity.getNamespace()); + assertEquals(URI.create("urn:custom.types.demo"), identity.getNamespace()); assertEquals(TestUtils.createDate("2012-04-16"), identity.getRevision()); assertEquals("iit", identity.getPrefix()); assertEquals("service-type", identity.getLocalName()); + + LeafSchemaNode type = (LeafSchemaNode)tested.getDataChildByName("type"); + assertNotNull(type); + TypeDefinition leafType = type.getType(); + assertEquals(testedType, leafType); } } diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserNegativeTest.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserNegativeTest.java similarity index 98% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserNegativeTest.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserNegativeTest.java index 0412013405..0f5a82ff48 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserNegativeTest.java +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserNegativeTest.java @@ -174,7 +174,7 @@ public class YangParserNegativeTest { fail("YangParseException should by thrown"); } } catch (YangParseException e) { - String expected = "Error in module 'augment1' at line 11: Can not add 'leaf id' to node 'bar' in module 'augment0': node with same name already declared at line 9"; + String expected = "Error in module 'augment1' at line 11: Can not add 'leaf id' to 'container bar' in module 'augment0': node with same name already declared at line 9"; assertEquals(expected, e.getMessage()); } } diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserTest.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserTest.java similarity index 97% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserTest.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserTest.java index 83109ea9b1..bc0ccbd730 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserTest.java +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserTest.java @@ -145,7 +145,25 @@ public class YangParserTest { } @Test - public void testOrderingNestedChildNodes() { + public void testOrderingNestedChildNodes1() { + Module test = TestUtils.findModule(modules, "nodes"); + + Set childNodes = test.getChildNodes(); + String[] expectedOrder = new String[] { "address", "addresses", "custom-union-leaf", "data", "datas", + "decimal-leaf", "decimal-leaf2", "ext", "how", "int32-leaf", "length-leaf", "mycont", "peer", "port", + "string-leaf", "transfer", "union-leaf" }; + String[] actualOrder = new String[childNodes.size()]; + + int i = 0; + for (DataSchemaNode child : childNodes) { + actualOrder[i] = child.getQName().getLocalName(); + i++; + } + assertArrayEquals(expectedOrder, actualOrder); + } + + @Test + public void testOrderingNestedChildNodes2() { Module test = TestUtils.findModule(modules, "custom"); Set groupings = test.getGroupings(); assertEquals(1, groupings.size()); @@ -688,12 +706,12 @@ public class YangParserTest { @Test public void testAnyXml() { Module testModule = TestUtils.findModule(modules, "nodes"); - AnyXmlSchemaNode data = (AnyXmlSchemaNode) testModule.getDataChildByName("data"); + AnyXmlSchemaNode data = (AnyXmlSchemaNode) testModule.getDataChildByName("datas"); assertNotNull("anyxml data not found", data); // test SchemaNode args QName qname = data.getQName(); - assertEquals("data", qname.getLocalName()); + assertEquals("datas", qname.getLocalName()); assertEquals("n", qname.getPrefix()); assertEquals(nodesNS, qname.getNamespace()); assertEquals(nodesRev, qname.getRevision()); diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserWithContextTest.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserWithContextTest.java similarity index 99% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserWithContextTest.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserWithContextTest.java index b730445478..846b09c339 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserWithContextTest.java +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/impl/YangParserWithContextTest.java @@ -312,7 +312,7 @@ public class YangParserWithContextTest { IdentitySchemaNode baseIdentity = identity.getBaseIdentity(); QName idBaseQName = baseIdentity.getQName(); - assertEquals(URI.create("urn:simple.container.demo"), idBaseQName.getNamespace()); + assertEquals(URI.create("urn:custom.types.demo"), idBaseQName.getNamespace()); assertEquals(simpleDateFormat.parse("2012-04-16"), idBaseQName.getRevision()); assertEquals("iit", idBaseQName.getPrefix()); assertEquals("service-type", idBaseQName.getLocalName()); @@ -337,7 +337,7 @@ public class YangParserWithContextTest { UnknownSchemaNode un = unknownNodes.get(0); QName unType = un.getNodeType(); - assertEquals(URI.create("urn:simple.container.demo"), unType.getNamespace()); + assertEquals(URI.create("urn:custom.types.demo"), unType.getNamespace()); assertEquals(simpleDateFormat.parse("2012-04-16"), unType.getRevision()); assertEquals("custom", unType.getPrefix()); assertEquals("mountpoint", unType.getLocalName()); diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/util/ModuleDependencySortTest.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/util/ModuleDependencySortTest.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/util/ModuleDependencySortTest.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/util/ModuleDependencySortTest.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/util/TopologicalSortTest.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/util/TopologicalSortTest.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/util/TopologicalSortTest.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/parser/util/TopologicalSortTest.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationListTest.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationListTest.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationListTest.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationListTest.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationModuleTest.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationModuleTest.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationModuleTest.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationModuleTest.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationSubModuleTest.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationSubModuleTest.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationSubModuleTest.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationSubModuleTest.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationTest.java b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationTest.java similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationTest.java rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/java/org/opendaylight/controller/yang/validator/YangModelValidationTest.java diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-augment-test/test1.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-augment-test/test1.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-augment-test/test1.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-augment-test/test1.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-augment-test/test2.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-augment-test/test2.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-augment-test/test2.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-augment-test/test2.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-augment-test/test3.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-augment-test/test3.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-augment-test/test3.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-augment-test/test3.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-augment-test/test4.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-augment-test/test4.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-augment-test/test4.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-augment-test/test4.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-test/deviation-test.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-test/deviation-test.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-test/deviation-test.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-test/deviation-test.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-test/test1.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-test/test1.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-test/test1.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-test/test1.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-test/test2.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-test/test2.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-test/test2.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-test/test2.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-test/test3.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-test/test3.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/context-test/test3.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/context-test/test3.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/model/custom.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/model/custom.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/model/custom.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/model/custom.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/model/nodes.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/model/nodes.yang similarity index 95% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/model/nodes.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/model/nodes.yang index e27dd0b9c0..2cde38598b 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/model/nodes.yang +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/model/nodes.yang @@ -101,7 +101,7 @@ module nodes { } } - anyxml data { + anyxml datas { description "Copy of the source typesstore subset that matched the filter criteria (if any). An empty types container @@ -151,6 +151,15 @@ module nodes { } } + uses c:target { + augment "/mycont/innercont" { + description "inner augment"; + leaf name { + type string; + } + } + } + container peer { container destination { uses c:target { diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/model/types.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/model/types.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/model/types.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/model/types.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/augment0.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/augment0.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/augment0.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/augment0.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/augment1.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/augment1.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/augment1.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/augment1.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/augment2.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/augment2.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/augment2.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/augment2.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/container-leaf.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/container-leaf.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/container-leaf.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/container-leaf.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/container-list.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/container-list.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/container-list.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/container-list.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/container.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/container.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/container.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/container.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/identity.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/identity.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/identity.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/identity.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/typedef.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/typedef.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/typedef.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/duplicity/typedef.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/testfile0.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/testfile0.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/testfile0.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/testfile0.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/testfile1.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/testfile1.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/testfile1.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/testfile1.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/testfile2.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/testfile2.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/testfile2.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/testfile2.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/testfile3.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/testfile3.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/testfile3.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/testfile3.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/testfile4.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/testfile4.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/testfile4.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/testfile4.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/testfile5.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/testfile5.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/testfile5.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/testfile5.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/testfile6.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/testfile6.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/negative-scenario/testfile6.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/negative-scenario/testfile6.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/types/custom-types-test@2012-4-4.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/types/custom-types-test@2012-4-4.yang similarity index 72% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/types/custom-types-test@2012-4-4.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/types/custom-types-test@2012-4-4.yang index 86f5f195b8..c365228273 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/types/custom-types-test@2012-4-4.yang +++ b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/types/custom-types-test@2012-4-4.yang @@ -1,15 +1,14 @@ module custom-types-test { - yang-version 1; - namespace "urn:simple.container.demo"; + yang-version 1; + namespace "urn:custom.types.demo"; prefix "iit"; - + organization "opendaylight"; contact "WILL-BE-DEFINED-LATER"; revision 2012-04-16 { } - - + typedef access-operations-type { type bits { bit create { @@ -32,17 +31,21 @@ module custom-types-test { } description "NETCONF Access Operation."; } - + leaf inst-id-leaf1 { type instance-identifier { require-instance false; } } - + leaf inst-id-leaf2 { type instance-identifier; } + leaf type { + type service-type-ref; + } + identity crypto-base { description "crypto-base description"; } @@ -51,7 +54,7 @@ module custom-types-test { base "crypto-base"; description "crypto-alg description"; } - + leaf mybits { type bits { bit disable-nagle { @@ -66,32 +69,28 @@ module custom-types-test { } default "auto-sense-speed"; } - - typedef ip-version { - type enumeration { - enum unknown { - description - "An unknown or unspecified version of the Internet protocol."; - } - enum ipv4 { - value "19"; - description - "The IPv4 protocol as defined in RFC 791."; - } - enum ipv6 { - value "7"; - description - "The IPv6 protocol as defined in RFC 2460."; - } - enum default { - description - "default ip"; - } - } - } - - identity service-type { - description + + typedef ip-version { + type enumeration { + enum unknown { + description "An unknown or unspecified version of the Internet protocol."; + } + enum ipv4 { + value "19"; + description "The IPv4 protocol as defined in RFC 791."; + } + enum ipv6 { + value "7"; + description "The IPv6 protocol as defined in RFC 2460."; + } + enum default { + description "default ip"; + } + } + } + + identity service-type { + description "Service identity base type. All service identities must be derived from this type. A service type uniquely defines a single atomic API contract, such as a Java interface, a set of C @@ -101,15 +100,14 @@ module custom-types-test { of that interface should be attached to the derived identity MUST include a java-class keyword, whose name argument points to that interface."; - } + } - typedef service-type-ref { - description + typedef service-type-ref { + description "Internal type of references to service type identity."; - - type identityref { - base service-type; + type identityref { + base service-type; + } } - } } diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/types/iana-afn-safi@2012-06-04.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/types/iana-afn-safi@2012-06-04.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/types/iana-afn-safi@2012-06-04.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/types/iana-afn-safi@2012-06-04.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/types/iana-if-type@2012-06-05.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/types/iana-if-type@2012-06-05.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/types/iana-if-type@2012-06-05.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/types/iana-if-type@2012-06-05.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/types/iana-timezones@2012-07-09.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/types/iana-timezones@2012-07-09.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/types/iana-timezones@2012-07-09.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/types/iana-timezones@2012-07-09.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/types/ietf-inet-types@2010-09-24.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/types/ietf-inet-types@2010-09-24.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/types/ietf-inet-types@2010-09-24.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/types/ietf-inet-types@2010-09-24.yang diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/types/ietf-yang-types@2010-09-24.yang b/opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/types/ietf-yang-types@2010-09-24.yang similarity index 100% rename from opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/test/resources/types/ietf-yang-types@2010-09-24.yang rename to opendaylight/sal/yang-prototype/yang/yang-model-parser-impl/src/test/resources/types/ietf-yang-types@2010-09-24.yang diff --git a/opendaylight/sal/yang-prototype/yang/yang-model-util/pom.xml b/opendaylight/sal/yang-prototype/yang/yang-model-util/pom.xml index b865ebe015..402eb63a1a 100644 --- a/opendaylight/sal/yang-prototype/yang/yang-model-util/pom.xml +++ b/opendaylight/sal/yang-prototype/yang/yang-model-util/pom.xml @@ -1,15 +1,22 @@ - - 4.0.0 - - org.opendaylight.controller - yang - 0.5.4-SNAPSHOT - - yang-model-util - - - org.opendaylight.controller - yang-model-api - - + + + + org.opendaylight.controller + yang + 0.5.4-SNAPSHOT + + + 4.0.0 + yang-model-util + ${project.artifactId} + ${project.artifactId} + + + + org.opendaylight.controller + yang-model-api + + + diff --git a/opendaylight/sal/yang-prototype/yang/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/AbstractUnsignedInteger.java b/opendaylight/sal/yang-prototype/yang/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/AbstractUnsignedInteger.java index ad903e9e52..a56697e97a 100644 --- a/opendaylight/sal/yang-prototype/yang/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/AbstractUnsignedInteger.java +++ b/opendaylight/sal/yang-prototype/yang/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/AbstractUnsignedInteger.java @@ -41,12 +41,9 @@ public abstract class AbstractUnsignedInteger implements UnsignedIntegerTypeDefi /** * - * @param actualPath - * @param namespace - * @param revision - * @param name + * @param path uint type schema path + * @param name qname * @param description - * @param MIN_VALUE * @param maxRange * @param units */ @@ -63,7 +60,9 @@ public abstract class AbstractUnsignedInteger implements UnsignedIntegerTypeDefi } /** - * @param name + * + * @param path uint type schema path + * @param name qname * @param description * @param rangeStatements * @param units diff --git a/opendaylight/sal/yang-prototype/yang/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/BitsType.java b/opendaylight/sal/yang-prototype/yang/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/BitsType.java index 94391d2288..60b5a43bf4 100644 --- a/opendaylight/sal/yang-prototype/yang/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/BitsType.java +++ b/opendaylight/sal/yang-prototype/yang/yang-model-util/src/main/java/org/opendaylight/controller/yang/model/util/BitsType.java @@ -36,6 +36,8 @@ public final class BitsType implements BitsTypeDefinition { /** * Default constructor.
* Instantiates Bits type as empty bits list. + * + * @param path */ public BitsType(final SchemaPath path) { super(); @@ -47,11 +49,8 @@ public final class BitsType implements BitsTypeDefinition { /** * Constructor with explicit definition of bits assigned to BitsType. * - * @param actualPath - * @param namespace - * @param revision + * @param path * @param bits - * The bits assigned for Bits Type */ public BitsType(final SchemaPath path, final List bits) { super(); @@ -159,12 +158,10 @@ public final class BitsType implements BitsTypeDefinition { final int prime = 31; int result = 1; result = prime * result + ((bits == null) ? 0 : bits.hashCode()); - result = prime * result - + ((description == null) ? 0 : description.hashCode()); + result = prime * result + ((description == null) ? 0 : description.hashCode()); result = prime * result + ((name == null) ? 0 : name.hashCode()); result = prime * result + ((path == null) ? 0 : path.hashCode()); - result = prime * result - + ((reference == null) ? 0 : reference.hashCode()); + result = prime * result + ((reference == null) ? 0 : reference.hashCode()); result = prime * result + ((units == null) ? 0 : units.hashCode()); return result; }