Committed by
Thomas Vachuska
[ONOS-4711] Removed cyclic dependencies
Change-Id: I9ffea9a1a1b72f6ed3a23c0edb04cfc37bd8e48e
Showing
69 changed files
with
1278 additions
and
1533 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; |
| ... | @@ -101,4 +100,4 @@ public class YangUtilsParserManager implements YangUtilsParser { | ... | @@ -101,4 +100,4 @@ public class YangUtilsParserManager implements YangUtilsParser { |
| 101 | // Returns the Root Node of the constructed data model tree. | 100 | // Returns the Root Node of the constructed data model tree. |
| 102 | return treeWalker.getRootNode(); | 101 | return treeWalker.getRootNode(); |
| 103 | } | 102 | } |
| 104 | -} | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 103 | +} | ... | ... |
| ... | @@ -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. |
| ... | @@ -64,7 +63,7 @@ import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.serializeDataM | ... | @@ -64,7 +63,7 @@ import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.serializeDataM |
| 64 | * requiresDependencyResolution at compile time. | 63 | * requiresDependencyResolution at compile time. |
| 65 | */ | 64 | */ |
| 66 | @Mojo(name = "yang2java", defaultPhase = GENERATE_SOURCES, requiresDependencyResolution = COMPILE, | 65 | @Mojo(name = "yang2java", defaultPhase = GENERATE_SOURCES, requiresDependencyResolution = COMPILE, |
| 67 | - requiresProject = true) | 66 | + requiresProject = true) |
| 68 | public class YangUtilManager | 67 | public class YangUtilManager |
| 69 | extends AbstractMojo { | 68 | extends AbstractMojo { |
| 70 | 69 | ||
| ... | @@ -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 |
| ... | @@ -174,7 +115,7 @@ public final class AttributesJavaDataType { | ... | @@ -174,7 +115,7 @@ public final class AttributesJavaDataType { |
| 174 | * @return java import class | 115 | * @return java import class |
| 175 | */ | 116 | */ |
| 176 | public static String getJavaImportClass(YangType<?> yangType, boolean isListAttr, | 117 | public static String getJavaImportClass(YangType<?> yangType, boolean isListAttr, |
| 177 | - YangToJavaNamingConflictUtil pluginConfig) { | 118 | + YangToJavaNamingConflictUtil pluginConfig) { |
| 178 | 119 | ||
| 179 | YangDataTypes type = yangType.getDataType(); | 120 | YangDataTypes type = yangType.getDataType(); |
| 180 | 121 | ||
| ... | @@ -279,7 +220,7 @@ public final class AttributesJavaDataType { | ... | @@ -279,7 +220,7 @@ public final class AttributesJavaDataType { |
| 279 | * @return java import package | 220 | * @return java import package |
| 280 | */ | 221 | */ |
| 281 | public static String getJavaImportPackage(YangType<?> yangType, boolean isListAttr, | 222 | public static String getJavaImportPackage(YangType<?> yangType, boolean isListAttr, |
| 282 | - YangToJavaNamingConflictUtil conflictResolver) { | 223 | + YangToJavaNamingConflictUtil conflictResolver) { |
| 283 | 224 | ||
| 284 | YangDataTypes type = yangType.getDataType(); | 225 | YangDataTypes type = yangType.getDataType(); |
| 285 | 226 | ||
| ... | @@ -425,7 +366,7 @@ public final class AttributesJavaDataType { | ... | @@ -425,7 +366,7 @@ public final class AttributesJavaDataType { |
| 425 | * @return java package from parent node | 366 | * @return java package from parent node |
| 426 | */ | 367 | */ |
| 427 | private static String getPackageFromParent(YangNode parent, | 368 | private static String getPackageFromParent(YangNode parent, |
| 428 | - YangToJavaNamingConflictUtil conflictResolver) { | 369 | + YangToJavaNamingConflictUtil conflictResolver) { |
| 429 | if (!(parent instanceof JavaFileInfoContainer)) { | 370 | if (!(parent instanceof JavaFileInfoContainer)) { |
| 430 | throw new TranslatorException("invalid child node is being processed."); | 371 | throw new TranslatorException("invalid child node is being processed."); |
| 431 | } | 372 | } |
| ... | @@ -444,7 +385,7 @@ public final class AttributesJavaDataType { | ... | @@ -444,7 +385,7 @@ public final class AttributesJavaDataType { |
| 444 | * @param conflictResolver yang plugin config | 385 | * @param conflictResolver yang plugin config |
| 445 | */ | 386 | */ |
| 446 | public static void updateJavaFileInfo(YangNode yangNode, | 387 | public static void updateJavaFileInfo(YangNode yangNode, |
| 447 | - YangToJavaNamingConflictUtil conflictResolver) { | 388 | + YangToJavaNamingConflictUtil conflictResolver) { |
| 448 | Stack<YangNode> nodesToUpdatePackage = new Stack<YangNode>(); | 389 | Stack<YangNode> nodesToUpdatePackage = new Stack<YangNode>(); |
| 449 | 390 | ||
| 450 | /* | 391 | /* | ... | ... |
| ... | @@ -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. |
| ... | @@ -316,7 +315,7 @@ public final class YangJavaModelUtils { | ... | @@ -316,7 +315,7 @@ public final class YangJavaModelUtils { |
| 316 | * @throws IOException IO operations fails | 315 | * @throws IOException IO operations fails |
| 317 | */ | 316 | */ |
| 318 | public static void generateCodeOfRootNode(JavaCodeGeneratorInfo javaCodeGeneratorInfo, | 317 | public static void generateCodeOfRootNode(JavaCodeGeneratorInfo javaCodeGeneratorInfo, |
| 319 | - YangPluginConfig yangPluginConfig, String rootPkg) | 318 | + YangPluginConfig yangPluginConfig, String rootPkg) |
| 320 | throws IOException { | 319 | throws IOException { |
| 321 | if (!(javaCodeGeneratorInfo instanceof YangNode)) { | 320 | if (!(javaCodeGeneratorInfo instanceof YangNode)) { |
| 322 | // TODO:throw exception | 321 | // TODO:throw exception |
| ... | @@ -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; |
| ... | @@ -75,7 +75,7 @@ public final class ClassDefinitionGenerator { | ... | @@ -75,7 +75,7 @@ public final class ClassDefinitionGenerator { |
| 75 | * / interface definition start. | 75 | * / interface definition start. |
| 76 | * | 76 | * |
| 77 | * @param genFileTypes generated file type | 77 | * @param genFileTypes generated file type |
| 78 | - * @param yangName class name | 78 | + * @param yangName class name |
| 79 | * @return class definition | 79 | * @return class definition |
| 80 | */ | 80 | */ |
| 81 | public static String generateClassDefinition(int genFileTypes, String yangName) { | 81 | public static String generateClassDefinition(int genFileTypes, String yangName) { |
| ... | @@ -85,19 +85,19 @@ public final class ClassDefinitionGenerator { | ... | @@ -85,19 +85,19 @@ public final class ClassDefinitionGenerator { |
| 85 | * class / interface definition start. | 85 | * class / interface definition start. |
| 86 | */ | 86 | */ |
| 87 | switch (genFileTypes) { | 87 | switch (genFileTypes) { |
| 88 | - case BUILDER_CLASS_MASK: | 88 | + case BUILDER_CLASS_MASK: |
| 89 | - return getBuilderClassDefinition(yangName); | 89 | + return getBuilderClassDefinition(yangName); |
| 90 | - case IMPL_CLASS_MASK: | 90 | + case IMPL_CLASS_MASK: |
| 91 | - return getImplClassDefinition(yangName); | 91 | + return getImplClassDefinition(yangName); |
| 92 | - case BUILDER_INTERFACE_MASK: | 92 | + case BUILDER_INTERFACE_MASK: |
| 93 | - return getBuilderInterfaceDefinition(yangName); | 93 | + return getBuilderInterfaceDefinition(yangName); |
| 94 | - case GENERATE_TYPEDEF_CLASS: | 94 | + case GENERATE_TYPEDEF_CLASS: |
| 95 | - case GENERATE_UNION_CLASS: | 95 | + case GENERATE_UNION_CLASS: |
| 96 | - return getTypeClassDefinition(yangName); | 96 | + return getTypeClassDefinition(yangName); |
| 97 | - case GENERATE_ENUM_CLASS: | 97 | + case GENERATE_ENUM_CLASS: |
| 98 | - return getEnumClassDefinition(yangName); | 98 | + return getEnumClassDefinition(yangName); |
| 99 | - default: | 99 | + default: |
| 100 | - return null; | 100 | + return null; |
| 101 | } | 101 | } |
| 102 | } | 102 | } |
| 103 | 103 | ||
| ... | @@ -106,8 +106,8 @@ public final class ClassDefinitionGenerator { | ... | @@ -106,8 +106,8 @@ public final class ClassDefinitionGenerator { |
| 106 | * / interface definition start. | 106 | * / interface definition start. |
| 107 | * | 107 | * |
| 108 | * @param genFileTypes generated file type | 108 | * @param genFileTypes generated file type |
| 109 | - * @param yangName class name | 109 | + * @param yangName class name |
| 110 | - * @param curNode current YANG node | 110 | + * @param curNode current YANG node |
| 111 | * @return class definition | 111 | * @return class definition |
| 112 | */ | 112 | */ |
| 113 | public static String generateClassDefinition(int genFileTypes, String yangName, YangNode curNode) { | 113 | public static String generateClassDefinition(int genFileTypes, String yangName, YangNode curNode) { |
| ... | @@ -117,19 +117,19 @@ public final class ClassDefinitionGenerator { | ... | @@ -117,19 +117,19 @@ public final class ClassDefinitionGenerator { |
| 117 | * class / interface definition start. | 117 | * class / interface definition start. |
| 118 | */ | 118 | */ |
| 119 | switch (genFileTypes) { | 119 | switch (genFileTypes) { |
| 120 | - case INTERFACE_MASK: | 120 | + case INTERFACE_MASK: |
| 121 | - return getInterfaceDefinition(yangName, curNode); | 121 | + return getInterfaceDefinition(yangName, curNode); |
| 122 | - case GENERATE_SERVICE_AND_MANAGER: | 122 | + case GENERATE_SERVICE_AND_MANAGER: |
| 123 | - return getRpcInterfaceDefinition(yangName, curNode); | 123 | + return getRpcInterfaceDefinition(yangName, curNode); |
| 124 | - case GENERATE_EVENT_CLASS: | 124 | + case GENERATE_EVENT_CLASS: |
| 125 | - String eventName = yangName + SUBJECT; | 125 | + String eventName = yangName + SUBJECT; |
| 126 | - return getEventDefinition(yangName, eventName); | 126 | + return getEventDefinition(yangName, eventName); |
| 127 | - case GENERATE_EVENT_LISTENER_INTERFACE: | 127 | + case GENERATE_EVENT_LISTENER_INTERFACE: |
| 128 | - return getEventListenerDefinition(yangName); | 128 | + return getEventListenerDefinition(yangName); |
| 129 | - case GENERATE_EVENT_SUBJECT_CLASS: | 129 | + case GENERATE_EVENT_SUBJECT_CLASS: |
| 130 | - return getClassDefinition(yangName); | 130 | + return getClassDefinition(yangName); |
| 131 | - default: | 131 | + default: |
| 132 | - return null; | 132 | + return null; |
| 133 | } | 133 | } |
| 134 | } | 134 | } |
| 135 | 135 | ||
| ... | @@ -174,7 +174,7 @@ public final class ClassDefinitionGenerator { | ... | @@ -174,7 +174,7 @@ public final class ClassDefinitionGenerator { |
| 174 | * Returns builder interface file class definition. | 174 | * Returns builder interface file class definition. |
| 175 | * | 175 | * |
| 176 | * @param yangName java class name, corresponding to which the builder class | 176 | * @param yangName java class name, corresponding to which the builder class |
| 177 | - * is being generated | 177 | + * is being generated |
| 178 | * @return definition | 178 | * @return definition |
| 179 | */ | 179 | */ |
| 180 | private static String getBuilderInterfaceDefinition(String yangName) { | 180 | private static String getBuilderInterfaceDefinition(String yangName) { |
| ... | @@ -227,7 +227,7 @@ public final class ClassDefinitionGenerator { | ... | @@ -227,7 +227,7 @@ public final class ClassDefinitionGenerator { |
| 227 | * Returns RPC file interface definition. | 227 | * Returns RPC file interface definition. |
| 228 | * | 228 | * |
| 229 | * @param yangName file name | 229 | * @param yangName file name |
| 230 | - * @param curNode current YANG node | 230 | + * @param curNode current YANG node |
| 231 | * @return definition | 231 | * @return definition |
| 232 | */ | 232 | */ |
| 233 | private static String getRpcInterfaceDefinition(String yangName, YangNode curNode) { | 233 | private static String getRpcInterfaceDefinition(String yangName, YangNode curNode) { |
| ... | @@ -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(); |
| ... | @@ -251,7 +251,7 @@ public final class ClassDefinitionGenerator { | ... | @@ -251,7 +251,7 @@ public final class ClassDefinitionGenerator { |
| 251 | 251 | ||
| 252 | /* Provides class definition when RPC interface needs to extends any event.*/ | 252 | /* Provides class definition when RPC interface needs to extends any event.*/ |
| 253 | private static String getRpcInterfaceDefinitionWhenItExtends(String yangName, | 253 | private static String getRpcInterfaceDefinitionWhenItExtends(String yangName, |
| 254 | - JavaExtendsListHolder holder) { | 254 | + JavaExtendsListHolder holder) { |
| 255 | 255 | ||
| 256 | if (yangName.matches(REGEX_FOR_ANY_STRING_ENDING_WITH_SERVICE)) { | 256 | if (yangName.matches(REGEX_FOR_ANY_STRING_ENDING_WITH_SERVICE)) { |
| 257 | String[] strArray = yangName.split(SERVICE); | 257 | String[] strArray = yangName.split(SERVICE); | ... | ... |
| ... | @@ -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. |
| ... | @@ -73,14 +69,14 @@ public final class JavaIdentifierSyntax { | ... | @@ -73,14 +69,14 @@ public final class JavaIdentifierSyntax { |
| 73 | /** | 69 | /** |
| 74 | * Returns the root package string. | 70 | * Returns the root package string. |
| 75 | * | 71 | * |
| 76 | - * @param version YANG version | 72 | + * @param version YANG version |
| 77 | - * @param nameSpace name space of the module | 73 | + * @param nameSpace name space of the module |
| 78 | - * @param revision revision of the module defined | 74 | + * @param revision revision of the module defined |
| 79 | * @param conflictResolver object of YANG to java naming conflict util | 75 | * @param conflictResolver object of YANG to java naming conflict util |
| 80 | * @return the root package string | 76 | * @return the root package string |
| 81 | */ | 77 | */ |
| 82 | public static String getRootPackage(byte version, String nameSpace, String revision, | 78 | public static String getRootPackage(byte version, String nameSpace, String revision, |
| 83 | - YangToJavaNamingConflictUtil conflictResolver) { | 79 | + YangToJavaNamingConflictUtil conflictResolver) { |
| 84 | 80 | ||
| 85 | String pkg; | 81 | String pkg; |
| 86 | pkg = DEFAULT_BASE_PKG; | 82 | pkg = DEFAULT_BASE_PKG; |
| ... | @@ -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 |
| ... | @@ -130,7 +103,7 @@ public final class JavaIdentifierSyntax { | ... | @@ -130,7 +103,7 @@ public final class JavaIdentifierSyntax { |
| 130 | /** | 103 | /** |
| 131 | * Returns package name from name space. | 104 | * Returns package name from name space. |
| 132 | * | 105 | * |
| 133 | - * @param nameSpace name space of YANG module | 106 | + * @param nameSpace name space of YANG module |
| 134 | * @param conflictResolver object of YANG to java naming conflict util | 107 | * @param conflictResolver object of YANG to java naming conflict util |
| 135 | * @return java package name as per java rules | 108 | * @return java package name as per java rules |
| 136 | */ | 109 | */ |
| ... | @@ -181,7 +154,7 @@ public final class JavaIdentifierSyntax { | ... | @@ -181,7 +154,7 @@ public final class JavaIdentifierSyntax { |
| 181 | /** | 154 | /** |
| 182 | * Returns the package string. | 155 | * Returns the package string. |
| 183 | * | 156 | * |
| 184 | - * @param pkgArr package array | 157 | + * @param pkgArr package array |
| 185 | * @param conflictResolver object of YANG to java naming conflict util | 158 | * @param conflictResolver object of YANG to java naming conflict util |
| 186 | * @return package string | 159 | * @return package string |
| 187 | */ | 160 | */ |
| ... | @@ -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 | /** |
| ... | @@ -139,7 +147,7 @@ public final class MethodsGenerator { | ... | @@ -139,7 +147,7 @@ public final class MethodsGenerator { |
| 139 | /** | 147 | /** |
| 140 | * Returns the methods strings for builder interface. | 148 | * Returns the methods strings for builder interface. |
| 141 | * | 149 | * |
| 142 | - * @param name attribute name | 150 | + * @param name attribute name |
| 143 | * @param pluginConfig plugin configurations | 151 | * @param pluginConfig plugin configurations |
| 144 | * @return method string for builder interface | 152 | * @return method string for builder interface |
| 145 | */ | 153 | */ |
| ... | @@ -150,13 +158,13 @@ public final class MethodsGenerator { | ... | @@ -150,13 +158,13 @@ public final class MethodsGenerator { |
| 150 | /** | 158 | /** |
| 151 | * Returns getter string. | 159 | * Returns getter string. |
| 152 | * | 160 | * |
| 153 | - * @param attr attribute info | 161 | + * @param attr attribute info |
| 154 | * @param generatedJavaFiles generated java files | 162 | * @param generatedJavaFiles generated java files |
| 155 | - * @param pluginConfig plugin configurations | 163 | + * @param pluginConfig plugin configurations |
| 156 | * @return getter string | 164 | * @return getter string |
| 157 | */ | 165 | */ |
| 158 | public static String getGetterString(JavaAttributeInfo attr, int generatedJavaFiles, | 166 | public static String getGetterString(JavaAttributeInfo attr, int generatedJavaFiles, |
| 159 | - YangPluginConfig pluginConfig) { | 167 | + YangPluginConfig pluginConfig) { |
| 160 | 168 | ||
| 161 | String returnType = getReturnType(attr); | 169 | String returnType = getReturnType(attr); |
| 162 | String attributeName = attr.getAttributeName(); | 170 | String attributeName = attr.getAttributeName(); |
| ... | @@ -168,14 +176,14 @@ public final class MethodsGenerator { | ... | @@ -168,14 +176,14 @@ public final class MethodsGenerator { |
| 168 | /** | 176 | /** |
| 169 | * Returns setter string. | 177 | * Returns setter string. |
| 170 | * | 178 | * |
| 171 | - * @param attr attribute info | 179 | + * @param attr attribute info |
| 172 | - * @param className java class name | 180 | + * @param className java class name |
| 173 | * @param generatedJavaFiles generated java files | 181 | * @param generatedJavaFiles generated java files |
| 174 | - * @param pluginConfig plugin configurations | 182 | + * @param pluginConfig plugin configurations |
| 175 | * @return setter string | 183 | * @return setter string |
| 176 | */ | 184 | */ |
| 177 | public static String getSetterString(JavaAttributeInfo attr, String className, int generatedJavaFiles, | 185 | public static String getSetterString(JavaAttributeInfo attr, String className, int generatedJavaFiles, |
| 178 | - YangPluginConfig pluginConfig) { | 186 | + YangPluginConfig pluginConfig) { |
| 179 | 187 | ||
| 180 | String attrType = getReturnType(attr); | 188 | String attrType = getReturnType(attr); |
| 181 | String attributeName = attr.getAttributeName(); | 189 | String attributeName = attr.getAttributeName(); |
| ... | @@ -193,7 +201,7 @@ public final class MethodsGenerator { | ... | @@ -193,7 +201,7 @@ public final class MethodsGenerator { |
| 193 | /** | 201 | /** |
| 194 | * Returns constructor method string. | 202 | * Returns constructor method string. |
| 195 | * | 203 | * |
| 196 | - * @param name class name | 204 | + * @param name class name |
| 197 | * @param pluginConfig plugin configurations | 205 | * @param pluginConfig plugin configurations |
| 198 | * @return constructor string | 206 | * @return constructor string |
| 199 | */ | 207 | */ |
| ... | @@ -204,13 +212,13 @@ public final class MethodsGenerator { | ... | @@ -204,13 +212,13 @@ public final class MethodsGenerator { |
| 204 | /** | 212 | /** |
| 205 | * Returns default constructor method string. | 213 | * Returns default constructor method string. |
| 206 | * | 214 | * |
| 207 | - * @param name class name | 215 | + * @param name class name |
| 208 | * @param modifierType modifier type | 216 | * @param modifierType modifier type |
| 209 | * @param pluginConfig plugin configurations | 217 | * @param pluginConfig plugin configurations |
| 210 | * @return default constructor string | 218 | * @return default constructor string |
| 211 | */ | 219 | */ |
| 212 | public static String getDefaultConstructorString(String name, String modifierType, | 220 | public static String getDefaultConstructorString(String name, String modifierType, |
| 213 | - YangPluginConfig pluginConfig) { | 221 | + YangPluginConfig pluginConfig) { |
| 214 | return getJavaDoc(DEFAULT_CONSTRUCTOR, name, false, pluginConfig) | 222 | return getJavaDoc(DEFAULT_CONSTRUCTOR, name, false, pluginConfig) |
| 215 | + getDefaultConstructor(name, modifierType) | 223 | + getDefaultConstructor(name, modifierType) |
| 216 | + NEW_LINE; | 224 | + NEW_LINE; |
| ... | @@ -240,7 +248,7 @@ public final class MethodsGenerator { | ... | @@ -240,7 +248,7 @@ public final class MethodsGenerator { |
| 240 | /** | 248 | /** |
| 241 | * Returns the getter method strings for class file. | 249 | * Returns the getter method strings for class file. |
| 242 | * | 250 | * |
| 243 | - * @param attr attribute info | 251 | + * @param attr attribute info |
| 244 | * @param generatedJavaFiles for the type of java file being generated | 252 | * @param generatedJavaFiles for the type of java file being generated |
| 245 | * @return getter method for class | 253 | * @return getter method for class |
| 246 | */ | 254 | */ |
| ... | @@ -259,8 +267,8 @@ public final class MethodsGenerator { | ... | @@ -259,8 +267,8 @@ public final class MethodsGenerator { |
| 259 | /** | 267 | /** |
| 260 | * Returns getter for attribute. | 268 | * Returns getter for attribute. |
| 261 | * | 269 | * |
| 262 | - * @param type return type | 270 | + * @param type return type |
| 263 | - * @param name attribute name | 271 | + * @param name attribute name |
| 264 | * @param generatedJavaFiles generated java files | 272 | * @param generatedJavaFiles generated java files |
| 265 | * @return getter for attribute | 273 | * @return getter for attribute |
| 266 | */ | 274 | */ |
| ... | @@ -283,23 +291,23 @@ public final class MethodsGenerator { | ... | @@ -283,23 +291,23 @@ public final class MethodsGenerator { |
| 283 | /*Provides string to return for type.*/ | 291 | /*Provides string to return for type.*/ |
| 284 | private static String parseTypeForReturnValue(String type) { | 292 | private static String parseTypeForReturnValue(String type) { |
| 285 | switch (type) { | 293 | switch (type) { |
| 286 | - case BYTE: | 294 | + case BYTE: |
| 287 | - case INT: | 295 | + case INT: |
| 288 | - case SHORT: | 296 | + case SHORT: |
| 289 | - case LONG: | 297 | + case LONG: |
| 290 | - return "0"; | 298 | + return "0"; |
| 291 | - case BOOLEAN_DATA_TYPE: | 299 | + case BOOLEAN_DATA_TYPE: |
| 292 | - return FALSE; | 300 | + return FALSE; |
| 293 | - default: | 301 | + default: |
| 294 | - return null; | 302 | + return null; |
| 295 | } | 303 | } |
| 296 | } | 304 | } |
| 297 | 305 | ||
| 298 | /** | 306 | /** |
| 299 | * Returns the setter method strings for class file. | 307 | * Returns the setter method strings for class file. |
| 300 | * | 308 | * |
| 301 | - * @param attr attribute info | 309 | + * @param attr attribute info |
| 302 | - * @param className name of the class | 310 | + * @param className name of the class |
| 303 | * @param generatedJavaFiles generated java files | 311 | * @param generatedJavaFiles generated java files |
| 304 | * @return setter method for class | 312 | * @return setter method for class |
| 305 | */ | 313 | */ |
| ... | @@ -318,8 +326,8 @@ public final class MethodsGenerator { | ... | @@ -318,8 +326,8 @@ public final class MethodsGenerator { |
| 318 | * Returns setter for attribute. | 326 | * Returns setter for attribute. |
| 319 | * | 327 | * |
| 320 | * @param className class name | 328 | * @param className class name |
| 321 | - * @param name attribute name | 329 | + * @param name attribute name |
| 322 | - * @param type return type | 330 | + * @param type return type |
| 323 | * @return setter for attribute | 331 | * @return setter for attribute |
| 324 | */ | 332 | */ |
| 325 | private static String getSetter(String className, String name, String type, int generatedJavaFiles) { | 333 | private static String getSetter(String className, String name, String type, int generatedJavaFiles) { |
| ... | @@ -381,14 +389,14 @@ public final class MethodsGenerator { | ... | @@ -381,14 +389,14 @@ public final class MethodsGenerator { |
| 381 | /** | 389 | /** |
| 382 | * Returns the getter method strings for interface file. | 390 | * Returns the getter method strings for interface file. |
| 383 | * | 391 | * |
| 384 | - * @param yangName name of the attribute | 392 | + * @param yangName name of the attribute |
| 385 | - * @param returnType return type of attribute | 393 | + * @param returnType return type of attribute |
| 386 | - * @param isList is list attribute | 394 | + * @param isList is list attribute |
| 387 | * @param generatedJavaFiles generated java files | 395 | * @param generatedJavaFiles generated java files |
| 388 | * @return getter method for interface | 396 | * @return getter method for interface |
| 389 | */ | 397 | */ |
| 390 | public static String getGetterForInterface(String yangName, String returnType, boolean isList, | 398 | public static String getGetterForInterface(String yangName, String returnType, boolean isList, |
| 391 | - int generatedJavaFiles) { | 399 | + int generatedJavaFiles) { |
| 392 | 400 | ||
| 393 | if (!isList) { | 401 | if (!isList) { |
| 394 | return getGetterInterfaceString(returnType, yangName, generatedJavaFiles); | 402 | return getGetterInterfaceString(returnType, yangName, generatedJavaFiles); |
| ... | @@ -401,11 +409,11 @@ public final class MethodsGenerator { | ... | @@ -401,11 +409,11 @@ public final class MethodsGenerator { |
| 401 | * Returns getter for attribute in interface. | 409 | * Returns getter for attribute in interface. |
| 402 | * | 410 | * |
| 403 | * @param returnType return type | 411 | * @param returnType return type |
| 404 | - * @param yangName attribute name | 412 | + * @param yangName attribute name |
| 405 | * @return getter for interface | 413 | * @return getter for interface |
| 406 | */ | 414 | */ |
| 407 | private static String getGetterInterfaceString(String returnType, String yangName, | 415 | private static String getGetterInterfaceString(String returnType, String yangName, |
| 408 | - int generatedJavaFiles) { | 416 | + int generatedJavaFiles) { |
| 409 | if ((generatedJavaFiles & GENERATE_SERVICE_AND_MANAGER) != 0) { | 417 | if ((generatedJavaFiles & GENERATE_SERVICE_AND_MANAGER) != 0) { |
| 410 | return FOUR_SPACE_INDENTATION + returnType + SPACE + GET_METHOD_PREFIX + getCapitalCase(yangName) | 418 | return FOUR_SPACE_INDENTATION + returnType + SPACE + GET_METHOD_PREFIX + getCapitalCase(yangName) |
| 411 | + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN; | 419 | + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN; |
| ... | @@ -418,15 +426,15 @@ public final class MethodsGenerator { | ... | @@ -418,15 +426,15 @@ public final class MethodsGenerator { |
| 418 | /** | 426 | /** |
| 419 | * Returns the setter method strings for interface file. | 427 | * Returns the setter method strings for interface file. |
| 420 | * | 428 | * |
| 421 | - * @param attrName name of the attribute | 429 | + * @param attrName name of the attribute |
| 422 | - * @param attrType return type of attribute | 430 | + * @param attrType return type of attribute |
| 423 | - * @param className name of the java class being generated | 431 | + * @param className name of the java class being generated |
| 424 | - * @param isList is list attribute | 432 | + * @param isList is list attribute |
| 425 | * @param generatedJavaFiles generated java files | 433 | * @param generatedJavaFiles generated java files |
| 426 | * @return setter method for interface | 434 | * @return setter method for interface |
| 427 | */ | 435 | */ |
| 428 | public static String getSetterForInterface(String attrName, String attrType, String className, | 436 | public static String getSetterForInterface(String attrName, String attrType, String className, |
| 429 | - boolean isList, int generatedJavaFiles) { | 437 | + boolean isList, int generatedJavaFiles) { |
| 430 | 438 | ||
| 431 | if (!isList) { | 439 | if (!isList) { |
| 432 | return getSetterInterfaceString(className, attrName, attrType, generatedJavaFiles); | 440 | return getSetterInterfaceString(className, attrName, attrType, generatedJavaFiles); |
| ... | @@ -439,12 +447,12 @@ public final class MethodsGenerator { | ... | @@ -439,12 +447,12 @@ public final class MethodsGenerator { |
| 439 | * Returns setter string for interface. | 447 | * Returns setter string for interface. |
| 440 | * | 448 | * |
| 441 | * @param className class name | 449 | * @param className class name |
| 442 | - * @param attrName attribute name | 450 | + * @param attrName attribute name |
| 443 | - * @param attrType attribute type | 451 | + * @param attrType attribute type |
| 444 | * @return setter string | 452 | * @return setter string |
| 445 | */ | 453 | */ |
| 446 | private static String getSetterInterfaceString(String className, String attrName, String attrType, | 454 | private static String getSetterInterfaceString(String className, String attrName, String attrType, |
| 447 | - int generatedJavaFiles) { | 455 | + int generatedJavaFiles) { |
| 448 | if ((generatedJavaFiles & GENERATE_SERVICE_AND_MANAGER) != 0) { | 456 | if ((generatedJavaFiles & GENERATE_SERVICE_AND_MANAGER) != 0) { |
| 449 | 457 | ||
| 450 | return FOUR_SPACE_INDENTATION + VOID + SPACE + SET_METHOD_PREFIX + getCapitalCase(attrName) | 458 | return FOUR_SPACE_INDENTATION + VOID + SPACE + SET_METHOD_PREFIX + getCapitalCase(attrName) |
| ... | @@ -494,7 +502,7 @@ public final class MethodsGenerator { | ... | @@ -494,7 +502,7 @@ public final class MethodsGenerator { |
| 494 | /** | 502 | /** |
| 495 | * Returns constructor string for impl class. | 503 | * Returns constructor string for impl class. |
| 496 | * | 504 | * |
| 497 | - * @param yangName class name | 505 | + * @param yangName class name |
| 498 | * @param pluginConfig plugin configurations | 506 | * @param pluginConfig plugin configurations |
| 499 | * @return constructor string | 507 | * @return constructor string |
| 500 | */ | 508 | */ |
| ... | @@ -512,14 +520,14 @@ public final class MethodsGenerator { | ... | @@ -512,14 +520,14 @@ public final class MethodsGenerator { |
| 512 | /** | 520 | /** |
| 513 | * Returns the constructor strings for class file. | 521 | * Returns the constructor strings for class file. |
| 514 | * | 522 | * |
| 515 | - * @param yangName name of the class | 523 | + * @param yangName name of the class |
| 516 | - * @param attr attribute info | 524 | + * @param attr attribute info |
| 517 | * @param generatedJavaFiles generated java files | 525 | * @param generatedJavaFiles generated java files |
| 518 | - * @param pluginConfig plugin configurations | 526 | + * @param pluginConfig plugin configurations |
| 519 | * @return constructor for class | 527 | * @return constructor for class |
| 520 | */ | 528 | */ |
| 521 | public static String getConstructor(String yangName, JavaAttributeInfo attr, int generatedJavaFiles, | 529 | public static String getConstructor(String yangName, JavaAttributeInfo attr, int generatedJavaFiles, |
| 522 | - YangPluginConfig pluginConfig) { | 530 | + YangPluginConfig pluginConfig) { |
| 523 | 531 | ||
| 524 | String attributeName = attr.getAttributeName(); | 532 | String attributeName = attr.getAttributeName(); |
| 525 | String constructor; | 533 | String constructor; |
| ... | @@ -545,14 +553,14 @@ public final class MethodsGenerator { | ... | @@ -545,14 +553,14 @@ public final class MethodsGenerator { |
| 545 | /** | 553 | /** |
| 546 | * Returns the rpc strings for service interface. | 554 | * Returns the rpc strings for service interface. |
| 547 | * | 555 | * |
| 548 | - * @param rpcName name of the rpc | 556 | + * @param rpcName name of the rpc |
| 549 | - * @param inputName name of input | 557 | + * @param inputName name of input |
| 550 | - * @param outputName name of output | 558 | + * @param outputName name of output |
| 551 | * @param pluginConfig plugin configurations | 559 | * @param pluginConfig plugin configurations |
| 552 | * @return rpc method string | 560 | * @return rpc method string |
| 553 | */ | 561 | */ |
| 554 | public static String getRpcServiceMethod(String rpcName, String inputName, String outputName, | 562 | public static String getRpcServiceMethod(String rpcName, String inputName, String outputName, |
| 555 | - YangPluginConfig pluginConfig) { | 563 | + YangPluginConfig pluginConfig) { |
| 556 | 564 | ||
| 557 | rpcName = getCamelCase(rpcName, pluginConfig.getConflictResolver()); | 565 | rpcName = getCamelCase(rpcName, pluginConfig.getConflictResolver()); |
| 558 | if (!inputName.equals(EMPTY_STRING)) { | 566 | if (!inputName.equals(EMPTY_STRING)) { |
| ... | @@ -565,14 +573,14 @@ public final class MethodsGenerator { | ... | @@ -565,14 +573,14 @@ public final class MethodsGenerator { |
| 565 | /** | 573 | /** |
| 566 | * Returns the rpc strings for manager impl. | 574 | * Returns the rpc strings for manager impl. |
| 567 | * | 575 | * |
| 568 | - * @param rpcName name of the rpc | 576 | + * @param rpcName name of the rpc |
| 569 | - * @param inputName name of input | 577 | + * @param inputName name of input |
| 570 | - * @param outputName name of output | 578 | + * @param outputName name of output |
| 571 | * @param pluginConfig plugin configurations | 579 | * @param pluginConfig plugin configurations |
| 572 | * @return rpc method string | 580 | * @return rpc method string |
| 573 | */ | 581 | */ |
| 574 | public static String getRpcManagerMethod(String rpcName, String inputName, String outputName, | 582 | public static String getRpcManagerMethod(String rpcName, String inputName, String outputName, |
| 575 | - YangPluginConfig pluginConfig) { | 583 | + YangPluginConfig pluginConfig) { |
| 576 | 584 | ||
| 577 | rpcName = getCamelCase(rpcName, pluginConfig.getConflictResolver()); | 585 | rpcName = getCamelCase(rpcName, pluginConfig.getConflictResolver()); |
| 578 | if (!inputName.equals(EMPTY_STRING)) { | 586 | if (!inputName.equals(EMPTY_STRING)) { |
| ... | @@ -608,7 +616,7 @@ public final class MethodsGenerator { | ... | @@ -608,7 +616,7 @@ public final class MethodsGenerator { |
| 608 | /** | 616 | /** |
| 609 | * Returns the Default constructor strings for class file. | 617 | * Returns the Default constructor strings for class file. |
| 610 | * | 618 | * |
| 611 | - * @param name name of the class | 619 | + * @param name name of the class |
| 612 | * @param modifierType modifier type for default constructor | 620 | * @param modifierType modifier type for default constructor |
| 613 | * @return Default constructor for class | 621 | * @return Default constructor for class |
| 614 | */ | 622 | */ |
| ... | @@ -663,7 +671,7 @@ public final class MethodsGenerator { | ... | @@ -663,7 +671,7 @@ public final class MethodsGenerator { |
| 663 | /** | 671 | /** |
| 664 | * Returns from string method's open string. | 672 | * Returns from string method's open string. |
| 665 | * | 673 | * |
| 666 | - * @param className name of the class | 674 | + * @param className name of the class |
| 667 | * @param pluginConfig plugin configurations | 675 | * @param pluginConfig plugin configurations |
| 668 | * @return from string method's open string | 676 | * @return from string method's open string |
| 669 | */ | 677 | */ |
| ... | @@ -687,13 +695,13 @@ public final class MethodsGenerator { | ... | @@ -687,13 +695,13 @@ public final class MethodsGenerator { |
| 687 | /** | 695 | /** |
| 688 | * Return from string method's body string. | 696 | * Return from string method's body string. |
| 689 | * | 697 | * |
| 690 | - * @param attr attribute info | 698 | + * @param attr attribute info |
| 691 | * @param fromStringAttributeInfo attribute info for the from string | 699 | * @param fromStringAttributeInfo attribute info for the from string |
| 692 | - * wrapper type | 700 | + * wrapper type |
| 693 | * @return from string method's body string | 701 | * @return from string method's body string |
| 694 | */ | 702 | */ |
| 695 | public static String getFromStringMethod(JavaAttributeInfo attr, | 703 | public static String getFromStringMethod(JavaAttributeInfo attr, |
| 696 | - JavaAttributeInfo fromStringAttributeInfo) { | 704 | + JavaAttributeInfo fromStringAttributeInfo) { |
| 697 | 705 | ||
| 698 | return EIGHT_SPACE_INDENTATION + getTrySubString() + NEW_LINE + TWELVE_SPACE_INDENTATION | 706 | return EIGHT_SPACE_INDENTATION + getTrySubString() + NEW_LINE + TWELVE_SPACE_INDENTATION |
| 699 | + getParsedSubString(attr, fromStringAttributeInfo) + SEMI_COLAN + NEW_LINE + TWELVE_SPACE_INDENTATION | 707 | + getParsedSubString(attr, fromStringAttributeInfo) + SEMI_COLAN + NEW_LINE + TWELVE_SPACE_INDENTATION |
| ... | @@ -736,7 +744,7 @@ public final class MethodsGenerator { | ... | @@ -736,7 +744,7 @@ public final class MethodsGenerator { |
| 736 | * @return sub string with parsed statement for union's from string method | 744 | * @return sub string with parsed statement for union's from string method |
| 737 | */ | 745 | */ |
| 738 | private static String getParsedSubString(JavaAttributeInfo attr, | 746 | private static String getParsedSubString(JavaAttributeInfo attr, |
| 739 | - JavaAttributeInfo fromStringAttributeInfo) { | 747 | + JavaAttributeInfo fromStringAttributeInfo) { |
| 740 | 748 | ||
| 741 | String targetDataType = getReturnType(attr); | 749 | String targetDataType = getReturnType(attr); |
| 742 | String parseFromStringMethod = getParseFromStringMethod(targetDataType, | 750 | String parseFromStringMethod = getParseFromStringMethod(targetDataType, |
| ... | @@ -865,13 +873,13 @@ public final class MethodsGenerator { | ... | @@ -865,13 +873,13 @@ public final class MethodsGenerator { |
| 865 | /** | 873 | /** |
| 866 | * Returns of method's string and java doc for special type. | 874 | * Returns of method's string and java doc for special type. |
| 867 | * | 875 | * |
| 868 | - * @param attr attribute info | 876 | + * @param attr attribute info |
| 869 | * @param generatedJavaClassName class name | 877 | * @param generatedJavaClassName class name |
| 870 | - * @param pluginConfig plugin configurations | 878 | + * @param pluginConfig plugin configurations |
| 871 | * @return of method's string and java doc for special type | 879 | * @return of method's string and java doc for special type |
| 872 | */ | 880 | */ |
| 873 | public static String getOfMethodStringAndJavaDoc(JavaAttributeInfo attr, String generatedJavaClassName, | 881 | public static String getOfMethodStringAndJavaDoc(JavaAttributeInfo attr, String generatedJavaClassName, |
| 874 | - YangPluginConfig pluginConfig) { | 882 | + YangPluginConfig pluginConfig) { |
| 875 | 883 | ||
| 876 | String attrType = getReturnType(attr); | 884 | String attrType = getReturnType(attr); |
| 877 | String attrName = attr.getAttributeName(); | 885 | String attrName = attr.getAttributeName(); |
| ... | @@ -883,7 +891,7 @@ public final class MethodsGenerator { | ... | @@ -883,7 +891,7 @@ public final class MethodsGenerator { |
| 883 | /** | 891 | /** |
| 884 | * Returns of method's string. | 892 | * Returns of method's string. |
| 885 | * | 893 | * |
| 886 | - * @param type data type | 894 | + * @param type data type |
| 887 | * @param className class name | 895 | * @param className class name |
| 888 | * @return of method's string | 896 | * @return of method's string |
| 889 | */ | 897 | */ |
| ... | @@ -898,13 +906,14 @@ public final class MethodsGenerator { | ... | @@ -898,13 +906,14 @@ public final class MethodsGenerator { |
| 898 | /** | 906 | /** |
| 899 | * Returns string and java doc for constructor of type class. | 907 | * Returns string and java doc for constructor of type class. |
| 900 | * | 908 | * |
| 901 | - * @param attr attribute info | 909 | + * @param attr attribute info |
| 902 | * @param generatedJavaClassName class name | 910 | * @param generatedJavaClassName class name |
| 903 | - * @param pluginConfig plugin configurations | 911 | + * @param pluginConfig plugin configurations |
| 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(); |
| ... | @@ -916,8 +925,8 @@ public final class MethodsGenerator { | ... | @@ -916,8 +925,8 @@ public final class MethodsGenerator { |
| 916 | /** | 925 | /** |
| 917 | * Returns type constructor string. | 926 | * Returns type constructor string. |
| 918 | * | 927 | * |
| 919 | - * @param type data type | 928 | + * @param type data type |
| 920 | - * @param name attribute name | 929 | + * @param name attribute name |
| 921 | * @param className class name | 930 | * @param className class name |
| 922 | * @return type constructor string | 931 | * @return type constructor string |
| 923 | */ | 932 | */ |
| ... | @@ -989,47 +998,18 @@ public final class MethodsGenerator { | ... | @@ -989,47 +998,18 @@ 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 |
| 1025 | - * @param attr java attribute | 1004 | + * @param attr java attribute |
| 1026 | - * @param enumMap enum's sets map | 1005 | + * @param enumMap enum's sets map |
| 1027 | - * @param enumList enum's sets list | 1006 | + * @param enumList enum's sets list |
| 1028 | * @param pluginConfig plugin configurations | 1007 | * @param pluginConfig plugin configurations |
| 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 |
| ... | @@ -227,7 +127,7 @@ public final class TempJavaCodeFragmentFilesUtils { | ... | @@ -227,7 +127,7 @@ public final class TempJavaCodeFragmentFilesUtils { |
| 227 | * @param classInfo class info to be added to import list | 127 | * @param classInfo class info to be added to import list |
| 228 | */ | 128 | */ |
| 229 | public static void addListnersImport(YangNode curNode, List<String> imports, boolean operation, | 129 | public static void addListnersImport(YangNode curNode, List<String> imports, boolean operation, |
| 230 | - String classInfo) { | 130 | + String classInfo) { |
| 231 | String thisImport = ""; | 131 | String thisImport = ""; |
| 232 | if (classInfo.equals(LISTENER_SERVICE)) { | 132 | if (classInfo.equals(LISTENER_SERVICE)) { |
| 233 | thisImport = getTempJavaFragement(curNode).getJavaImportData().getListenerServiceImport(); | 133 | thisImport = getTempJavaFragement(curNode).getJavaImportData().getListenerServiceImport(); |
| ... | @@ -272,7 +172,7 @@ public final class TempJavaCodeFragmentFilesUtils { | ... | @@ -272,7 +172,7 @@ public final class TempJavaCodeFragmentFilesUtils { |
| 272 | * @return import list | 172 | * @return import list |
| 273 | */ | 173 | */ |
| 274 | private static List<String> performOperationOnImports(List<String> imports, String curImport, | 174 | private static List<String> performOperationOnImports(List<String> imports, String curImport, |
| 275 | - boolean operation) { | 175 | + boolean operation) { |
| 276 | if (operation) { | 176 | if (operation) { |
| 277 | imports.add(curImport); | 177 | imports.add(curImport); |
| 278 | } else { | 178 | } else { | ... | ... |
| ... | @@ -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,57 +44,13 @@ public final class FileSystemUtil { | ... | @@ -56,57 +44,13 @@ 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 | * |
| 106 | * @param toAppend destination file in which the contents of source file is | 50 | * @param toAppend destination file in which the contents of source file is |
| 107 | - * appended | 51 | + * appended |
| 108 | - * @param srcFile source file from which data is read and added to to append | 52 | + * @param srcFile source file from which data is read and added to to append |
| 109 | - * file | 53 | + * file |
| 110 | * @throws IOException any IO errors | 54 | * @throws IOException any IO errors |
| 111 | */ | 55 | */ |
| 112 | public static void appendFileContents(File toAppend, File srcFile) | 56 | public static void appendFileContents(File toAppend, File srcFile) |
| ... | @@ -118,7 +62,7 @@ public final class FileSystemUtil { | ... | @@ -118,7 +62,7 @@ public final class FileSystemUtil { |
| 118 | * Reads file and convert it to string. | 62 | * Reads file and convert it to string. |
| 119 | * | 63 | * |
| 120 | * @param toAppend file to be converted | 64 | * @param toAppend file to be converted |
| 121 | - * @param spaces spaces to be appended | 65 | + * @param spaces spaces to be appended |
| 122 | * @return string of file | 66 | * @return string of file |
| 123 | * @throws IOException when fails to convert to string | 67 | * @throws IOException when fails to convert to string |
| 124 | */ | 68 | */ |
| ... | @@ -153,9 +97,9 @@ public final class FileSystemUtil { | ... | @@ -153,9 +97,9 @@ public final class FileSystemUtil { |
| 153 | /** | 97 | /** |
| 154 | * Updates the generated file handle. | 98 | * Updates the generated file handle. |
| 155 | * | 99 | * |
| 156 | - * @param inputFile input file | 100 | + * @param inputFile input file |
| 157 | * @param contentTobeAdded content to be appended to the file | 101 | * @param contentTobeAdded content to be appended to the file |
| 158 | - * @param isClose when close of file is called. | 102 | + * @param isClose when close of file is called. |
| 159 | * @throws IOException if the named file exists but is a directory rather than a regular file, | 103 | * @throws IOException if the named file exists but is a directory rather than a regular file, |
| 160 | * does not exist but cannot be created, or cannot be opened for any other reason | 104 | * does not exist but cannot be created, or cannot be opened for any other reason |
| 161 | */ | 105 | */ | ... | ... |
| ... | @@ -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 |
| 521 | - } | 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 | + } | ||
| 522 | 464 | ||
| 523 | - for (YangFileInfo fileInfo : fileInfoSet) { | 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); | ||
| 475 | + } | ||
| 524 | 476 | ||
| 525 | - String serFileName = serFileDirPath + getCamelCase(fileInfo.getRootNode().getName(), null) | 477 | + /** |
| 526 | - + SERIALIZED_FILE_EXTENSION; | 478 | + * Restricts consecutive capital cased string as a rule in camel case. |
| 527 | - fileInfo.setSerializedFile(serFileName); | 479 | + * |
| 528 | - FileOutputStream fileOutputStream = new FileOutputStream(serFileName); | 480 | + * @param consecCapitalCaseRemover which requires the restriction of consecutive capital case |
| 529 | - ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream); | 481 | + * @return string without consecutive capital case |
| 530 | - objectOutputStream.writeObject(fileInfo.getRootNode()); | 482 | + */ |
| 531 | - objectOutputStream.close(); | 483 | + public static String restrictConsecutiveCapitalCase(String consecCapitalCaseRemover) { |
| 532 | - fileOutputStream.close(); | 484 | + |
| 485 | + for (int k = 0; k < consecCapitalCaseRemover.length(); k++) { | ||
| 486 | + if (k + 1 < consecCapitalCaseRemover.length()) { | ||
| 487 | + if (Character.isUpperCase(consecCapitalCaseRemover.charAt(k))) { | ||
| 488 | + if (Character.isUpperCase(consecCapitalCaseRemover.charAt(k + 1))) { | ||
| 489 | + consecCapitalCaseRemover = consecCapitalCaseRemover.substring(0, k + 1) | ||
| 490 | + + consecCapitalCaseRemover.substring(k + 1, k + 2).toLowerCase() | ||
| 491 | + + consecCapitalCaseRemover.substring(k + 2); | ||
| 492 | + } | ||
| 493 | + } | ||
| 494 | + } | ||
| 533 | } | 495 | } |
| 496 | + return consecCapitalCaseRemover; | ||
| 534 | } | 497 | } |
| 535 | 498 | ||
| 536 | - /* Adds directory to resources of project */ | 499 | + /** |
| 537 | - private static void addToProjectResource(String dir, MavenProject project) { | 500 | + * Adds prefix, if the string begins with digit or is a java key word. |
| 538 | - Resource rsc = new Resource(); | 501 | + * |
| 539 | - rsc.setDirectory(dir); | 502 | + * @param camelCasePrefix string for adding prefix |
| 540 | - project.addResource(rsc); | 503 | + * @param conflictResolver object of YANG to java naming conflict util |
| 504 | + * @return prefixed camel case string | ||
| 505 | + */ | ||
| 506 | + public static String addPrefix(String camelCasePrefix, YangToJavaNamingConflictUtil conflictResolver) { | ||
| 507 | + | ||
| 508 | + String prefix = getPrefixForIdentifier(conflictResolver); | ||
| 509 | + if (camelCasePrefix.matches(REGEX_FOR_FIRST_DIGIT)) { | ||
| 510 | + camelCasePrefix = prefix + camelCasePrefix; | ||
| 511 | + } | ||
| 512 | + if (JAVA_KEY_WORDS.contains(camelCasePrefix)) { | ||
| 513 | + camelCasePrefix = prefix + camelCasePrefix.substring(0, 1).toUpperCase() | ||
| 514 | + + camelCasePrefix.substring(1); | ||
| 515 | + } | ||
| 516 | + return camelCasePrefix; | ||
| 541 | } | 517 | } |
| 542 | 518 | ||
| 543 | /** | 519 | /** |
| 544 | - * Returns de-serializes YANG data-model nodes. | 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. | ||
| 545 | * | 522 | * |
| 546 | - * @param serailizedfileInfoSet YANG file info set | 523 | + * @param stringArray containing strings for camel case separation |
| 547 | - * @return de-serializes YANG data-model nodes | 524 | + * @param conflictResolver object of YANG to java naming conflict util |
| 548 | - * @throws IOException when fails do IO operations | 525 | + * @return camel case rule checked string |
| 549 | */ | 526 | */ |
| 550 | - public static List<YangNode> deSerializeDataModel(List<String> serailizedfileInfoSet) throws IOException { | 527 | + public static String applyCamelCaseRule(String[] stringArray, YangToJavaNamingConflictUtil conflictResolver) { |
| 551 | 528 | ||
| 552 | - List<YangNode> nodes = new ArrayList<>(); | 529 | + String ruleChecker = stringArray[0].toLowerCase(); |
| 553 | - for (String fileInfo : serailizedfileInfoSet) { | 530 | + int i; |
| 554 | - YangNode node = null; | 531 | + if (ruleChecker.matches(REGEX_FOR_FIRST_DIGIT)) { |
| 555 | - try { | 532 | + i = 0; |
| 556 | - FileInputStream fileInputStream = new FileInputStream(fileInfo); | 533 | + ruleChecker = EMPTY_STRING; |
| 557 | - ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream); | 534 | + } else { |
| 558 | - node = (YangNode) objectInputStream.readObject(); | 535 | + i = 1; |
| 559 | - nodes.add(node); | 536 | + } |
| 560 | - objectInputStream.close(); | 537 | + for (; i < stringArray.length; i++) { |
| 561 | - fileInputStream.close(); | 538 | + if (i + 1 == stringArray.length) { |
| 562 | - } catch (IOException | ClassNotFoundException e) { | 539 | + if (stringArray[i].matches(REGEX_FOR_SINGLE_LETTER) |
| 563 | - throw new IOException(fileInfo + " not found."); | 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); | ||
| 564 | } | 557 | } |
| 565 | } | 558 | } |
| 566 | - return nodes; | 559 | + String ruleCheckerWithPrefix = addPrefix(ruleChecker, conflictResolver); |
| 560 | + return restrictConsecutiveCapitalCase(ruleCheckerWithPrefix); | ||
| 567 | } | 561 | } |
| 568 | 562 | ||
| 569 | /** | 563 | /** |
| 570 | - * Resolves inter jar dependencies. | 564 | + * Resolves the conflict when input has upper case. |
| 571 | * | 565 | * |
| 572 | - * @param project current maven project | 566 | + * @param stringArray containing strings for upper case conflict resolver |
| 573 | - * @param localRepository local maven repository | 567 | + * @param conflictResolver object of YANG to java naming conflict util |
| 574 | - * @param remoteRepos list of remote repository | 568 | + * @return camel cased 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 | */ | 569 | */ |
| 579 | - public static List<YangNode> resolveInterJarDependencies(MavenProject project, ArtifactRepository localRepository, | 570 | + public static String upperCaseConflictResolver(String[] stringArray, |
| 580 | - List<ArtifactRepository> remoteRepos, String directory) throws IOException { | 571 | + YangToJavaNamingConflictUtil conflictResolver) { |
| 581 | - | 572 | + |
| 582 | - List<String> dependeciesJarPaths = resolveDependecyJarPath(project, localRepository, remoteRepos); | 573 | + for (int l = 0; l < stringArray.length; l++) { |
| 583 | - List<YangNode> resolvedDataModelNodes = new ArrayList<>(); | 574 | + String[] upperCaseSplitArray = stringArray[l].split(REGEX_WITH_UPPERCASE); |
| 584 | - for (String dependecy : dependeciesJarPaths) { | 575 | + for (int m = 0; m < upperCaseSplitArray.length; m++) { |
| 585 | - resolvedDataModelNodes.addAll(deSerializeDataModel(parseJarFile(dependecy, directory))); | 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(); | ||
| 586 | } | 597 | } |
| 587 | - return resolvedDataModelNodes; | 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); | ||
| 588 | } | 613 | } |
| 589 | 614 | ||
| 590 | /** | 615 | /** |
| 591 | - * Returns list of jar path. | 616 | + * Returns the YANG identifier name as java identifier. |
| 592 | * | 617 | * |
| 593 | - * @return list of jar paths | 618 | + * @param yangIdentifier identifier in YANG file |
| 619 | + * @param conflictResolver object of YANG to java naming conflict util | ||
| 620 | + * @return corresponding java identifier | ||
| 594 | */ | 621 | */ |
| 595 | - private static List<String> resolveDependecyJarPath(MavenProject project, ArtifactRepository localRepository, | 622 | + public static String getCamelCase(String yangIdentifier, YangToJavaNamingConflictUtil conflictResolver) { |
| 596 | - List<ArtifactRepository> remoteRepos) { | 623 | + |
| 597 | - | 624 | + if (conflictResolver != null) { |
| 598 | - StringBuilder path = new StringBuilder(); | 625 | + String replacementForHyphen = conflictResolver.getReplacementForHyphen(); |
| 599 | - List<String> jarPaths = new ArrayList<>(); | 626 | + String replacementForPeriod = conflictResolver.getReplacementForPeriod(); |
| 600 | - for (Dependency dependency : project.getDependencies()) { | 627 | + String replacementForUnderscore = conflictResolver.getReplacementForUnderscore(); |
| 601 | - | 628 | + if (replacementForPeriod != null) { |
| 602 | - path.append(localRepository.getBasedir()); | 629 | + yangIdentifier = yangIdentifier.replaceAll(REGEX_FOR_PERIOD, |
| 603 | - path.append(SLASH); | 630 | + PERIOD + replacementForPeriod.toLowerCase() + PERIOD); |
| 604 | - path.append(getPackageDirPathFromJavaJPackage(dependency.getGroupId())); | 631 | + } |
| 605 | - path.append(SLASH); | 632 | + if (replacementForUnderscore != null) { |
| 606 | - path.append(dependency.getArtifactId()); | 633 | + yangIdentifier = yangIdentifier.replaceAll(REGEX_FOR_UNDERSCORE, |
| 607 | - path.append(SLASH); | 634 | + UNDER_SCORE + replacementForUnderscore.toLowerCase() + UNDER_SCORE); |
| 608 | - path.append(dependency.getVersion()); | 635 | + } |
| 609 | - path.append(SLASH); | 636 | + if (replacementForHyphen != null) { |
| 610 | - path.append(dependency.getArtifactId() + HYPHEN + dependency.getVersion() + PERIOD + JAR); | 637 | + yangIdentifier = yangIdentifier.replaceAll(REGEX_FOR_HYPHEN, |
| 611 | - File jarFile = new File(path.toString()); | 638 | + HYPHEN + replacementForHyphen.toLowerCase() + HYPHEN); |
| 612 | - if (jarFile.exists()) { | ||
| 613 | - jarPaths.add(path.toString()); | ||
| 614 | } | 639 | } |
| 615 | - path.delete(0, path.length()); | ||
| 616 | } | 640 | } |
| 617 | - | 641 | + yangIdentifier = yangIdentifier.replaceAll(REGEX_FOR_IDENTIFIER_SPECIAL_CHAR, COLAN); |
| 618 | - for (ArtifactRepository repo : remoteRepos) { | 642 | + String[] strArray = yangIdentifier.split(COLAN); |
| 619 | - // TODO: add resolver for remote repo. | 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]); | ||
| 647 | + } | ||
| 648 | + strArray = stringArrangement.toArray(new String[stringArrangement.size()]); | ||
| 620 | } | 649 | } |
| 621 | - return jarPaths; | 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 | - | 664 | + } |
| 639 | - File serializedFileDir = new File(directory); | 665 | + if (prefixForIdentifier != null) { |
| 640 | - serializedFileDir.mkdirs(); | 666 | + prefixForIdentifier = prefixForIdentifier.replaceAll(REGEX_WITH_ALL_SPECIAL_CHAR, COLAN); |
| 641 | - while (enumEntries.hasMoreElements()) { | 667 | + String[] strArray = prefixForIdentifier.split(COLAN); |
| 642 | - JarEntry file = (JarEntry) enumEntries.nextElement(); | 668 | + try { |
| 643 | - if (file.getName().endsWith(SERIALIZED_FILE_EXTENSION)) { | 669 | + if (strArray[0].isEmpty()) { |
| 644 | - if (file.getName().contains(SLASH)) { | 670 | + List<String> stringArrangement = new ArrayList<String>(); |
| 645 | - String[] strArray = file.getName().split(SLASH); | 671 | + for (int i = 1; i < strArray.length; i++) { |
| 646 | - String tempPath = ""; | 672 | + stringArrangement.add(strArray[i]); |
| 647 | - for (int i = 0; i < strArray.length - 1; i++) { | ||
| 648 | - tempPath = SLASH + tempPath + SLASH + strArray[i]; | ||
| 649 | } | 673 | } |
| 650 | - File dir = new File(directory + tempPath); | 674 | + strArray = stringArrangement.toArray(new String[stringArrangement.size()]); |
| 651 | - dir.mkdirs(); | ||
| 652 | - } | ||
| 653 | - File serailizedFile = new File(directory + SLASH + file.getName()); | ||
| 654 | - if (file.isDirectory()) { | ||
| 655 | - serailizedFile.mkdirs(); | ||
| 656 | - continue; | ||
| 657 | } | 675 | } |
| 658 | - InputStream inputStream = jar.getInputStream(file); | 676 | + prefixForIdentifier = strArray[0]; |
| 659 | - | 677 | + for (int j = 1; j < strArray.length; j++) { |
| 660 | - FileOutputStream fileOutputStream = new FileOutputStream(serailizedFile); | 678 | + prefixForIdentifier = prefixForIdentifier + strArray[j].substring(0, 1).toUpperCase() + |
| 661 | - while (inputStream.available() > 0) { | 679 | + strArray[j].substring(1); |
| 662 | - fileOutputStream.write(inputStream.read()); | ||
| 663 | } | 680 | } |
| 664 | - fileOutputStream.close(); | 681 | + } catch (ArrayIndexOutOfBoundsException outOfBoundsException) { |
| 665 | - inputStream.close(); | 682 | + throw new TranslatorException("The given prefix in pom.xml is invalid."); |
| 666 | - serailizedFiles.add(serailizedFile.toString()); | ||
| 667 | } | 683 | } |
| 684 | + } else { | ||
| 685 | + prefixForIdentifier = YANG_AUTO_PREFIX; | ||
| 668 | } | 686 | } |
| 669 | - jar.close(); | 687 | + return prefixForIdentifier; |
| 670 | - return serailizedFiles; | ||
| 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; |
| ... | @@ -207,4 +206,4 @@ public final class JavaDocGenTest { | ... | @@ -207,4 +206,4 @@ public final class JavaDocGenTest { |
| 207 | pluginConfig.setConflictResolver(null); | 206 | pluginConfig.setConflictResolver(null); |
| 208 | return pluginConfig; | 207 | return pluginConfig; |
| 209 | } | 208 | } |
| 210 | -} | ||
| ... | \ No newline at end of file | ... | \ No newline at end of file |
| 209 | +} | ... | ... |
| ... | @@ -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