Committed by
Thomas Vachuska
[ONOS-4711] Removed cyclic dependencies
Change-Id: I9ffea9a1a1b72f6ed3a23c0edb04cfc37bd8e48e
Showing
69 changed files
with
1150 additions
and
1405 deletions
... | @@ -31,11 +31,11 @@ import org.onosproject.yangutils.datamodel.YangRpc; | ... | @@ -31,11 +31,11 @@ import org.onosproject.yangutils.datamodel.YangRpc; |
31 | import org.onosproject.yangutils.datamodel.YangType; | 31 | import org.onosproject.yangutils.datamodel.YangType; |
32 | import org.onosproject.yangutils.datamodel.exceptions.DataModelException; | 32 | import org.onosproject.yangutils.datamodel.exceptions.DataModelException; |
33 | 33 | ||
34 | + | ||
34 | /** | 35 | /** |
35 | * Represents utilities for data model tree. | 36 | * Represents utilities for data model tree. |
36 | */ | 37 | */ |
37 | public final class DataModelUtils { | 38 | public final class DataModelUtils { |
38 | - | ||
39 | /** | 39 | /** |
40 | * Creates a new data model tree utility. | 40 | * Creates a new data model tree utility. |
41 | */ | 41 | */ | ... | ... |
... | @@ -17,7 +17,7 @@ | ... | @@ -17,7 +17,7 @@ |
17 | package org.onosproject.yangutils.linker; | 17 | package org.onosproject.yangutils.linker; |
18 | 18 | ||
19 | import java.util.Set; | 19 | import java.util.Set; |
20 | -import org.onosproject.yangutils.plugin.manager.YangFileInfo; | 20 | +import org.onosproject.yangutils.datamodel.YangNode; |
21 | 21 | ||
22 | /** | 22 | /** |
23 | * Abstraction of entity which provides linking service of YANG files. | 23 | * Abstraction of entity which provides linking service of YANG files. |
... | @@ -28,7 +28,7 @@ public interface YangLinker { | ... | @@ -28,7 +28,7 @@ public interface YangLinker { |
28 | * Resolve the import and include dependencies for a given resolution | 28 | * Resolve the import and include dependencies for a given resolution |
29 | * information. | 29 | * information. |
30 | * | 30 | * |
31 | - * @param yangFileInfoSet set of all dependent YANG files | 31 | + * @param yangNodeSet set of all dependent YANG nodes |
32 | */ | 32 | */ |
33 | - void resolveDependencies(Set<YangFileInfo> yangFileInfoSet); | 33 | + void resolveDependencies(Set<YangNode> yangNodeSet); |
34 | } | 34 | } | ... | ... |
... | @@ -25,7 +25,6 @@ import org.onosproject.yangutils.datamodel.YangSubModule; | ... | @@ -25,7 +25,6 @@ import org.onosproject.yangutils.datamodel.YangSubModule; |
25 | import org.onosproject.yangutils.datamodel.exceptions.DataModelException; | 25 | import org.onosproject.yangutils.datamodel.exceptions.DataModelException; |
26 | import org.onosproject.yangutils.linker.YangLinker; | 26 | import org.onosproject.yangutils.linker.YangLinker; |
27 | import org.onosproject.yangutils.linker.exceptions.LinkerException; | 27 | import org.onosproject.yangutils.linker.exceptions.LinkerException; |
28 | -import org.onosproject.yangutils.plugin.manager.YangFileInfo; | ||
29 | 28 | ||
30 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; | 29 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; |
31 | 30 | ||
... | @@ -53,53 +52,51 @@ public class YangLinkerManager | ... | @@ -53,53 +52,51 @@ public class YangLinkerManager |
53 | /** | 52 | /** |
54 | * Creates YANG nodes set. | 53 | * Creates YANG nodes set. |
55 | * | 54 | * |
56 | - * @param yangFileInfoSet YANG file information set | 55 | + * @param yangNodeSet YANG node information set |
57 | */ | 56 | */ |
58 | - public void createYangNodeSet(Set<YangFileInfo> yangFileInfoSet) { | 57 | + public void createYangNodeSet(Set<YangNode> yangNodeSet) { |
59 | - for (YangFileInfo yangFileInfo : yangFileInfoSet) { | 58 | + getYangNodeSet().addAll(yangNodeSet); |
60 | - getYangNodeSet().add(yangFileInfo.getRootNode()); | ||
61 | - } | ||
62 | } | 59 | } |
63 | 60 | ||
64 | @Override | 61 | @Override |
65 | - public void resolveDependencies(Set<YangFileInfo> yangFileInfoSet) { | 62 | + public void resolveDependencies(Set<YangNode> yangNodeSet) { |
66 | 63 | ||
67 | // Create YANG node set. | 64 | // Create YANG node set. |
68 | - createYangNodeSet(yangFileInfoSet); | 65 | + createYangNodeSet(yangNodeSet); |
69 | 66 | ||
70 | // Carry out linking of sub module with module. | 67 | // Carry out linking of sub module with module. |
71 | - linkSubModulesToParentModule(yangFileInfoSet); | 68 | + linkSubModulesToParentModule(yangNodeSet); |
72 | 69 | ||
73 | // Add references to import list. | 70 | // Add references to import list. |
74 | - addRefToYangFilesImportList(yangFileInfoSet); | 71 | + addRefToYangFilesImportList(yangNodeSet); |
75 | 72 | ||
76 | // Add reference to include list. | 73 | // Add reference to include list. |
77 | - addRefToYangFilesIncludeList(yangFileInfoSet); | 74 | + addRefToYangFilesIncludeList(yangNodeSet); |
78 | 75 | ||
79 | // TODO check for circular import/include. | 76 | // TODO check for circular import/include. |
80 | 77 | ||
81 | // Carry out inter-file linking. | 78 | // Carry out inter-file linking. |
82 | - processInterFileLinking(yangFileInfoSet); | 79 | + processInterFileLinking(yangNodeSet); |
83 | } | 80 | } |
84 | 81 | ||
85 | /** | 82 | /** |
86 | * Resolves sub-module linking by linking sub module with parent module. | 83 | * Resolves sub-module linking by linking sub module with parent module. |
87 | * | 84 | * |
88 | - * @param yangFileInfoSet set of YANG files info | 85 | + * @param yangNodeSet set of YANG files info |
89 | * @throws LinkerException fails to link sub-module to parent module | 86 | * @throws LinkerException fails to link sub-module to parent module |
90 | */ | 87 | */ |
91 | - public void linkSubModulesToParentModule(Set<YangFileInfo> yangFileInfoSet) | 88 | + public void linkSubModulesToParentModule(Set<YangNode> yangNodeSet) |
92 | throws LinkerException { | 89 | throws LinkerException { |
93 | - for (YangFileInfo yangFileInfo : yangFileInfoSet) { | 90 | + for (YangNode yangNode : yangNodeSet) { |
94 | - YangNode yangNode = yangFileInfo.getRootNode(); | ||
95 | if (yangNode instanceof YangSubModule) { | 91 | if (yangNode instanceof YangSubModule) { |
96 | try { | 92 | try { |
97 | ((YangSubModule) yangNode).linkWithModule(getYangNodeSet()); | 93 | ((YangSubModule) yangNode).linkWithModule(getYangNodeSet()); |
98 | } catch (DataModelException e) { | 94 | } catch (DataModelException e) { |
99 | - String errorInfo = "YANG file error: " + yangFileInfo.getYangFileName() + " at line: " | 95 | + String errorInfo = "YANG file error: " + yangNode.getName() + " at line: " |
100 | + e.getLineNumber() + " at position: " + e.getCharPositionInLine() + NEW_LINE | 96 | + e.getLineNumber() + " at position: " + e.getCharPositionInLine() + NEW_LINE |
101 | + e.getMessage(); | 97 | + e.getMessage(); |
102 | throw new LinkerException(errorInfo); | 98 | throw new LinkerException(errorInfo); |
99 | + // TODO add file path in exception message in util manager. | ||
103 | } | 100 | } |
104 | } | 101 | } |
105 | } | 102 | } |
... | @@ -108,20 +105,20 @@ public class YangLinkerManager | ... | @@ -108,20 +105,20 @@ public class YangLinkerManager |
108 | /** | 105 | /** |
109 | * Adds imported node information to the import list. | 106 | * Adds imported node information to the import list. |
110 | * | 107 | * |
111 | - * @param yangFileInfoSet set of YANG files info | 108 | + * @param yangNodeSet set of YANG files info |
112 | * @throws LinkerException fails to find imported module | 109 | * @throws LinkerException fails to find imported module |
113 | */ | 110 | */ |
114 | - public void addRefToYangFilesImportList(Set<YangFileInfo> yangFileInfoSet) throws LinkerException { | 111 | + public void addRefToYangFilesImportList(Set<YangNode> yangNodeSet) throws LinkerException { |
115 | - for (YangFileInfo yangFileInfo : yangFileInfoSet) { | 112 | + for (YangNode yangNode : yangNodeSet) { |
116 | - YangNode yangNode = yangFileInfo.getRootNode(); | ||
117 | if (yangNode instanceof YangReferenceResolver) { | 113 | if (yangNode instanceof YangReferenceResolver) { |
118 | try { | 114 | try { |
119 | ((YangReferenceResolver) yangNode).addReferencesToImportList(getYangNodeSet()); | 115 | ((YangReferenceResolver) yangNode).addReferencesToImportList(getYangNodeSet()); |
120 | } catch (DataModelException e) { | 116 | } catch (DataModelException e) { |
121 | - String errorInfo = "Error in file: " + yangFileInfo.getYangFileName() + " at line: " | 117 | + String errorInfo = "Error in file: " + yangNode.getName() + " at line: " |
122 | + e.getLineNumber() + " at position: " + e.getCharPositionInLine() + NEW_LINE | 118 | + e.getLineNumber() + " at position: " + e.getCharPositionInLine() + NEW_LINE |
123 | + e.getMessage(); | 119 | + e.getMessage(); |
124 | throw new LinkerException(errorInfo); | 120 | throw new LinkerException(errorInfo); |
121 | + // TODO add file path in exception message in util manager. | ||
125 | } | 122 | } |
126 | } | 123 | } |
127 | } | 124 | } |
... | @@ -130,20 +127,20 @@ public class YangLinkerManager | ... | @@ -130,20 +127,20 @@ public class YangLinkerManager |
130 | /** | 127 | /** |
131 | * Adds included node information to the include list. | 128 | * Adds included node information to the include list. |
132 | * | 129 | * |
133 | - * @param yangFileInfoSet set of YANG files info | 130 | + * @param yangNodeSet set of YANG files info |
134 | * @throws LinkerException fails to find included sub-module | 131 | * @throws LinkerException fails to find included sub-module |
135 | */ | 132 | */ |
136 | - public void addRefToYangFilesIncludeList(Set<YangFileInfo> yangFileInfoSet) throws LinkerException { | 133 | + public void addRefToYangFilesIncludeList(Set<YangNode> yangNodeSet) throws LinkerException { |
137 | - for (YangFileInfo yangFileInfo : yangFileInfoSet) { | 134 | + for (YangNode yangNode : yangNodeSet) { |
138 | - YangNode yangNode = yangFileInfo.getRootNode(); | ||
139 | if (yangNode instanceof YangReferenceResolver) { | 135 | if (yangNode instanceof YangReferenceResolver) { |
140 | try { | 136 | try { |
141 | ((YangReferenceResolver) yangNode).addReferencesToIncludeList(getYangNodeSet()); | 137 | ((YangReferenceResolver) yangNode).addReferencesToIncludeList(getYangNodeSet()); |
142 | } catch (DataModelException e) { | 138 | } catch (DataModelException e) { |
143 | - String errorInfo = "Error in file: " + yangFileInfo.getYangFileName() + " at line: " | 139 | + String errorInfo = "Error in file: " + yangNode.getName() + " at line: " |
144 | + e.getLineNumber() + " at position: " + e.getCharPositionInLine() + NEW_LINE | 140 | + e.getLineNumber() + " at position: " + e.getCharPositionInLine() + NEW_LINE |
145 | + e.getMessage(); | 141 | + e.getMessage(); |
146 | throw new LinkerException(errorInfo); | 142 | throw new LinkerException(errorInfo); |
143 | + // TODO add file path in exception message in util manager. | ||
147 | } | 144 | } |
148 | } | 145 | } |
149 | } | 146 | } |
... | @@ -152,20 +149,21 @@ public class YangLinkerManager | ... | @@ -152,20 +149,21 @@ public class YangLinkerManager |
152 | /** | 149 | /** |
153 | * Processes inter file linking for type and uses. | 150 | * Processes inter file linking for type and uses. |
154 | * | 151 | * |
155 | - * @param yangFileInfoSet set of YANG files info | 152 | + * @param yangNodeSet set of YANG files info |
156 | * @throws LinkerException a violation in linker execution | 153 | * @throws LinkerException a violation in linker execution |
157 | */ | 154 | */ |
158 | - public void processInterFileLinking(Set<YangFileInfo> yangFileInfoSet) | 155 | + public void processInterFileLinking(Set<YangNode> yangNodeSet) |
159 | throws LinkerException { | 156 | throws LinkerException { |
160 | - for (YangFileInfo yangFileInfo : yangFileInfoSet) { | 157 | + for (YangNode yangNode : yangNodeSet) { |
161 | try { | 158 | try { |
162 | - ((YangReferenceResolver) yangFileInfo.getRootNode()).resolveInterFileLinking(ResolvableType.YANG_USES); | 159 | + ((YangReferenceResolver) yangNode).resolveInterFileLinking(ResolvableType.YANG_USES); |
163 | - ((YangReferenceResolver) yangFileInfo.getRootNode()) | 160 | + ((YangReferenceResolver) yangNode) |
164 | .resolveInterFileLinking(ResolvableType.YANG_DERIVED_DATA_TYPE); | 161 | .resolveInterFileLinking(ResolvableType.YANG_DERIVED_DATA_TYPE); |
165 | } catch (DataModelException e) { | 162 | } catch (DataModelException e) { |
166 | - String errorInfo = "Error in file: " + yangFileInfo.getYangFileName() + " at line: " | 163 | + String errorInfo = "Error in file: " + yangNode.getName() + " at line: " |
167 | + e.getLineNumber() + " at position: " + e.getCharPositionInLine() + NEW_LINE + e.getMessage(); | 164 | + e.getLineNumber() + " at position: " + e.getCharPositionInLine() + NEW_LINE + e.getMessage(); |
168 | throw new LinkerException(errorInfo); | 165 | throw new LinkerException(errorInfo); |
166 | + // TODO add file path in exception message in util manager. | ||
169 | } | 167 | } |
170 | } | 168 | } |
171 | } | 169 | } | ... | ... |
... | @@ -17,7 +17,6 @@ | ... | @@ -17,7 +17,6 @@ |
17 | package org.onosproject.yangutils.parser.impl; | 17 | package org.onosproject.yangutils.parser.impl; |
18 | 18 | ||
19 | import java.io.IOException; | 19 | import java.io.IOException; |
20 | - | ||
21 | import org.antlr.v4.runtime.ANTLRFileStream; | 20 | import org.antlr.v4.runtime.ANTLRFileStream; |
22 | import org.antlr.v4.runtime.ANTLRInputStream; | 21 | import org.antlr.v4.runtime.ANTLRInputStream; |
23 | import org.antlr.v4.runtime.CommonTokenStream; | 22 | import org.antlr.v4.runtime.CommonTokenStream; | ... | ... |
... | @@ -31,7 +31,7 @@ import org.onosproject.yangutils.parser.exceptions.ParserException; | ... | @@ -31,7 +31,7 @@ import org.onosproject.yangutils.parser.exceptions.ParserException; |
31 | import org.onosproject.yangutils.parser.impl.TreeWalkListener; | 31 | import org.onosproject.yangutils.parser.impl.TreeWalkListener; |
32 | 32 | ||
33 | import static org.onosproject.yangutils.datamodel.utils.YangConstructType.AUGMENT_DATA; | 33 | import static org.onosproject.yangutils.datamodel.utils.YangConstructType.AUGMENT_DATA; |
34 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCapitalCase; | 34 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase; |
35 | 35 | ||
36 | /** | 36 | /** |
37 | * Represents a utility which provides listener utilities augment node. | 37 | * Represents a utility which provides listener utilities augment node. | ... | ... |
utils/yangutils/plugin/src/main/java/org/onosproject/yangutils/plugin/manager/YangPluginUtils.java
0 → 100644
1 | +/* | ||
2 | + * Copyright 2016-present Open Networking Laboratory | ||
3 | + * | ||
4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | ||
5 | + * you may not use this file except in compliance with the License. | ||
6 | + * You may obtain a copy of the License at | ||
7 | + * | ||
8 | + * http://www.apache.org/licenses/LICENSE-2.0 | ||
9 | + * | ||
10 | + * Unless required by applicable law or agreed to in writing, software | ||
11 | + * distributed under the License is distributed on an "AS IS" BASIS, | ||
12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
13 | + * See the License for the specific language governing permissions and | ||
14 | + * limitations under the License. | ||
15 | + */ | ||
16 | + | ||
17 | +package org.onosproject.yangutils.plugin.manager; | ||
18 | + | ||
19 | +import java.io.File; | ||
20 | +import java.io.FileInputStream; | ||
21 | +import java.io.FileOutputStream; | ||
22 | +import java.io.IOException; | ||
23 | +import java.io.InputStream; | ||
24 | +import java.io.ObjectInputStream; | ||
25 | +import java.io.ObjectOutputStream; | ||
26 | +import java.nio.file.Files; | ||
27 | +import java.nio.file.StandardCopyOption; | ||
28 | +import java.util.ArrayList; | ||
29 | +import java.util.Enumeration; | ||
30 | +import java.util.Iterator; | ||
31 | +import java.util.List; | ||
32 | +import java.util.Set; | ||
33 | +import java.util.jar.JarEntry; | ||
34 | +import java.util.jar.JarFile; | ||
35 | +import org.apache.maven.artifact.repository.ArtifactRepository; | ||
36 | +import org.apache.maven.model.Dependency; | ||
37 | +import org.apache.maven.model.Resource; | ||
38 | +import org.apache.maven.project.MavenProject; | ||
39 | +import org.onosproject.yangutils.datamodel.YangNode; | ||
40 | +import org.slf4j.Logger; | ||
41 | +import org.sonatype.plexus.build.incremental.BuildContext; | ||
42 | + | ||
43 | +import static org.onosproject.yangutils.utils.UtilConstants.HYPHEN; | ||
44 | +import static org.onosproject.yangutils.utils.UtilConstants.JAR; | ||
45 | +import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; | ||
46 | +import static org.onosproject.yangutils.utils.UtilConstants.SLASH; | ||
47 | +import static org.onosproject.yangutils.utils.UtilConstants.TEMP; | ||
48 | +import static org.onosproject.yangutils.utils.UtilConstants.YANG_RESOURCES; | ||
49 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase; | ||
50 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getPackageDirPathFromJavaJPackage; | ||
51 | +import static org.slf4j.LoggerFactory.getLogger; | ||
52 | + | ||
53 | +/** | ||
54 | + * Represents YANG plugin utilities. | ||
55 | + */ | ||
56 | +public final class YangPluginUtils { | ||
57 | + | ||
58 | + private static final Logger log = getLogger(YangPluginUtils.class); | ||
59 | + | ||
60 | + private static final String TARGET_RESOURCE_PATH = SLASH + TEMP + SLASH + YANG_RESOURCES + SLASH; | ||
61 | + | ||
62 | + private static final String SERIALIZED_FILE_EXTENSION = ".ser"; | ||
63 | + | ||
64 | + private YangPluginUtils() { | ||
65 | + } | ||
66 | + | ||
67 | + /** | ||
68 | + * Adds generated source directory to the compilation root. | ||
69 | + * | ||
70 | + * @param source directory | ||
71 | + * @param project current maven project | ||
72 | + * @param context current build context | ||
73 | + */ | ||
74 | + public static void addToCompilationRoot(String source, MavenProject project, BuildContext context) { | ||
75 | + project.addCompileSourceRoot(source); | ||
76 | + context.refresh(project.getBasedir()); | ||
77 | + log.info("Source directory added to compilation root: " + source); | ||
78 | + } | ||
79 | + | ||
80 | + /** | ||
81 | + * Copies YANG files to the current project's output directory. | ||
82 | + * | ||
83 | + * @param yangFileInfo list of YANG files | ||
84 | + * @param outputDir project's output directory | ||
85 | + * @param project maven project | ||
86 | + * @throws IOException when fails to copy files to destination resource directory | ||
87 | + */ | ||
88 | + public static void copyYangFilesToTarget(Set<YangFileInfo> yangFileInfo, String outputDir, MavenProject project) | ||
89 | + throws IOException { | ||
90 | + | ||
91 | + List<File> files = getListOfFile(yangFileInfo); | ||
92 | + | ||
93 | + String path = outputDir + TARGET_RESOURCE_PATH; | ||
94 | + File targetDir = new File(path); | ||
95 | + targetDir.mkdirs(); | ||
96 | + | ||
97 | + for (File file : files) { | ||
98 | + Files.copy(file.toPath(), | ||
99 | + new File(path + file.getName()).toPath(), | ||
100 | + StandardCopyOption.REPLACE_EXISTING); | ||
101 | + } | ||
102 | + addToProjectResource(outputDir + SLASH + TEMP + SLASH, project); | ||
103 | + } | ||
104 | + | ||
105 | + /** | ||
106 | + * Provides a list of files from list of strings. | ||
107 | + * | ||
108 | + * @param yangFileInfo set of yang file information | ||
109 | + * @return list of files | ||
110 | + */ | ||
111 | + private static List<File> getListOfFile(Set<YangFileInfo> yangFileInfo) { | ||
112 | + List<File> files = new ArrayList<>(); | ||
113 | + Iterator<YangFileInfo> yangFileIterator = yangFileInfo.iterator(); | ||
114 | + while (yangFileIterator.hasNext()) { | ||
115 | + YangFileInfo yangFile = yangFileIterator.next(); | ||
116 | + if (yangFile.isForTranslator()) { | ||
117 | + files.add(new File(yangFile.getYangFileName())); | ||
118 | + } | ||
119 | + } | ||
120 | + return files; | ||
121 | + } | ||
122 | + | ||
123 | + /** | ||
124 | + * Serializes data-model. | ||
125 | + * | ||
126 | + * @param directory base directory for serialized files | ||
127 | + * @param fileInfoSet YANG file info set | ||
128 | + * @param project maven project | ||
129 | + * @param operation true if need to add to resource | ||
130 | + * @throws IOException when fails to do IO operations | ||
131 | + */ | ||
132 | + public static void serializeDataModel(String directory, Set<YangFileInfo> fileInfoSet, | ||
133 | + MavenProject project, boolean operation) throws IOException { | ||
134 | + | ||
135 | + String serFileDirPath = directory + TARGET_RESOURCE_PATH; | ||
136 | + File dir = new File(serFileDirPath); | ||
137 | + dir.mkdirs(); | ||
138 | + | ||
139 | + if (operation) { | ||
140 | + addToProjectResource(directory + SLASH + TEMP + SLASH, project); | ||
141 | + } | ||
142 | + | ||
143 | + for (YangFileInfo fileInfo : fileInfoSet) { | ||
144 | + | ||
145 | + String serFileName = serFileDirPath + getCamelCase(fileInfo.getRootNode().getName(), null) | ||
146 | + + SERIALIZED_FILE_EXTENSION; | ||
147 | + fileInfo.setSerializedFile(serFileName); | ||
148 | + FileOutputStream fileOutputStream = new FileOutputStream(serFileName); | ||
149 | + ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream); | ||
150 | + objectOutputStream.writeObject(fileInfo.getRootNode()); | ||
151 | + objectOutputStream.close(); | ||
152 | + fileOutputStream.close(); | ||
153 | + } | ||
154 | + } | ||
155 | + | ||
156 | + /** | ||
157 | + * Returns de-serializes YANG data-model nodes. | ||
158 | + * | ||
159 | + * @param serailizedfileInfoSet YANG file info set | ||
160 | + * @return de-serializes YANG data-model nodes | ||
161 | + * @throws IOException when fails do IO operations | ||
162 | + */ | ||
163 | + public static List<YangNode> deSerializeDataModel(List<String> serailizedfileInfoSet) throws IOException { | ||
164 | + | ||
165 | + List<YangNode> nodes = new ArrayList<>(); | ||
166 | + for (String fileInfo : serailizedfileInfoSet) { | ||
167 | + YangNode node = null; | ||
168 | + try { | ||
169 | + FileInputStream fileInputStream = new FileInputStream(fileInfo); | ||
170 | + ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream); | ||
171 | + node = (YangNode) objectInputStream.readObject(); | ||
172 | + nodes.add(node); | ||
173 | + objectInputStream.close(); | ||
174 | + fileInputStream.close(); | ||
175 | + } catch (IOException | ClassNotFoundException e) { | ||
176 | + throw new IOException(fileInfo + " not found."); | ||
177 | + } | ||
178 | + } | ||
179 | + return nodes; | ||
180 | + } | ||
181 | + | ||
182 | + /** | ||
183 | + * Returns list of jar path. | ||
184 | + * | ||
185 | + * @param project maven project | ||
186 | + * @param localRepository local repository | ||
187 | + * @param remoteRepos remote repository | ||
188 | + * @return list of jar paths | ||
189 | + */ | ||
190 | + private static List<String> resolveDependecyJarPath(MavenProject project, ArtifactRepository localRepository, | ||
191 | + List<ArtifactRepository> remoteRepos) { | ||
192 | + | ||
193 | + StringBuilder path = new StringBuilder(); | ||
194 | + List<String> jarPaths = new ArrayList<>(); | ||
195 | + for (Dependency dependency : project.getDependencies()) { | ||
196 | + | ||
197 | + path.append(localRepository.getBasedir()); | ||
198 | + path.append(SLASH); | ||
199 | + path.append(getPackageDirPathFromJavaJPackage(dependency.getGroupId())); | ||
200 | + path.append(SLASH); | ||
201 | + path.append(dependency.getArtifactId()); | ||
202 | + path.append(SLASH); | ||
203 | + path.append(dependency.getVersion()); | ||
204 | + path.append(SLASH); | ||
205 | + path.append(dependency.getArtifactId() + HYPHEN + dependency.getVersion() + PERIOD + JAR); | ||
206 | + File jarFile = new File(path.toString()); | ||
207 | + if (jarFile.exists()) { | ||
208 | + jarPaths.add(path.toString()); | ||
209 | + } | ||
210 | + path.delete(0, path.length()); | ||
211 | + } | ||
212 | + | ||
213 | + for (ArtifactRepository repo : remoteRepos) { | ||
214 | + // TODO: add resolver for remote repo. | ||
215 | + } | ||
216 | + return jarPaths; | ||
217 | + } | ||
218 | + | ||
219 | + /** | ||
220 | + * Resolves inter jar dependencies. | ||
221 | + * | ||
222 | + * @param project current maven project | ||
223 | + * @param localRepository local maven repository | ||
224 | + * @param remoteRepos list of remote repository | ||
225 | + * @param directory directory for serialized files | ||
226 | + * @return list of resolved datamodel nodes | ||
227 | + * @throws IOException when fails to do IO operations | ||
228 | + */ | ||
229 | + public static List<YangNode> resolveInterJarDependencies(MavenProject project, ArtifactRepository localRepository, | ||
230 | + List<ArtifactRepository> remoteRepos, String directory) | ||
231 | + throws IOException { | ||
232 | + | ||
233 | + List<String> dependeciesJarPaths = resolveDependecyJarPath(project, localRepository, remoteRepos); | ||
234 | + List<YangNode> resolvedDataModelNodes = new ArrayList<>(); | ||
235 | + for (String dependecy : dependeciesJarPaths) { | ||
236 | + resolvedDataModelNodes.addAll(deSerializeDataModel(parseJarFile(dependecy, directory))); | ||
237 | + } | ||
238 | + return resolvedDataModelNodes; | ||
239 | + } | ||
240 | + | ||
241 | + /** | ||
242 | + * Parses jar file and returns list of serialized file names. | ||
243 | + * | ||
244 | + * @param jarFile jar file to be parsed | ||
245 | + * @param directory directory for keeping the searized files | ||
246 | + * @return list of serialized files | ||
247 | + * @throws IOException when fails to do IO operations | ||
248 | + */ | ||
249 | + public static List<String> parseJarFile(String jarFile, String directory) | ||
250 | + throws IOException { | ||
251 | + | ||
252 | + List<String> serailizedFiles = new ArrayList<>(); | ||
253 | + JarFile jar = new JarFile(jarFile); | ||
254 | + Enumeration<?> enumEntries = jar.entries(); | ||
255 | + | ||
256 | + File serializedFileDir = new File(directory); | ||
257 | + serializedFileDir.mkdirs(); | ||
258 | + while (enumEntries.hasMoreElements()) { | ||
259 | + JarEntry file = (JarEntry) enumEntries.nextElement(); | ||
260 | + if (file.getName().endsWith(SERIALIZED_FILE_EXTENSION)) { | ||
261 | + if (file.getName().contains(SLASH)) { | ||
262 | + String[] strArray = file.getName().split(SLASH); | ||
263 | + String tempPath = ""; | ||
264 | + for (int i = 0; i < strArray.length - 1; i++) { | ||
265 | + tempPath = SLASH + tempPath + SLASH + strArray[i]; | ||
266 | + } | ||
267 | + File dir = new File(directory + tempPath); | ||
268 | + dir.mkdirs(); | ||
269 | + } | ||
270 | + File serailizedFile = new File(directory + SLASH + file.getName()); | ||
271 | + if (file.isDirectory()) { | ||
272 | + serailizedFile.mkdirs(); | ||
273 | + continue; | ||
274 | + } | ||
275 | + InputStream inputStream = jar.getInputStream(file); | ||
276 | + | ||
277 | + FileOutputStream fileOutputStream = new FileOutputStream(serailizedFile); | ||
278 | + while (inputStream.available() > 0) { | ||
279 | + fileOutputStream.write(inputStream.read()); | ||
280 | + } | ||
281 | + fileOutputStream.close(); | ||
282 | + inputStream.close(); | ||
283 | + serailizedFiles.add(serailizedFile.toString()); | ||
284 | + } | ||
285 | + } | ||
286 | + jar.close(); | ||
287 | + return serailizedFiles; | ||
288 | + } | ||
289 | + | ||
290 | + /* Adds directory to resources of project */ | ||
291 | + private static void addToProjectResource(String dir, MavenProject project) { | ||
292 | + Resource rsc = new Resource(); | ||
293 | + rsc.setDirectory(dir); | ||
294 | + project.addResource(rsc); | ||
295 | + } | ||
296 | +} |
... | @@ -21,7 +21,6 @@ import java.util.HashSet; | ... | @@ -21,7 +21,6 @@ import java.util.HashSet; |
21 | import java.util.Iterator; | 21 | import java.util.Iterator; |
22 | import java.util.List; | 22 | import java.util.List; |
23 | import java.util.Set; | 23 | import java.util.Set; |
24 | - | ||
25 | import org.apache.maven.artifact.repository.ArtifactRepository; | 24 | import org.apache.maven.artifact.repository.ArtifactRepository; |
26 | import org.apache.maven.plugin.AbstractMojo; | 25 | import org.apache.maven.plugin.AbstractMojo; |
27 | import org.apache.maven.plugin.MojoExecutionException; | 26 | import org.apache.maven.plugin.MojoExecutionException; |
... | @@ -37,25 +36,25 @@ import org.onosproject.yangutils.linker.impl.YangLinkerManager; | ... | @@ -37,25 +36,25 @@ import org.onosproject.yangutils.linker.impl.YangLinkerManager; |
37 | import org.onosproject.yangutils.parser.YangUtilsParser; | 36 | import org.onosproject.yangutils.parser.YangUtilsParser; |
38 | import org.onosproject.yangutils.parser.exceptions.ParserException; | 37 | import org.onosproject.yangutils.parser.exceptions.ParserException; |
39 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; | 38 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; |
40 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | ||
41 | -import org.onosproject.yangutils.translator.tojava.utils.YangToJavaNamingConflictUtil; | ||
42 | import org.onosproject.yangutils.utils.io.impl.YangFileScanner; | 39 | import org.onosproject.yangutils.utils.io.impl.YangFileScanner; |
40 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; | ||
41 | +import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil; | ||
43 | import org.sonatype.plexus.build.incremental.BuildContext; | 42 | import org.sonatype.plexus.build.incremental.BuildContext; |
44 | 43 | ||
45 | import static org.apache.maven.plugins.annotations.LifecyclePhase.GENERATE_SOURCES; | 44 | import static org.apache.maven.plugins.annotations.LifecyclePhase.GENERATE_SOURCES; |
46 | import static org.apache.maven.plugins.annotations.ResolutionScope.COMPILE; | 45 | import static org.apache.maven.plugins.annotations.ResolutionScope.COMPILE; |
46 | +import static org.onosproject.yangutils.plugin.manager.YangPluginUtils.addToCompilationRoot; | ||
47 | +import static org.onosproject.yangutils.plugin.manager.YangPluginUtils.copyYangFilesToTarget; | ||
48 | +import static org.onosproject.yangutils.plugin.manager.YangPluginUtils.resolveInterJarDependencies; | ||
49 | +import static org.onosproject.yangutils.plugin.manager.YangPluginUtils.serializeDataModel; | ||
47 | import static org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorUtil.generateJavaCode; | 50 | import static org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorUtil.generateJavaCode; |
48 | import static org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorUtil.translatorErrorHandler; | 51 | import static org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorUtil.translatorErrorHandler; |
49 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getPackageDirPathFromJavaJPackage; | ||
50 | import static org.onosproject.yangutils.utils.UtilConstants.DEFAULT_BASE_PKG; | 52 | import static org.onosproject.yangutils.utils.UtilConstants.DEFAULT_BASE_PKG; |
51 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; | 53 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; |
52 | import static org.onosproject.yangutils.utils.UtilConstants.SLASH; | 54 | import static org.onosproject.yangutils.utils.UtilConstants.SLASH; |
53 | -import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.addToCompilationRoot; | ||
54 | -import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.copyYangFilesToTarget; | ||
55 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; | 55 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; |
56 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getDirectory; | 56 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getDirectory; |
57 | -import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.resolveInterJarDependencies; | 57 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getPackageDirPathFromJavaJPackage; |
58 | -import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.serializeDataModel; | ||
59 | 58 | ||
60 | /** | 59 | /** |
61 | * Represents ONOS YANG utility maven plugin. | 60 | * Represents ONOS YANG utility maven plugin. |
... | @@ -75,6 +74,8 @@ public class YangUtilManager | ... | @@ -75,6 +74,8 @@ public class YangUtilManager |
75 | private YangLinker yangLinker = new YangLinkerManager(); | 74 | private YangLinker yangLinker = new YangLinkerManager(); |
76 | private YangFileInfo curYangFileInfo = new YangFileInfo(); | 75 | private YangFileInfo curYangFileInfo = new YangFileInfo(); |
77 | 76 | ||
77 | + private Set<YangNode> yangNodeSet = new HashSet<>(); | ||
78 | + | ||
78 | private static final String DEFAULT_PKG = SLASH + getPackageDirPathFromJavaJPackage(DEFAULT_BASE_PKG); | 79 | private static final String DEFAULT_PKG = SLASH + getPackageDirPathFromJavaJPackage(DEFAULT_BASE_PKG); |
79 | 80 | ||
80 | /** | 81 | /** |
... | @@ -217,6 +218,15 @@ public class YangUtilManager | ... | @@ -217,6 +218,15 @@ public class YangUtilManager |
217 | } | 218 | } |
218 | 219 | ||
219 | /** | 220 | /** |
221 | + * Returns the YANG node set. | ||
222 | + * | ||
223 | + * @return YANG node set | ||
224 | + */ | ||
225 | + public Set<YangNode> getYangNodeSet() { | ||
226 | + return yangNodeSet; | ||
227 | + } | ||
228 | + | ||
229 | + /** | ||
220 | * Resolved inter-jar dependencies. | 230 | * Resolved inter-jar dependencies. |
221 | * | 231 | * |
222 | * @throws IOException when fails to do IO operations | 232 | * @throws IOException when fails to do IO operations |
... | @@ -244,10 +254,11 @@ public class YangUtilManager | ... | @@ -244,10 +254,11 @@ public class YangUtilManager |
244 | */ | 254 | */ |
245 | public void resolveDependenciesUsingLinker() | 255 | public void resolveDependenciesUsingLinker() |
246 | throws MojoExecutionException { | 256 | throws MojoExecutionException { |
257 | + createYangNodeSet(); | ||
247 | for (YangFileInfo yangFileInfo : getYangFileInfoSet()) { | 258 | for (YangFileInfo yangFileInfo : getYangFileInfoSet()) { |
248 | setCurYangFileInfo(yangFileInfo); | 259 | setCurYangFileInfo(yangFileInfo); |
249 | try { | 260 | try { |
250 | - yangLinker.resolveDependencies(getYangFileInfoSet()); | 261 | + yangLinker.resolveDependencies(getYangNodeSet()); |
251 | } catch (LinkerException e) { | 262 | } catch (LinkerException e) { |
252 | throw new MojoExecutionException(e.getMessage()); | 263 | throw new MojoExecutionException(e.getMessage()); |
253 | } | 264 | } |
... | @@ -255,6 +266,15 @@ public class YangUtilManager | ... | @@ -255,6 +266,15 @@ public class YangUtilManager |
255 | } | 266 | } |
256 | 267 | ||
257 | /** | 268 | /** |
269 | + * Creates YANG nodes set. | ||
270 | + */ | ||
271 | + public void createYangNodeSet() { | ||
272 | + for (YangFileInfo yangFileInfo : getYangFileInfoSet()) { | ||
273 | + getYangNodeSet().add(yangFileInfo.getRootNode()); | ||
274 | + } | ||
275 | + } | ||
276 | + | ||
277 | + /** | ||
258 | * Parses all the provided YANG files and generates YANG data model tree. | 278 | * Parses all the provided YANG files and generates YANG data model tree. |
259 | * | 279 | * |
260 | * @throws IOException a violation in IO | 280 | * @throws IOException a violation in IO | ... | ... |
... | @@ -17,7 +17,7 @@ | ... | @@ -17,7 +17,7 @@ |
17 | package org.onosproject.yangutils.translator.tojava; | 17 | package org.onosproject.yangutils.translator.tojava; |
18 | 18 | ||
19 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 19 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
20 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 20 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
21 | 21 | ||
22 | /** | 22 | /** |
23 | * Abstraction of an entity which provides Code generator functionalities. | 23 | * Abstraction of an entity which provides Code generator functionalities. | ... | ... |
... | @@ -14,10 +14,7 @@ | ... | @@ -14,10 +14,7 @@ |
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | -package org.onosproject.yangutils.translator.tojava.javamodel; | 17 | +package org.onosproject.yangutils.translator.tojava; |
18 | - | ||
19 | -import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; | ||
20 | -import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer; | ||
21 | 18 | ||
22 | /** | 19 | /** |
23 | * Represents YANG java info containing interface for java code generator, java | 20 | * Represents YANG java info containing interface for java code generator, java | ... | ... |
... | @@ -20,7 +20,7 @@ import java.io.IOException; | ... | @@ -20,7 +20,7 @@ import java.io.IOException; |
20 | 20 | ||
21 | import org.onosproject.yangutils.datamodel.YangNode; | 21 | import org.onosproject.yangutils.datamodel.YangNode; |
22 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 22 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
23 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 23 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
24 | 24 | ||
25 | import static org.onosproject.yangutils.translator.tojava.TraversalType.CHILD; | 25 | import static org.onosproject.yangutils.translator.tojava.TraversalType.CHILD; |
26 | import static org.onosproject.yangutils.translator.tojava.TraversalType.PARENT; | 26 | import static org.onosproject.yangutils.translator.tojava.TraversalType.PARENT; | ... | ... |
... | @@ -18,7 +18,7 @@ package org.onosproject.yangutils.translator.tojava; | ... | @@ -18,7 +18,7 @@ package org.onosproject.yangutils.translator.tojava; |
18 | 18 | ||
19 | import java.io.Serializable; | 19 | import java.io.Serializable; |
20 | 20 | ||
21 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 21 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
22 | 22 | ||
23 | /** | 23 | /** |
24 | * Represents cached java file handle, which supports the addition of member attributes and | 24 | * Represents cached java file handle, which supports the addition of member attributes and | ... | ... |
... | @@ -22,13 +22,13 @@ import java.util.Objects; | ... | @@ -22,13 +22,13 @@ import java.util.Objects; |
22 | import org.onosproject.yangutils.datamodel.YangNode; | 22 | import org.onosproject.yangutils.datamodel.YangNode; |
23 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 23 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
24 | import org.onosproject.yangutils.translator.tojava.javamodel.JavaLeafInfoContainer; | 24 | import org.onosproject.yangutils.translator.tojava.javamodel.JavaLeafInfoContainer; |
25 | -import org.onosproject.yangutils.translator.tojava.utils.AttributesJavaDataType; | 25 | +import org.onosproject.yangutils.translator.tojava.javamodel.AttributesJavaDataType; |
26 | -import org.onosproject.yangutils.translator.tojava.utils.YangToJavaNamingConflictUtil; | 26 | +import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil; |
27 | 27 | ||
28 | import com.google.common.base.MoreObjects; | 28 | import com.google.common.base.MoreObjects; |
29 | 29 | ||
30 | -import static org.onosproject.yangutils.translator.tojava.utils.AttributesJavaDataType.getJavaImportClass; | 30 | +import static org.onosproject.yangutils.translator.tojava.javamodel.AttributesJavaDataType.getJavaImportClass; |
31 | -import static org.onosproject.yangutils.translator.tojava.utils.AttributesJavaDataType.getJavaImportPackage; | 31 | +import static org.onosproject.yangutils.translator.tojava.javamodel.AttributesJavaDataType.getJavaImportPackage; |
32 | 32 | ||
33 | /** | 33 | /** |
34 | * Represents the information about individual imports in the generated file. | 34 | * Represents the information about individual imports in the generated file. | ... | ... |
... | @@ -19,7 +19,7 @@ package org.onosproject.yangutils.translator.tojava; | ... | @@ -19,7 +19,7 @@ package org.onosproject.yangutils.translator.tojava; |
19 | import java.io.File; | 19 | import java.io.File; |
20 | import java.io.IOException; | 20 | import java.io.IOException; |
21 | 21 | ||
22 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 22 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
23 | 23 | ||
24 | import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.CONSTRUCTOR_IMPL_MASK; | 24 | import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.CONSTRUCTOR_IMPL_MASK; |
25 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getConstructor; | 25 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getConstructor; | ... | ... |
... | @@ -21,7 +21,7 @@ import java.io.IOException; | ... | @@ -21,7 +21,7 @@ import java.io.IOException; |
21 | import org.onosproject.yangutils.datamodel.YangNode; | 21 | import org.onosproject.yangutils.datamodel.YangNode; |
22 | import org.onosproject.yangutils.datamodel.YangTypeHolder; | 22 | import org.onosproject.yangutils.datamodel.YangTypeHolder; |
23 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 23 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
24 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 24 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
25 | 25 | ||
26 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_ENUM_CLASS; | 26 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_ENUM_CLASS; |
27 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; | 27 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; | ... | ... |
... | @@ -28,19 +28,19 @@ import org.onosproject.yangutils.datamodel.YangEnumeration; | ... | @@ -28,19 +28,19 @@ import org.onosproject.yangutils.datamodel.YangEnumeration; |
28 | import org.onosproject.yangutils.datamodel.YangNode; | 28 | import org.onosproject.yangutils.datamodel.YangNode; |
29 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 29 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
30 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaType; | 30 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaType; |
31 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 31 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
32 | 32 | ||
33 | import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.ENUM_IMPL_MASK; | 33 | import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.ENUM_IMPL_MASK; |
34 | import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getAttributeInfoForTheData; | 34 | import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getAttributeInfoForTheData; |
35 | import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.generateEnumAttributeString; | 35 | import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.generateEnumAttributeString; |
36 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateEnumClassFile; | 36 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateEnumClassFile; |
37 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getEnumJavaAttribute; | 37 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getEnumJavaAttribute; |
38 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getPrefixForIdentifier; | 38 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getPrefixForIdentifier; |
39 | import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.closeFile; | 39 | import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.closeFile; |
40 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; | 40 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; |
41 | import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_FIRST_DIGIT; | 41 | import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_FIRST_DIGIT; |
42 | import static org.onosproject.yangutils.utils.UtilConstants.YANG_AUTO_PREFIX; | 42 | import static org.onosproject.yangutils.utils.UtilConstants.YANG_AUTO_PREFIX; |
43 | -import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.createPackage; | 43 | +import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.createPackage; |
44 | 44 | ||
45 | /** | 45 | /** |
46 | * Represents implementation of java code fragments temporary implementations. | 46 | * Represents implementation of java code fragments temporary implementations. | ... | ... |
... | @@ -33,7 +33,7 @@ import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaGrouping; | ... | @@ -33,7 +33,7 @@ import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaGrouping; |
33 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModule; | 33 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModule; |
34 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaSubModule; | 34 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaSubModule; |
35 | import org.onosproject.yangutils.translator.tojava.utils.JavaExtendsListHolder; | 35 | import org.onosproject.yangutils.translator.tojava.utils.JavaExtendsListHolder; |
36 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 36 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
37 | 37 | ||
38 | import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.getParentNodeInGenCode; | 38 | import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.getParentNodeInGenCode; |
39 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_CLASS_MASK; | 39 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_CLASS_MASK; |
... | @@ -55,7 +55,7 @@ import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType. | ... | @@ -55,7 +55,7 @@ import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType. |
55 | import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getAttributeInfoForTheData; | 55 | import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getAttributeInfoForTheData; |
56 | import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.getQualifiedInfoOfFromString; | 56 | import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.getQualifiedInfoOfFromString; |
57 | import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.getQualifiedTypeInfoOfCurNode; | 57 | import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.getQualifiedTypeInfoOfCurNode; |
58 | -import static org.onosproject.yangutils.translator.tojava.utils.AttributesJavaDataType.updateJavaFileInfo; | 58 | +import static org.onosproject.yangutils.translator.tojava.javamodel.AttributesJavaDataType.updateJavaFileInfo; |
59 | import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getJavaAttributeDefination; | 59 | import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getJavaAttributeDefination; |
60 | import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getJavaClassDefClose; | 60 | import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getJavaClassDefClose; |
61 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateBuilderClassFile; | 61 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateBuilderClassFile; |
... | @@ -63,9 +63,9 @@ import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerato | ... | @@ -63,9 +63,9 @@ import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerato |
63 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateImplClassFile; | 63 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateImplClassFile; |
64 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateInterfaceFile; | 64 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateInterfaceFile; |
65 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getFileObject; | 65 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getFileObject; |
66 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; | 66 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase; |
67 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCapitalCase; | 67 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase; |
68 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getPackageDirPathFromJavaJPackage; | 68 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getPackageDirPathFromJavaJPackage; |
69 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getRootPackage; | 69 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getRootPackage; |
70 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getBuildString; | 70 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getBuildString; |
71 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getDefaultConstructorString; | 71 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getDefaultConstructorString; |
... | @@ -104,7 +104,7 @@ import static org.onosproject.yangutils.utils.UtilConstants.REFERENCE_CARDINALIT | ... | @@ -104,7 +104,7 @@ import static org.onosproject.yangutils.utils.UtilConstants.REFERENCE_CARDINALIT |
104 | import static org.onosproject.yangutils.utils.UtilConstants.SEMI_COLAN; | 104 | import static org.onosproject.yangutils.utils.UtilConstants.SEMI_COLAN; |
105 | import static org.onosproject.yangutils.utils.UtilConstants.SERVICE; | 105 | import static org.onosproject.yangutils.utils.UtilConstants.SERVICE; |
106 | import static org.onosproject.yangutils.utils.UtilConstants.SLASH; | 106 | import static org.onosproject.yangutils.utils.UtilConstants.SLASH; |
107 | -import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.createPackage; | 107 | +import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.createPackage; |
108 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.readAppendFile; | 108 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.readAppendFile; |
109 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.getJavaDoc; | 109 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.getJavaDoc; |
110 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.GETTER_METHOD; | 110 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.GETTER_METHOD; | ... | ... |
... | @@ -25,7 +25,7 @@ import org.onosproject.yangutils.datamodel.YangNode; | ... | @@ -25,7 +25,7 @@ import org.onosproject.yangutils.datamodel.YangNode; |
25 | import org.onosproject.yangutils.datamodel.YangNotification; | 25 | import org.onosproject.yangutils.datamodel.YangNotification; |
26 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModule; | 26 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModule; |
27 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaSubModule; | 27 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaSubModule; |
28 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 28 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
29 | 29 | ||
30 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_CLASS; | 30 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_CLASS; |
31 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_LISTENER_INTERFACE; | 31 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_LISTENER_INTERFACE; |
... | @@ -46,10 +46,10 @@ import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerato | ... | @@ -46,10 +46,10 @@ import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerato |
46 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateManagerClassFile; | 46 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateManagerClassFile; |
47 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateServiceInterfaceFile; | 47 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateServiceInterfaceFile; |
48 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getFileObject; | 48 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getFileObject; |
49 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; | 49 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase; |
50 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCapitalCase; | 50 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase; |
51 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getEnumJavaAttribute; | 51 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getEnumJavaAttribute; |
52 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getSmallCase; | 52 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getSmallCase; |
53 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getGetterForClass; | 53 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getGetterForClass; |
54 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getRpcManagerMethod; | 54 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getRpcManagerMethod; |
55 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getRpcServiceMethod; | 55 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getRpcServiceMethod; |
... | @@ -67,7 +67,7 @@ import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; | ... | @@ -67,7 +67,7 @@ import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; |
67 | import static org.onosproject.yangutils.utils.UtilConstants.RPC_INPUT_VAR_NAME; | 67 | import static org.onosproject.yangutils.utils.UtilConstants.RPC_INPUT_VAR_NAME; |
68 | import static org.onosproject.yangutils.utils.UtilConstants.SLASH; | 68 | import static org.onosproject.yangutils.utils.UtilConstants.SLASH; |
69 | import static org.onosproject.yangutils.utils.UtilConstants.VOID; | 69 | import static org.onosproject.yangutils.utils.UtilConstants.VOID; |
70 | -import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.createPackage; | 70 | +import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.createPackage; |
71 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.generateJavaDocForRpc; | 71 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.generateJavaDocForRpc; |
72 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.getJavaDoc; | 72 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.getJavaDoc; |
73 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.ENUM_ATTRIBUTE; | 73 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.ENUM_ATTRIBUTE; | ... | ... |
... | @@ -26,7 +26,7 @@ import org.onosproject.yangutils.datamodel.YangType; | ... | @@ -26,7 +26,7 @@ import org.onosproject.yangutils.datamodel.YangType; |
26 | import org.onosproject.yangutils.datamodel.YangTypeHolder; | 26 | import org.onosproject.yangutils.datamodel.YangTypeHolder; |
27 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 27 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
28 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaType; | 28 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaType; |
29 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 29 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
30 | 30 | ||
31 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_TYPEDEF_CLASS; | 31 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_TYPEDEF_CLASS; |
32 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_UNION_CLASS; | 32 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_UNION_CLASS; |
... | @@ -36,13 +36,13 @@ import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType. | ... | @@ -36,13 +36,13 @@ import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType. |
36 | import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getAttributeInfoForTheData; | 36 | import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getAttributeInfoForTheData; |
37 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateTypeDefClassFile; | 37 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateTypeDefClassFile; |
38 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateUnionClassFile; | 38 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.generateUnionClassFile; |
39 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; | 39 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase; |
40 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getOfMethodStringAndJavaDoc; | 40 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getOfMethodStringAndJavaDoc; |
41 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getTypeConstructorStringAndJavaDoc; | 41 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getTypeConstructorStringAndJavaDoc; |
42 | import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.closeFile; | 42 | import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.closeFile; |
43 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; | 43 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; |
44 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; | 44 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; |
45 | -import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.createPackage; | 45 | +import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.createPackage; |
46 | 46 | ||
47 | /** | 47 | /** |
48 | * Represents implementation of java data type code fragments temporary implementations. | 48 | * Represents implementation of java data type code fragments temporary implementations. | ... | ... |
... | @@ -14,10 +14,9 @@ | ... | @@ -14,10 +14,9 @@ |
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | -package org.onosproject.yangutils.translator.tojava.utils; | 17 | +package org.onosproject.yangutils.translator.tojava.javamodel; |
18 | 18 | ||
19 | import java.util.Stack; | 19 | import java.util.Stack; |
20 | - | ||
21 | import org.onosproject.yangutils.datamodel.YangDataTypes; | 20 | import org.onosproject.yangutils.datamodel.YangDataTypes; |
22 | import org.onosproject.yangutils.datamodel.YangDerivedInfo; | 21 | import org.onosproject.yangutils.datamodel.YangDerivedInfo; |
23 | import org.onosproject.yangutils.datamodel.YangEnumeration; | 22 | import org.onosproject.yangutils.datamodel.YangEnumeration; |
... | @@ -26,48 +25,35 @@ import org.onosproject.yangutils.datamodel.YangType; | ... | @@ -26,48 +25,35 @@ import org.onosproject.yangutils.datamodel.YangType; |
26 | import org.onosproject.yangutils.datamodel.YangTypeDef; | 25 | import org.onosproject.yangutils.datamodel.YangTypeDef; |
27 | import org.onosproject.yangutils.datamodel.YangUnion; | 26 | import org.onosproject.yangutils.datamodel.YangUnion; |
28 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 27 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
28 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
29 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 29 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
30 | import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; | 30 | import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; |
31 | -import org.onosproject.yangutils.translator.tojava.javamodel.JavaCodeGeneratorInfo; | 31 | +import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil; |
32 | -import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaEnumeration; | ||
33 | -import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModule; | ||
34 | -import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaSubModule; | ||
35 | -import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaTypeDef; | ||
36 | -import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaUnion; | ||
37 | 32 | ||
38 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; | 33 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.getCurNodePackage; |
39 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCapitalCase; | ||
40 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCurNodePackage; | ||
41 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getPackageDirPathFromJavaJPackage; | ||
42 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getRootPackage; | 34 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getRootPackage; |
43 | import static org.onosproject.yangutils.utils.UtilConstants.BIG_INTEGER; | 35 | import static org.onosproject.yangutils.utils.UtilConstants.BIG_INTEGER; |
44 | import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_DATA_TYPE; | 36 | import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_DATA_TYPE; |
45 | import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_WRAPPER; | 37 | import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_WRAPPER; |
46 | import static org.onosproject.yangutils.utils.UtilConstants.BYTE; | 38 | import static org.onosproject.yangutils.utils.UtilConstants.BYTE; |
47 | import static org.onosproject.yangutils.utils.UtilConstants.BYTE_WRAPPER; | 39 | import static org.onosproject.yangutils.utils.UtilConstants.BYTE_WRAPPER; |
48 | -import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; | ||
49 | -import static org.onosproject.yangutils.utils.UtilConstants.FROM_STRING_METHOD_NAME; | ||
50 | import static org.onosproject.yangutils.utils.UtilConstants.INT; | 40 | import static org.onosproject.yangutils.utils.UtilConstants.INT; |
51 | import static org.onosproject.yangutils.utils.UtilConstants.INTEGER_WRAPPER; | 41 | import static org.onosproject.yangutils.utils.UtilConstants.INTEGER_WRAPPER; |
52 | import static org.onosproject.yangutils.utils.UtilConstants.JAVA_LANG; | 42 | import static org.onosproject.yangutils.utils.UtilConstants.JAVA_LANG; |
53 | import static org.onosproject.yangutils.utils.UtilConstants.JAVA_MATH; | 43 | import static org.onosproject.yangutils.utils.UtilConstants.JAVA_MATH; |
54 | import static org.onosproject.yangutils.utils.UtilConstants.LONG; | 44 | import static org.onosproject.yangutils.utils.UtilConstants.LONG; |
55 | import static org.onosproject.yangutils.utils.UtilConstants.LONG_WRAPPER; | 45 | import static org.onosproject.yangutils.utils.UtilConstants.LONG_WRAPPER; |
56 | -import static org.onosproject.yangutils.utils.UtilConstants.NEW; | ||
57 | -import static org.onosproject.yangutils.utils.UtilConstants.PARSE_BOOLEAN; | ||
58 | -import static org.onosproject.yangutils.utils.UtilConstants.PARSE_BYTE; | ||
59 | -import static org.onosproject.yangutils.utils.UtilConstants.PARSE_INT; | ||
60 | -import static org.onosproject.yangutils.utils.UtilConstants.PARSE_LONG; | ||
61 | -import static org.onosproject.yangutils.utils.UtilConstants.PARSE_SHORT; | ||
62 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; | 46 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; |
63 | import static org.onosproject.yangutils.utils.UtilConstants.SHORT; | 47 | import static org.onosproject.yangutils.utils.UtilConstants.SHORT; |
64 | import static org.onosproject.yangutils.utils.UtilConstants.SHORT_WRAPPER; | 48 | import static org.onosproject.yangutils.utils.UtilConstants.SHORT_WRAPPER; |
65 | -import static org.onosproject.yangutils.utils.UtilConstants.SPACE; | ||
66 | import static org.onosproject.yangutils.utils.UtilConstants.STRING_DATA_TYPE; | 49 | import static org.onosproject.yangutils.utils.UtilConstants.STRING_DATA_TYPE; |
67 | import static org.onosproject.yangutils.utils.UtilConstants.YANG_BINARY_CLASS; | 50 | import static org.onosproject.yangutils.utils.UtilConstants.YANG_BINARY_CLASS; |
68 | import static org.onosproject.yangutils.utils.UtilConstants.YANG_BITS_CLASS; | 51 | import static org.onosproject.yangutils.utils.UtilConstants.YANG_BITS_CLASS; |
69 | import static org.onosproject.yangutils.utils.UtilConstants.YANG_DECIMAL64_CLASS; | 52 | import static org.onosproject.yangutils.utils.UtilConstants.YANG_DECIMAL64_CLASS; |
70 | import static org.onosproject.yangutils.utils.UtilConstants.YANG_TYPES_PKG; | 53 | import static org.onosproject.yangutils.utils.UtilConstants.YANG_TYPES_PKG; |
54 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase; | ||
55 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase; | ||
56 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getPackageDirPathFromJavaJPackage; | ||
71 | 57 | ||
72 | /** | 58 | /** |
73 | * Represents java data types info corresponding to YANG type. | 59 | * Represents java data types info corresponding to YANG type. |
... | @@ -121,51 +107,6 @@ public final class AttributesJavaDataType { | ... | @@ -121,51 +107,6 @@ public final class AttributesJavaDataType { |
121 | } | 107 | } |
122 | 108 | ||
123 | /** | 109 | /** |
124 | - * Returns from string method parsed string. | ||
125 | - * | ||
126 | - * @param targetDataType target data type | ||
127 | - * @param yangType YANG type | ||
128 | - * @return parsed string | ||
129 | - */ | ||
130 | - public static String getParseFromStringMethod(String targetDataType, YangType<?> yangType) { | ||
131 | - | ||
132 | - YangDataTypes type = yangType.getDataType(); | ||
133 | - | ||
134 | - switch (type) { | ||
135 | - case INT8: | ||
136 | - return BYTE_WRAPPER + PERIOD + PARSE_BYTE; | ||
137 | - case INT16: | ||
138 | - return SHORT_WRAPPER + PERIOD + PARSE_SHORT; | ||
139 | - case INT32: | ||
140 | - return INTEGER_WRAPPER + PERIOD + PARSE_INT; | ||
141 | - case INT64: | ||
142 | - return LONG_WRAPPER + PERIOD + PARSE_LONG; | ||
143 | - case UINT8: | ||
144 | - return SHORT_WRAPPER + PERIOD + PARSE_SHORT; | ||
145 | - case UINT16: | ||
146 | - return INTEGER_WRAPPER + PERIOD + PARSE_INT; | ||
147 | - case UINT32: | ||
148 | - return LONG_WRAPPER + PERIOD + PARSE_LONG; | ||
149 | - case UINT64: | ||
150 | - return NEW + SPACE + BIG_INTEGER; | ||
151 | - case STRING: | ||
152 | - return EMPTY_STRING; | ||
153 | - case EMPTY: | ||
154 | - case BOOLEAN: | ||
155 | - return BOOLEAN_WRAPPER + PERIOD + PARSE_BOOLEAN; | ||
156 | - case DECIMAL64: | ||
157 | - case BITS: | ||
158 | - case BINARY: | ||
159 | - case UNION: | ||
160 | - case ENUMERATION: | ||
161 | - case DERIVED: | ||
162 | - return targetDataType + PERIOD + FROM_STRING_METHOD_NAME; | ||
163 | - default: | ||
164 | - throw new TranslatorException("given data type is not supported."); | ||
165 | - } | ||
166 | - } | ||
167 | - | ||
168 | - /** | ||
169 | * Returns java import class. | 110 | * Returns java import class. |
170 | * | 111 | * |
171 | * @param yangType YANG type | 112 | * @param yangType YANG type | ... | ... |
... | @@ -17,7 +17,7 @@ package org.onosproject.yangutils.translator.tojava.javamodel; | ... | @@ -17,7 +17,7 @@ package org.onosproject.yangutils.translator.tojava.javamodel; |
17 | 17 | ||
18 | import org.onosproject.yangutils.datamodel.YangType; | 18 | import org.onosproject.yangutils.datamodel.YangType; |
19 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoContainer; | 19 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoContainer; |
20 | -import org.onosproject.yangutils.translator.tojava.utils.YangToJavaNamingConflictUtil; | 20 | +import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil; |
21 | 21 | ||
22 | /** | 22 | /** |
23 | * Represent java based identification of the YANG leaves. | 23 | * Represent java based identification of the YANG leaves. | ... | ... |
... | @@ -16,7 +16,7 @@ | ... | @@ -16,7 +16,7 @@ |
16 | package org.onosproject.yangutils.translator.tojava.javamodel; | 16 | package org.onosproject.yangutils.translator.tojava.javamodel; |
17 | 17 | ||
18 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoContainer; | 18 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfoContainer; |
19 | -import org.onosproject.yangutils.translator.tojava.utils.YangToJavaNamingConflictUtil; | 19 | +import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil; |
20 | 20 | ||
21 | /** | 21 | /** |
22 | * Represent java based identification of the YANG leaves. | 22 | * Represent java based identification of the YANG leaves. | ... | ... |
... | @@ -20,12 +20,13 @@ import java.io.IOException; | ... | @@ -20,12 +20,13 @@ import java.io.IOException; |
20 | import org.onosproject.yangutils.datamodel.YangAugment; | 20 | import org.onosproject.yangutils.datamodel.YangAugment; |
21 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 21 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
23 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
23 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 24 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
24 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 25 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
25 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 26 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
26 | 27 | ||
27 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; | 28 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; |
28 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.generateCodeOfAugmentableNode; | 29 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.generateCodeOfAugmentableNode; |
29 | 30 | ||
30 | /** | 31 | /** |
31 | * Represents augment information extended to support java code generation. | 32 | * Represents augment information extended to support java code generation. | ... | ... |
... | @@ -20,12 +20,13 @@ import java.io.IOException; | ... | @@ -20,12 +20,13 @@ import java.io.IOException; |
20 | import org.onosproject.yangutils.datamodel.YangCase; | 20 | import org.onosproject.yangutils.datamodel.YangCase; |
21 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 21 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
23 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
23 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 24 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
24 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 25 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
25 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 26 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
26 | 27 | ||
27 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; | 28 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; |
28 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.generateCodeOfAugmentableNode; | 29 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.generateCodeOfAugmentableNode; |
29 | 30 | ||
30 | /** | 31 | /** |
31 | * Represents case information extended to support java code generation. | 32 | * Represents case information extended to support java code generation. | ... | ... |
... | @@ -20,12 +20,13 @@ import java.io.IOException; | ... | @@ -20,12 +20,13 @@ import java.io.IOException; |
20 | import org.onosproject.yangutils.datamodel.YangChoice; | 20 | import org.onosproject.yangutils.datamodel.YangChoice; |
21 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 21 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
23 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
23 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 24 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
24 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 25 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
25 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 26 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
26 | 27 | ||
27 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.INTERFACE_MASK; | 28 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.INTERFACE_MASK; |
28 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.generateCodeAndUpdateInParent; | 29 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.generateCodeAndUpdateInParent; |
29 | 30 | ||
30 | /** | 31 | /** |
31 | * Represents choice information extended to support java code generation. | 32 | * Represents choice information extended to support java code generation. | ... | ... |
... | @@ -20,12 +20,13 @@ import java.io.IOException; | ... | @@ -20,12 +20,13 @@ import java.io.IOException; |
20 | import org.onosproject.yangutils.datamodel.YangContainer; | 20 | import org.onosproject.yangutils.datamodel.YangContainer; |
21 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 21 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
23 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
23 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 24 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
24 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 25 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
25 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 26 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
26 | 27 | ||
27 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; | 28 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; |
28 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.generateCodeAndUpdateInParent; | 29 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.generateCodeAndUpdateInParent; |
29 | 30 | ||
30 | /** | 31 | /** |
31 | * Represents container information extended to support java code generation. | 32 | * Represents container information extended to support java code generation. | ... | ... |
... | @@ -21,12 +21,13 @@ import java.io.IOException; | ... | @@ -21,12 +21,13 @@ import java.io.IOException; |
21 | import org.onosproject.yangutils.datamodel.YangEnumeration; | 21 | import org.onosproject.yangutils.datamodel.YangEnumeration; |
22 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 22 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
23 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 23 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
24 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
24 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 25 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
25 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 26 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
26 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 27 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
27 | 28 | ||
28 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_ENUM_CLASS; | 29 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_ENUM_CLASS; |
29 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.generateCodeOfNode; | 30 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.generateCodeOfNode; |
30 | 31 | ||
31 | /** | 32 | /** |
32 | * Represents YANG java enumeration information extended to support java code generation. | 33 | * Represents YANG java enumeration information extended to support java code generation. | ... | ... |
... | @@ -20,11 +20,12 @@ import java.io.IOException; | ... | @@ -20,11 +20,12 @@ import java.io.IOException; |
20 | import org.onosproject.yangutils.datamodel.YangGrouping; | 20 | import org.onosproject.yangutils.datamodel.YangGrouping; |
21 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 21 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
23 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
23 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 24 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
24 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 25 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
25 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 26 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
26 | 27 | ||
27 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.updatePackageInfo; | 28 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.updatePackageInfo; |
28 | 29 | ||
29 | /** | 30 | /** |
30 | * Represents grouping information extended to support java code generation. | 31 | * Represents grouping information extended to support java code generation. | ... | ... |
... | @@ -21,12 +21,13 @@ import java.io.IOException; | ... | @@ -21,12 +21,13 @@ import java.io.IOException; |
21 | import org.onosproject.yangutils.datamodel.YangInput; | 21 | import org.onosproject.yangutils.datamodel.YangInput; |
22 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 22 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
23 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 23 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
24 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
24 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 25 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
25 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 26 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
26 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 27 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
27 | 28 | ||
28 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; | 29 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; |
29 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.generateCodeOfAugmentableNode; | 30 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.generateCodeOfAugmentableNode; |
30 | 31 | ||
31 | /** | 32 | /** |
32 | * Represents input information extended to support java code generation. | 33 | * Represents input information extended to support java code generation. | ... | ... |
... | @@ -17,10 +17,10 @@ package org.onosproject.yangutils.translator.tojava.javamodel; | ... | @@ -17,10 +17,10 @@ package org.onosproject.yangutils.translator.tojava.javamodel; |
17 | 17 | ||
18 | import org.onosproject.yangutils.datamodel.YangLeaf; | 18 | import org.onosproject.yangutils.datamodel.YangLeaf; |
19 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; | 19 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; |
20 | -import org.onosproject.yangutils.translator.tojava.utils.YangToJavaNamingConflictUtil; | 20 | +import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil; |
21 | 21 | ||
22 | import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.updateLeavesJavaQualifiedInfo; | 22 | import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.updateLeavesJavaQualifiedInfo; |
23 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; | 23 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase; |
24 | 24 | ||
25 | /** | 25 | /** |
26 | * Represents java information corresponding to the YANG leaf. | 26 | * Represents java information corresponding to the YANG leaf. | ... | ... |
... | @@ -17,10 +17,10 @@ package org.onosproject.yangutils.translator.tojava.javamodel; | ... | @@ -17,10 +17,10 @@ package org.onosproject.yangutils.translator.tojava.javamodel; |
17 | 17 | ||
18 | import org.onosproject.yangutils.datamodel.YangLeafList; | 18 | import org.onosproject.yangutils.datamodel.YangLeafList; |
19 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; | 19 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; |
20 | -import org.onosproject.yangutils.translator.tojava.utils.YangToJavaNamingConflictUtil; | 20 | +import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil; |
21 | 21 | ||
22 | import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.updateLeavesJavaQualifiedInfo; | 22 | import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.updateLeavesJavaQualifiedInfo; |
23 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; | 23 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase; |
24 | 24 | ||
25 | /** | 25 | /** |
26 | * Represents java information corresponding to the YANG leaf-list. | 26 | * Represents java information corresponding to the YANG leaf-list. | ... | ... |
... | @@ -20,12 +20,13 @@ import java.io.IOException; | ... | @@ -20,12 +20,13 @@ import java.io.IOException; |
20 | import org.onosproject.yangutils.datamodel.YangList; | 20 | import org.onosproject.yangutils.datamodel.YangList; |
21 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 21 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
23 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
23 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 24 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
24 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 25 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
25 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 26 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
26 | 27 | ||
27 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; | 28 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; |
28 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.generateCodeAndUpdateInParent; | 29 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.generateCodeAndUpdateInParent; |
29 | 30 | ||
30 | /** | 31 | /** |
31 | * Represents YANG list information extended to support java code generation. | 32 | * Represents YANG list information extended to support java code generation. | ... | ... |
... | @@ -14,24 +14,23 @@ | ... | @@ -14,24 +14,23 @@ |
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | -package org.onosproject.yangutils.translator.tojava.utils; | 17 | +package org.onosproject.yangutils.translator.tojava.javamodel; |
18 | 18 | ||
19 | import java.io.IOException; | 19 | import java.io.IOException; |
20 | - | ||
21 | import org.onosproject.yangutils.datamodel.RpcNotificationContainer; | 20 | import org.onosproject.yangutils.datamodel.RpcNotificationContainer; |
22 | import org.onosproject.yangutils.datamodel.YangCase; | 21 | import org.onosproject.yangutils.datamodel.YangCase; |
23 | import org.onosproject.yangutils.datamodel.YangChoice; | 22 | import org.onosproject.yangutils.datamodel.YangChoice; |
24 | import org.onosproject.yangutils.datamodel.YangLeavesHolder; | 23 | import org.onosproject.yangutils.datamodel.YangLeavesHolder; |
25 | import org.onosproject.yangutils.datamodel.YangNode; | 24 | import org.onosproject.yangutils.datamodel.YangNode; |
26 | import org.onosproject.yangutils.datamodel.YangTypeHolder; | 25 | import org.onosproject.yangutils.datamodel.YangTypeHolder; |
26 | +import org.onosproject.yangutils.datamodel.utils.DataModelUtils; | ||
27 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 27 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
28 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
29 | +import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | ||
28 | import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; | 30 | import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; |
29 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; | 31 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; |
30 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 32 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
31 | -import org.onosproject.yangutils.translator.tojava.javamodel.JavaCodeGeneratorInfo; | 33 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
32 | -import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaEnumeration; | ||
33 | -import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModule; | ||
34 | -import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaSubModule; | ||
35 | 34 | ||
36 | import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.isRpcChildNodePresent; | 35 | import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.isRpcChildNodePresent; |
37 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_CLASS; | 36 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_CLASS; |
... | @@ -39,10 +38,10 @@ import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType. | ... | @@ -39,10 +38,10 @@ import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType. |
39 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_SUBJECT_CLASS; | 38 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_SUBJECT_CLASS; |
40 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER; | 39 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER; |
41 | import static org.onosproject.yangutils.translator.tojava.TempJavaFragmentFiles.addCurNodeInfoInParentTempFile; | 40 | import static org.onosproject.yangutils.translator.tojava.TempJavaFragmentFiles.addCurNodeInfoInParentTempFile; |
42 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; | 41 | +import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; |
43 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCapitalCase; | 42 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase; |
44 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCurNodePackage; | 43 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase; |
45 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getPackageDirPathFromJavaJPackage; | 44 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getPackageDirPathFromJavaJPackage; |
46 | 45 | ||
47 | /** | 46 | /** |
48 | * Represents utility class for YANG java model. | 47 | * Represents utility class for YANG java model. |
... | @@ -349,4 +348,26 @@ public final class YangJavaModelUtils { | ... | @@ -349,4 +348,26 @@ public final class YangJavaModelUtils { |
349 | javaCodeGeneratorInfo.getJavaFileInfo().addGeneratedFileTypes(GENERATE_EVENT_LISTENER_INTERFACE); | 348 | javaCodeGeneratorInfo.getJavaFileInfo().addGeneratedFileTypes(GENERATE_EVENT_LISTENER_INTERFACE); |
350 | } | 349 | } |
351 | 350 | ||
351 | + /** | ||
352 | + * Returns the node package string. | ||
353 | + * | ||
354 | + * @param curNode current java node whose package string needs to be set | ||
355 | + * @return returns the root package string | ||
356 | + */ | ||
357 | + public static String getCurNodePackage(YangNode curNode) { | ||
358 | + | ||
359 | + String pkg; | ||
360 | + if (!(curNode instanceof JavaFileInfoContainer) | ||
361 | + || curNode.getParent() == null) { | ||
362 | + throw new TranslatorException("missing parent node to get current node's package"); | ||
363 | + } | ||
364 | + | ||
365 | + YangNode parentNode = DataModelUtils.getParentNodeInGenCode(curNode); | ||
366 | + if (!(parentNode instanceof JavaFileInfoContainer)) { | ||
367 | + throw new TranslatorException("missing parent java node to get current node's package"); | ||
368 | + } | ||
369 | + JavaFileInfo parentJavaFileHandle = ((JavaFileInfoContainer) parentNode).getJavaFileInfo(); | ||
370 | + pkg = parentJavaFileHandle.getPackage() + PERIOD + parentJavaFileHandle.getJavaName(); | ||
371 | + return pkg.toLowerCase(); | ||
372 | + } | ||
352 | } | 373 | } | ... | ... |
... | @@ -24,16 +24,17 @@ import org.onosproject.yangutils.datamodel.YangNode; | ... | @@ -24,16 +24,17 @@ import org.onosproject.yangutils.datamodel.YangNode; |
24 | import org.onosproject.yangutils.datamodel.YangNotification; | 24 | import org.onosproject.yangutils.datamodel.YangNotification; |
25 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 25 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
26 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 26 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
27 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
27 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 28 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
28 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 29 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
29 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 30 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
30 | 31 | ||
31 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_CLASS; | 32 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_CLASS; |
32 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_LISTENER_INTERFACE; | 33 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_LISTENER_INTERFACE; |
33 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_SUBJECT_CLASS; | 34 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_SUBJECT_CLASS; |
34 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER; | 35 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER; |
35 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getRootPackage; | 36 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getRootPackage; |
36 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.generateCodeOfRootNode; | 37 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.generateCodeOfRootNode; |
37 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.searchAndDeleteTempDir; | 38 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.searchAndDeleteTempDir; |
38 | 39 | ||
39 | /** | 40 | /** | ... | ... |
... | @@ -22,17 +22,18 @@ import org.onosproject.yangutils.datamodel.YangNode; | ... | @@ -22,17 +22,18 @@ import org.onosproject.yangutils.datamodel.YangNode; |
22 | import org.onosproject.yangutils.datamodel.YangNotification; | 22 | import org.onosproject.yangutils.datamodel.YangNotification; |
23 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 23 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
24 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 24 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
25 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
25 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 26 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
26 | import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; | 27 | import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; |
27 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; | 28 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; |
28 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 29 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
29 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer; | 30 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer; |
30 | import org.onosproject.yangutils.translator.tojava.utils.JavaExtendsListHolder; | 31 | import org.onosproject.yangutils.translator.tojava.utils.JavaExtendsListHolder; |
31 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 32 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
32 | 33 | ||
33 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; | 34 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; |
34 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCapitalCase; | 35 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase; |
35 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.generateCodeOfAugmentableNode; | 36 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.generateCodeOfAugmentableNode; |
36 | import static org.onosproject.yangutils.utils.UtilConstants.EVENT_LISTENER_STRING; | 37 | import static org.onosproject.yangutils.utils.UtilConstants.EVENT_LISTENER_STRING; |
37 | import static org.onosproject.yangutils.utils.UtilConstants.EVENT_STRING; | 38 | import static org.onosproject.yangutils.utils.UtilConstants.EVENT_STRING; |
38 | 39 | ... | ... |
... | @@ -21,12 +21,13 @@ import java.io.IOException; | ... | @@ -21,12 +21,13 @@ import java.io.IOException; |
21 | import org.onosproject.yangutils.datamodel.YangOutput; | 21 | import org.onosproject.yangutils.datamodel.YangOutput; |
22 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 22 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
23 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 23 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
24 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
24 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 25 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
25 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 26 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
26 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 27 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
27 | 28 | ||
28 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; | 29 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; |
29 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.generateCodeOfAugmentableNode; | 30 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.generateCodeOfAugmentableNode; |
30 | 31 | ||
31 | /** | 32 | /** |
32 | * Represents output information extended to support java code generation. | 33 | * Represents output information extended to support java code generation. | ... | ... |
... | @@ -26,19 +26,20 @@ import org.onosproject.yangutils.datamodel.YangRpc; | ... | @@ -26,19 +26,20 @@ import org.onosproject.yangutils.datamodel.YangRpc; |
26 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 26 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
27 | import org.onosproject.yangutils.translator.tojava.JavaAttributeInfo; | 27 | import org.onosproject.yangutils.translator.tojava.JavaAttributeInfo; |
28 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 28 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
29 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
29 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 30 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
30 | import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; | 31 | import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; |
31 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; | 32 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; |
32 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 33 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
33 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer; | 34 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer; |
34 | import org.onosproject.yangutils.translator.tojava.TempJavaFragmentFiles; | 35 | import org.onosproject.yangutils.translator.tojava.TempJavaFragmentFiles; |
35 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 36 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
36 | 37 | ||
37 | import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.getParentNodeInGenCode; | 38 | import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.getParentNodeInGenCode; |
38 | import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getAttributeInfoForTheData; | 39 | import static org.onosproject.yangutils.translator.tojava.JavaAttributeInfo.getAttributeInfoForTheData; |
39 | import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.getQualifiedTypeInfoOfCurNode; | 40 | import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.getQualifiedTypeInfoOfCurNode; |
40 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCapitalCase; | 41 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase; |
41 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.updatePackageInfo; | 42 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.updatePackageInfo; |
42 | import static org.onosproject.yangutils.utils.UtilConstants.ACTIVATE; | 43 | import static org.onosproject.yangutils.utils.UtilConstants.ACTIVATE; |
43 | import static org.onosproject.yangutils.utils.UtilConstants.COMPONENT; | 44 | import static org.onosproject.yangutils.utils.UtilConstants.COMPONENT; |
44 | import static org.onosproject.yangutils.utils.UtilConstants.DEACTIVATE; | 45 | import static org.onosproject.yangutils.utils.UtilConstants.DEACTIVATE; | ... | ... |
... | @@ -26,16 +26,17 @@ import org.onosproject.yangutils.datamodel.YangNotification; | ... | @@ -26,16 +26,17 @@ import org.onosproject.yangutils.datamodel.YangNotification; |
26 | import org.onosproject.yangutils.datamodel.YangSubModule; | 26 | import org.onosproject.yangutils.datamodel.YangSubModule; |
27 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 27 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
28 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 28 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
29 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
29 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 30 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
30 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 31 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
31 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 32 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
32 | 33 | ||
33 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_CLASS; | 34 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_CLASS; |
34 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_LISTENER_INTERFACE; | 35 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_LISTENER_INTERFACE; |
35 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_SUBJECT_CLASS; | 36 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_SUBJECT_CLASS; |
36 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER; | 37 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER; |
37 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getRootPackage; | 38 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getRootPackage; |
38 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.generateCodeOfRootNode; | 39 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.generateCodeOfRootNode; |
39 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.searchAndDeleteTempDir; | 40 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.searchAndDeleteTempDir; |
40 | 41 | ||
41 | /** | 42 | /** | ... | ... |
... | @@ -18,8 +18,7 @@ package org.onosproject.yangutils.translator.tojava.javamodel; | ... | @@ -18,8 +18,7 @@ package org.onosproject.yangutils.translator.tojava.javamodel; |
18 | import org.onosproject.yangutils.datamodel.YangType; | 18 | import org.onosproject.yangutils.datamodel.YangType; |
19 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 19 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
20 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; | 20 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; |
21 | -import org.onosproject.yangutils.translator.tojava.utils.AttributesJavaDataType; | 21 | +import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil; |
22 | -import org.onosproject.yangutils.translator.tojava.utils.YangToJavaNamingConflictUtil; | ||
23 | 22 | ||
24 | /** | 23 | /** |
25 | * Represents java information corresponding to the YANG type. | 24 | * Represents java information corresponding to the YANG type. | ... | ... |
... | @@ -20,12 +20,13 @@ import java.io.IOException; | ... | @@ -20,12 +20,13 @@ import java.io.IOException; |
20 | import org.onosproject.yangutils.datamodel.YangTypeDef; | 20 | import org.onosproject.yangutils.datamodel.YangTypeDef; |
21 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 21 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
23 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
23 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 24 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
24 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 25 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
25 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 26 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
26 | 27 | ||
27 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_TYPEDEF_CLASS; | 28 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_TYPEDEF_CLASS; |
28 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.generateCodeOfNode; | 29 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.generateCodeOfNode; |
29 | 30 | ||
30 | /** | 31 | /** |
31 | * Represents type define information extended to support java code generation. | 32 | * Represents type define information extended to support java code generation. | ... | ... |
... | @@ -20,12 +20,13 @@ import java.io.IOException; | ... | @@ -20,12 +20,13 @@ import java.io.IOException; |
20 | import org.onosproject.yangutils.datamodel.YangUnion; | 20 | import org.onosproject.yangutils.datamodel.YangUnion; |
21 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 21 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
23 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
23 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 24 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
24 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 25 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
25 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 26 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
26 | 27 | ||
27 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_UNION_CLASS; | 28 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_UNION_CLASS; |
28 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.generateCodeOfNode; | 29 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.generateCodeOfNode; |
29 | 30 | ||
30 | /** | 31 | /** |
31 | * Represents union information extended to support java code generation. | 32 | * Represents union information extended to support java code generation. | ... | ... |
... | @@ -25,13 +25,14 @@ import org.onosproject.yangutils.datamodel.YangNode; | ... | @@ -25,13 +25,14 @@ import org.onosproject.yangutils.datamodel.YangNode; |
25 | import org.onosproject.yangutils.datamodel.YangUses; | 25 | import org.onosproject.yangutils.datamodel.YangUses; |
26 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 26 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
27 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 27 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
28 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; | ||
28 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 29 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
29 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 30 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
30 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 31 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
31 | 32 | ||
32 | import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.getParentNodeInGenCode; | 33 | import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.getParentNodeInGenCode; |
33 | import static org.onosproject.yangutils.translator.tojava.TempJavaFragmentFiles.addCurNodeAsAttributeInTargetTempFile; | 34 | import static org.onosproject.yangutils.translator.tojava.TempJavaFragmentFiles.addCurNodeAsAttributeInTargetTempFile; |
34 | -import static org.onosproject.yangutils.translator.tojava.utils.YangJavaModelUtils.updatePackageInfo; | 35 | +import static org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModelUtils.updatePackageInfo; |
35 | 36 | ||
36 | /** | 37 | /** |
37 | * Represents uses information extended to support java code generation. | 38 | * Represents uses information extended to support java code generation. | ... | ... |
... | @@ -17,9 +17,9 @@ | ... | @@ -17,9 +17,9 @@ |
17 | package org.onosproject.yangutils.translator.tojava.utils; | 17 | package org.onosproject.yangutils.translator.tojava.utils; |
18 | 18 | ||
19 | import org.onosproject.yangutils.datamodel.YangNode; | 19 | import org.onosproject.yangutils.datamodel.YangNode; |
20 | +import org.onosproject.yangutils.datamodel.YangNotification; | ||
20 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; | 21 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; |
21 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer; | 22 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer; |
22 | -import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaNotification; | ||
23 | 23 | ||
24 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_CLASS_MASK; | 24 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_CLASS_MASK; |
25 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_INTERFACE_MASK; | 25 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_INTERFACE_MASK; |
... | @@ -236,7 +236,7 @@ public final class ClassDefinitionGenerator { | ... | @@ -236,7 +236,7 @@ public final class ClassDefinitionGenerator { |
236 | if (holder.getExtendsList() != null && !holder.getExtendsList().isEmpty()) { | 236 | if (holder.getExtendsList() != null && !holder.getExtendsList().isEmpty()) { |
237 | curNode = curNode.getChild(); | 237 | curNode = curNode.getChild(); |
238 | while (curNode != null) { | 238 | while (curNode != null) { |
239 | - if (curNode instanceof YangJavaNotification) { | 239 | + if (curNode instanceof YangNotification) { |
240 | return getRpcInterfaceDefinitionWhenItExtends(yangName, holder); | 240 | return getRpcInterfaceDefinitionWhenItExtends(yangName, holder); |
241 | } | 241 | } |
242 | curNode = curNode.getNextSibling(); | 242 | curNode = curNode.getNextSibling(); | ... | ... |
... | @@ -17,9 +17,10 @@ | ... | @@ -17,9 +17,10 @@ |
17 | package org.onosproject.yangutils.translator.tojava.utils; | 17 | package org.onosproject.yangutils.translator.tojava.utils; |
18 | 18 | ||
19 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; | 19 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; |
20 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; | ||
20 | 21 | ||
21 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getEnumJavaAttribute; | 22 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getEnumJavaAttribute; |
22 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getSmallCase; | 23 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getSmallCase; |
23 | import static org.onosproject.yangutils.utils.UtilConstants.ARRAY_LIST; | 24 | import static org.onosproject.yangutils.utils.UtilConstants.ARRAY_LIST; |
24 | import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED_INFO; | 25 | import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED_INFO; |
25 | import static org.onosproject.yangutils.utils.UtilConstants.CLOSE_CURLY_BRACKET; | 26 | import static org.onosproject.yangutils.utils.UtilConstants.CLOSE_CURLY_BRACKET; | ... | ... |
... | @@ -27,7 +27,7 @@ import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; | ... | @@ -27,7 +27,7 @@ import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; |
27 | import org.onosproject.yangutils.translator.tojava.JavaImportData; | 27 | import org.onosproject.yangutils.translator.tojava.JavaImportData; |
28 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; | 28 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; |
29 | 29 | ||
30 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCapitalCase; | 30 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase; |
31 | import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.getTempJavaFragement; | 31 | import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.getTempJavaFragement; |
32 | 32 | ||
33 | /** | 33 | /** | ... | ... |
... | @@ -28,7 +28,8 @@ import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | ... | @@ -28,7 +28,8 @@ import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
28 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer; | 28 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer; |
29 | import org.onosproject.yangutils.translator.tojava.TempJavaEnumerationFragmentFiles; | 29 | import org.onosproject.yangutils.translator.tojava.TempJavaEnumerationFragmentFiles; |
30 | import org.onosproject.yangutils.translator.tojava.TempJavaServiceFragmentFiles; | 30 | import org.onosproject.yangutils.translator.tojava.TempJavaServiceFragmentFiles; |
31 | -import org.onosproject.yangutils.translator.tojava.javamodel.JavaCodeGeneratorInfo; | 31 | +import org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorInfo; |
32 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; | ||
32 | 33 | ||
33 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_CLASS_MASK; | 34 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_CLASS_MASK; |
34 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_INTERFACE_MASK; | 35 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_INTERFACE_MASK; |
... | @@ -65,7 +66,7 @@ import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetG | ... | @@ -65,7 +66,7 @@ import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetG |
65 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getDataFromTempFileHandle; | 66 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getDataFromTempFileHandle; |
66 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getEnumsValueAttribute; | 67 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getEnumsValueAttribute; |
67 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.initiateJavaFileGeneration; | 68 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.initiateJavaFileGeneration; |
68 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCapitalCase; | 69 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase; |
69 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.addActivateMethod; | 70 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.addActivateMethod; |
70 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.addDeActivateMethod; | 71 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.addDeActivateMethod; |
71 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getAddAugmentInfoMethodImpl; | 72 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getAddAugmentInfoMethodImpl; | ... | ... |
... | @@ -31,6 +31,7 @@ import org.onosproject.yangutils.translator.tojava.TempJavaServiceFragmentFiles; | ... | @@ -31,6 +31,7 @@ import org.onosproject.yangutils.translator.tojava.TempJavaServiceFragmentFiles; |
31 | import org.onosproject.yangutils.translator.tojava.TempJavaTypeFragmentFiles; | 31 | import org.onosproject.yangutils.translator.tojava.TempJavaTypeFragmentFiles; |
32 | import org.onosproject.yangutils.utils.io.impl.CopyrightHeader; | 32 | import org.onosproject.yangutils.utils.io.impl.CopyrightHeader; |
33 | import org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType; | 33 | import org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType; |
34 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; | ||
34 | 35 | ||
35 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_CLASS_MASK; | 36 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_CLASS_MASK; |
36 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_INTERFACE_MASK; | 37 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_INTERFACE_MASK; |
... | @@ -64,8 +65,8 @@ import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType. | ... | @@ -64,8 +65,8 @@ import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType. |
64 | import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.SETTER_FOR_INTERFACE_MASK; | 65 | import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.SETTER_FOR_INTERFACE_MASK; |
65 | import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.TO_STRING_IMPL_MASK; | 66 | import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.TO_STRING_IMPL_MASK; |
66 | import static org.onosproject.yangutils.translator.tojava.utils.ClassDefinitionGenerator.generateClassDefinition; | 67 | import static org.onosproject.yangutils.translator.tojava.utils.ClassDefinitionGenerator.generateClassDefinition; |
67 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getJavaPackageFromPackagePath; | 68 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getJavaPackageFromPackagePath; |
68 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getSmallCase; | 69 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getSmallCase; |
69 | import static org.onosproject.yangutils.utils.UtilConstants.CLOSE_PARENTHESIS; | 70 | import static org.onosproject.yangutils.utils.UtilConstants.CLOSE_PARENTHESIS; |
70 | import static org.onosproject.yangutils.utils.UtilConstants.COMPONENT_ANNOTATION; | 71 | import static org.onosproject.yangutils.utils.UtilConstants.COMPONENT_ANNOTATION; |
71 | import static org.onosproject.yangutils.utils.UtilConstants.EQUAL; | 72 | import static org.onosproject.yangutils.utils.UtilConstants.EQUAL; | ... | ... |
... | @@ -16,16 +16,18 @@ | ... | @@ -16,16 +16,18 @@ |
16 | 16 | ||
17 | package org.onosproject.yangutils.translator.tojava.utils; | 17 | package org.onosproject.yangutils.translator.tojava.utils; |
18 | 18 | ||
19 | +import java.io.File; | ||
20 | +import java.io.IOException; | ||
19 | import java.util.ArrayList; | 21 | import java.util.ArrayList; |
20 | -import java.util.Arrays; | ||
21 | import java.util.List; | 22 | import java.util.List; |
22 | - | ||
23 | import org.onosproject.yangutils.datamodel.YangNode; | 23 | import org.onosproject.yangutils.datamodel.YangNode; |
24 | -import org.onosproject.yangutils.datamodel.utils.DataModelUtils; | ||
25 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 24 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
26 | -import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; | ||
27 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 25 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
26 | +import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; | ||
27 | +import org.onosproject.yangutils.utils.io.impl.YangIoUtils; | ||
28 | +import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil; | ||
28 | 29 | ||
30 | +import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.getParentNodeInGenCode; | ||
29 | import static org.onosproject.yangutils.utils.UtilConstants.COLAN; | 31 | import static org.onosproject.yangutils.utils.UtilConstants.COLAN; |
30 | import static org.onosproject.yangutils.utils.UtilConstants.DEFAULT_BASE_PKG; | 32 | import static org.onosproject.yangutils.utils.UtilConstants.DEFAULT_BASE_PKG; |
31 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; | 33 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; |
... | @@ -33,23 +35,17 @@ import static org.onosproject.yangutils.utils.UtilConstants.HYPHEN; | ... | @@ -33,23 +35,17 @@ import static org.onosproject.yangutils.utils.UtilConstants.HYPHEN; |
33 | import static org.onosproject.yangutils.utils.UtilConstants.JAVA_KEY_WORDS; | 35 | import static org.onosproject.yangutils.utils.UtilConstants.JAVA_KEY_WORDS; |
34 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; | 36 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; |
35 | import static org.onosproject.yangutils.utils.UtilConstants.QUOTES; | 37 | import static org.onosproject.yangutils.utils.UtilConstants.QUOTES; |
36 | -import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_DIGITS_WITH_SINGLE_LETTER; | ||
37 | import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_FIRST_DIGIT; | 38 | import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_FIRST_DIGIT; |
38 | -import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_HYPHEN; | ||
39 | -import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_IDENTIFIER_SPECIAL_CHAR; | ||
40 | -import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_PERIOD; | ||
41 | -import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_SINGLE_LETTER; | ||
42 | -import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_UNDERSCORE; | ||
43 | import static org.onosproject.yangutils.utils.UtilConstants.REGEX_WITH_ALL_SPECIAL_CHAR; | 39 | import static org.onosproject.yangutils.utils.UtilConstants.REGEX_WITH_ALL_SPECIAL_CHAR; |
44 | -import static org.onosproject.yangutils.utils.UtilConstants.REGEX_WITH_DIGITS; | ||
45 | -import static org.onosproject.yangutils.utils.UtilConstants.REGEX_WITH_SINGLE_CAPITAL_CASE; | ||
46 | -import static org.onosproject.yangutils.utils.UtilConstants.REGEX_WITH_SINGLE_CAPITAL_CASE_AND_DIGITS_SMALL_CASES; | ||
47 | -import static org.onosproject.yangutils.utils.UtilConstants.REGEX_WITH_UPPERCASE; | ||
48 | import static org.onosproject.yangutils.utils.UtilConstants.REVISION_PREFIX; | 40 | import static org.onosproject.yangutils.utils.UtilConstants.REVISION_PREFIX; |
49 | import static org.onosproject.yangutils.utils.UtilConstants.SLASH; | 41 | import static org.onosproject.yangutils.utils.UtilConstants.SLASH; |
50 | import static org.onosproject.yangutils.utils.UtilConstants.UNDER_SCORE; | 42 | import static org.onosproject.yangutils.utils.UtilConstants.UNDER_SCORE; |
51 | import static org.onosproject.yangutils.utils.UtilConstants.VERSION_PREFIX; | 43 | import static org.onosproject.yangutils.utils.UtilConstants.VERSION_PREFIX; |
52 | -import static org.onosproject.yangutils.utils.UtilConstants.YANG_AUTO_PREFIX; | 44 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.addPackageInfo; |
45 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.createDirectories; | ||
46 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getAbsolutePackagePath; | ||
47 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getJavaPackageFromPackagePath; | ||
48 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getPackageDirPathFromJavaJPackage; | ||
53 | 49 | ||
54 | /** | 50 | /** |
55 | * Represents an utility Class for translating the name from YANG to java convention. | 51 | * Represents an utility Class for translating the name from YANG to java convention. |
... | @@ -95,29 +91,6 @@ public final class JavaIdentifierSyntax { | ... | @@ -95,29 +91,6 @@ public final class JavaIdentifierSyntax { |
95 | } | 91 | } |
96 | 92 | ||
97 | /** | 93 | /** |
98 | - * Returns the node package string. | ||
99 | - * | ||
100 | - * @param curNode current java node whose package string needs to be set | ||
101 | - * @return returns the root package string | ||
102 | - */ | ||
103 | - public static String getCurNodePackage(YangNode curNode) { | ||
104 | - | ||
105 | - String pkg; | ||
106 | - if (!(curNode instanceof JavaFileInfoContainer) | ||
107 | - || curNode.getParent() == null) { | ||
108 | - throw new TranslatorException("missing parent node to get current node's package"); | ||
109 | - } | ||
110 | - | ||
111 | - YangNode parentNode = DataModelUtils.getParentNodeInGenCode(curNode); | ||
112 | - if (!(parentNode instanceof JavaFileInfoContainer)) { | ||
113 | - throw new TranslatorException("missing parent java node to get current node's package"); | ||
114 | - } | ||
115 | - JavaFileInfo parentJavaFileHandle = ((JavaFileInfoContainer) parentNode).getJavaFileInfo(); | ||
116 | - pkg = parentJavaFileHandle.getPackage() + PERIOD + parentJavaFileHandle.getJavaName(); | ||
117 | - return pkg.toLowerCase(); | ||
118 | - } | ||
119 | - | ||
120 | - /** | ||
121 | * Returns version. | 94 | * Returns version. |
122 | * | 95 | * |
123 | * @param ver YANG version | 96 | * @param ver YANG version |
... | @@ -193,7 +166,7 @@ public final class JavaIdentifierSyntax { | ... | @@ -193,7 +166,7 @@ public final class JavaIdentifierSyntax { |
193 | for (String member : pkgArr) { | 166 | for (String member : pkgArr) { |
194 | boolean presenceOfKeyword = JAVA_KEY_WORDS.contains(member.toLowerCase()); | 167 | boolean presenceOfKeyword = JAVA_KEY_WORDS.contains(member.toLowerCase()); |
195 | if (presenceOfKeyword || member.matches(REGEX_FOR_FIRST_DIGIT)) { | 168 | if (presenceOfKeyword || member.matches(REGEX_FOR_FIRST_DIGIT)) { |
196 | - String prefix = getPrefixForIdentifier(conflictResolver); | 169 | + String prefix = YangIoUtils.getPrefixForIdentifier(conflictResolver); |
197 | member = prefix + member; | 170 | member = prefix + member; |
198 | } | 171 | } |
199 | pkg = pkg + member; | 172 | pkg = pkg + member; |
... | @@ -206,252 +179,6 @@ public final class JavaIdentifierSyntax { | ... | @@ -206,252 +179,6 @@ public final class JavaIdentifierSyntax { |
206 | } | 179 | } |
207 | 180 | ||
208 | /** | 181 | /** |
209 | - * Prefix for adding with identifier and namespace, when it is a java keyword or starting with digits. | ||
210 | - * | ||
211 | - * @param conflictResolver object of YANG to java naming conflict util | ||
212 | - * @return prefix which needs to be added | ||
213 | - */ | ||
214 | - public static String getPrefixForIdentifier(YangToJavaNamingConflictUtil conflictResolver) { | ||
215 | - | ||
216 | - String prefixForIdentifier = null; | ||
217 | - if (conflictResolver != null) { | ||
218 | - prefixForIdentifier = conflictResolver.getPrefixForIdentifier(); | ||
219 | - } | ||
220 | - if (prefixForIdentifier != null) { | ||
221 | - prefixForIdentifier = prefixForIdentifier.replaceAll(REGEX_WITH_ALL_SPECIAL_CHAR, COLAN); | ||
222 | - String[] strArray = prefixForIdentifier.split(COLAN); | ||
223 | - try { | ||
224 | - if (strArray[0].isEmpty()) { | ||
225 | - List<String> stringArrangement = new ArrayList<String>(); | ||
226 | - for (int i = 1; i < strArray.length; i++) { | ||
227 | - stringArrangement.add(strArray[i]); | ||
228 | - } | ||
229 | - strArray = stringArrangement.toArray(new String[stringArrangement.size()]); | ||
230 | - } | ||
231 | - prefixForIdentifier = strArray[0]; | ||
232 | - for (int j = 1; j < strArray.length; j++) { | ||
233 | - prefixForIdentifier = prefixForIdentifier + strArray[j].substring(0, 1).toUpperCase() + | ||
234 | - strArray[j].substring(1); | ||
235 | - } | ||
236 | - } catch (ArrayIndexOutOfBoundsException outOfBoundsException) { | ||
237 | - throw new TranslatorException("The given prefix in pom.xml is invalid."); | ||
238 | - } | ||
239 | - } else { | ||
240 | - prefixForIdentifier = YANG_AUTO_PREFIX; | ||
241 | - } | ||
242 | - return prefixForIdentifier; | ||
243 | - } | ||
244 | - | ||
245 | - /** | ||
246 | - * Returns the YANG identifier name as java identifier. | ||
247 | - * | ||
248 | - * @param yangIdentifier identifier in YANG file | ||
249 | - * @param conflictResolver object of YANG to java naming conflict util | ||
250 | - * @return corresponding java identifier | ||
251 | - */ | ||
252 | - public static String getCamelCase(String yangIdentifier, YangToJavaNamingConflictUtil conflictResolver) { | ||
253 | - | ||
254 | - if (conflictResolver != null) { | ||
255 | - String replacementForHyphen = conflictResolver.getReplacementForHyphen(); | ||
256 | - String replacementForPeriod = conflictResolver.getReplacementForPeriod(); | ||
257 | - String replacementForUnderscore = conflictResolver.getReplacementForUnderscore(); | ||
258 | - if (replacementForPeriod != null) { | ||
259 | - yangIdentifier = yangIdentifier.replaceAll(REGEX_FOR_PERIOD, | ||
260 | - PERIOD + replacementForPeriod.toLowerCase() + PERIOD); | ||
261 | - } | ||
262 | - if (replacementForUnderscore != null) { | ||
263 | - yangIdentifier = yangIdentifier.replaceAll(REGEX_FOR_UNDERSCORE, | ||
264 | - UNDER_SCORE + replacementForUnderscore.toLowerCase() + UNDER_SCORE); | ||
265 | - } | ||
266 | - if (replacementForHyphen != null) { | ||
267 | - yangIdentifier = yangIdentifier.replaceAll(REGEX_FOR_HYPHEN, | ||
268 | - HYPHEN + replacementForHyphen.toLowerCase() + HYPHEN); | ||
269 | - } | ||
270 | - } | ||
271 | - yangIdentifier = yangIdentifier.replaceAll(REGEX_FOR_IDENTIFIER_SPECIAL_CHAR, COLAN); | ||
272 | - String[] strArray = yangIdentifier.split(COLAN); | ||
273 | - if (strArray[0].isEmpty()) { | ||
274 | - List<String> stringArrangement = new ArrayList<String>(); | ||
275 | - for (int i = 1; i < strArray.length; i++) { | ||
276 | - stringArrangement.add(strArray[i]); | ||
277 | - } | ||
278 | - strArray = stringArrangement.toArray(new String[stringArrangement.size()]); | ||
279 | - } | ||
280 | - return upperCaseConflictResolver(strArray, conflictResolver); | ||
281 | - } | ||
282 | - | ||
283 | - /** | ||
284 | - * Resolves the conflict when input has upper case. | ||
285 | - * | ||
286 | - * @param stringArray containing strings for upper case conflict resolver | ||
287 | - * @param conflictResolver object of YANG to java naming conflict util | ||
288 | - * @return camel cased string | ||
289 | - */ | ||
290 | - private static String upperCaseConflictResolver(String[] stringArray, | ||
291 | - YangToJavaNamingConflictUtil conflictResolver) { | ||
292 | - | ||
293 | - for (int l = 0; l < stringArray.length; l++) { | ||
294 | - String[] upperCaseSplitArray = stringArray[l].split(REGEX_WITH_UPPERCASE); | ||
295 | - for (int m = 0; m < upperCaseSplitArray.length; m++) { | ||
296 | - if (upperCaseSplitArray[m].matches(REGEX_WITH_SINGLE_CAPITAL_CASE)) { | ||
297 | - int check = m; | ||
298 | - while (check + 1 < upperCaseSplitArray.length) { | ||
299 | - if (upperCaseSplitArray[check + 1].matches(REGEX_WITH_SINGLE_CAPITAL_CASE)) { | ||
300 | - upperCaseSplitArray[check + 1] = upperCaseSplitArray[check + 1].toLowerCase(); | ||
301 | - check = check + 1; | ||
302 | - } else if (upperCaseSplitArray[check + 1] | ||
303 | - .matches(REGEX_WITH_SINGLE_CAPITAL_CASE_AND_DIGITS_SMALL_CASES)) { | ||
304 | - upperCaseSplitArray[check + 1] = upperCaseSplitArray[check + 1].toLowerCase(); | ||
305 | - break; | ||
306 | - } else { | ||
307 | - break; | ||
308 | - } | ||
309 | - } | ||
310 | - } | ||
311 | - } | ||
312 | - StringBuilder strBuilder = new StringBuilder(); | ||
313 | - for (String element : upperCaseSplitArray) { | ||
314 | - strBuilder.append(element); | ||
315 | - } | ||
316 | - stringArray[l] = strBuilder.toString(); | ||
317 | - } | ||
318 | - List<String> result = new ArrayList<String>(); | ||
319 | - for (String element : stringArray) { | ||
320 | - String[] capitalCaseSplitArray = element.split(REGEX_WITH_UPPERCASE); | ||
321 | - for (String letter : capitalCaseSplitArray) { | ||
322 | - String[] arrayForAddition = letter.split(REGEX_WITH_DIGITS); | ||
323 | - List<String> list = Arrays.asList(arrayForAddition); | ||
324 | - for (String str : list) { | ||
325 | - if (str != null && !str.isEmpty()) { | ||
326 | - result.add(str); | ||
327 | - } | ||
328 | - } | ||
329 | - } | ||
330 | - } | ||
331 | - stringArray = result.toArray(new String[result.size()]); | ||
332 | - return applyCamelCaseRule(stringArray, conflictResolver); | ||
333 | - } | ||
334 | - | ||
335 | - /** | ||
336 | - * Applies the rule that a string does not end with a capitalized letter and capitalizes | ||
337 | - * the letter next to a number in an array. | ||
338 | - * | ||
339 | - * @param stringArray containing strings for camel case separation | ||
340 | - * @param conflictResolver object of YANG to java naming conflict util | ||
341 | - * @return camel case rule checked string | ||
342 | - */ | ||
343 | - private static String applyCamelCaseRule(String[] stringArray, YangToJavaNamingConflictUtil conflictResolver) { | ||
344 | - | ||
345 | - String ruleChecker = stringArray[0].toLowerCase(); | ||
346 | - int i; | ||
347 | - if (ruleChecker.matches(REGEX_FOR_FIRST_DIGIT)) { | ||
348 | - i = 0; | ||
349 | - ruleChecker = EMPTY_STRING; | ||
350 | - } else { | ||
351 | - i = 1; | ||
352 | - } | ||
353 | - for (; i < stringArray.length; i++) { | ||
354 | - if (i + 1 == stringArray.length) { | ||
355 | - if (stringArray[i].matches(REGEX_FOR_SINGLE_LETTER) | ||
356 | - || stringArray[i].matches(REGEX_FOR_DIGITS_WITH_SINGLE_LETTER)) { | ||
357 | - ruleChecker = ruleChecker + stringArray[i].toLowerCase(); | ||
358 | - break; | ||
359 | - } | ||
360 | - } | ||
361 | - if (stringArray[i].matches(REGEX_FOR_FIRST_DIGIT)) { | ||
362 | - for (int j = 0; j < stringArray[i].length(); j++) { | ||
363 | - char letterCheck = stringArray[i].charAt(j); | ||
364 | - if (Character.isLetter(letterCheck)) { | ||
365 | - stringArray[i] = stringArray[i].substring(0, j) | ||
366 | - + stringArray[i].substring(j, j + 1).toUpperCase() + stringArray[i].substring(j + 1); | ||
367 | - break; | ||
368 | - } | ||
369 | - } | ||
370 | - ruleChecker = ruleChecker + stringArray[i]; | ||
371 | - } else { | ||
372 | - ruleChecker = ruleChecker + stringArray[i].substring(0, 1).toUpperCase() + stringArray[i].substring(1); | ||
373 | - } | ||
374 | - } | ||
375 | - String ruleCheckerWithPrefix = addPrefix(ruleChecker, conflictResolver); | ||
376 | - return restrictConsecutiveCapitalCase(ruleCheckerWithPrefix); | ||
377 | - } | ||
378 | - | ||
379 | - /** | ||
380 | - * Adds prefix, if the string begins with digit or is a java key word. | ||
381 | - * | ||
382 | - * @param camelCasePrefix string for adding prefix | ||
383 | - * @param conflictResolver object of YANG to java naming conflict util | ||
384 | - * @return prefixed camel case string | ||
385 | - */ | ||
386 | - private static String addPrefix(String camelCasePrefix, YangToJavaNamingConflictUtil conflictResolver) { | ||
387 | - | ||
388 | - String prefix = getPrefixForIdentifier(conflictResolver); | ||
389 | - if (camelCasePrefix.matches(REGEX_FOR_FIRST_DIGIT)) { | ||
390 | - camelCasePrefix = prefix + camelCasePrefix; | ||
391 | - } | ||
392 | - if (JAVA_KEY_WORDS.contains(camelCasePrefix)) { | ||
393 | - camelCasePrefix = prefix + camelCasePrefix.substring(0, 1).toUpperCase() | ||
394 | - + camelCasePrefix.substring(1); | ||
395 | - } | ||
396 | - return camelCasePrefix; | ||
397 | - } | ||
398 | - | ||
399 | - /** | ||
400 | - * Restricts consecutive capital cased string as a rule in camel case. | ||
401 | - * | ||
402 | - * @param consecCapitalCaseRemover which requires the restriction of consecutive capital case | ||
403 | - * @return string without consecutive capital case | ||
404 | - */ | ||
405 | - private static String restrictConsecutiveCapitalCase(String consecCapitalCaseRemover) { | ||
406 | - | ||
407 | - for (int k = 0; k < consecCapitalCaseRemover.length(); k++) { | ||
408 | - if (k + 1 < consecCapitalCaseRemover.length()) { | ||
409 | - if (Character.isUpperCase(consecCapitalCaseRemover.charAt(k))) { | ||
410 | - if (Character.isUpperCase(consecCapitalCaseRemover.charAt(k + 1))) { | ||
411 | - consecCapitalCaseRemover = consecCapitalCaseRemover.substring(0, k + 1) | ||
412 | - + consecCapitalCaseRemover.substring(k + 1, k + 2).toLowerCase() | ||
413 | - + consecCapitalCaseRemover.substring(k + 2); | ||
414 | - } | ||
415 | - } | ||
416 | - } | ||
417 | - } | ||
418 | - return consecCapitalCaseRemover; | ||
419 | - } | ||
420 | - | ||
421 | - /** | ||
422 | - * Returns the YANG identifier name as java identifier with first letter | ||
423 | - * in capital. | ||
424 | - * | ||
425 | - * @param yangIdentifier identifier in YANG file | ||
426 | - * @return corresponding java identifier | ||
427 | - */ | ||
428 | - public static String getCapitalCase(String yangIdentifier) { | ||
429 | - yangIdentifier = yangIdentifier.substring(0, 1).toUpperCase() + yangIdentifier.substring(1); | ||
430 | - return restrictConsecutiveCapitalCase(yangIdentifier); | ||
431 | - } | ||
432 | - | ||
433 | - /** | ||
434 | - * Returns the YANG identifier name as java identifier with first letter | ||
435 | - * in small. | ||
436 | - * | ||
437 | - * @param yangIdentifier identifier in YANG file. | ||
438 | - * @return corresponding java identifier | ||
439 | - */ | ||
440 | - public static String getSmallCase(String yangIdentifier) { | ||
441 | - return yangIdentifier.substring(0, 1).toLowerCase() + yangIdentifier.substring(1); | ||
442 | - } | ||
443 | - | ||
444 | - /** | ||
445 | - * Returns the java Package from package path. | ||
446 | - * | ||
447 | - * @param packagePath package path | ||
448 | - * @return java package | ||
449 | - */ | ||
450 | - public static String getJavaPackageFromPackagePath(String packagePath) { | ||
451 | - return packagePath.replace(SLASH, PERIOD); | ||
452 | - } | ||
453 | - | ||
454 | - /** | ||
455 | * Returns enum's java name. | 182 | * Returns enum's java name. |
456 | * | 183 | * |
457 | * @param name enum's name | 184 | * @param name enum's name |
... | @@ -479,12 +206,46 @@ public final class JavaIdentifierSyntax { | ... | @@ -479,12 +206,46 @@ public final class JavaIdentifierSyntax { |
479 | } | 206 | } |
480 | 207 | ||
481 | /** | 208 | /** |
482 | - * Returns the directory path corresponding to java package. | 209 | + * Creates a package structure with package info java file if not present. |
210 | + * | ||
211 | + * @param yangNode YANG node for which code is being generated | ||
212 | + * @throws IOException any IO exception | ||
213 | + */ | ||
214 | + public static void createPackage(YangNode yangNode) throws IOException { | ||
215 | + if (!(yangNode instanceof JavaFileInfoContainer)) { | ||
216 | + throw new TranslatorException("current node must have java file info"); | ||
217 | + } | ||
218 | + String pkgInfo; | ||
219 | + JavaFileInfo javaFileInfo = ((JavaFileInfoContainer) yangNode).getJavaFileInfo(); | ||
220 | + String pkg = getAbsolutePackagePath(javaFileInfo.getBaseCodeGenPath(), javaFileInfo.getPackageFilePath()); | ||
221 | + if (!doesPackageExist(pkg)) { | ||
222 | + try { | ||
223 | + File pack = createDirectories(pkg); | ||
224 | + YangNode parent = getParentNodeInGenCode(yangNode); | ||
225 | + if (parent != null) { | ||
226 | + pkgInfo = ((JavaFileInfoContainer) parent).getJavaFileInfo().getJavaName(); | ||
227 | + addPackageInfo(pack, pkgInfo, getJavaPackageFromPackagePath(pkg), true, | ||
228 | + ((JavaFileInfoContainer) parent).getJavaFileInfo().getPluginConfig()); | ||
229 | + } else { | ||
230 | + pkgInfo = ((JavaFileInfoContainer) yangNode).getJavaFileInfo().getJavaName(); | ||
231 | + addPackageInfo(pack, pkgInfo, getJavaPackageFromPackagePath(pkg), false, | ||
232 | + ((JavaFileInfoContainer) yangNode).getJavaFileInfo().getPluginConfig()); | ||
233 | + } | ||
234 | + } catch (IOException e) { | ||
235 | + throw new IOException("failed to create package-info file"); | ||
236 | + } | ||
237 | + } | ||
238 | + } | ||
239 | + | ||
240 | + /** | ||
241 | + * Checks if the package directory structure created. | ||
483 | * | 242 | * |
484 | - * @param packagePath package path | 243 | + * @param pkg Package to check if it is created |
485 | - * @return java package | 244 | + * @return existence status of package |
486 | */ | 245 | */ |
487 | - public static String getPackageDirPathFromJavaJPackage(String packagePath) { | 246 | + public static boolean doesPackageExist(String pkg) { |
488 | - return packagePath.replace(PERIOD, SLASH); | 247 | + File pkgDir = new File(getPackageDirPathFromJavaJPackage(pkg)); |
248 | + File pkgWithFile = new File(pkgDir + SLASH + "package-info.java"); | ||
249 | + return pkgDir.exists() && pkgWithFile.isFile(); | ||
489 | } | 250 | } |
490 | } | 251 | } | ... | ... |
... | @@ -18,31 +18,28 @@ package org.onosproject.yangutils.translator.tojava.utils; | ... | @@ -18,31 +18,28 @@ package org.onosproject.yangutils.translator.tojava.utils; |
18 | 18 | ||
19 | import java.util.List; | 19 | import java.util.List; |
20 | import java.util.Map; | 20 | import java.util.Map; |
21 | - | 21 | +import org.onosproject.yangutils.datamodel.YangDataTypes; |
22 | -import org.onosproject.yangutils.datamodel.YangNode; | 22 | +import org.onosproject.yangutils.datamodel.YangType; |
23 | -import org.onosproject.yangutils.datamodel.YangNodeIdentifier; | ||
24 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 23 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
25 | import org.onosproject.yangutils.translator.tojava.JavaAttributeInfo; | 24 | import org.onosproject.yangutils.translator.tojava.JavaAttributeInfo; |
26 | -import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaAugment; | ||
27 | import org.onosproject.yangutils.utils.io.impl.JavaDocGen; | 25 | import org.onosproject.yangutils.utils.io.impl.JavaDocGen; |
26 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; | ||
28 | 27 | ||
29 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_SUBJECT_CLASS; | 28 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_EVENT_SUBJECT_CLASS; |
30 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER; | 29 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER; |
31 | -import static org.onosproject.yangutils.translator.tojava.utils.AttributesJavaDataType.getParseFromStringMethod; | ||
32 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; | ||
33 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCapitalCase; | ||
34 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getSmallCase; | ||
35 | import static org.onosproject.yangutils.utils.UtilConstants.ACTIVATE; | 30 | import static org.onosproject.yangutils.utils.UtilConstants.ACTIVATE; |
36 | import static org.onosproject.yangutils.utils.UtilConstants.ACTIVATE_ANNOTATION; | 31 | import static org.onosproject.yangutils.utils.UtilConstants.ACTIVATE_ANNOTATION; |
37 | import static org.onosproject.yangutils.utils.UtilConstants.ADD_STRING; | 32 | import static org.onosproject.yangutils.utils.UtilConstants.ADD_STRING; |
38 | import static org.onosproject.yangutils.utils.UtilConstants.AND; | 33 | import static org.onosproject.yangutils.utils.UtilConstants.AND; |
39 | -import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTABLE; | ||
40 | import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTATION; | 34 | import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTATION; |
41 | import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED_INFO; | 35 | import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED_INFO; |
36 | +import static org.onosproject.yangutils.utils.UtilConstants.BIG_INTEGER; | ||
42 | import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_DATA_TYPE; | 37 | import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_DATA_TYPE; |
38 | +import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_WRAPPER; | ||
43 | import static org.onosproject.yangutils.utils.UtilConstants.BUILD; | 39 | import static org.onosproject.yangutils.utils.UtilConstants.BUILD; |
44 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER; | 40 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER; |
45 | import static org.onosproject.yangutils.utils.UtilConstants.BYTE; | 41 | import static org.onosproject.yangutils.utils.UtilConstants.BYTE; |
42 | +import static org.onosproject.yangutils.utils.UtilConstants.BYTE_WRAPPER; | ||
46 | import static org.onosproject.yangutils.utils.UtilConstants.CASE; | 43 | import static org.onosproject.yangutils.utils.UtilConstants.CASE; |
47 | import static org.onosproject.yangutils.utils.UtilConstants.CATCH; | 44 | import static org.onosproject.yangutils.utils.UtilConstants.CATCH; |
48 | import static org.onosproject.yangutils.utils.UtilConstants.CHECK_NOT_NULL_STRING; | 45 | import static org.onosproject.yangutils.utils.UtilConstants.CHECK_NOT_NULL_STRING; |
... | @@ -74,8 +71,10 @@ import static org.onosproject.yangutils.utils.UtilConstants.IF; | ... | @@ -74,8 +71,10 @@ import static org.onosproject.yangutils.utils.UtilConstants.IF; |
74 | import static org.onosproject.yangutils.utils.UtilConstants.IMPL; | 71 | import static org.onosproject.yangutils.utils.UtilConstants.IMPL; |
75 | import static org.onosproject.yangutils.utils.UtilConstants.INSTANCE_OF; | 72 | import static org.onosproject.yangutils.utils.UtilConstants.INSTANCE_OF; |
76 | import static org.onosproject.yangutils.utils.UtilConstants.INT; | 73 | import static org.onosproject.yangutils.utils.UtilConstants.INT; |
74 | +import static org.onosproject.yangutils.utils.UtilConstants.INTEGER_WRAPPER; | ||
77 | import static org.onosproject.yangutils.utils.UtilConstants.LIST; | 75 | import static org.onosproject.yangutils.utils.UtilConstants.LIST; |
78 | import static org.onosproject.yangutils.utils.UtilConstants.LONG; | 76 | import static org.onosproject.yangutils.utils.UtilConstants.LONG; |
77 | +import static org.onosproject.yangutils.utils.UtilConstants.LONG_WRAPPER; | ||
79 | import static org.onosproject.yangutils.utils.UtilConstants.NEW; | 78 | import static org.onosproject.yangutils.utils.UtilConstants.NEW; |
80 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; | 79 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; |
81 | import static org.onosproject.yangutils.utils.UtilConstants.NULL; | 80 | import static org.onosproject.yangutils.utils.UtilConstants.NULL; |
... | @@ -88,6 +87,11 @@ import static org.onosproject.yangutils.utils.UtilConstants.OPEN_CURLY_BRACKET; | ... | @@ -88,6 +87,11 @@ import static org.onosproject.yangutils.utils.UtilConstants.OPEN_CURLY_BRACKET; |
88 | import static org.onosproject.yangutils.utils.UtilConstants.OPEN_PARENTHESIS; | 87 | import static org.onosproject.yangutils.utils.UtilConstants.OPEN_PARENTHESIS; |
89 | import static org.onosproject.yangutils.utils.UtilConstants.OTHER; | 88 | import static org.onosproject.yangutils.utils.UtilConstants.OTHER; |
90 | import static org.onosproject.yangutils.utils.UtilConstants.OVERRIDE; | 89 | import static org.onosproject.yangutils.utils.UtilConstants.OVERRIDE; |
90 | +import static org.onosproject.yangutils.utils.UtilConstants.PARSE_BOOLEAN; | ||
91 | +import static org.onosproject.yangutils.utils.UtilConstants.PARSE_BYTE; | ||
92 | +import static org.onosproject.yangutils.utils.UtilConstants.PARSE_INT; | ||
93 | +import static org.onosproject.yangutils.utils.UtilConstants.PARSE_LONG; | ||
94 | +import static org.onosproject.yangutils.utils.UtilConstants.PARSE_SHORT; | ||
91 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; | 95 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; |
92 | import static org.onosproject.yangutils.utils.UtilConstants.PUBLIC; | 96 | import static org.onosproject.yangutils.utils.UtilConstants.PUBLIC; |
93 | import static org.onosproject.yangutils.utils.UtilConstants.QUOTES; | 97 | import static org.onosproject.yangutils.utils.UtilConstants.QUOTES; |
... | @@ -96,6 +100,7 @@ import static org.onosproject.yangutils.utils.UtilConstants.RPC_INPUT_VAR_NAME; | ... | @@ -96,6 +100,7 @@ import static org.onosproject.yangutils.utils.UtilConstants.RPC_INPUT_VAR_NAME; |
96 | import static org.onosproject.yangutils.utils.UtilConstants.SEMI_COLAN; | 100 | import static org.onosproject.yangutils.utils.UtilConstants.SEMI_COLAN; |
97 | import static org.onosproject.yangutils.utils.UtilConstants.SET_METHOD_PREFIX; | 101 | import static org.onosproject.yangutils.utils.UtilConstants.SET_METHOD_PREFIX; |
98 | import static org.onosproject.yangutils.utils.UtilConstants.SHORT; | 102 | import static org.onosproject.yangutils.utils.UtilConstants.SHORT; |
103 | +import static org.onosproject.yangutils.utils.UtilConstants.SHORT_WRAPPER; | ||
99 | import static org.onosproject.yangutils.utils.UtilConstants.SIXTEEN_SPACE_INDENTATION; | 104 | import static org.onosproject.yangutils.utils.UtilConstants.SIXTEEN_SPACE_INDENTATION; |
100 | import static org.onosproject.yangutils.utils.UtilConstants.SPACE; | 105 | import static org.onosproject.yangutils.utils.UtilConstants.SPACE; |
101 | import static org.onosproject.yangutils.utils.UtilConstants.STARTED_LOG_INFO; | 106 | import static org.onosproject.yangutils.utils.UtilConstants.STARTED_LOG_INFO; |
... | @@ -113,7 +118,6 @@ import static org.onosproject.yangutils.utils.UtilConstants.TWELVE_SPACE_INDENTA | ... | @@ -113,7 +118,6 @@ import static org.onosproject.yangutils.utils.UtilConstants.TWELVE_SPACE_INDENTA |
113 | import static org.onosproject.yangutils.utils.UtilConstants.VALUE; | 118 | import static org.onosproject.yangutils.utils.UtilConstants.VALUE; |
114 | import static org.onosproject.yangutils.utils.UtilConstants.VOID; | 119 | import static org.onosproject.yangutils.utils.UtilConstants.VOID; |
115 | import static org.onosproject.yangutils.utils.UtilConstants.YANG_UTILS_TODO; | 120 | import static org.onosproject.yangutils.utils.UtilConstants.YANG_UTILS_TODO; |
116 | -import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.getJavaDoc; | ||
117 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.BUILD_METHOD; | 121 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.BUILD_METHOD; |
118 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.CONSTRUCTOR; | 122 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.CONSTRUCTOR; |
119 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.DEFAULT_CONSTRUCTOR; | 123 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.DEFAULT_CONSTRUCTOR; |
... | @@ -123,6 +127,10 @@ import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.MAN | ... | @@ -123,6 +127,10 @@ import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.MAN |
123 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.OF_METHOD; | 127 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.OF_METHOD; |
124 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.SETTER_METHOD; | 128 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.SETTER_METHOD; |
125 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.TYPE_CONSTRUCTOR; | 129 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.TYPE_CONSTRUCTOR; |
130 | +import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.getJavaDoc; | ||
131 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase; | ||
132 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase; | ||
133 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getSmallCase; | ||
126 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.trimAtLast; | 134 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.trimAtLast; |
127 | 135 | ||
128 | /** | 136 | /** |
... | @@ -904,7 +912,8 @@ public final class MethodsGenerator { | ... | @@ -904,7 +912,8 @@ public final class MethodsGenerator { |
904 | * @return string and java doc for constructor of type class | 912 | * @return string and java doc for constructor of type class |
905 | */ | 913 | */ |
906 | public static String getTypeConstructorStringAndJavaDoc(JavaAttributeInfo attr, | 914 | public static String getTypeConstructorStringAndJavaDoc(JavaAttributeInfo attr, |
907 | - String generatedJavaClassName, YangPluginConfig pluginConfig) { | 915 | + String generatedJavaClassName, |
916 | + YangPluginConfig pluginConfig) { | ||
908 | 917 | ||
909 | String attrType = getReturnType(attr); | 918 | String attrType = getReturnType(attr); |
910 | String attrName = attr.getAttributeName(); | 919 | String attrName = attr.getAttributeName(); |
... | @@ -989,36 +998,6 @@ public final class MethodsGenerator { | ... | @@ -989,36 +998,6 @@ public final class MethodsGenerator { |
989 | } | 998 | } |
990 | 999 | ||
991 | /** | 1000 | /** |
992 | - * Provides string to be added in augment node's constructor. | ||
993 | - * | ||
994 | - * @param curNode current YANG node | ||
995 | - * @return constructors string | ||
996 | - */ | ||
997 | - public static String getAugmentsAddToAugmentedMethod(YangNode curNode) { | ||
998 | - | ||
999 | - if (!(curNode instanceof YangJavaAugment)) { | ||
1000 | - throw new TranslatorException("current node should be of type augment node."); | ||
1001 | - } | ||
1002 | - YangJavaAugment augment = (YangJavaAugment) curNode; | ||
1003 | - List<YangNodeIdentifier> targetNodes = augment.getTargetNode(); | ||
1004 | - | ||
1005 | - String name = targetNodes.get(targetNodes.size() - 1).getName(); | ||
1006 | - String captialCase = getCapitalCase(name); | ||
1007 | - String smallCase = getSmallCase(captialCase); | ||
1008 | - return EIGHT_SPACE_INDENTATION + captialCase + IMPL + SPACE + smallCase + IMPL + SPACE + EQUAL + SPACE | ||
1009 | - + NEW + SPACE + captialCase + BUILDER + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + PERIOD + NEW + SPACE | ||
1010 | - + captialCase + IMPL + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN + NEW_LINE | ||
1011 | - + EIGHT_SPACE_INDENTATION + smallCase + IMPL + PERIOD + ADD_STRING + AUGMENTATION | ||
1012 | - + OPEN_PARENTHESIS + THIS + CLOSE_PARENTHESIS + SEMI_COLAN + NEW_LINE; | ||
1013 | - | ||
1014 | - } | ||
1015 | - | ||
1016 | - private static String getAugmentsAddToAugmentedMethodStart() { | ||
1017 | - return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + VOID + SPACE + ADD_STRING + AUGMENTABLE + OPEN_PARENTHESIS | ||
1018 | - + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET; | ||
1019 | - } | ||
1020 | - | ||
1021 | - /** | ||
1022 | * Returns of method for enum class. | 1001 | * Returns of method for enum class. |
1023 | * | 1002 | * |
1024 | * @param className class name | 1003 | * @param className class name |
... | @@ -1029,7 +1008,8 @@ public final class MethodsGenerator { | ... | @@ -1029,7 +1008,8 @@ public final class MethodsGenerator { |
1029 | * @return of method | 1008 | * @return of method |
1030 | */ | 1009 | */ |
1031 | public static String getEnumsOfMethod(String className, JavaAttributeInfo attr, | 1010 | public static String getEnumsOfMethod(String className, JavaAttributeInfo attr, |
1032 | - Map<String, Integer> enumMap, List<String> enumList, YangPluginConfig pluginConfig) { | 1011 | + Map<String, Integer> enumMap, List<String> enumList, |
1012 | + YangPluginConfig pluginConfig) { | ||
1033 | String attrType = getReturnType(attr); | 1013 | String attrType = getReturnType(attr); |
1034 | String attrName = attr.getAttributeName(); | 1014 | String attrName = attr.getAttributeName(); |
1035 | 1015 | ||
... | @@ -1083,4 +1063,48 @@ public final class MethodsGenerator { | ... | @@ -1083,4 +1063,48 @@ public final class MethodsGenerator { |
1083 | + STOPPED_LOG_INFO + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET + NEW_LINE; | 1063 | + STOPPED_LOG_INFO + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET + NEW_LINE; |
1084 | } | 1064 | } |
1085 | 1065 | ||
1066 | + /** | ||
1067 | + * Returns from string method parsed string. | ||
1068 | + * | ||
1069 | + * @param targetDataType target data type | ||
1070 | + * @param yangType YANG type | ||
1071 | + * @return parsed string | ||
1072 | + */ | ||
1073 | + public static String getParseFromStringMethod(String targetDataType, YangType<?> yangType) { | ||
1074 | + | ||
1075 | + YangDataTypes type = yangType.getDataType(); | ||
1076 | + | ||
1077 | + switch (type) { | ||
1078 | + case INT8: | ||
1079 | + return BYTE_WRAPPER + PERIOD + PARSE_BYTE; | ||
1080 | + case INT16: | ||
1081 | + return SHORT_WRAPPER + PERIOD + PARSE_SHORT; | ||
1082 | + case INT32: | ||
1083 | + return INTEGER_WRAPPER + PERIOD + PARSE_INT; | ||
1084 | + case INT64: | ||
1085 | + return LONG_WRAPPER + PERIOD + PARSE_LONG; | ||
1086 | + case UINT8: | ||
1087 | + return SHORT_WRAPPER + PERIOD + PARSE_SHORT; | ||
1088 | + case UINT16: | ||
1089 | + return INTEGER_WRAPPER + PERIOD + PARSE_INT; | ||
1090 | + case UINT32: | ||
1091 | + return LONG_WRAPPER + PERIOD + PARSE_LONG; | ||
1092 | + case UINT64: | ||
1093 | + return NEW + SPACE + BIG_INTEGER; | ||
1094 | + case STRING: | ||
1095 | + return EMPTY_STRING; | ||
1096 | + case EMPTY: | ||
1097 | + case BOOLEAN: | ||
1098 | + return BOOLEAN_WRAPPER + PERIOD + PARSE_BOOLEAN; | ||
1099 | + case DECIMAL64: | ||
1100 | + case BITS: | ||
1101 | + case BINARY: | ||
1102 | + case UNION: | ||
1103 | + case ENUMERATION: | ||
1104 | + case DERIVED: | ||
1105 | + return targetDataType + PERIOD + FROM_STRING_METHOD_NAME; | ||
1106 | + default: | ||
1107 | + throw new TranslatorException("given data type is not supported."); | ||
1108 | + } | ||
1109 | + } | ||
1086 | } | 1110 | } | ... | ... |
... | @@ -19,51 +19,29 @@ package org.onosproject.yangutils.translator.tojava.utils; | ... | @@ -19,51 +19,29 @@ package org.onosproject.yangutils.translator.tojava.utils; |
19 | import java.io.File; | 19 | import java.io.File; |
20 | import java.io.IOException; | 20 | import java.io.IOException; |
21 | import java.util.List; | 21 | import java.util.List; |
22 | - | ||
23 | import org.onosproject.yangutils.datamodel.YangNode; | 22 | import org.onosproject.yangutils.datamodel.YangNode; |
24 | -import org.onosproject.yangutils.datamodel.YangNodeIdentifier; | ||
25 | -import org.onosproject.yangutils.translator.exception.TranslatorException; | ||
26 | -import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; | ||
27 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; | 23 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; |
28 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 24 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
29 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer; | 25 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFilesContainer; |
30 | import org.onosproject.yangutils.translator.tojava.TempJavaFragmentFiles; | 26 | import org.onosproject.yangutils.translator.tojava.TempJavaFragmentFiles; |
31 | -import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaAugment; | ||
32 | -import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModule; | ||
33 | 27 | ||
34 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCapitalCase; | ||
35 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getSmallCase; | ||
36 | import static org.onosproject.yangutils.utils.UtilConstants.ACTIVATE_ANNOTATION_IMPORT; | 28 | import static org.onosproject.yangutils.utils.UtilConstants.ACTIVATE_ANNOTATION_IMPORT; |
37 | -import static org.onosproject.yangutils.utils.UtilConstants.ADD_STRING; | ||
38 | -import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTATION; | ||
39 | import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTATION_HOLDER; | 29 | import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTATION_HOLDER; |
40 | import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED_INFO; | 30 | import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED_INFO; |
41 | -import static org.onosproject.yangutils.utils.UtilConstants.BUILDER; | ||
42 | -import static org.onosproject.yangutils.utils.UtilConstants.CLOSE_PARENTHESIS; | ||
43 | import static org.onosproject.yangutils.utils.UtilConstants.COMPONENT_ANNOTATION_IMPORT; | 31 | import static org.onosproject.yangutils.utils.UtilConstants.COMPONENT_ANNOTATION_IMPORT; |
44 | import static org.onosproject.yangutils.utils.UtilConstants.DEACTIVATE_ANNOTATION_IMPORT; | 32 | import static org.onosproject.yangutils.utils.UtilConstants.DEACTIVATE_ANNOTATION_IMPORT; |
45 | -import static org.onosproject.yangutils.utils.UtilConstants.EIGHT_SPACE_INDENTATION; | ||
46 | import static org.onosproject.yangutils.utils.UtilConstants.ENUM; | 33 | import static org.onosproject.yangutils.utils.UtilConstants.ENUM; |
47 | -import static org.onosproject.yangutils.utils.UtilConstants.EQUAL; | ||
48 | import static org.onosproject.yangutils.utils.UtilConstants.FOUR_SPACE_INDENTATION; | 34 | import static org.onosproject.yangutils.utils.UtilConstants.FOUR_SPACE_INDENTATION; |
49 | -import static org.onosproject.yangutils.utils.UtilConstants.IMPL; | ||
50 | -import static org.onosproject.yangutils.utils.UtilConstants.IMPORT; | ||
51 | import static org.onosproject.yangutils.utils.UtilConstants.LISTENER_SERVICE; | 35 | import static org.onosproject.yangutils.utils.UtilConstants.LISTENER_SERVICE; |
52 | import static org.onosproject.yangutils.utils.UtilConstants.LOGGER_FACTORY_IMPORT; | 36 | import static org.onosproject.yangutils.utils.UtilConstants.LOGGER_FACTORY_IMPORT; |
53 | import static org.onosproject.yangutils.utils.UtilConstants.LOGGER_IMPORT; | 37 | import static org.onosproject.yangutils.utils.UtilConstants.LOGGER_IMPORT; |
54 | -import static org.onosproject.yangutils.utils.UtilConstants.NEW; | ||
55 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; | 38 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; |
56 | import static org.onosproject.yangutils.utils.UtilConstants.OPEN_CURLY_BRACKET; | 39 | import static org.onosproject.yangutils.utils.UtilConstants.OPEN_CURLY_BRACKET; |
57 | -import static org.onosproject.yangutils.utils.UtilConstants.OPEN_PARENTHESIS; | ||
58 | -import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; | ||
59 | import static org.onosproject.yangutils.utils.UtilConstants.PUBLIC; | 40 | import static org.onosproject.yangutils.utils.UtilConstants.PUBLIC; |
60 | -import static org.onosproject.yangutils.utils.UtilConstants.SEMI_COLAN; | ||
61 | import static org.onosproject.yangutils.utils.UtilConstants.SERVICE_ANNOTATION_IMPORT; | 41 | import static org.onosproject.yangutils.utils.UtilConstants.SERVICE_ANNOTATION_IMPORT; |
62 | import static org.onosproject.yangutils.utils.UtilConstants.SPACE; | 42 | import static org.onosproject.yangutils.utils.UtilConstants.SPACE; |
63 | -import static org.onosproject.yangutils.utils.UtilConstants.THIS; | ||
64 | import static org.onosproject.yangutils.utils.UtilConstants.TYPE; | 43 | import static org.onosproject.yangutils.utils.UtilConstants.TYPE; |
65 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.updateFileHandle; | 44 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.updateFileHandle; |
66 | - | ||
67 | import static java.util.Collections.sort; | 45 | import static java.util.Collections.sort; |
68 | 46 | ||
69 | /** | 47 | /** |
... | @@ -121,84 +99,6 @@ public final class TempJavaCodeFragmentFilesUtils { | ... | @@ -121,84 +99,6 @@ public final class TempJavaCodeFragmentFilesUtils { |
121 | } | 99 | } |
122 | 100 | ||
123 | /** | 101 | /** |
124 | - * Updated imports with augmented nodes import. | ||
125 | - * | ||
126 | - * @param curNode current YANG node | ||
127 | - * @param imports list of imports | ||
128 | - * @param operation to add or to delete | ||
129 | - */ | ||
130 | - public static void addAugmentedNodesImport(YangNode curNode, List<String> imports, boolean operation) { | ||
131 | - | ||
132 | - String nodesImport = ""; | ||
133 | - | ||
134 | - if (!(curNode instanceof YangJavaAugment)) { | ||
135 | - throw new TranslatorException("current node should be of type augment node."); | ||
136 | - } | ||
137 | - YangJavaAugment augment = (YangJavaAugment) curNode; | ||
138 | - List<YangNodeIdentifier> targetNodes = augment.getTargetNode(); | ||
139 | - YangNode parent = curNode.getParent(); | ||
140 | - if (parent instanceof YangJavaModule) { | ||
141 | - // Add impl class import. | ||
142 | - nodesImport = getAugmendtedNodesImports(parent, targetNodes, true) + SEMI_COLAN + NEW_LINE; | ||
143 | - performOperationOnImports(imports, nodesImport, operation); | ||
144 | - // Add builder class import. | ||
145 | - if (targetNodes.size() > 2) { | ||
146 | - nodesImport = getAugmendtedNodesImports(parent, targetNodes, false) + SEMI_COLAN + NEW_LINE; | ||
147 | - performOperationOnImports(imports, nodesImport, operation); | ||
148 | - } | ||
149 | - } | ||
150 | - // TODO: add functionality for submodule and uses. | ||
151 | - } | ||
152 | - | ||
153 | - /** | ||
154 | - * Returns imports for augmented node. | ||
155 | - * | ||
156 | - * @param parent parent YANG node | ||
157 | - * @param targetNodes list of target nodes | ||
158 | - * @param isImplClass if impl class's import required | ||
159 | - * @return imports for augmented node | ||
160 | - */ | ||
161 | - private static String getAugmendtedNodesImports(YangNode parent, List<YangNodeIdentifier> targetNodes, | ||
162 | - boolean isImplClass) { | ||
163 | - String pkgInfo = ((JavaFileInfoContainer) parent).getJavaFileInfo().getPackage(); | ||
164 | - | ||
165 | - for (int i = 0; i < targetNodes.size() - 1; i++) { | ||
166 | - pkgInfo = pkgInfo + PERIOD + targetNodes.get(i).getName(); | ||
167 | - } | ||
168 | - String classInfo = targetNodes.get(targetNodes.size() - 1).getName(); | ||
169 | - if (!isImplClass) { | ||
170 | - return IMPORT + pkgInfo.toLowerCase() + PERIOD + getCapitalCase(classInfo) + BUILDER; | ||
171 | - } | ||
172 | - return IMPORT + pkgInfo.toLowerCase() + PERIOD + getCapitalCase(classInfo) + BUILDER + PERIOD | ||
173 | - + getCapitalCase(classInfo) + IMPL; | ||
174 | - } | ||
175 | - | ||
176 | - /** | ||
177 | - * Provides string to be added in augment node's constructor. | ||
178 | - * | ||
179 | - * @param curNode current YANG node | ||
180 | - * @return constructors string | ||
181 | - */ | ||
182 | - public static String getAugmentsAddToAugmentedClassString(YangNode curNode) { | ||
183 | - | ||
184 | - if (!(curNode instanceof YangJavaAugment)) { | ||
185 | - throw new TranslatorException("current node should be of type augment node."); | ||
186 | - } | ||
187 | - YangJavaAugment augment = (YangJavaAugment) curNode; | ||
188 | - List<YangNodeIdentifier> targetNodes = augment.getTargetNode(); | ||
189 | - | ||
190 | - String name = targetNodes.get(targetNodes.size() - 1).getName(); | ||
191 | - String captialCase = getCapitalCase(name); | ||
192 | - String smallCase = getSmallCase(captialCase); | ||
193 | - return EIGHT_SPACE_INDENTATION + captialCase + IMPL + SPACE + smallCase + IMPL + SPACE + EQUAL + SPACE + NEW | ||
194 | - + SPACE + captialCase + BUILDER + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + PERIOD + NEW + SPACE | ||
195 | - + captialCase + IMPL + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN + NEW_LINE | ||
196 | - + EIGHT_SPACE_INDENTATION + smallCase + IMPL + PERIOD + ADD_STRING + AUGMENTATION + OPEN_PARENTHESIS | ||
197 | - + THIS + CLOSE_PARENTHESIS + SEMI_COLAN + NEW_LINE; | ||
198 | - | ||
199 | - } | ||
200 | - | ||
201 | - /** | ||
202 | * Adds import for array list. | 102 | * Adds import for array list. |
203 | * | 103 | * |
204 | * @param curNode current YANG node | 104 | * @param curNode current YANG node | ... | ... |
... | @@ -25,24 +25,12 @@ import java.io.PrintWriter; | ... | @@ -25,24 +25,12 @@ import java.io.PrintWriter; |
25 | import java.util.ArrayList; | 25 | import java.util.ArrayList; |
26 | import java.util.List; | 26 | import java.util.List; |
27 | 27 | ||
28 | -import org.onosproject.yangutils.datamodel.YangNode; | ||
29 | -import org.onosproject.yangutils.translator.exception.TranslatorException; | ||
30 | -import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | ||
31 | -import org.onosproject.yangutils.translator.tojava.JavaFileInfoContainer; | ||
32 | - | ||
33 | -import static org.onosproject.yangutils.datamodel.utils.DataModelUtils.getParentNodeInGenCode; | ||
34 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getJavaPackageFromPackagePath; | ||
35 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getPackageDirPathFromJavaJPackage; | ||
36 | import static org.onosproject.yangutils.utils.UtilConstants.EIGHT_SPACE_INDENTATION; | 28 | import static org.onosproject.yangutils.utils.UtilConstants.EIGHT_SPACE_INDENTATION; |
37 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; | 29 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; |
38 | import static org.onosproject.yangutils.utils.UtilConstants.FOUR_SPACE_INDENTATION; | 30 | import static org.onosproject.yangutils.utils.UtilConstants.FOUR_SPACE_INDENTATION; |
39 | import static org.onosproject.yangutils.utils.UtilConstants.MULTIPLE_NEW_LINE; | 31 | import static org.onosproject.yangutils.utils.UtilConstants.MULTIPLE_NEW_LINE; |
40 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; | 32 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; |
41 | -import static org.onosproject.yangutils.utils.UtilConstants.SLASH; | ||
42 | import static org.onosproject.yangutils.utils.UtilConstants.SPACE; | 33 | import static org.onosproject.yangutils.utils.UtilConstants.SPACE; |
43 | -import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.addPackageInfo; | ||
44 | -import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.createDirectories; | ||
45 | -import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getAbsolutePackagePath; | ||
46 | 34 | ||
47 | /** | 35 | /** |
48 | * Represents utility to handle file system operations. | 36 | * Represents utility to handle file system operations. |
... | @@ -56,50 +44,6 @@ public final class FileSystemUtil { | ... | @@ -56,50 +44,6 @@ public final class FileSystemUtil { |
56 | } | 44 | } |
57 | 45 | ||
58 | /** | 46 | /** |
59 | - * Checks if the package directory structure created. | ||
60 | - * | ||
61 | - * @param pkg Package to check if it is created | ||
62 | - * @return existence status of package | ||
63 | - */ | ||
64 | - public static boolean doesPackageExist(String pkg) { | ||
65 | - File pkgDir = new File(getPackageDirPathFromJavaJPackage(pkg)); | ||
66 | - File pkgWithFile = new File(pkgDir + SLASH + "package-info.java"); | ||
67 | - return pkgDir.exists() && pkgWithFile.isFile(); | ||
68 | - } | ||
69 | - | ||
70 | - /** | ||
71 | - * Creates a package structure with package info java file if not present. | ||
72 | - * | ||
73 | - * @param yangNode YANG node for which code is being generated | ||
74 | - * @throws IOException any IO exception | ||
75 | - */ | ||
76 | - public static void createPackage(YangNode yangNode) throws IOException { | ||
77 | - if (!(yangNode instanceof JavaFileInfoContainer)) { | ||
78 | - throw new TranslatorException("current node must have java file info"); | ||
79 | - } | ||
80 | - String pkgInfo; | ||
81 | - JavaFileInfo javaFileInfo = ((JavaFileInfoContainer) yangNode).getJavaFileInfo(); | ||
82 | - String pkg = getAbsolutePackagePath(javaFileInfo.getBaseCodeGenPath(), javaFileInfo.getPackageFilePath()); | ||
83 | - if (!doesPackageExist(pkg)) { | ||
84 | - try { | ||
85 | - File pack = createDirectories(pkg); | ||
86 | - YangNode parent = getParentNodeInGenCode(yangNode); | ||
87 | - if (parent != null) { | ||
88 | - pkgInfo = ((JavaFileInfoContainer) parent).getJavaFileInfo().getJavaName(); | ||
89 | - addPackageInfo(pack, pkgInfo, getJavaPackageFromPackagePath(pkg), true, | ||
90 | - ((JavaFileInfoContainer) parent).getJavaFileInfo().getPluginConfig()); | ||
91 | - } else { | ||
92 | - pkgInfo = ((JavaFileInfoContainer) yangNode).getJavaFileInfo().getJavaName(); | ||
93 | - addPackageInfo(pack, pkgInfo, getJavaPackageFromPackagePath(pkg), false, | ||
94 | - ((JavaFileInfoContainer) yangNode).getJavaFileInfo().getPluginConfig()); | ||
95 | - } | ||
96 | - } catch (IOException e) { | ||
97 | - throw new IOException("failed to create package-info file"); | ||
98 | - } | ||
99 | - } | ||
100 | - } | ||
101 | - | ||
102 | - /** | ||
103 | * Reads the contents from source file and append its contents to append | 47 | * Reads the contents from source file and append its contents to append |
104 | * file. | 48 | * file. |
105 | * | 49 | * | ... | ... |
... | @@ -16,10 +16,7 @@ | ... | @@ -16,10 +16,7 @@ |
16 | 16 | ||
17 | package org.onosproject.yangutils.utils.io.impl; | 17 | package org.onosproject.yangutils.utils.io.impl; |
18 | 18 | ||
19 | -import org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax; | 19 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase; |
20 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | ||
21 | - | ||
22 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; | ||
23 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER; | 20 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER; |
24 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_CLASS_JAVA_DOC; | 21 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_CLASS_JAVA_DOC; |
25 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_INTERFACE_JAVA_DOC; | 22 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER_INTERFACE_JAVA_DOC; |
... | @@ -202,7 +199,7 @@ public final class JavaDocGen { | ... | @@ -202,7 +199,7 @@ public final class JavaDocGen { |
202 | */ | 199 | */ |
203 | public static String getJavaDoc(JavaDocType type, String name, boolean isList, YangPluginConfig pluginConfig) { | 200 | public static String getJavaDoc(JavaDocType type, String name, boolean isList, YangPluginConfig pluginConfig) { |
204 | 201 | ||
205 | - name = JavaIdentifierSyntax.getSmallCase(getCamelCase(name, pluginConfig.getConflictResolver())); | 202 | + name = YangIoUtils.getSmallCase(getCamelCase(name, pluginConfig.getConflictResolver())); |
206 | switch (type) { | 203 | switch (type) { |
207 | case IMPL_CLASS: { | 204 | case IMPL_CLASS: { |
208 | return generateForClass(name); | 205 | return generateForClass(name); | ... | ... |
... | @@ -19,73 +19,60 @@ package org.onosproject.yangutils.utils.io.impl; | ... | @@ -19,73 +19,60 @@ package org.onosproject.yangutils.utils.io.impl; |
19 | import java.io.BufferedReader; | 19 | import java.io.BufferedReader; |
20 | import java.io.BufferedWriter; | 20 | import java.io.BufferedWriter; |
21 | import java.io.File; | 21 | import java.io.File; |
22 | -import java.io.FileInputStream; | ||
23 | -import java.io.FileOutputStream; | ||
24 | import java.io.FileReader; | 22 | import java.io.FileReader; |
25 | import java.io.FileWriter; | 23 | import java.io.FileWriter; |
26 | import java.io.IOException; | 24 | import java.io.IOException; |
27 | -import java.io.InputStream; | ||
28 | -import java.io.ObjectInputStream; | ||
29 | -import java.io.ObjectOutputStream; | ||
30 | -import java.nio.file.Files; | ||
31 | -import java.nio.file.StandardCopyOption; | ||
32 | import java.util.ArrayList; | 25 | import java.util.ArrayList; |
33 | -import java.util.Enumeration; | 26 | +import java.util.Arrays; |
34 | -import java.util.Iterator; | ||
35 | import java.util.LinkedList; | 27 | import java.util.LinkedList; |
36 | import java.util.List; | 28 | import java.util.List; |
37 | -import java.util.Set; | ||
38 | import java.util.Stack; | 29 | import java.util.Stack; |
39 | -import java.util.jar.JarEntry; | ||
40 | -import java.util.jar.JarFile; | ||
41 | import java.util.regex.Pattern; | 30 | import java.util.regex.Pattern; |
42 | - | ||
43 | import org.apache.commons.io.FileUtils; | 31 | import org.apache.commons.io.FileUtils; |
44 | -import org.apache.maven.artifact.repository.ArtifactRepository; | 32 | +import org.onosproject.yangutils.translator.exception.TranslatorException; |
45 | -import org.apache.maven.model.Dependency; | 33 | + |
46 | -import org.apache.maven.model.Resource; | 34 | +import static org.onosproject.yangutils.utils.UtilConstants.COLAN; |
47 | -import org.apache.maven.project.MavenProject; | ||
48 | -import org.onosproject.yangutils.datamodel.YangNode; | ||
49 | -import org.onosproject.yangutils.plugin.manager.YangFileInfo; | ||
50 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | ||
51 | -import org.slf4j.Logger; | ||
52 | -import org.sonatype.plexus.build.incremental.BuildContext; | ||
53 | - | ||
54 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; | ||
55 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getPackageDirPathFromJavaJPackage; | ||
56 | import static org.onosproject.yangutils.utils.UtilConstants.COMMA; | 35 | import static org.onosproject.yangutils.utils.UtilConstants.COMMA; |
57 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; | 36 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; |
58 | import static org.onosproject.yangutils.utils.UtilConstants.HASH; | 37 | import static org.onosproject.yangutils.utils.UtilConstants.HASH; |
59 | import static org.onosproject.yangutils.utils.UtilConstants.HYPHEN; | 38 | import static org.onosproject.yangutils.utils.UtilConstants.HYPHEN; |
60 | -import static org.onosproject.yangutils.utils.UtilConstants.JAR; | 39 | +import static org.onosproject.yangutils.utils.UtilConstants.JAVA_KEY_WORDS; |
61 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; | 40 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; |
62 | import static org.onosproject.yangutils.utils.UtilConstants.OPEN_PARENTHESIS; | 41 | import static org.onosproject.yangutils.utils.UtilConstants.OPEN_PARENTHESIS; |
63 | import static org.onosproject.yangutils.utils.UtilConstants.ORG; | 42 | import static org.onosproject.yangutils.utils.UtilConstants.ORG; |
64 | import static org.onosproject.yangutils.utils.UtilConstants.PACKAGE; | 43 | import static org.onosproject.yangutils.utils.UtilConstants.PACKAGE; |
65 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; | 44 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; |
45 | +import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_DIGITS_WITH_SINGLE_LETTER; | ||
46 | +import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_FIRST_DIGIT; | ||
47 | +import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_HYPHEN; | ||
48 | +import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_IDENTIFIER_SPECIAL_CHAR; | ||
49 | +import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_PERIOD; | ||
50 | +import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_SINGLE_LETTER; | ||
51 | +import static org.onosproject.yangutils.utils.UtilConstants.REGEX_FOR_UNDERSCORE; | ||
52 | +import static org.onosproject.yangutils.utils.UtilConstants.REGEX_WITH_ALL_SPECIAL_CHAR; | ||
53 | +import static org.onosproject.yangutils.utils.UtilConstants.REGEX_WITH_DIGITS; | ||
54 | +import static org.onosproject.yangutils.utils.UtilConstants.REGEX_WITH_SINGLE_CAPITAL_CASE; | ||
55 | +import static org.onosproject.yangutils.utils.UtilConstants.REGEX_WITH_SINGLE_CAPITAL_CASE_AND_DIGITS_SMALL_CASES; | ||
56 | +import static org.onosproject.yangutils.utils.UtilConstants.REGEX_WITH_UPPERCASE; | ||
66 | import static org.onosproject.yangutils.utils.UtilConstants.SEMI_COLAN; | 57 | import static org.onosproject.yangutils.utils.UtilConstants.SEMI_COLAN; |
67 | import static org.onosproject.yangutils.utils.UtilConstants.SLASH; | 58 | import static org.onosproject.yangutils.utils.UtilConstants.SLASH; |
68 | import static org.onosproject.yangutils.utils.UtilConstants.SPACE; | 59 | import static org.onosproject.yangutils.utils.UtilConstants.SPACE; |
69 | -import static org.onosproject.yangutils.utils.UtilConstants.TEMP; | ||
70 | import static org.onosproject.yangutils.utils.UtilConstants.TWELVE_SPACE_INDENTATION; | 60 | import static org.onosproject.yangutils.utils.UtilConstants.TWELVE_SPACE_INDENTATION; |
71 | -import static org.onosproject.yangutils.utils.UtilConstants.YANG_RESOURCES; | 61 | +import static org.onosproject.yangutils.utils.UtilConstants.UNDER_SCORE; |
62 | +import static org.onosproject.yangutils.utils.UtilConstants.YANG_AUTO_PREFIX; | ||
72 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.appendFileContents; | 63 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.appendFileContents; |
73 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.updateFileHandle; | 64 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.updateFileHandle; |
74 | -import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.getJavaDoc; | ||
75 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.PACKAGE_INFO; | 65 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.PACKAGE_INFO; |
76 | -import static org.slf4j.LoggerFactory.getLogger; | 66 | +import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.getJavaDoc; |
77 | 67 | ||
78 | /** | 68 | /** |
79 | * Represents common utility functionalities for code generation. | 69 | * Represents common utility functionalities for code generation. |
80 | */ | 70 | */ |
81 | public final class YangIoUtils { | 71 | public final class YangIoUtils { |
82 | 72 | ||
83 | - private static final Logger log = getLogger(YangIoUtils.class); | ||
84 | - private static final String TARGET_RESOURCE_PATH = SLASH + TEMP + SLASH + YANG_RESOURCES + SLASH; | ||
85 | private static final int LINE_SIZE = 118; | 73 | private static final int LINE_SIZE = 118; |
86 | private static final int SUB_LINE_SIZE = 112; | 74 | private static final int SUB_LINE_SIZE = 112; |
87 | private static final int ZERO = 0; | 75 | private static final int ZERO = 0; |
88 | - private static final String SERIALIZED_FILE_EXTENSION = ".ser"; | ||
89 | 76 | ||
90 | /** | 77 | /** |
91 | * Creates an instance of YANG io utils. | 78 | * Creates an instance of YANG io utils. |
... | @@ -223,19 +210,6 @@ public final class YangIoUtils { | ... | @@ -223,19 +210,6 @@ public final class YangIoUtils { |
223 | } | 210 | } |
224 | 211 | ||
225 | /** | 212 | /** |
226 | - * Adds generated source directory to the compilation root. | ||
227 | - * | ||
228 | - * @param source directory | ||
229 | - * @param project current maven project | ||
230 | - * @param context current build context | ||
231 | - */ | ||
232 | - public static void addToCompilationRoot(String source, MavenProject project, BuildContext context) { | ||
233 | - project.addCompileSourceRoot(source); | ||
234 | - context.refresh(project.getBasedir()); | ||
235 | - log.info("Source directory added to compilation root: " + source); | ||
236 | - } | ||
237 | - | ||
238 | - /** | ||
239 | * Removes extra char from the string. | 213 | * Removes extra char from the string. |
240 | * | 214 | * |
241 | * @param valueString string to be trimmed | 215 | * @param valueString string to be trimmed |
... | @@ -303,49 +277,6 @@ public final class YangIoUtils { | ... | @@ -303,49 +277,6 @@ public final class YangIoUtils { |
303 | } | 277 | } |
304 | 278 | ||
305 | /** | 279 | /** |
306 | - * Copies YANG files to the current project's output directory. | ||
307 | - * | ||
308 | - * @param yangFileInfo list of YANG files | ||
309 | - * @param outputDir project's output directory | ||
310 | - * @param project maven project | ||
311 | - * @throws IOException when fails to copy files to destination resource directory | ||
312 | - */ | ||
313 | - public static void copyYangFilesToTarget(Set<YangFileInfo> yangFileInfo, String outputDir, MavenProject project) | ||
314 | - throws IOException { | ||
315 | - | ||
316 | - List<File> files = getListOfFile(yangFileInfo); | ||
317 | - | ||
318 | - String path = outputDir + TARGET_RESOURCE_PATH; | ||
319 | - File targetDir = new File(path); | ||
320 | - targetDir.mkdirs(); | ||
321 | - | ||
322 | - for (File file : files) { | ||
323 | - Files.copy(file.toPath(), | ||
324 | - new File(path + file.getName()).toPath(), | ||
325 | - StandardCopyOption.REPLACE_EXISTING); | ||
326 | - } | ||
327 | - addToProjectResource(outputDir + SLASH + TEMP + SLASH, project); | ||
328 | - } | ||
329 | - | ||
330 | - /** | ||
331 | - * Provides a list of files from list of strings. | ||
332 | - * | ||
333 | - * @param yangFileInfo set of yang file information | ||
334 | - * @return list of files | ||
335 | - */ | ||
336 | - private static List<File> getListOfFile(Set<YangFileInfo> yangFileInfo) { | ||
337 | - List<File> files = new ArrayList<>(); | ||
338 | - Iterator<YangFileInfo> yangFileIterator = yangFileInfo.iterator(); | ||
339 | - while (yangFileIterator.hasNext()) { | ||
340 | - YangFileInfo yangFile = yangFileIterator.next(); | ||
341 | - if (yangFile.isForTranslator()) { | ||
342 | - files.add(new File(yangFile.getYangFileName())); | ||
343 | - } | ||
344 | - } | ||
345 | - return files; | ||
346 | - } | ||
347 | - | ||
348 | - /** | ||
349 | * Merges the temp java files to main java files. | 280 | * Merges the temp java files to main java files. |
350 | * | 281 | * |
351 | * @param appendFile temp file | 282 | * @param appendFile temp file |
... | @@ -501,173 +432,258 @@ public final class YangIoUtils { | ... | @@ -501,173 +432,258 @@ public final class YangIoUtils { |
501 | } | 432 | } |
502 | 433 | ||
503 | /** | 434 | /** |
504 | - * Serializes data-model. | 435 | + * Returns the java Package from package path. |
505 | * | 436 | * |
506 | - * @param directory base directory for serialized files | 437 | + * @param packagePath package path |
507 | - * @param fileInfoSet YANG file info set | 438 | + * @return java package |
508 | - * @param project maven project | ||
509 | - * @param operation true if need to add to resource | ||
510 | - * @throws IOException when fails to do IO operations | ||
511 | */ | 439 | */ |
512 | - public static void serializeDataModel(String directory, Set<YangFileInfo> fileInfoSet, | 440 | + public static String getJavaPackageFromPackagePath(String packagePath) { |
513 | - MavenProject project, boolean operation) throws IOException { | 441 | + return packagePath.replace(SLASH, PERIOD); |
442 | + } | ||
514 | 443 | ||
515 | - String serFileDirPath = directory + TARGET_RESOURCE_PATH; | 444 | + /** |
516 | - File dir = new File(serFileDirPath); | 445 | + * Returns the directory path corresponding to java package. |
517 | - dir.mkdirs(); | 446 | + * |
447 | + * @param packagePath package path | ||
448 | + * @return java package | ||
449 | + */ | ||
450 | + public static String getPackageDirPathFromJavaJPackage(String packagePath) { | ||
451 | + return packagePath.replace(PERIOD, SLASH); | ||
452 | + } | ||
518 | 453 | ||
519 | - if (operation) { | 454 | + /** |
520 | - addToProjectResource(directory + SLASH + TEMP + SLASH, project); | 455 | + * Returns the YANG identifier name as java identifier with first letter |
456 | + * in small. | ||
457 | + * | ||
458 | + * @param yangIdentifier identifier in YANG file. | ||
459 | + * @return corresponding java identifier | ||
460 | + */ | ||
461 | + public static String getSmallCase(String yangIdentifier) { | ||
462 | + return yangIdentifier.substring(0, 1).toLowerCase() + yangIdentifier.substring(1); | ||
463 | + } | ||
464 | + | ||
465 | + /** | ||
466 | + * Returns the YANG identifier name as java identifier with first letter | ||
467 | + * in capital. | ||
468 | + * | ||
469 | + * @param yangIdentifier identifier in YANG file | ||
470 | + * @return corresponding java identifier | ||
471 | + */ | ||
472 | + public static String getCapitalCase(String yangIdentifier) { | ||
473 | + yangIdentifier = yangIdentifier.substring(0, 1).toUpperCase() + yangIdentifier.substring(1); | ||
474 | + return restrictConsecutiveCapitalCase(yangIdentifier); | ||
521 | } | 475 | } |
522 | 476 | ||
523 | - for (YangFileInfo fileInfo : fileInfoSet) { | 477 | + /** |
478 | + * Restricts consecutive capital cased string as a rule in camel case. | ||
479 | + * | ||
480 | + * @param consecCapitalCaseRemover which requires the restriction of consecutive capital case | ||
481 | + * @return string without consecutive capital case | ||
482 | + */ | ||
483 | + public static String restrictConsecutiveCapitalCase(String consecCapitalCaseRemover) { | ||
524 | 484 | ||
525 | - String serFileName = serFileDirPath + getCamelCase(fileInfo.getRootNode().getName(), null) | 485 | + for (int k = 0; k < consecCapitalCaseRemover.length(); k++) { |
526 | - + SERIALIZED_FILE_EXTENSION; | 486 | + if (k + 1 < consecCapitalCaseRemover.length()) { |
527 | - fileInfo.setSerializedFile(serFileName); | 487 | + if (Character.isUpperCase(consecCapitalCaseRemover.charAt(k))) { |
528 | - FileOutputStream fileOutputStream = new FileOutputStream(serFileName); | 488 | + if (Character.isUpperCase(consecCapitalCaseRemover.charAt(k + 1))) { |
529 | - ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream); | 489 | + consecCapitalCaseRemover = consecCapitalCaseRemover.substring(0, k + 1) |
530 | - objectOutputStream.writeObject(fileInfo.getRootNode()); | 490 | + + consecCapitalCaseRemover.substring(k + 1, k + 2).toLowerCase() |
531 | - objectOutputStream.close(); | 491 | + + consecCapitalCaseRemover.substring(k + 2); |
532 | - fileOutputStream.close(); | ||
533 | } | 492 | } |
534 | } | 493 | } |
535 | - | 494 | + } |
536 | - /* Adds directory to resources of project */ | 495 | + } |
537 | - private static void addToProjectResource(String dir, MavenProject project) { | 496 | + return consecCapitalCaseRemover; |
538 | - Resource rsc = new Resource(); | ||
539 | - rsc.setDirectory(dir); | ||
540 | - project.addResource(rsc); | ||
541 | } | 497 | } |
542 | 498 | ||
543 | /** | 499 | /** |
544 | - * Returns de-serializes YANG data-model nodes. | 500 | + * Adds prefix, if the string begins with digit or is a java key word. |
545 | * | 501 | * |
546 | - * @param serailizedfileInfoSet YANG file info set | 502 | + * @param camelCasePrefix string for adding prefix |
547 | - * @return de-serializes YANG data-model nodes | 503 | + * @param conflictResolver object of YANG to java naming conflict util |
548 | - * @throws IOException when fails do IO operations | 504 | + * @return prefixed camel case string |
549 | */ | 505 | */ |
550 | - public static List<YangNode> deSerializeDataModel(List<String> serailizedfileInfoSet) throws IOException { | 506 | + public static String addPrefix(String camelCasePrefix, YangToJavaNamingConflictUtil conflictResolver) { |
551 | 507 | ||
552 | - List<YangNode> nodes = new ArrayList<>(); | 508 | + String prefix = getPrefixForIdentifier(conflictResolver); |
553 | - for (String fileInfo : serailizedfileInfoSet) { | 509 | + if (camelCasePrefix.matches(REGEX_FOR_FIRST_DIGIT)) { |
554 | - YangNode node = null; | 510 | + camelCasePrefix = prefix + camelCasePrefix; |
555 | - try { | ||
556 | - FileInputStream fileInputStream = new FileInputStream(fileInfo); | ||
557 | - ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream); | ||
558 | - node = (YangNode) objectInputStream.readObject(); | ||
559 | - nodes.add(node); | ||
560 | - objectInputStream.close(); | ||
561 | - fileInputStream.close(); | ||
562 | - } catch (IOException | ClassNotFoundException e) { | ||
563 | - throw new IOException(fileInfo + " not found."); | ||
564 | } | 511 | } |
512 | + if (JAVA_KEY_WORDS.contains(camelCasePrefix)) { | ||
513 | + camelCasePrefix = prefix + camelCasePrefix.substring(0, 1).toUpperCase() | ||
514 | + + camelCasePrefix.substring(1); | ||
565 | } | 515 | } |
566 | - return nodes; | 516 | + return camelCasePrefix; |
567 | } | 517 | } |
568 | 518 | ||
569 | /** | 519 | /** |
570 | - * Resolves inter jar dependencies. | 520 | + * Applies the rule that a string does not end with a capitalized letter and capitalizes |
521 | + * the letter next to a number in an array. | ||
571 | * | 522 | * |
572 | - * @param project current maven project | 523 | + * @param stringArray containing strings for camel case separation |
573 | - * @param localRepository local maven repository | 524 | + * @param conflictResolver object of YANG to java naming conflict util |
574 | - * @param remoteRepos list of remote repository | 525 | + * @return camel case rule checked string |
575 | - * @param directory directory for serialized files | ||
576 | - * @return list of resolved datamodel nodes | ||
577 | - * @throws IOException when fails to do IO operations | ||
578 | */ | 526 | */ |
579 | - public static List<YangNode> resolveInterJarDependencies(MavenProject project, ArtifactRepository localRepository, | 527 | + public static String applyCamelCaseRule(String[] stringArray, YangToJavaNamingConflictUtil conflictResolver) { |
580 | - List<ArtifactRepository> remoteRepos, String directory) throws IOException { | ||
581 | 528 | ||
582 | - List<String> dependeciesJarPaths = resolveDependecyJarPath(project, localRepository, remoteRepos); | 529 | + String ruleChecker = stringArray[0].toLowerCase(); |
583 | - List<YangNode> resolvedDataModelNodes = new ArrayList<>(); | 530 | + int i; |
584 | - for (String dependecy : dependeciesJarPaths) { | 531 | + if (ruleChecker.matches(REGEX_FOR_FIRST_DIGIT)) { |
585 | - resolvedDataModelNodes.addAll(deSerializeDataModel(parseJarFile(dependecy, directory))); | 532 | + i = 0; |
533 | + ruleChecker = EMPTY_STRING; | ||
534 | + } else { | ||
535 | + i = 1; | ||
536 | + } | ||
537 | + for (; i < stringArray.length; i++) { | ||
538 | + if (i + 1 == stringArray.length) { | ||
539 | + if (stringArray[i].matches(REGEX_FOR_SINGLE_LETTER) | ||
540 | + || stringArray[i].matches(REGEX_FOR_DIGITS_WITH_SINGLE_LETTER)) { | ||
541 | + ruleChecker = ruleChecker + stringArray[i].toLowerCase(); | ||
542 | + break; | ||
543 | + } | ||
544 | + } | ||
545 | + if (stringArray[i].matches(REGEX_FOR_FIRST_DIGIT)) { | ||
546 | + for (int j = 0; j < stringArray[i].length(); j++) { | ||
547 | + char letterCheck = stringArray[i].charAt(j); | ||
548 | + if (Character.isLetter(letterCheck)) { | ||
549 | + stringArray[i] = stringArray[i].substring(0, j) | ||
550 | + + stringArray[i].substring(j, j + 1).toUpperCase() + stringArray[i].substring(j + 1); | ||
551 | + break; | ||
552 | + } | ||
553 | + } | ||
554 | + ruleChecker = ruleChecker + stringArray[i]; | ||
555 | + } else { | ||
556 | + ruleChecker = ruleChecker + stringArray[i].substring(0, 1).toUpperCase() + stringArray[i].substring(1); | ||
586 | } | 557 | } |
587 | - return resolvedDataModelNodes; | 558 | + } |
559 | + String ruleCheckerWithPrefix = addPrefix(ruleChecker, conflictResolver); | ||
560 | + return restrictConsecutiveCapitalCase(ruleCheckerWithPrefix); | ||
588 | } | 561 | } |
589 | 562 | ||
590 | /** | 563 | /** |
591 | - * Returns list of jar path. | 564 | + * Resolves the conflict when input has upper case. |
592 | * | 565 | * |
593 | - * @return list of jar paths | 566 | + * @param stringArray containing strings for upper case conflict resolver |
567 | + * @param conflictResolver object of YANG to java naming conflict util | ||
568 | + * @return camel cased string | ||
594 | */ | 569 | */ |
595 | - private static List<String> resolveDependecyJarPath(MavenProject project, ArtifactRepository localRepository, | 570 | + public static String upperCaseConflictResolver(String[] stringArray, |
596 | - List<ArtifactRepository> remoteRepos) { | 571 | + YangToJavaNamingConflictUtil conflictResolver) { |
572 | + | ||
573 | + for (int l = 0; l < stringArray.length; l++) { | ||
574 | + String[] upperCaseSplitArray = stringArray[l].split(REGEX_WITH_UPPERCASE); | ||
575 | + for (int m = 0; m < upperCaseSplitArray.length; m++) { | ||
576 | + if (upperCaseSplitArray[m].matches(REGEX_WITH_SINGLE_CAPITAL_CASE)) { | ||
577 | + int check = m; | ||
578 | + while (check + 1 < upperCaseSplitArray.length) { | ||
579 | + if (upperCaseSplitArray[check + 1].matches(REGEX_WITH_SINGLE_CAPITAL_CASE)) { | ||
580 | + upperCaseSplitArray[check + 1] = upperCaseSplitArray[check + 1].toLowerCase(); | ||
581 | + check = check + 1; | ||
582 | + } else if (upperCaseSplitArray[check + 1] | ||
583 | + .matches(REGEX_WITH_SINGLE_CAPITAL_CASE_AND_DIGITS_SMALL_CASES)) { | ||
584 | + upperCaseSplitArray[check + 1] = upperCaseSplitArray[check + 1].toLowerCase(); | ||
585 | + break; | ||
586 | + } else { | ||
587 | + break; | ||
588 | + } | ||
589 | + } | ||
590 | + } | ||
591 | + } | ||
592 | + StringBuilder strBuilder = new StringBuilder(); | ||
593 | + for (String element : upperCaseSplitArray) { | ||
594 | + strBuilder.append(element); | ||
595 | + } | ||
596 | + stringArray[l] = strBuilder.toString(); | ||
597 | + } | ||
598 | + List<String> result = new ArrayList<String>(); | ||
599 | + for (String element : stringArray) { | ||
600 | + String[] capitalCaseSplitArray = element.split(REGEX_WITH_UPPERCASE); | ||
601 | + for (String letter : capitalCaseSplitArray) { | ||
602 | + String[] arrayForAddition = letter.split(REGEX_WITH_DIGITS); | ||
603 | + List<String> list = Arrays.asList(arrayForAddition); | ||
604 | + for (String str : list) { | ||
605 | + if (str != null && !str.isEmpty()) { | ||
606 | + result.add(str); | ||
607 | + } | ||
608 | + } | ||
609 | + } | ||
610 | + } | ||
611 | + stringArray = result.toArray(new String[result.size()]); | ||
612 | + return applyCamelCaseRule(stringArray, conflictResolver); | ||
613 | + } | ||
597 | 614 | ||
598 | - StringBuilder path = new StringBuilder(); | 615 | + /** |
599 | - List<String> jarPaths = new ArrayList<>(); | 616 | + * Returns the YANG identifier name as java identifier. |
600 | - for (Dependency dependency : project.getDependencies()) { | 617 | + * |
618 | + * @param yangIdentifier identifier in YANG file | ||
619 | + * @param conflictResolver object of YANG to java naming conflict util | ||
620 | + * @return corresponding java identifier | ||
621 | + */ | ||
622 | + public static String getCamelCase(String yangIdentifier, YangToJavaNamingConflictUtil conflictResolver) { | ||
601 | 623 | ||
602 | - path.append(localRepository.getBasedir()); | 624 | + if (conflictResolver != null) { |
603 | - path.append(SLASH); | 625 | + String replacementForHyphen = conflictResolver.getReplacementForHyphen(); |
604 | - path.append(getPackageDirPathFromJavaJPackage(dependency.getGroupId())); | 626 | + String replacementForPeriod = conflictResolver.getReplacementForPeriod(); |
605 | - path.append(SLASH); | 627 | + String replacementForUnderscore = conflictResolver.getReplacementForUnderscore(); |
606 | - path.append(dependency.getArtifactId()); | 628 | + if (replacementForPeriod != null) { |
607 | - path.append(SLASH); | 629 | + yangIdentifier = yangIdentifier.replaceAll(REGEX_FOR_PERIOD, |
608 | - path.append(dependency.getVersion()); | 630 | + PERIOD + replacementForPeriod.toLowerCase() + PERIOD); |
609 | - path.append(SLASH); | ||
610 | - path.append(dependency.getArtifactId() + HYPHEN + dependency.getVersion() + PERIOD + JAR); | ||
611 | - File jarFile = new File(path.toString()); | ||
612 | - if (jarFile.exists()) { | ||
613 | - jarPaths.add(path.toString()); | ||
614 | } | 631 | } |
615 | - path.delete(0, path.length()); | 632 | + if (replacementForUnderscore != null) { |
633 | + yangIdentifier = yangIdentifier.replaceAll(REGEX_FOR_UNDERSCORE, | ||
634 | + UNDER_SCORE + replacementForUnderscore.toLowerCase() + UNDER_SCORE); | ||
616 | } | 635 | } |
617 | - | 636 | + if (replacementForHyphen != null) { |
618 | - for (ArtifactRepository repo : remoteRepos) { | 637 | + yangIdentifier = yangIdentifier.replaceAll(REGEX_FOR_HYPHEN, |
619 | - // TODO: add resolver for remote repo. | 638 | + HYPHEN + replacementForHyphen.toLowerCase() + HYPHEN); |
639 | + } | ||
640 | + } | ||
641 | + yangIdentifier = yangIdentifier.replaceAll(REGEX_FOR_IDENTIFIER_SPECIAL_CHAR, COLAN); | ||
642 | + String[] strArray = yangIdentifier.split(COLAN); | ||
643 | + if (strArray[0].isEmpty()) { | ||
644 | + List<String> stringArrangement = new ArrayList<String>(); | ||
645 | + for (int i = 1; i < strArray.length; i++) { | ||
646 | + stringArrangement.add(strArray[i]); | ||
620 | } | 647 | } |
621 | - return jarPaths; | 648 | + strArray = stringArrangement.toArray(new String[stringArrangement.size()]); |
649 | + } | ||
650 | + return upperCaseConflictResolver(strArray, conflictResolver); | ||
622 | } | 651 | } |
623 | 652 | ||
624 | /** | 653 | /** |
625 | - * Parses jar file and returns list of serialized file names. | 654 | + * Prefix for adding with identifier and namespace, when it is a java keyword or starting with digits. |
626 | * | 655 | * |
627 | - * @param jarFile jar file to be parsed | 656 | + * @param conflictResolver object of YANG to java naming conflict util |
628 | - * @param directory directory for keeping the searized files | 657 | + * @return prefix which needs to be added |
629 | - * @return list of serialized files | ||
630 | - * @throws IOException when fails to do IO operations | ||
631 | */ | 658 | */ |
632 | - public static List<String> parseJarFile(String jarFile, String directory) | 659 | + public static String getPrefixForIdentifier(YangToJavaNamingConflictUtil conflictResolver) { |
633 | - throws IOException { | ||
634 | 660 | ||
635 | - List<String> serailizedFiles = new ArrayList<>(); | 661 | + String prefixForIdentifier = null; |
636 | - JarFile jar = new JarFile(jarFile); | 662 | + if (conflictResolver != null) { |
637 | - Enumeration<?> enumEntries = jar.entries(); | 663 | + prefixForIdentifier = conflictResolver.getPrefixForIdentifier(); |
638 | - | ||
639 | - File serializedFileDir = new File(directory); | ||
640 | - serializedFileDir.mkdirs(); | ||
641 | - while (enumEntries.hasMoreElements()) { | ||
642 | - JarEntry file = (JarEntry) enumEntries.nextElement(); | ||
643 | - if (file.getName().endsWith(SERIALIZED_FILE_EXTENSION)) { | ||
644 | - if (file.getName().contains(SLASH)) { | ||
645 | - String[] strArray = file.getName().split(SLASH); | ||
646 | - String tempPath = ""; | ||
647 | - for (int i = 0; i < strArray.length - 1; i++) { | ||
648 | - tempPath = SLASH + tempPath + SLASH + strArray[i]; | ||
649 | - } | ||
650 | - File dir = new File(directory + tempPath); | ||
651 | - dir.mkdirs(); | ||
652 | - } | ||
653 | - File serailizedFile = new File(directory + SLASH + file.getName()); | ||
654 | - if (file.isDirectory()) { | ||
655 | - serailizedFile.mkdirs(); | ||
656 | - continue; | ||
657 | } | 664 | } |
658 | - InputStream inputStream = jar.getInputStream(file); | 665 | + if (prefixForIdentifier != null) { |
659 | - | 666 | + prefixForIdentifier = prefixForIdentifier.replaceAll(REGEX_WITH_ALL_SPECIAL_CHAR, COLAN); |
660 | - FileOutputStream fileOutputStream = new FileOutputStream(serailizedFile); | 667 | + String[] strArray = prefixForIdentifier.split(COLAN); |
661 | - while (inputStream.available() > 0) { | 668 | + try { |
662 | - fileOutputStream.write(inputStream.read()); | 669 | + if (strArray[0].isEmpty()) { |
670 | + List<String> stringArrangement = new ArrayList<String>(); | ||
671 | + for (int i = 1; i < strArray.length; i++) { | ||
672 | + stringArrangement.add(strArray[i]); | ||
663 | } | 673 | } |
664 | - fileOutputStream.close(); | 674 | + strArray = stringArrangement.toArray(new String[stringArrangement.size()]); |
665 | - inputStream.close(); | ||
666 | - serailizedFiles.add(serailizedFile.toString()); | ||
667 | } | 675 | } |
676 | + prefixForIdentifier = strArray[0]; | ||
677 | + for (int j = 1; j < strArray.length; j++) { | ||
678 | + prefixForIdentifier = prefixForIdentifier + strArray[j].substring(0, 1).toUpperCase() + | ||
679 | + strArray[j].substring(1); | ||
668 | } | 680 | } |
669 | - jar.close(); | 681 | + } catch (ArrayIndexOutOfBoundsException outOfBoundsException) { |
670 | - return serailizedFiles; | 682 | + throw new TranslatorException("The given prefix in pom.xml is invalid."); |
683 | + } | ||
684 | + } else { | ||
685 | + prefixForIdentifier = YANG_AUTO_PREFIX; | ||
686 | + } | ||
687 | + return prefixForIdentifier; | ||
671 | } | 688 | } |
672 | - | ||
673 | } | 689 | } | ... | ... |
... | @@ -14,7 +14,7 @@ | ... | @@ -14,7 +14,7 @@ |
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | -package org.onosproject.yangutils.translator.tojava.utils; | 17 | +package org.onosproject.yangutils.utils.io.impl; |
18 | 18 | ||
19 | /** | 19 | /** |
20 | * Representation of plugin configurations required for YANG utils. | 20 | * Representation of plugin configurations required for YANG utils. | ... | ... |
... | @@ -14,7 +14,7 @@ | ... | @@ -14,7 +14,7 @@ |
14 | * limitations under the License. | 14 | * limitations under the License. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | -package org.onosproject.yangutils.translator.tojava.utils; | 17 | +package org.onosproject.yangutils.utils.io.impl; |
18 | 18 | ||
19 | /** | 19 | /** |
20 | * Representation of YANG to java naming conflict resolver util. | 20 | * Representation of YANG to java naming conflict resolver util. | ... | ... |
... | @@ -22,7 +22,7 @@ import org.onosproject.yangutils.linker.impl.YangLinkerManager; | ... | @@ -22,7 +22,7 @@ import org.onosproject.yangutils.linker.impl.YangLinkerManager; |
22 | import org.onosproject.yangutils.parser.exceptions.ParserException; | 22 | import org.onosproject.yangutils.parser.exceptions.ParserException; |
23 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; | 23 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; |
24 | import org.onosproject.yangutils.plugin.manager.YangUtilManager; | 24 | import org.onosproject.yangutils.plugin.manager.YangUtilManager; |
25 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | 25 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; |
26 | import org.onosproject.yangutils.utils.io.impl.YangFileScanner; | 26 | import org.onosproject.yangutils.utils.io.impl.YangFileScanner; |
27 | 27 | ||
28 | import java.io.IOException; | 28 | import java.io.IOException; | ... | ... |
... | @@ -34,10 +34,9 @@ import org.onosproject.yangutils.datamodel.utils.ResolvableStatus; | ... | @@ -34,10 +34,9 @@ import org.onosproject.yangutils.datamodel.utils.ResolvableStatus; |
34 | import org.onosproject.yangutils.linker.impl.YangLinkerManager; | 34 | import org.onosproject.yangutils.linker.impl.YangLinkerManager; |
35 | import org.onosproject.yangutils.parser.exceptions.ParserException; | 35 | import org.onosproject.yangutils.parser.exceptions.ParserException; |
36 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; | 36 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; |
37 | -import org.onosproject.yangutils.plugin.manager.YangFileInfo; | ||
38 | import org.onosproject.yangutils.plugin.manager.YangUtilManager; | 37 | import org.onosproject.yangutils.plugin.manager.YangUtilManager; |
39 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | ||
40 | import org.onosproject.yangutils.utils.io.impl.YangFileScanner; | 38 | import org.onosproject.yangutils.utils.io.impl.YangFileScanner; |
39 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; | ||
41 | 40 | ||
42 | import static org.hamcrest.CoreMatchers.nullValue; | 41 | import static org.hamcrest.CoreMatchers.nullValue; |
43 | import static org.hamcrest.MatcherAssert.assertThat; | 42 | import static org.hamcrest.MatcherAssert.assertThat; |
... | @@ -67,29 +66,30 @@ public class InterFileLinkingTest { | ... | @@ -67,29 +66,30 @@ public class InterFileLinkingTest { |
67 | String searchDir = "src/test/resources/interfiletype"; | 66 | String searchDir = "src/test/resources/interfiletype"; |
68 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); | 67 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); |
69 | utilManager.parseYangFileInfoSet(); | 68 | utilManager.parseYangFileInfoSet(); |
69 | + utilManager.createYangNodeSet(); | ||
70 | 70 | ||
71 | YangNode refNode = null; | 71 | YangNode refNode = null; |
72 | YangNode selfNode = null; | 72 | YangNode selfNode = null; |
73 | 73 | ||
74 | // Create YANG node set | 74 | // Create YANG node set |
75 | - yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet()); | 75 | + yangLinkerManager.createYangNodeSet(utilManager.getYangNodeSet()); |
76 | 76 | ||
77 | // Add references to import list. | 77 | // Add references to import list. |
78 | - yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangFileInfoSet()); | 78 | + yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangNodeSet()); |
79 | 79 | ||
80 | // Carry out inter-file linking. | 80 | // Carry out inter-file linking. |
81 | - yangLinkerManager.processInterFileLinking(utilManager.getYangFileInfoSet()); | 81 | + yangLinkerManager.processInterFileLinking(utilManager.getYangNodeSet()); |
82 | 82 | ||
83 | - Iterator<YangFileInfo> yangFileInfoIterator = utilManager.getYangFileInfoSet().iterator(); | 83 | + Iterator<YangNode> yangNodeIterator = utilManager.getYangNodeSet().iterator(); |
84 | 84 | ||
85 | - YangFileInfo yangFileInfo = yangFileInfoIterator.next(); | 85 | + YangNode rootNode = yangNodeIterator.next(); |
86 | 86 | ||
87 | - if (yangFileInfo.getRootNode().getName().equals("module1")) { | 87 | + if (rootNode.getName().equals("module1")) { |
88 | - selfNode = yangFileInfo.getRootNode(); | 88 | + selfNode = rootNode; |
89 | - refNode = yangFileInfoIterator.next().getRootNode(); | 89 | + refNode = yangNodeIterator.next(); |
90 | } else { | 90 | } else { |
91 | - refNode = yangFileInfo.getRootNode(); | 91 | + refNode = rootNode; |
92 | - selfNode = yangFileInfoIterator.next().getRootNode(); | 92 | + selfNode = yangNodeIterator.next(); |
93 | } | 93 | } |
94 | 94 | ||
95 | // Check whether the data model tree returned is of type module. | 95 | // Check whether the data model tree returned is of type module. |
... | @@ -136,29 +136,30 @@ public class InterFileLinkingTest { | ... | @@ -136,29 +136,30 @@ public class InterFileLinkingTest { |
136 | String searchDir = "src/test/resources/interfileuses"; | 136 | String searchDir = "src/test/resources/interfileuses"; |
137 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); | 137 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); |
138 | utilManager.parseYangFileInfoSet(); | 138 | utilManager.parseYangFileInfoSet(); |
139 | + utilManager.createYangNodeSet(); | ||
139 | 140 | ||
140 | YangNode refNode = null; | 141 | YangNode refNode = null; |
141 | YangNode selfNode = null; | 142 | YangNode selfNode = null; |
142 | 143 | ||
143 | // Create YANG node set | 144 | // Create YANG node set |
144 | - yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet()); | 145 | + yangLinkerManager.createYangNodeSet(utilManager.getYangNodeSet()); |
145 | 146 | ||
146 | // Add references to import list. | 147 | // Add references to import list. |
147 | - yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangFileInfoSet()); | 148 | + yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangNodeSet()); |
148 | 149 | ||
149 | // Carry out inter-file linking. | 150 | // Carry out inter-file linking. |
150 | - yangLinkerManager.processInterFileLinking(utilManager.getYangFileInfoSet()); | 151 | + yangLinkerManager.processInterFileLinking(utilManager.getYangNodeSet()); |
151 | 152 | ||
152 | - Iterator<YangFileInfo> yangFileInfoIterator = utilManager.getYangFileInfoSet().iterator(); | 153 | + Iterator<YangNode> yangNodeIterator = utilManager.getYangNodeSet().iterator(); |
153 | 154 | ||
154 | - YangFileInfo yangFileInfo = yangFileInfoIterator.next(); | 155 | + YangNode rootNode = yangNodeIterator.next(); |
155 | 156 | ||
156 | - if (yangFileInfo.getRootNode().getName().equals("module1")) { | 157 | + if (rootNode.getName().equals("module1")) { |
157 | - selfNode = yangFileInfo.getRootNode(); | 158 | + selfNode = rootNode; |
158 | - refNode = yangFileInfoIterator.next().getRootNode(); | 159 | + refNode = yangNodeIterator.next(); |
159 | } else { | 160 | } else { |
160 | - refNode = yangFileInfo.getRootNode(); | 161 | + refNode = rootNode; |
161 | - selfNode = yangFileInfoIterator.next().getRootNode(); | 162 | + selfNode = yangNodeIterator.next(); |
162 | } | 163 | } |
163 | 164 | ||
164 | // Check whether the data model tree returned is of type module. | 165 | // Check whether the data model tree returned is of type module. |
... | @@ -193,14 +194,6 @@ public class InterFileLinkingTest { | ... | @@ -193,14 +194,6 @@ public class InterFileLinkingTest { |
193 | // Check whether uses get resolved. | 194 | // Check whether uses get resolved. |
194 | assertThat(uses.getResolvableStatus(), | 195 | assertThat(uses.getResolvableStatus(), |
195 | is(ResolvableStatus.RESOLVED)); | 196 | is(ResolvableStatus.RESOLVED)); |
196 | - | ||
197 | -// leafIterator = yangNode.getListOfLeaf().listIterator(); | ||
198 | -// leafInfo = leafIterator.next(); | ||
199 | -// | ||
200 | -// // Check whether the information in the leaf is correct under module. | ||
201 | -// assertThat(leafInfo.getName(), is("hello")); | ||
202 | -// assertThat(leafInfo.getDataType().getDataTypeName(), is("string")); | ||
203 | -// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING)); | ||
204 | } | 197 | } |
205 | 198 | ||
206 | /** | 199 | /** |
... | @@ -213,32 +206,33 @@ public class InterFileLinkingTest { | ... | @@ -213,32 +206,33 @@ public class InterFileLinkingTest { |
213 | String searchDir = "src/test/resources/interfiletypewithinclude"; | 206 | String searchDir = "src/test/resources/interfiletypewithinclude"; |
214 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); | 207 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); |
215 | utilManager.parseYangFileInfoSet(); | 208 | utilManager.parseYangFileInfoSet(); |
209 | + utilManager.createYangNodeSet(); | ||
216 | 210 | ||
217 | YangNode refNode = null; | 211 | YangNode refNode = null; |
218 | YangNode selfNode = null; | 212 | YangNode selfNode = null; |
219 | 213 | ||
220 | // Create YANG node set | 214 | // Create YANG node set |
221 | - yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet()); | 215 | + yangLinkerManager.createYangNodeSet(utilManager.getYangNodeSet()); |
222 | 216 | ||
223 | // Carry out linking of sub module with module. | 217 | // Carry out linking of sub module with module. |
224 | - yangLinkerManager.linkSubModulesToParentModule(utilManager.getYangFileInfoSet()); | 218 | + yangLinkerManager.linkSubModulesToParentModule(utilManager.getYangNodeSet()); |
225 | 219 | ||
226 | // Add reference to include list. | 220 | // Add reference to include list. |
227 | - yangLinkerManager.addRefToYangFilesIncludeList(utilManager.getYangFileInfoSet()); | 221 | + yangLinkerManager.addRefToYangFilesIncludeList(utilManager.getYangNodeSet()); |
228 | 222 | ||
229 | // Carry out inter-file linking. | 223 | // Carry out inter-file linking. |
230 | - yangLinkerManager.processInterFileLinking(utilManager.getYangFileInfoSet()); | 224 | + yangLinkerManager.processInterFileLinking(utilManager.getYangNodeSet()); |
231 | 225 | ||
232 | - Iterator<YangFileInfo> yangFileInfoIterator = utilManager.getYangFileInfoSet().iterator(); | 226 | + Iterator<YangNode> yangNodeIterator = utilManager.getYangNodeSet().iterator(); |
233 | 227 | ||
234 | - YangFileInfo yangFileInfo = yangFileInfoIterator.next(); | 228 | + YangNode rootNode = yangNodeIterator.next(); |
235 | 229 | ||
236 | - if (yangFileInfo.getRootNode().getName().equals("module1")) { | 230 | + if (rootNode.getName().equals("module1")) { |
237 | - selfNode = yangFileInfo.getRootNode(); | 231 | + selfNode = rootNode; |
238 | - refNode = yangFileInfoIterator.next().getRootNode(); | 232 | + refNode = yangNodeIterator.next(); |
239 | } else { | 233 | } else { |
240 | - refNode = yangFileInfo.getRootNode(); | 234 | + refNode = rootNode; |
241 | - selfNode = yangFileInfoIterator.next().getRootNode(); | 235 | + selfNode = yangNodeIterator.next(); |
242 | } | 236 | } |
243 | 237 | ||
244 | // Check whether the data model tree returned is of type module. | 238 | // Check whether the data model tree returned is of type module. |
... | @@ -285,32 +279,33 @@ public class InterFileLinkingTest { | ... | @@ -285,32 +279,33 @@ public class InterFileLinkingTest { |
285 | String searchDir = "src/test/resources/interfileuseswithinclude"; | 279 | String searchDir = "src/test/resources/interfileuseswithinclude"; |
286 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); | 280 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); |
287 | utilManager.parseYangFileInfoSet(); | 281 | utilManager.parseYangFileInfoSet(); |
282 | + utilManager.createYangNodeSet(); | ||
288 | 283 | ||
289 | YangNode refNode = null; | 284 | YangNode refNode = null; |
290 | YangNode selfNode = null; | 285 | YangNode selfNode = null; |
291 | 286 | ||
292 | // Create YANG node set | 287 | // Create YANG node set |
293 | - yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet()); | 288 | + yangLinkerManager.createYangNodeSet(utilManager.getYangNodeSet()); |
294 | 289 | ||
295 | // Carry out linking of sub module with module. | 290 | // Carry out linking of sub module with module. |
296 | - yangLinkerManager.linkSubModulesToParentModule(utilManager.getYangFileInfoSet()); | 291 | + yangLinkerManager.linkSubModulesToParentModule(utilManager.getYangNodeSet()); |
297 | 292 | ||
298 | // Add reference to include list. | 293 | // Add reference to include list. |
299 | - yangLinkerManager.addRefToYangFilesIncludeList(utilManager.getYangFileInfoSet()); | 294 | + yangLinkerManager.addRefToYangFilesIncludeList(utilManager.getYangNodeSet()); |
300 | 295 | ||
301 | // Carry out inter-file linking. | 296 | // Carry out inter-file linking. |
302 | - yangLinkerManager.processInterFileLinking(utilManager.getYangFileInfoSet()); | 297 | + yangLinkerManager.processInterFileLinking(utilManager.getYangNodeSet()); |
303 | 298 | ||
304 | - Iterator<YangFileInfo> yangFileInfoIterator = utilManager.getYangFileInfoSet().iterator(); | 299 | + Iterator<YangNode> yangNodeIterator = utilManager.getYangNodeSet().iterator(); |
305 | 300 | ||
306 | - YangFileInfo yangFileInfo = yangFileInfoIterator.next(); | 301 | + YangNode rootNode = yangNodeIterator.next(); |
307 | 302 | ||
308 | - if (yangFileInfo.getRootNode().getName().equals("module1")) { | 303 | + if (rootNode.getName().equals("module1")) { |
309 | - selfNode = yangFileInfo.getRootNode(); | 304 | + selfNode = rootNode; |
310 | - refNode = yangFileInfoIterator.next().getRootNode(); | 305 | + refNode = yangNodeIterator.next(); |
311 | } else { | 306 | } else { |
312 | - refNode = yangFileInfo.getRootNode(); | 307 | + refNode = rootNode; |
313 | - selfNode = yangFileInfoIterator.next().getRootNode(); | 308 | + selfNode = yangNodeIterator.next(); |
314 | } | 309 | } |
315 | 310 | ||
316 | // Check whether the data model tree returned is of type module. | 311 | // Check whether the data model tree returned is of type module. |
... | @@ -345,14 +340,6 @@ public class InterFileLinkingTest { | ... | @@ -345,14 +340,6 @@ public class InterFileLinkingTest { |
345 | // Check whether uses get resolved. | 340 | // Check whether uses get resolved. |
346 | assertThat(uses.getResolvableStatus(), | 341 | assertThat(uses.getResolvableStatus(), |
347 | is(ResolvableStatus.RESOLVED)); | 342 | is(ResolvableStatus.RESOLVED)); |
348 | - | ||
349 | -// leafIterator = yangNode.getListOfLeaf().listIterator(); | ||
350 | -// leafInfo = leafIterator.next(); | ||
351 | -// | ||
352 | -// // Check whether the information in the leaf is correct under module. | ||
353 | -// assertThat(leafInfo.getName(), is("hello")); | ||
354 | -// assertThat(leafInfo.getDataType().getDataTypeName(), is("string")); | ||
355 | -// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING)); | ||
356 | } | 343 | } |
357 | 344 | ||
358 | /** | 345 | /** |
... | @@ -365,29 +352,30 @@ public class InterFileLinkingTest { | ... | @@ -365,29 +352,30 @@ public class InterFileLinkingTest { |
365 | String searchDir = "src/test/resources/interfiletypewithrevision"; | 352 | String searchDir = "src/test/resources/interfiletypewithrevision"; |
366 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); | 353 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); |
367 | utilManager.parseYangFileInfoSet(); | 354 | utilManager.parseYangFileInfoSet(); |
355 | + utilManager.createYangNodeSet(); | ||
368 | 356 | ||
369 | YangNode refNode = null; | 357 | YangNode refNode = null; |
370 | YangNode selfNode = null; | 358 | YangNode selfNode = null; |
371 | 359 | ||
372 | // Create YANG node set | 360 | // Create YANG node set |
373 | - yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet()); | 361 | + yangLinkerManager.createYangNodeSet(utilManager.getYangNodeSet()); |
374 | 362 | ||
375 | // Add references to import list. | 363 | // Add references to import list. |
376 | - yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangFileInfoSet()); | 364 | + yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangNodeSet()); |
377 | 365 | ||
378 | // Carry out inter-file linking. | 366 | // Carry out inter-file linking. |
379 | - yangLinkerManager.processInterFileLinking(utilManager.getYangFileInfoSet()); | 367 | + yangLinkerManager.processInterFileLinking(utilManager.getYangNodeSet()); |
380 | 368 | ||
381 | - Iterator<YangFileInfo> yangFileInfoIterator = utilManager.getYangFileInfoSet().iterator(); | 369 | + Iterator<YangNode> yangNodeIterator = utilManager.getYangNodeSet().iterator(); |
382 | 370 | ||
383 | - YangFileInfo yangFileInfo = yangFileInfoIterator.next(); | 371 | + YangNode rootNode = yangNodeIterator.next(); |
384 | 372 | ||
385 | - if (yangFileInfo.getRootNode().getName().equals("module1")) { | 373 | + if (rootNode.getName().equals("module1")) { |
386 | - selfNode = yangFileInfo.getRootNode(); | 374 | + selfNode = rootNode; |
387 | - refNode = yangFileInfoIterator.next().getRootNode(); | 375 | + refNode = yangNodeIterator.next(); |
388 | } else { | 376 | } else { |
389 | - refNode = yangFileInfo.getRootNode(); | 377 | + refNode = rootNode; |
390 | - selfNode = yangFileInfoIterator.next().getRootNode(); | 378 | + selfNode = yangNodeIterator.next(); |
391 | } | 379 | } |
392 | 380 | ||
393 | // Check whether the data model tree returned is of type module. | 381 | // Check whether the data model tree returned is of type module. |
... | @@ -434,29 +422,30 @@ public class InterFileLinkingTest { | ... | @@ -434,29 +422,30 @@ public class InterFileLinkingTest { |
434 | String searchDir = "src/test/resources/interfiletypewithrevisioninname"; | 422 | String searchDir = "src/test/resources/interfiletypewithrevisioninname"; |
435 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); | 423 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); |
436 | utilManager.parseYangFileInfoSet(); | 424 | utilManager.parseYangFileInfoSet(); |
425 | + utilManager.createYangNodeSet(); | ||
437 | 426 | ||
438 | YangNode refNode = null; | 427 | YangNode refNode = null; |
439 | YangNode selfNode = null; | 428 | YangNode selfNode = null; |
440 | 429 | ||
441 | // Create YANG node set | 430 | // Create YANG node set |
442 | - yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet()); | 431 | + yangLinkerManager.createYangNodeSet(utilManager.getYangNodeSet()); |
443 | 432 | ||
444 | // Add references to import list. | 433 | // Add references to import list. |
445 | - yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangFileInfoSet()); | 434 | + yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangNodeSet()); |
446 | 435 | ||
447 | // Carry out inter-file linking. | 436 | // Carry out inter-file linking. |
448 | - yangLinkerManager.processInterFileLinking(utilManager.getYangFileInfoSet()); | 437 | + yangLinkerManager.processInterFileLinking(utilManager.getYangNodeSet()); |
449 | 438 | ||
450 | - Iterator<YangFileInfo> yangFileInfoIterator = utilManager.getYangFileInfoSet().iterator(); | 439 | + Iterator<YangNode> yangNodeIterator = utilManager.getYangNodeSet().iterator(); |
451 | 440 | ||
452 | - YangFileInfo yangFileInfo = yangFileInfoIterator.next(); | 441 | + YangNode rootNode = yangNodeIterator.next(); |
453 | 442 | ||
454 | - if (yangFileInfo.getRootNode().getName().equals("module1")) { | 443 | + if (rootNode.getName().equals("module1")) { |
455 | - selfNode = yangFileInfo.getRootNode(); | 444 | + selfNode = rootNode; |
456 | - refNode = yangFileInfoIterator.next().getRootNode(); | 445 | + refNode = yangNodeIterator.next(); |
457 | } else { | 446 | } else { |
458 | - refNode = yangFileInfo.getRootNode(); | 447 | + refNode = rootNode; |
459 | - selfNode = yangFileInfoIterator.next().getRootNode(); | 448 | + selfNode = yangNodeIterator.next(); |
460 | } | 449 | } |
461 | 450 | ||
462 | // Check whether the data model tree returned is of type module. | 451 | // Check whether the data model tree returned is of type module. |
... | @@ -503,27 +492,28 @@ public class InterFileLinkingTest { | ... | @@ -503,27 +492,28 @@ public class InterFileLinkingTest { |
503 | String searchDir = "src/test/resources/hierarchicalinterfiletype"; | 492 | String searchDir = "src/test/resources/hierarchicalinterfiletype"; |
504 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); | 493 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); |
505 | utilManager.parseYangFileInfoSet(); | 494 | utilManager.parseYangFileInfoSet(); |
495 | + utilManager.createYangNodeSet(); | ||
506 | 496 | ||
507 | YangNode refNode1 = null; | 497 | YangNode refNode1 = null; |
508 | YangNode refNode2 = null; | 498 | YangNode refNode2 = null; |
509 | YangNode selfNode = null; | 499 | YangNode selfNode = null; |
510 | 500 | ||
511 | // Create YANG node set | 501 | // Create YANG node set |
512 | - yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet()); | 502 | + yangLinkerManager.createYangNodeSet(utilManager.getYangNodeSet()); |
513 | 503 | ||
514 | // Add references to import list. | 504 | // Add references to import list. |
515 | - yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangFileInfoSet()); | 505 | + yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangNodeSet()); |
516 | 506 | ||
517 | // Carry out inter-file linking. | 507 | // Carry out inter-file linking. |
518 | - yangLinkerManager.processInterFileLinking(utilManager.getYangFileInfoSet()); | 508 | + yangLinkerManager.processInterFileLinking(utilManager.getYangNodeSet()); |
519 | 509 | ||
520 | - for (YangFileInfo yangFile : utilManager.getYangFileInfoSet()) { | 510 | + for (YangNode rootNode : utilManager.getYangNodeSet()) { |
521 | - if (yangFile.getRootNode().getName().equals("ietf-network-topology")) { | 511 | + if (rootNode.getName().equals("ietf-network-topology")) { |
522 | - selfNode = yangFile.getRootNode(); | 512 | + selfNode = rootNode; |
523 | - } else if (yangFile.getRootNode().getName().equals("ietf-network")) { | 513 | + } else if (rootNode.getName().equals("ietf-network")) { |
524 | - refNode1 = yangFile.getRootNode(); | 514 | + refNode1 = rootNode; |
525 | } else { | 515 | } else { |
526 | - refNode2 = yangFile.getRootNode(); | 516 | + refNode2 = rootNode; |
527 | } | 517 | } |
528 | } | 518 | } |
529 | 519 | ||
... | @@ -571,24 +561,25 @@ public class InterFileLinkingTest { | ... | @@ -571,24 +561,25 @@ public class InterFileLinkingTest { |
571 | String searchDir = "src/test/resources/hierarchicalintrawithinterfiletype"; | 561 | String searchDir = "src/test/resources/hierarchicalintrawithinterfiletype"; |
572 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); | 562 | utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(searchDir)); |
573 | utilManager.parseYangFileInfoSet(); | 563 | utilManager.parseYangFileInfoSet(); |
564 | + utilManager.createYangNodeSet(); | ||
574 | 565 | ||
575 | YangNode refNode1 = null; | 566 | YangNode refNode1 = null; |
576 | YangNode selfNode = null; | 567 | YangNode selfNode = null; |
577 | 568 | ||
578 | // Create YANG node set | 569 | // Create YANG node set |
579 | - yangLinkerManager.createYangNodeSet(utilManager.getYangFileInfoSet()); | 570 | + yangLinkerManager.createYangNodeSet(utilManager.getYangNodeSet()); |
580 | 571 | ||
581 | // Add references to import list. | 572 | // Add references to import list. |
582 | - yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangFileInfoSet()); | 573 | + yangLinkerManager.addRefToYangFilesImportList(utilManager.getYangNodeSet()); |
583 | 574 | ||
584 | // Carry out inter-file linking. | 575 | // Carry out inter-file linking. |
585 | - yangLinkerManager.processInterFileLinking(utilManager.getYangFileInfoSet()); | 576 | + yangLinkerManager.processInterFileLinking(utilManager.getYangNodeSet()); |
586 | 577 | ||
587 | - for (YangFileInfo yangFile : utilManager.getYangFileInfoSet()) { | 578 | + for (YangNode rootNode : utilManager.getYangNodeSet()) { |
588 | - if (yangFile.getRootNode().getName().equals("ietf-network")) { | 579 | + if (rootNode.getName().equals("ietf-network")) { |
589 | - selfNode = yangFile.getRootNode(); | 580 | + selfNode = rootNode; |
590 | - } else if (yangFile.getRootNode().getName().equals("ietf-inet-types")) { | 581 | + } else if (rootNode.getName().equals("ietf-inet-types")) { |
591 | - refNode1 = yangFile.getRootNode(); | 582 | + refNode1 = rootNode; |
592 | } | 583 | } |
593 | } | 584 | } |
594 | 585 | ... | ... |
1 | -/* | ||
2 | - * Copyright 2016-present Open Networking Laboratory | ||
3 | - * | ||
4 | - * Licensed under the Apache License, Version 2.0 (the "License"); | ||
5 | - * you may not use this file except in compliance with the License. | ||
6 | - * You may obtain a copy of the License at | ||
7 | - * | ||
8 | - * http://www.apache.org/licenses/LICENSE-2.0 | ||
9 | - * | ||
10 | - * Unless required by applicable law or agreed to in writing, software | ||
11 | - * distributed under the License is distributed on an "AS IS" BASIS, | ||
12 | - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
13 | - * See the License for the specific language governing permissions and | ||
14 | - * limitations under the License. | ||
15 | - */ | ||
16 | - | ||
17 | -package org.onosproject.yangutils.linker; | ||
18 | - | ||
19 | -import java.io.File; | ||
20 | -import java.io.IOException; | ||
21 | -import java.util.ArrayList; | ||
22 | -import java.util.Iterator; | ||
23 | -import java.util.List; | ||
24 | -import java.util.ListIterator; | ||
25 | - | ||
26 | -import org.apache.maven.plugin.MojoExecutionException; | ||
27 | -import org.junit.Test; | ||
28 | -import org.onosproject.yangutils.datamodel.YangContainer; | ||
29 | -import org.onosproject.yangutils.datamodel.YangDerivedInfo; | ||
30 | -import org.onosproject.yangutils.datamodel.YangGrouping; | ||
31 | -import org.onosproject.yangutils.datamodel.YangLeaf; | ||
32 | -import org.onosproject.yangutils.datamodel.YangNode; | ||
33 | -import org.onosproject.yangutils.plugin.manager.YangFileInfo; | ||
34 | -import org.onosproject.yangutils.plugin.manager.YangUtilManager; | ||
35 | -import org.onosproject.yangutils.utils.io.impl.YangFileScanner; | ||
36 | - | ||
37 | -import static org.hamcrest.MatcherAssert.assertThat; | ||
38 | -import static org.hamcrest.core.Is.is; | ||
39 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.DERIVED; | ||
40 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.STRING; | ||
41 | -import static org.onosproject.yangutils.datamodel.utils.ResolvableStatus.RESOLVED; | ||
42 | -import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deSerializeDataModel; | ||
43 | -import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; | ||
44 | -import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.parseJarFile; | ||
45 | - | ||
46 | -/** | ||
47 | - * Unit test case for inter-jar linker. | ||
48 | - */ | ||
49 | -public class InterJarLinkingTest { | ||
50 | - | ||
51 | - private final YangUtilManager utilManager = new YangUtilManager(); | ||
52 | - | ||
53 | - private static final String TARGET = "target/interJarFileLinking"; | ||
54 | - private static final String SEARCH_DIR_FOR_YANG_FILES = "src/test/resources/interJarFileLinking/yangFiles"; | ||
55 | - private static final String SEARCH_DIR_FOR_SINGLE_JAR_FILES = "src/test/resources/interJarFileLinking/" | ||
56 | - + "jarFiles/single"; | ||
57 | - private static final String SEARCH_DIR_FOR_MULTI_JAR_FILES = "src/test/resources/interJarFileLinking/" | ||
58 | - + "jarFiles/multi"; | ||
59 | - | ||
60 | - /** | ||
61 | - * Unit test case for a single jar dependency. | ||
62 | - * | ||
63 | - * @throws IOException when fails to do IO operations | ||
64 | - * @throws MojoExecutionException when fails to do mojo operations | ||
65 | - */ | ||
66 | - @Test | ||
67 | - public void processSingleJarLinking() | ||
68 | - throws IOException, MojoExecutionException { | ||
69 | - utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(SEARCH_DIR_FOR_YANG_FILES)); | ||
70 | - | ||
71 | - int size1 = utilManager.getYangFileInfoSet().size(); | ||
72 | - | ||
73 | - for (String file : getListOfTestJar(SEARCH_DIR_FOR_SINGLE_JAR_FILES)) { | ||
74 | - addInterJarRootNodes(file); | ||
75 | - } | ||
76 | - | ||
77 | - utilManager.parseYangFileInfoSet(); | ||
78 | - | ||
79 | - utilManager.resolveDependenciesUsingLinker(); | ||
80 | - | ||
81 | - Iterator<YangFileInfo> yangFileInfoIterator = utilManager.getYangFileInfoSet().iterator(); | ||
82 | - | ||
83 | - YangFileInfo yangFileInfo = yangFileInfoIterator.next(); | ||
84 | - | ||
85 | - int size2 = utilManager.getYangFileInfoSet().size(); | ||
86 | - assertThat(true, is(size1 != size2)); | ||
87 | - assertThat(true, is(yangFileInfo.getRootNode().getName().equals("port-pair"))); | ||
88 | - | ||
89 | - deleteDirectory(TARGET); | ||
90 | - | ||
91 | - } | ||
92 | - | ||
93 | - /** | ||
94 | - * Unit test case for a multiple jar dependency. | ||
95 | - * | ||
96 | - * @throws IOException when fails to do IO operations | ||
97 | - * @throws MojoExecutionException when fails to do mojo operations | ||
98 | - */ | ||
99 | - @Test | ||
100 | - public void processMultipleJarLinking() | ||
101 | - throws IOException, MojoExecutionException { | ||
102 | - utilManager.createYangFileInfoSet(YangFileScanner.getYangFiles(SEARCH_DIR_FOR_YANG_FILES)); | ||
103 | - | ||
104 | - int size1 = utilManager.getYangFileInfoSet().size(); | ||
105 | - | ||
106 | - for (String file : getListOfTestJar(SEARCH_DIR_FOR_MULTI_JAR_FILES)) { | ||
107 | - addInterJarRootNodes(file); | ||
108 | - } | ||
109 | - | ||
110 | - utilManager.parseYangFileInfoSet(); | ||
111 | - | ||
112 | - utilManager.resolveDependenciesUsingLinker(); | ||
113 | - | ||
114 | - Iterator<YangFileInfo> yangFileInfoIterator = utilManager.getYangFileInfoSet().iterator(); | ||
115 | - | ||
116 | - YangFileInfo yangFileInfo = yangFileInfoIterator.next(); | ||
117 | - | ||
118 | - int size2 = utilManager.getYangFileInfoSet().size(); | ||
119 | - assertThat(true, is(size1 != size2)); | ||
120 | - assertThat(true, is(yangFileInfo.getRootNode().getName().equals("port-pair"))); | ||
121 | - | ||
122 | - yangFileInfo = yangFileInfoIterator.next(); | ||
123 | - assertThat(true, is(yangFileInfo.getRootNode().getName().equals("flow-classifier"))); | ||
124 | - | ||
125 | - /* | ||
126 | - * grouping flow-classifier { | ||
127 | - * container flow-classifier { | ||
128 | - * leaf id { | ||
129 | - * type flow-classifier-id; | ||
130 | - * } | ||
131 | - * | ||
132 | - * leaf tenant-id { | ||
133 | - * type port-pair:tenant-id; | ||
134 | - * } | ||
135 | - * . | ||
136 | - * . | ||
137 | - * . | ||
138 | - * | ||
139 | - */ | ||
140 | - | ||
141 | - YangNode node = yangFileInfo.getRootNode(); | ||
142 | - node = node.getChild(); | ||
143 | - while (node != null) { | ||
144 | - if (node instanceof YangGrouping) { | ||
145 | - break; | ||
146 | - } | ||
147 | - node = node.getNextSibling(); | ||
148 | - } | ||
149 | - | ||
150 | - node = node.getChild(); | ||
151 | - ListIterator<YangLeaf> leafIterator = ((YangContainer) node).getListOfLeaf().listIterator(); | ||
152 | - YangLeaf leafInfo = leafIterator.next(); | ||
153 | - | ||
154 | - assertThat(leafInfo.getName(), is("id")); | ||
155 | - assertThat(leafInfo.getDataType().getDataTypeName(), is("flow-classifier-id")); | ||
156 | - assertThat(leafInfo.getDataType().getDataType(), is(DERIVED)); | ||
157 | - | ||
158 | - leafInfo = leafIterator.next(); | ||
159 | - | ||
160 | - assertThat(leafInfo.getName(), is("tenant-id")); | ||
161 | - assertThat(leafInfo.getDataType().getDataType(), is(DERIVED)); | ||
162 | - | ||
163 | - assertThat(true, is(((YangDerivedInfo<?>) leafInfo.getDataType().getDataTypeExtendedInfo()).getReferredTypeDef() | ||
164 | - .getName().equals("tenant-id"))); | ||
165 | - | ||
166 | - assertThat(leafInfo.getDataType().getResolvableStatus(), is(RESOLVED)); | ||
167 | - | ||
168 | - YangDerivedInfo<?> derivedInfo = (YangDerivedInfo<?>) leafInfo.getDataType().getDataTypeExtendedInfo(); | ||
169 | - | ||
170 | - // Check for the effective built-in type. | ||
171 | - assertThat(derivedInfo.getEffectiveBuiltInType(), is(STRING)); | ||
172 | - | ||
173 | - deleteDirectory(TARGET); | ||
174 | - } | ||
175 | - | ||
176 | - /** | ||
177 | - * Returns list of test jar files. | ||
178 | - * | ||
179 | - * @param searchdir search directory | ||
180 | - * @return list of test jar files | ||
181 | - */ | ||
182 | - private List<String> getListOfTestJar(String searchdir) { | ||
183 | - List<String> jarFiles = new ArrayList<>(); | ||
184 | - | ||
185 | - File directory = new File(searchdir + "/"); | ||
186 | - File[] files = directory.listFiles(); | ||
187 | - | ||
188 | - for (File file : files) { | ||
189 | - jarFiles.add(file.toString()); | ||
190 | - } | ||
191 | - | ||
192 | - return jarFiles; | ||
193 | - } | ||
194 | - | ||
195 | - /** | ||
196 | - * Adds data model nodes of jar to file info set. | ||
197 | - * | ||
198 | - * @param jarFile jar file name | ||
199 | - * @throws IOException when fails to do IO operations | ||
200 | - */ | ||
201 | - private void addInterJarRootNodes(String jarFile) throws IOException { | ||
202 | - try { | ||
203 | - List<YangNode> interJarResolvedNodes = deSerializeDataModel(parseJarFile(jarFile, TARGET)); | ||
204 | - | ||
205 | - for (YangNode node : interJarResolvedNodes) { | ||
206 | - YangFileInfo dependentFileInfo = new YangFileInfo(); | ||
207 | - dependentFileInfo.setRootNode(node); | ||
208 | - dependentFileInfo.setForTranslator(false); | ||
209 | - dependentFileInfo.setYangFileName(node.getName()); | ||
210 | - utilManager.getYangFileInfoSet().add(dependentFileInfo); | ||
211 | - } | ||
212 | - } catch (IOException e) { | ||
213 | - throw new IOException("failed to resolve in interjar scenario."); | ||
214 | - } | ||
215 | - } | ||
216 | - | ||
217 | -} |
... | @@ -17,6 +17,7 @@ | ... | @@ -17,6 +17,7 @@ |
17 | package org.onosproject.yangutils.linker; | 17 | package org.onosproject.yangutils.linker; |
18 | 18 | ||
19 | import java.io.IOException; | 19 | import java.io.IOException; |
20 | +import java.util.List; | ||
20 | import java.util.ListIterator; | 21 | import java.util.ListIterator; |
21 | import org.junit.Rule; | 22 | import org.junit.Rule; |
22 | import org.junit.Test; | 23 | import org.junit.Test; |
... | @@ -92,13 +93,15 @@ public class IntraFileUsesLinkingTest { | ... | @@ -92,13 +93,15 @@ public class IntraFileUsesLinkingTest { |
92 | assertThat(uses.getResolvableStatus(), | 93 | assertThat(uses.getResolvableStatus(), |
93 | is(ResolvableStatus.RESOLVED)); | 94 | is(ResolvableStatus.RESOLVED)); |
94 | 95 | ||
95 | -// leafIterator = yangNode.getListOfLeaf().listIterator(); | 96 | + ListIterator<List<YangLeaf>> leafIterator1 = uses.getUsesResolvedLeavesList().listIterator(); |
96 | -// leafInfo = leafIterator.next(); | 97 | + List<YangLeaf> leafInfo1 = leafIterator1.next(); |
97 | -// | 98 | + ListIterator<YangLeaf> leafIterator2 = leafInfo1.listIterator(); |
98 | -// // Check whether the information in the leaf is correct under module. | 99 | + YangLeaf leafInfo2 = leafIterator2.next(); |
99 | -// assertThat(leafInfo.getName(), is("hello")); | 100 | + |
100 | -// assertThat(leafInfo.getDataType().getDataTypeName(), is("string")); | 101 | + // Check whether the information in the leaf is correct under module. |
101 | -// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING)); | 102 | + assertThat(leafInfo2.getName(), is("hello")); |
103 | + assertThat(leafInfo2.getDataType().getDataTypeName(), is("string")); | ||
104 | + assertThat(leafInfo2.getDataType().getDataType(), is(YangDataTypes.STRING)); | ||
102 | 105 | ||
103 | } | 106 | } |
104 | 107 | ||
... | @@ -161,28 +164,32 @@ public class IntraFileUsesLinkingTest { | ... | @@ -161,28 +164,32 @@ public class IntraFileUsesLinkingTest { |
161 | assertThat(uses.getResolvableStatus(), | 164 | assertThat(uses.getResolvableStatus(), |
162 | is(ResolvableStatus.RESOLVED)); | 165 | is(ResolvableStatus.RESOLVED)); |
163 | 166 | ||
164 | -// leafIterator = yangNode.getListOfLeaf().listIterator(); | 167 | + ListIterator<List<YangLeaf>> leafIterator1 = uses.getUsesResolvedLeavesList().listIterator(); |
165 | -// leafInfo = leafIterator.next(); | 168 | + List<YangLeaf> leafInfo1 = leafIterator1.next(); |
166 | -// | 169 | + ListIterator<YangLeaf> leafIterator2 = leafInfo1.listIterator(); |
167 | -// // Check whether the information in the leaf is correct under module. | 170 | + YangLeaf leafInfo2 = leafIterator2.next(); |
168 | -// assertThat(leafInfo.getName(), is("treat")); | 171 | + |
169 | -// assertThat(leafInfo.getDataType().getDataTypeName(), is("string")); | 172 | + // Check whether the information in the leaf is correct under module. |
170 | -// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING)); | 173 | + assertThat(leafInfo2.getName(), is("treat")); |
171 | - | 174 | + assertThat(leafInfo2.getDataType().getDataTypeName(), is("string")); |
172 | -// // Check whether container is the child of module. | 175 | + assertThat(leafInfo2.getDataType().getDataType(), is(YangDataTypes.STRING)); |
173 | -// assertThat((grouping.getNextSibling() instanceof YangContainer), is(true)); | 176 | + |
174 | -// container = (YangContainer) grouping.getNextSibling(); | 177 | + ListIterator<YangNode> usesChildren = uses.getUsesResolvedNodeList().listIterator(); |
175 | -// | 178 | + YangNode usesChild = usesChildren.next(); |
176 | -// // Check whether the container name is set correctly which is under module. | 179 | + // Check whether container is the child of module. |
177 | -// assertThat(container.getName(), is("test")); | 180 | + assertThat((usesChild instanceof YangContainer), is(true)); |
178 | -// | 181 | + container = (YangContainer) usesChild; |
179 | -// leafIterator = container.getListOfLeaf().listIterator(); | 182 | + |
180 | -// leafInfo = leafIterator.next(); | 183 | + // Check whether the container name is set correctly which is under module. |
181 | -// | 184 | + assertThat(container.getName(), is("test")); |
182 | -// // Check whether the information in the leaf is correct under container which is under module. | 185 | + |
183 | -// assertThat(leafInfo.getName(), is("leaf2")); | 186 | + leafIterator = container.getListOfLeaf().listIterator(); |
184 | -// assertThat(leafInfo.getDataType().getDataTypeName(), is("string")); | 187 | + leafInfo = leafIterator.next(); |
185 | -// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING)); | 188 | + |
189 | + // Check whether the information in the leaf is correct under container which is under module. | ||
190 | + assertThat(leafInfo.getName(), is("leaf2")); | ||
191 | + assertThat(leafInfo.getDataType().getDataTypeName(), is("string")); | ||
192 | + assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING)); | ||
186 | } | 193 | } |
187 | 194 | ||
188 | /** | 195 | /** |
... | @@ -241,52 +248,56 @@ public class IntraFileUsesLinkingTest { | ... | @@ -241,52 +248,56 @@ public class IntraFileUsesLinkingTest { |
241 | assertThat(uses.getResolvableStatus(), | 248 | assertThat(uses.getResolvableStatus(), |
242 | is(ResolvableStatus.RESOLVED)); | 249 | is(ResolvableStatus.RESOLVED)); |
243 | 250 | ||
244 | -// // Check whether list is the sibling of uses which has been deep copied from grouping. | 251 | + ListIterator<YangNode> usesChildren = uses.getUsesResolvedNodeList().listIterator(); |
245 | -// assertThat((yangNode.getChild().getChild().getNextSibling().getChild().getNextSibling() instanceof YangList), | 252 | + YangNode usesChild = usesChildren.next(); |
246 | -// is(true)); | 253 | + |
247 | -// YangList yangList = (YangList) yangNode.getChild().getChild().getNextSibling().getChild().getNextSibling(); | 254 | + // Check whether list is the sibling of uses which has been deep copied from grouping. |
248 | -// | 255 | + assertThat((usesChild instanceof YangList), is(true)); |
249 | -// // Check whether the list name is set correctly. | 256 | + |
250 | -// assertThat(yangList.getName(), is("valid")); | 257 | + YangList yangList = (YangList) usesChild; |
251 | -// | 258 | + |
252 | -// leafIterator = yangList.getListOfLeaf().listIterator(); | 259 | + // Check whether the list name is set correctly. |
253 | -// leafInfo = leafIterator.next(); | 260 | + assertThat(yangList.getName(), is("valid")); |
254 | -// | 261 | + |
255 | -// // Check whether the information in the leaf is correct under list which is deep copied. | 262 | + leafIterator = yangList.getListOfLeaf().listIterator(); |
256 | -// assertThat(leafInfo.getName(), is("invalid-interval")); | 263 | + leafInfo = leafIterator.next(); |
257 | -// assertThat(leafInfo.getDataType().getDataTypeName(), is("uint16")); | 264 | + |
258 | -// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.UINT16)); | 265 | + // Check whether the information in the leaf is correct under list which is deep copied. |
259 | -// assertThat(leafInfo.getUnits(), is("\"seconds\"")); | 266 | + assertThat(leafInfo.getName(), is("invalid-interval")); |
260 | -// assertThat(leafInfo.getReference(), is("\"RFC 6020\"")); | 267 | + assertThat(leafInfo.getDataType().getDataTypeName(), is("uint16")); |
261 | -// | 268 | + assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.UINT16)); |
262 | -// // Check whether uses is output's child. | 269 | + assertThat(leafInfo.getUnits(), is("\"seconds\"")); |
263 | -// assertThat((yangNode.getChild().getChild().getNextSibling().getNextSibling().getChild() instanceof YangUses), | 270 | + assertThat(leafInfo.getReference(), is("\"RFC 6020\"")); |
264 | -// is(true)); | 271 | + |
265 | -// YangUses usesInOuput = (YangUses) yangNode.getChild().getChild().getNextSibling().getNextSibling().getChild(); | 272 | + // Check whether uses is output's child. |
266 | -// | 273 | + assertThat((yangNode.getChild().getChild().getNextSibling().getNextSibling().getChild() instanceof YangUses), |
267 | -// // Check whether uses get resolved. | 274 | + is(true)); |
268 | -// assertThat(usesInOuput.getResolvableStatus(), | 275 | + YangUses usesInOuput = (YangUses) yangNode.getChild().getChild().getNextSibling().getNextSibling().getChild(); |
269 | -// is(ResolvableStatus.RESOLVED)); | 276 | + |
270 | -// | 277 | + // Check whether uses get resolved. |
271 | -// // Check whether list is the sibling of uses which has been deep copied from grouping. | 278 | + assertThat(usesInOuput.getResolvableStatus(), |
272 | -// assertThat((yangNode.getChild().getChild().getNextSibling().getChild().getNextSibling() instanceof YangList), | 279 | + is(ResolvableStatus.RESOLVED)); |
273 | -// is(true)); | 280 | + |
274 | -// | 281 | + ListIterator<YangNode> usesInOuputChildren = usesInOuput.getUsesResolvedNodeList().listIterator(); |
275 | -// YangList yangListInOutput = (YangList) yangNode.getChild().getChild().getNextSibling().getNextSibling() | 282 | + YangNode usesInOuputChild = usesInOuputChildren.next(); |
276 | -// .getChild().getNextSibling(); | 283 | + |
277 | -// | 284 | + // Check whether list is the sibling of uses which has been deep copied from grouping. |
278 | -// // Check whether the list name is set correctly. | 285 | + assertThat((usesInOuputChild instanceof YangList), is(true)); |
279 | -// assertThat(yangListInOutput.getName(), is("valid")); | 286 | + |
280 | -// | 287 | + YangList yangListInOutput = (YangList) usesInOuputChild; |
281 | -// leafIterator = yangListInOutput.getListOfLeaf().listIterator(); | 288 | + |
282 | -// leafInfo = leafIterator.next(); | 289 | + // Check whether the list name is set correctly. |
283 | -// | 290 | + assertThat(yangListInOutput.getName(), is("valid")); |
284 | -// // Check whether the information in the leaf is correct under list which is deep copied. | 291 | + |
285 | -// assertThat(leafInfo.getName(), is("invalid-interval")); | 292 | + leafIterator = yangListInOutput.getListOfLeaf().listIterator(); |
286 | -// assertThat(leafInfo.getDataType().getDataTypeName(), is("uint16")); | 293 | + leafInfo = leafIterator.next(); |
287 | -// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.UINT16)); | 294 | + |
288 | -// assertThat(leafInfo.getUnits(), is("\"seconds\"")); | 295 | + // Check whether the information in the leaf is correct under list which is deep copied. |
289 | -// assertThat(leafInfo.getReference(), is("\"RFC 6020\"")); | 296 | + assertThat(leafInfo.getName(), is("invalid-interval")); |
297 | + assertThat(leafInfo.getDataType().getDataTypeName(), is("uint16")); | ||
298 | + assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.UINT16)); | ||
299 | + assertThat(leafInfo.getUnits(), is("\"seconds\"")); | ||
300 | + assertThat(leafInfo.getReference(), is("\"RFC 6020\"")); | ||
290 | } | 301 | } |
291 | 302 | ||
292 | /** | 303 | /** |
... | @@ -342,6 +353,24 @@ public class IntraFileUsesLinkingTest { | ... | @@ -342,6 +353,24 @@ public class IntraFileUsesLinkingTest { |
342 | assertThat(firstUses.getResolvableStatus(), | 353 | assertThat(firstUses.getResolvableStatus(), |
343 | is(ResolvableStatus.RESOLVED)); | 354 | is(ResolvableStatus.RESOLVED)); |
344 | 355 | ||
356 | + ListIterator<YangNode> firstUsesChildren = firstUses.getUsesResolvedNodeList().listIterator(); | ||
357 | + YangNode firstUsesChild = firstUsesChildren.next(); | ||
358 | + | ||
359 | + // Check whether list is the sibling of uses. | ||
360 | + assertThat((firstUsesChild instanceof YangList), is(true)); | ||
361 | + YangList yangList = (YangList) firstUsesChild; | ||
362 | + assertThat(yangList.getName(), is("valid")); | ||
363 | + | ||
364 | + leafIterator = yangList.getListOfLeaf().listIterator(); | ||
365 | + leafInfo = leafIterator.next(); | ||
366 | + | ||
367 | + // Check whether the information in the leaf is correct under list which has been deep copied from grouping. | ||
368 | + assertThat(leafInfo.getName(), is("invalid-interval")); | ||
369 | + assertThat(leafInfo.getDataType().getDataTypeName(), is("uint16")); | ||
370 | + assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.UINT16)); | ||
371 | + assertThat(leafInfo.getUnits(), is("\"seconds\"")); | ||
372 | + assertThat(leafInfo.getReference(), is("\"RFC 6020\"")); | ||
373 | + | ||
345 | // Check whether container is the sibling of uses. | 374 | // Check whether container is the sibling of uses. |
346 | assertThat((firstUses.getNextSibling() instanceof YangContainer), is(true)); | 375 | assertThat((firstUses.getNextSibling() instanceof YangContainer), is(true)); |
347 | YangContainer yangContainer = (YangContainer) firstUses.getNextSibling(); | 376 | YangContainer yangContainer = (YangContainer) firstUses.getNextSibling(); |
... | @@ -349,14 +378,6 @@ public class IntraFileUsesLinkingTest { | ... | @@ -349,14 +378,6 @@ public class IntraFileUsesLinkingTest { |
349 | // Check whether the container name is set correctly. | 378 | // Check whether the container name is set correctly. |
350 | assertThat(yangContainer.getName(), is("design")); | 379 | assertThat(yangContainer.getName(), is("design")); |
351 | 380 | ||
352 | -// leafIterator = yangContainer.getListOfLeaf().listIterator(); | ||
353 | -// leafInfo = leafIterator.next(); | ||
354 | -// | ||
355 | -// // Check whether the information in the leaf is correct under design-container. | ||
356 | -// assertThat(leafInfo.getName(), is("ink")); | ||
357 | -// assertThat(leafInfo.getDataType().getDataTypeName(), is("int32")); | ||
358 | -// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.INT32)); | ||
359 | - | ||
360 | // Check whether uses is design-container's child. | 381 | // Check whether uses is design-container's child. |
361 | assertThat((yangContainer.getChild() instanceof YangUses), is(true)); | 382 | assertThat((yangContainer.getChild() instanceof YangUses), is(true)); |
362 | YangUses secondUses = (YangUses) yangContainer.getChild(); | 383 | YangUses secondUses = (YangUses) yangContainer.getChild(); |
... | @@ -365,6 +386,16 @@ public class IntraFileUsesLinkingTest { | ... | @@ -365,6 +386,16 @@ public class IntraFileUsesLinkingTest { |
365 | assertThat(secondUses.getResolvableStatus(), | 386 | assertThat(secondUses.getResolvableStatus(), |
366 | is(ResolvableStatus.RESOLVED)); | 387 | is(ResolvableStatus.RESOLVED)); |
367 | 388 | ||
389 | + ListIterator<List<YangLeaf>> leafIterator1 = secondUses.getUsesResolvedLeavesList().listIterator(); | ||
390 | + List<YangLeaf> leafInfo1 = leafIterator1.next(); | ||
391 | + ListIterator<YangLeaf> leafIterator2 = leafInfo1.listIterator(); | ||
392 | + YangLeaf leafInfo2 = leafIterator2.next(); | ||
393 | + | ||
394 | + // Check whether the information in the leaf is correct under design-container. | ||
395 | + assertThat(leafInfo2.getName(), is("ink")); | ||
396 | + assertThat(leafInfo2.getDataType().getDataTypeName(), is("int32")); | ||
397 | + assertThat(leafInfo2.getDataType().getDataType(), is(YangDataTypes.INT32)); | ||
398 | + | ||
368 | // Check whether container is the sibling of uses. | 399 | // Check whether container is the sibling of uses. |
369 | assertThat((secondUses.getNextSibling() instanceof YangContainer), is(true)); | 400 | assertThat((secondUses.getNextSibling() instanceof YangContainer), is(true)); |
370 | YangContainer yangContainer2 = (YangContainer) secondUses.getNextSibling(); | 401 | YangContainer yangContainer2 = (YangContainer) secondUses.getNextSibling(); |
... | @@ -386,85 +417,88 @@ public class IntraFileUsesLinkingTest { | ... | @@ -386,85 +417,88 @@ public class IntraFileUsesLinkingTest { |
386 | assertThat(thirdUses.getResolvableStatus(), | 417 | assertThat(thirdUses.getResolvableStatus(), |
387 | is(ResolvableStatus.RESOLVED)); | 418 | is(ResolvableStatus.RESOLVED)); |
388 | 419 | ||
389 | -// // Check whether container is the sibling of uses. | 420 | + ListIterator<YangNode> thirdUsesChildren = thirdUses.getUsesResolvedNodeList().listIterator(); |
390 | -// assertThat((thirdUses.getNextSibling() instanceof YangContainer), is(true)); | 421 | + YangNode thirdUsesChild = thirdUsesChildren.next(); |
391 | -// | 422 | + |
392 | -// YangContainer yangContainer3 = (YangContainer) thirdUses.getNextSibling(); | 423 | + // Check whether container is the child of uses. |
393 | -// assertThat(yangContainer3.getName(), is("value")); | 424 | + assertThat((thirdUsesChild instanceof YangContainer), is(true)); |
394 | -// | 425 | + |
395 | -// leafIterator = yangContainer3.getListOfLeaf().listIterator(); | 426 | + YangContainer yangContainer3 = (YangContainer) thirdUsesChild; |
396 | -// leafInfo = leafIterator.next(); | 427 | + assertThat(yangContainer3.getName(), is("value")); |
397 | -// | 428 | + |
398 | -// // Check whether the information in the leaf is correct under container | 429 | + leafIterator = yangContainer3.getListOfLeaf().listIterator(); |
399 | -// // which has been deep copied from grouping. | 430 | + leafInfo = leafIterator.next(); |
400 | -// assertThat(leafInfo.getName(), is("zip-code")); | 431 | + |
401 | -// assertThat(leafInfo.getDataType().getDataTypeName(), is("string")); | 432 | + // Check whether the information in the leaf is correct under container |
402 | -// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING)); | 433 | + // which has been deep copied from grouping. |
403 | -// | 434 | + assertThat(leafInfo.getName(), is("zip-code")); |
404 | -// // Check whether uses is the sibling of container-design. | 435 | + assertThat(leafInfo.getDataType().getDataTypeName(), is("string")); |
405 | -// assertThat((yangContainer.getNextSibling() instanceof YangUses), is(true)); | 436 | + assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING)); |
406 | -// YangUses fourthUses = (YangUses) yangContainer.getNextSibling(); | 437 | + |
407 | -// | 438 | + |
408 | -// // Check whether uses get resolved. | 439 | + // Check whether uses is the sibling of container-design. |
409 | -// assertThat(fourthUses.getResolvableStatus(), | 440 | + assertThat((yangContainer.getNextSibling() instanceof YangUses), is(true)); |
410 | -// is(ResolvableStatus.RESOLVED)); | 441 | + YangUses fourthUses = (YangUses) yangContainer.getNextSibling(); |
411 | -// | 442 | + assertThat(fourthUses.getName(), is("fourth")); |
412 | -// // Check whether uses is the sibling of previous uses. | 443 | + // Check whether uses get resolved. |
413 | -// assertThat((fourthUses.getNextSibling() instanceof YangUses), is(true)); | 444 | + assertThat(fourthUses.getResolvableStatus(), |
414 | -// YangUses fifthUses = (YangUses) fourthUses.getNextSibling(); | 445 | + is(ResolvableStatus.RESOLVED)); |
415 | -// | 446 | + |
416 | -// // Check whether uses get resolved. | 447 | + ListIterator<List<YangLeaf>> fourthUsesChildren = fourthUses.getUsesResolvedLeavesList().listIterator(); |
417 | -// assertThat(fifthUses.getResolvableStatus(), | 448 | + List<YangLeaf> fourthUsesChild = fourthUsesChildren.next(); |
418 | -// is(ResolvableStatus.RESOLVED)); | 449 | + ListIterator<YangLeaf> fourthUsesChildren1 = fourthUsesChild.listIterator(); |
419 | -// | 450 | + YangLeaf fourthUsesChild1 = fourthUsesChildren1.next(); |
420 | -// // Check whether list is the sibling of uses. | 451 | + |
421 | -// assertThat((fifthUses.getNextSibling() instanceof YangList), is(true)); | 452 | + // Check whether the information in the leaf is correct under correct-container. |
422 | -// YangList yangList = (YangList) fifthUses.getNextSibling(); | 453 | + assertThat(fourthUsesChild1.getName(), is("correct")); |
423 | -// assertThat(yangList.getName(), is("valid")); | 454 | + assertThat(fourthUsesChild1.getDataType().getDataTypeName(), is("my-type")); |
424 | -// | 455 | + assertThat(fourthUsesChild1.getDataType().getDataType(), is(YangDataTypes.DERIVED)); |
425 | -// leafIterator = yangList.getListOfLeaf().listIterator(); | 456 | + |
426 | -// leafInfo = leafIterator.next(); | 457 | + // Check whether uses is the sibling of previous uses. |
427 | -// | 458 | + assertThat((fourthUses.getNextSibling() instanceof YangUses), is(true)); |
428 | -// // Check whether the information in the leaf is correct under list which has been deep copied from grouping. | 459 | + YangUses fifthUses = (YangUses) fourthUses.getNextSibling(); |
429 | -// assertThat(leafInfo.getName(), is("invalid-interval")); | 460 | + assertThat(fifthUses.getName(), is("fifth")); |
430 | -// assertThat(leafInfo.getDataType().getDataTypeName(), is("uint16")); | 461 | + |
431 | -// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.UINT16)); | 462 | + // Check whether uses get resolved. |
432 | -// assertThat(leafInfo.getUnits(), is("\"seconds\"")); | 463 | + assertThat(fifthUses.getResolvableStatus(), |
433 | -// assertThat(leafInfo.getReference(), is("\"RFC 6020\"")); | 464 | + is(ResolvableStatus.RESOLVED)); |
434 | -// | 465 | + |
435 | -// // Check whether typedef is the sibling of list. | 466 | + ListIterator<List<YangLeaf>> fifthUsesChildren = fifthUses.getUsesResolvedLeavesList().listIterator(); |
436 | -// assertThat((yangList.getNextSibling() instanceof YangTypeDef), is(true)); | 467 | + List<YangLeaf> fifthUsesChild = fifthUsesChildren.next(); |
437 | -// YangTypeDef yangTypeDef = (YangTypeDef) yangList.getNextSibling(); | 468 | + ListIterator<YangLeaf> fifthUsesChildren1 = fifthUsesChild.listIterator(); |
438 | -// assertThat(yangTypeDef.getName(), is("my-type")); | 469 | + YangLeaf fifthUsesChild1 = fifthUsesChildren1.next(); |
439 | -// | 470 | + |
440 | -// leafIterator = grouping.getListOfLeaf().listIterator(); | 471 | + //Check whether the information in the leaf is correct under correct-container. |
441 | -// leafInfo = leafIterator.next(); | 472 | + assertThat(fifthUsesChild1.getName(), is("abc")); |
442 | -// | 473 | + assertThat(fifthUsesChild1.getDataType().getDataTypeName(), is("string")); |
443 | -// // Check whether the information in the leaf is correct under grouping. | 474 | + assertThat(fifthUsesChild1.getDataType().getDataType(), is(YangDataTypes.STRING)); |
444 | -// assertThat(leafInfo.getName(), is("zip-code")); | 475 | + |
445 | -// assertThat(leafInfo.getDataType().getDataTypeName(), is("string")); | 476 | + //Check whether uses is endpoint-grouping's sibling. |
446 | -// assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.STRING)); | 477 | + assertThat((grouping.getNextSibling() instanceof YangUses), is(true)); |
447 | -// | 478 | + YangUses endpointUses = (YangUses) grouping.getNextSibling(); |
448 | -// // Check whether uses is endpoint-grouping's sibling. | 479 | + |
449 | -// assertThat((grouping.getNextSibling() instanceof YangUses), is(true)); | 480 | + // Check whether uses get resolved. |
450 | -// YangUses endpointUses = (YangUses) grouping.getNextSibling(); | 481 | + assertThat(endpointUses.getResolvableStatus(), |
451 | -// | 482 | + is(ResolvableStatus.RESOLVED)); |
452 | -// // Check whether uses get resolved. | 483 | + assertThat(endpointUses.getName(), is("endpoint")); |
453 | -// assertThat(endpointUses.getResolvableStatus(), | 484 | + |
454 | -// is(ResolvableStatus.RESOLVED)); | 485 | + ListIterator<YangNode> endpointUsesUsesChildren = endpointUses.getUsesResolvedNodeList().listIterator(); |
455 | -// | 486 | + YangNode endpointUsesUsesChild = endpointUsesUsesChildren.next(); |
456 | -// assertThat((endpointUses.getNextSibling().getNextSibling().getNextSibling().getNextSibling().getNextSibling() | 487 | + |
457 | -// .getNextSibling() instanceof YangUses), is(true)); | 488 | + // Check whether list is the sibling of uses. |
458 | -// | 489 | + assertThat((endpointUsesUsesChild instanceof YangList), is(true)); |
459 | -// YangUses yangUsesInEndpoint = (YangUses) endpointUses.getNextSibling().getNextSibling().getNextSibling() | 490 | + YangList yangList1 = (YangList) firstUsesChild; |
460 | -// .getNextSibling().getNextSibling().getNextSibling(); | 491 | + assertThat(yangList1.getName(), is("valid")); |
461 | -// assertThat(yangUsesInEndpoint.getResolvableStatus(), | 492 | + |
462 | -// is(ResolvableStatus.RESOLVED)); | 493 | + leafIterator = yangList1.getListOfLeaf().listIterator(); |
463 | -// | 494 | + leafInfo = leafIterator.next(); |
464 | -// assertThat((yangUsesInEndpoint.getNextSibling() instanceof YangContainer), is(true)); | 495 | + |
465 | -// YangContainer yangContainerInEndPoint = (YangContainer) yangUsesInEndpoint.getNextSibling(); | 496 | + // Check whether the information in the leaf is correct under list which has been deep copied from grouping. |
466 | -// | 497 | + assertThat(leafInfo.getName(), is("invalid-interval")); |
467 | -// assertThat(yangContainerInEndPoint.getName(), is("design")); | 498 | + assertThat(leafInfo.getDataType().getDataTypeName(), is("uint16")); |
499 | + assertThat(leafInfo.getDataType().getDataType(), is(YangDataTypes.UINT16)); | ||
500 | + assertThat(leafInfo.getUnits(), is("\"seconds\"")); | ||
501 | + assertThat(leafInfo.getReference(), is("\"RFC 6020\"")); | ||
468 | } | 502 | } |
469 | 503 | ||
470 | /** | 504 | /** | ... | ... |
... | @@ -26,8 +26,10 @@ import org.onosproject.yangutils.datamodel.YangNode; | ... | @@ -26,8 +26,10 @@ import org.onosproject.yangutils.datamodel.YangNode; |
26 | import org.onosproject.yangutils.datamodel.YangType; | 26 | import org.onosproject.yangutils.datamodel.YangType; |
27 | import org.onosproject.yangutils.datamodel.exceptions.DataModelException; | 27 | import org.onosproject.yangutils.datamodel.exceptions.DataModelException; |
28 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 28 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
29 | +import org.onosproject.yangutils.translator.tojava.javamodel.AttributesJavaDataType; | ||
29 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModule; | 30 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModule; |
30 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaTypeDef; | 31 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaTypeDef; |
32 | +import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil; | ||
31 | 33 | ||
32 | import static org.hamcrest.core.Is.is; | 34 | import static org.hamcrest.core.Is.is; |
33 | import static org.hamcrest.core.IsNot.not; | 35 | import static org.hamcrest.core.IsNot.not; |
... | @@ -37,9 +39,9 @@ import static org.onosproject.yangutils.datamodel.YangDataTypes.DERIVED; | ... | @@ -37,9 +39,9 @@ import static org.onosproject.yangutils.datamodel.YangDataTypes.DERIVED; |
37 | import static org.onosproject.yangutils.datamodel.YangDataTypes.INT32; | 39 | import static org.onosproject.yangutils.datamodel.YangDataTypes.INT32; |
38 | import static org.onosproject.yangutils.datamodel.YangDataTypes.STRING; | 40 | import static org.onosproject.yangutils.datamodel.YangDataTypes.STRING; |
39 | import static org.onosproject.yangutils.datamodel.YangDataTypes.UINT8; | 41 | import static org.onosproject.yangutils.datamodel.YangDataTypes.UINT8; |
40 | -import static org.onosproject.yangutils.translator.tojava.utils.AttributesJavaDataType.getJavaDataType; | 42 | +import static org.onosproject.yangutils.translator.tojava.javamodel.AttributesJavaDataType.getJavaDataType; |
41 | -import static org.onosproject.yangutils.translator.tojava.utils.AttributesJavaDataType.getJavaImportClass; | 43 | +import static org.onosproject.yangutils.translator.tojava.javamodel.AttributesJavaDataType.getJavaImportClass; |
42 | -import static org.onosproject.yangutils.translator.tojava.utils.AttributesJavaDataType.getJavaImportPackage; | 44 | +import static org.onosproject.yangutils.translator.tojava.javamodel.AttributesJavaDataType.getJavaImportPackage; |
43 | import static org.onosproject.yangutils.utils.UtilConstants.JAVA_LANG; | 45 | import static org.onosproject.yangutils.utils.UtilConstants.JAVA_LANG; |
44 | 46 | ||
45 | /** | 47 | /** | ... | ... |
... | @@ -22,6 +22,7 @@ import org.junit.Test; | ... | @@ -22,6 +22,7 @@ import org.junit.Test; |
22 | import org.onosproject.yangutils.datamodel.YangNode; | 22 | import org.onosproject.yangutils.datamodel.YangNode; |
23 | import org.onosproject.yangutils.parser.exceptions.ParserException; | 23 | import org.onosproject.yangutils.parser.exceptions.ParserException; |
24 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; | 24 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; |
25 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; | ||
25 | 26 | ||
26 | import static org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorUtil.generateJavaCode; | 27 | import static org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorUtil.generateJavaCode; |
27 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; | 28 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; | ... | ... |
... | @@ -22,6 +22,7 @@ import org.junit.Test; | ... | @@ -22,6 +22,7 @@ import org.junit.Test; |
22 | import org.onosproject.yangutils.datamodel.YangNode; | 22 | import org.onosproject.yangutils.datamodel.YangNode; |
23 | import org.onosproject.yangutils.parser.exceptions.ParserException; | 23 | import org.onosproject.yangutils.parser.exceptions.ParserException; |
24 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; | 24 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; |
25 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; | ||
25 | 26 | ||
26 | import static org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorUtil.generateJavaCode; | 27 | import static org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorUtil.generateJavaCode; |
27 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; | 28 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; | ... | ... |
... | @@ -23,16 +23,17 @@ import org.junit.Rule; | ... | @@ -23,16 +23,17 @@ import org.junit.Rule; |
23 | import org.junit.Test; | 23 | import org.junit.Test; |
24 | import org.junit.rules.ExpectedException; | 24 | import org.junit.rules.ExpectedException; |
25 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 25 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
26 | +import org.onosproject.yangutils.utils.io.impl.YangToJavaNamingConflictUtil; | ||
26 | 27 | ||
27 | import static org.hamcrest.core.Is.is; | 28 | import static org.hamcrest.core.Is.is; |
28 | import static org.hamcrest.core.IsNot.not; | 29 | import static org.hamcrest.core.IsNot.not; |
29 | import static org.junit.Assert.assertThat; | 30 | import static org.junit.Assert.assertThat; |
30 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; | 31 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCamelCase; |
31 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCapitalCase; | 32 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase; |
32 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getJavaPackageFromPackagePath; | 33 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getJavaPackageFromPackagePath; |
33 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getPackageDirPathFromJavaJPackage; | 34 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getPackageDirPathFromJavaJPackage; |
34 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getRootPackage; | 35 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getRootPackage; |
35 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getSmallCase; | 36 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getSmallCase; |
36 | import static org.onosproject.yangutils.utils.UtilConstants.DEFAULT_BASE_PKG; | 37 | import static org.onosproject.yangutils.utils.UtilConstants.DEFAULT_BASE_PKG; |
37 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; | 38 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; |
38 | 39 | ... | ... |
... | @@ -23,13 +23,14 @@ import org.junit.Test; | ... | @@ -23,13 +23,14 @@ import org.junit.Test; |
23 | import org.onosproject.yangutils.datamodel.YangType; | 23 | import org.onosproject.yangutils.datamodel.YangType; |
24 | import org.onosproject.yangutils.translator.tojava.JavaAttributeInfo; | 24 | import org.onosproject.yangutils.translator.tojava.JavaAttributeInfo; |
25 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; | 25 | import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; |
26 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; | ||
26 | 27 | ||
27 | import static org.hamcrest.core.Is.is; | 28 | import static org.hamcrest.core.Is.is; |
28 | import static org.hamcrest.core.IsNot.not; | 29 | import static org.hamcrest.core.IsNot.not; |
29 | import static org.junit.Assert.assertThat; | 30 | import static org.junit.Assert.assertThat; |
30 | import static org.onosproject.yangutils.datamodel.YangDataTypes.STRING; | 31 | import static org.onosproject.yangutils.datamodel.YangDataTypes.STRING; |
31 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER; | 32 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_SERVICE_AND_MANAGER; |
32 | -import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCapitalCase; | 33 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getCapitalCase; |
33 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getBuild; | 34 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getBuild; |
34 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getBuildForInterface; | 35 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getBuildForInterface; |
35 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getCheckNotNull; | 36 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getCheckNotNull; | ... | ... |
... | @@ -22,6 +22,7 @@ import org.junit.Test; | ... | @@ -22,6 +22,7 @@ import org.junit.Test; |
22 | import org.onosproject.yangutils.datamodel.YangNode; | 22 | import org.onosproject.yangutils.datamodel.YangNode; |
23 | import org.onosproject.yangutils.parser.exceptions.ParserException; | 23 | import org.onosproject.yangutils.parser.exceptions.ParserException; |
24 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; | 24 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; |
25 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; | ||
25 | 26 | ||
26 | import static org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorUtil.generateJavaCode; | 27 | import static org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorUtil.generateJavaCode; |
27 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; | 28 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; | ... | ... |
... | @@ -22,6 +22,7 @@ import org.junit.Test; | ... | @@ -22,6 +22,7 @@ import org.junit.Test; |
22 | import org.onosproject.yangutils.datamodel.YangNode; | 22 | import org.onosproject.yangutils.datamodel.YangNode; |
23 | import org.onosproject.yangutils.parser.exceptions.ParserException; | 23 | import org.onosproject.yangutils.parser.exceptions.ParserException; |
24 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; | 24 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; |
25 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; | ||
25 | 26 | ||
26 | import static org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorUtil.generateJavaCode; | 27 | import static org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorUtil.generateJavaCode; |
27 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; | 28 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; | ... | ... |
... | @@ -22,6 +22,7 @@ import org.junit.Test; | ... | @@ -22,6 +22,7 @@ import org.junit.Test; |
22 | import org.onosproject.yangutils.datamodel.YangNode; | 22 | import org.onosproject.yangutils.datamodel.YangNode; |
23 | import org.onosproject.yangutils.parser.exceptions.ParserException; | 23 | import org.onosproject.yangutils.parser.exceptions.ParserException; |
24 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; | 24 | import org.onosproject.yangutils.parser.impl.YangUtilsParserManager; |
25 | +import org.onosproject.yangutils.utils.io.impl.YangPluginConfig; | ||
25 | 26 | ||
26 | import static org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorUtil.generateJavaCode; | 27 | import static org.onosproject.yangutils.translator.tojava.JavaCodeGeneratorUtil.generateJavaCode; |
27 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; | 28 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; | ... | ... |
utils/yangutils/plugin/src/test/java/org/onosproject/yangutils/utils/io/impl/FileSystemUtilTest.java
... | @@ -25,7 +25,6 @@ import org.junit.Test; | ... | @@ -25,7 +25,6 @@ import org.junit.Test; |
25 | import org.onosproject.yangutils.datamodel.YangNode; | 25 | import org.onosproject.yangutils.datamodel.YangNode; |
26 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | 26 | import org.onosproject.yangutils.translator.tojava.JavaFileInfo; |
27 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModule; | 27 | import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModule; |
28 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | ||
29 | 28 | ||
30 | import static org.apache.commons.io.FileUtils.deleteDirectory; | 29 | import static org.apache.commons.io.FileUtils.deleteDirectory; |
31 | import static org.hamcrest.core.Is.is; | 30 | import static org.hamcrest.core.Is.is; |
... | @@ -34,8 +33,8 @@ import static org.junit.Assert.assertThat; | ... | @@ -34,8 +33,8 @@ import static org.junit.Assert.assertThat; |
34 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; | 33 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; |
35 | import static org.onosproject.yangutils.utils.UtilConstants.SLASH; | 34 | import static org.onosproject.yangutils.utils.UtilConstants.SLASH; |
36 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.appendFileContents; | 35 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.appendFileContents; |
37 | -import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.createPackage; | 36 | +import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.createPackage; |
38 | -import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.doesPackageExist; | 37 | +import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.doesPackageExist; |
39 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.updateFileHandle; | 38 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.updateFileHandle; |
40 | 39 | ||
41 | /** | 40 | /** | ... | ... |
... | @@ -22,7 +22,6 @@ import java.lang.reflect.InvocationTargetException; | ... | @@ -22,7 +22,6 @@ import java.lang.reflect.InvocationTargetException; |
22 | import org.junit.Rule; | 22 | import org.junit.Rule; |
23 | import org.junit.Test; | 23 | import org.junit.Test; |
24 | import org.junit.rules.ExpectedException; | 24 | import org.junit.rules.ExpectedException; |
25 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | ||
26 | 25 | ||
27 | import static org.hamcrest.core.Is.is; | 26 | import static org.hamcrest.core.Is.is; |
28 | import static org.hamcrest.core.IsNot.not; | 27 | import static org.hamcrest.core.IsNot.not; | ... | ... |
... | @@ -26,17 +26,15 @@ import org.apache.maven.project.MavenProject; | ... | @@ -26,17 +26,15 @@ import org.apache.maven.project.MavenProject; |
26 | import org.junit.Rule; | 26 | import org.junit.Rule; |
27 | import org.junit.Test; | 27 | import org.junit.Test; |
28 | import org.junit.rules.ExpectedException; | 28 | import org.junit.rules.ExpectedException; |
29 | -import org.onosproject.yangutils.translator.tojava.utils.YangPluginConfig; | ||
30 | import org.onosproject.yangutils.utils.UtilConstants; | 29 | import org.onosproject.yangutils.utils.UtilConstants; |
31 | import org.sonatype.plexus.build.incremental.BuildContext; | 30 | import org.sonatype.plexus.build.incremental.BuildContext; |
32 | import org.sonatype.plexus.build.incremental.DefaultBuildContext; | 31 | import org.sonatype.plexus.build.incremental.DefaultBuildContext; |
33 | 32 | ||
34 | -import static org.apache.commons.io.FileUtils.deleteDirectory; | ||
35 | import static org.hamcrest.core.Is.is; | 33 | import static org.hamcrest.core.Is.is; |
36 | import static org.hamcrest.core.IsNot.not; | 34 | import static org.hamcrest.core.IsNot.not; |
37 | import static org.junit.Assert.assertThat; | 35 | import static org.junit.Assert.assertThat; |
38 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.addPackageInfo; | 36 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.addPackageInfo; |
39 | -import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.addToCompilationRoot; | 37 | +import static org.onosproject.yangutils.plugin.manager.YangPluginUtils.addToCompilationRoot; |
40 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; | 38 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.deleteDirectory; |
41 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.createDirectories; | 39 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.createDirectories; |
42 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.trimAtLast; | 40 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.trimAtLast; | ... | ... |
-
Please register or login to post a comment