Committed by
Gerrit Code Review
[ONOS-4286],[ONOS-3911] YANG typedef and YANG augment
translator implementation. Change-Id: I3e21d1cb52bcb90b935b672eee42b836c21f448b
Showing
29 changed files
with
1005 additions
and
405 deletions
| ... | @@ -17,11 +17,13 @@ | ... | @@ -17,11 +17,13 @@ |
| 17 | package org.onosproject.yangutils.parser.impl.listeners; | 17 | package org.onosproject.yangutils.parser.impl.listeners; |
| 18 | 18 | ||
| 19 | import java.util.List; | 19 | import java.util.List; |
| 20 | + | ||
| 20 | import org.onosproject.yangutils.datamodel.YangAugment; | 21 | import org.onosproject.yangutils.datamodel.YangAugment; |
| 21 | -import org.onosproject.yangutils.datamodel.YangNode; | ||
| 22 | import org.onosproject.yangutils.datamodel.YangModule; | 22 | import org.onosproject.yangutils.datamodel.YangModule; |
| 23 | -import org.onosproject.yangutils.datamodel.YangSubModule; | 23 | +import org.onosproject.yangutils.datamodel.YangNode; |
| 24 | import org.onosproject.yangutils.datamodel.YangNodeIdentifier; | 24 | import org.onosproject.yangutils.datamodel.YangNodeIdentifier; |
| 25 | +import org.onosproject.yangutils.datamodel.YangSubModule; | ||
| 26 | +import org.onosproject.yangutils.datamodel.YangUses; | ||
| 25 | import org.onosproject.yangutils.datamodel.exceptions.DataModelException; | 27 | import org.onosproject.yangutils.datamodel.exceptions.DataModelException; |
| 26 | import org.onosproject.yangutils.parser.Parsable; | 28 | import org.onosproject.yangutils.parser.Parsable; |
| 27 | import org.onosproject.yangutils.parser.antlrgencode.GeneratedYangParser; | 29 | import org.onosproject.yangutils.parser.antlrgencode.GeneratedYangParser; |
| ... | @@ -35,21 +37,22 @@ import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorLoc | ... | @@ -35,21 +37,22 @@ import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorLoc |
| 35 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorLocation.EXIT; | 37 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorLocation.EXIT; |
| 36 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorMessageConstruction.constructExtendedListenerErrorMessage; | 38 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorMessageConstruction.constructExtendedListenerErrorMessage; |
| 37 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorMessageConstruction.constructListenerErrorMessage; | 39 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorMessageConstruction.constructListenerErrorMessage; |
| 40 | +import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.INVALID_HOLDER; | ||
| 38 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.MISSING_CURRENT_HOLDER; | 41 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.MISSING_CURRENT_HOLDER; |
| 39 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.MISSING_HOLDER; | 42 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.MISSING_HOLDER; |
| 40 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.UNHANDLED_PARSED_DATA; | 43 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.UNHANDLED_PARSED_DATA; |
| 41 | -import static org.onosproject.yangutils.parser.impl.parserutils.ListenerErrorType.INVALID_HOLDER; | 44 | +import static org.onosproject.yangutils.parser.impl.parserutils.ListenerUtil.getValidAbsoluteSchemaNodeId; |
| 42 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerValidation.checkStackIsNotEmpty; | 45 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerValidation.checkStackIsNotEmpty; |
| 43 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerValidation.validateCardinalityMaxOne; | 46 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerValidation.validateCardinalityMaxOne; |
| 44 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerValidation.validateMutuallyExclusiveChilds; | 47 | import static org.onosproject.yangutils.parser.impl.parserutils.ListenerValidation.validateMutuallyExclusiveChilds; |
| 45 | -import static org.onosproject.yangutils.parser.impl.parserutils.ListenerUtil.getValidAbsoluteSchemaNodeId; | 48 | +import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCaptialCase; |
| 46 | import static org.onosproject.yangutils.utils.YangConstructType.AUGMENT_DATA; | 49 | import static org.onosproject.yangutils.utils.YangConstructType.AUGMENT_DATA; |
| 50 | +import static org.onosproject.yangutils.utils.YangConstructType.CASE_DATA; | ||
| 47 | import static org.onosproject.yangutils.utils.YangConstructType.DATA_DEF_DATA; | 51 | import static org.onosproject.yangutils.utils.YangConstructType.DATA_DEF_DATA; |
| 48 | -import static org.onosproject.yangutils.utils.YangConstructType.STATUS_DATA; | ||
| 49 | -import static org.onosproject.yangutils.utils.YangConstructType.REFERENCE_DATA; | ||
| 50 | import static org.onosproject.yangutils.utils.YangConstructType.DESCRIPTION_DATA; | 52 | import static org.onosproject.yangutils.utils.YangConstructType.DESCRIPTION_DATA; |
| 53 | +import static org.onosproject.yangutils.utils.YangConstructType.REFERENCE_DATA; | ||
| 54 | +import static org.onosproject.yangutils.utils.YangConstructType.STATUS_DATA; | ||
| 51 | import static org.onosproject.yangutils.utils.YangConstructType.WHEN_DATA; | 55 | import static org.onosproject.yangutils.utils.YangConstructType.WHEN_DATA; |
| 52 | -import static org.onosproject.yangutils.utils.YangConstructType.CASE_DATA; | ||
| 53 | 56 | ||
| 54 | /* | 57 | /* |
| 55 | * Reference: RFC6020 and YANG ANTLR Grammar | 58 | * Reference: RFC6020 and YANG ANTLR Grammar |
| ... | @@ -73,11 +76,13 @@ import static org.onosproject.yangutils.utils.YangConstructType.CASE_DATA; | ... | @@ -73,11 +76,13 @@ import static org.onosproject.yangutils.utils.YangConstructType.CASE_DATA; |
| 73 | */ | 76 | */ |
| 74 | 77 | ||
| 75 | /** | 78 | /** |
| 76 | - * Implements listener based call back function corresponding to the "augment" | 79 | + * Represents listener based call back function corresponding to the "augment" |
| 77 | * rule defined in ANTLR grammar file for corresponding ABNF rule in RFC 6020. | 80 | * rule defined in ANTLR grammar file for corresponding ABNF rule in RFC 6020. |
| 78 | */ | 81 | */ |
| 79 | public final class AugmentListener { | 82 | public final class AugmentListener { |
| 80 | 83 | ||
| 84 | + private static final String AUGMENTED = "Augmented"; | ||
| 85 | + | ||
| 81 | /** | 86 | /** |
| 82 | * Creates a new augment listener. | 87 | * Creates a new augment listener. |
| 83 | */ | 88 | */ |
| ... | @@ -110,11 +115,12 @@ public final class AugmentListener { | ... | @@ -110,11 +115,12 @@ public final class AugmentListener { |
| 110 | detectCollidingChildUtil(listener, line, charPositionInLine, "", AUGMENT_DATA); | 115 | detectCollidingChildUtil(listener, line, charPositionInLine, "", AUGMENT_DATA); |
| 111 | 116 | ||
| 112 | Parsable curData = listener.getParsedDataStack().peek(); | 117 | Parsable curData = listener.getParsedDataStack().peek(); |
| 113 | - if (curData instanceof YangModule || curData instanceof YangSubModule) { | 118 | + if (curData instanceof YangModule || curData instanceof YangSubModule || curData instanceof YangUses) { |
| 114 | 119 | ||
| 115 | YangNode curNode = (YangNode) curData; | 120 | YangNode curNode = (YangNode) curData; |
| 116 | YangAugment yangAugment = getYangAugmentNode(JAVA_GENERATION); | 121 | YangAugment yangAugment = getYangAugmentNode(JAVA_GENERATION); |
| 117 | yangAugment.setTargetNode(targetNodes); | 122 | yangAugment.setTargetNode(targetNodes); |
| 123 | + yangAugment.setName(getValidNameForAugment(targetNodes)); | ||
| 118 | try { | 124 | try { |
| 119 | curNode.addChild(yangAugment); | 125 | curNode.addChild(yangAugment); |
| 120 | } catch (DataModelException e) { | 126 | } catch (DataModelException e) { |
| ... | @@ -163,4 +169,30 @@ public final class AugmentListener { | ... | @@ -163,4 +169,30 @@ public final class AugmentListener { |
| 163 | validateMutuallyExclusiveChilds(ctx.dataDefStatement(), DATA_DEF_DATA, ctx.caseStatement(), | 169 | validateMutuallyExclusiveChilds(ctx.dataDefStatement(), DATA_DEF_DATA, ctx.caseStatement(), |
| 164 | CASE_DATA, AUGMENT_DATA, ctx.augment().getText()); | 170 | CASE_DATA, AUGMENT_DATA, ctx.augment().getText()); |
| 165 | } | 171 | } |
| 172 | + | ||
| 173 | + /** | ||
| 174 | + * Returns a name identifier for augment. | ||
| 175 | + * | ||
| 176 | + * @param targetNode list of target nodes | ||
| 177 | + * @return name identifier | ||
| 178 | + */ | ||
| 179 | + private static String getValidNameForAugment(List<YangNodeIdentifier> targetNodes) { | ||
| 180 | + String name = ""; | ||
| 181 | + YangNodeIdentifier nodeId = targetNodes.get(targetNodes.size() - 1); | ||
| 182 | + | ||
| 183 | + if (nodeId.getPrefix() != null) { | ||
| 184 | + name = AUGMENTED + getCaptialCase(nodeId.getPrefix()) + getCaptialCase(nodeId.getName()); | ||
| 185 | + } else { | ||
| 186 | + //TODO: name = name + ((HasAugmentation)getParentNode()).getAugmentPrefix(nodeId); | ||
| 187 | + } | ||
| 188 | + return name; | ||
| 189 | + } | ||
| 190 | + | ||
| 191 | + /** | ||
| 192 | + * Validates for the child nodes of augment node. | ||
| 193 | + */ | ||
| 194 | + private static void validateForChildNodes() { | ||
| 195 | + //TODO: implement with linker. | ||
| 196 | + return; | ||
| 197 | + } | ||
| 166 | } | 198 | } | ... | ... |
utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/AugmentedInfo.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.translator.tojava; | ||
| 18 | + | ||
| 19 | +/** | ||
| 20 | + * Abstraction of an entity which represents augmented info. | ||
| 21 | + */ | ||
| 22 | +public interface AugmentedInfo { | ||
| 23 | +} |
utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/HasAugmentation.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.translator.tojava; | ||
| 18 | + | ||
| 19 | +import java.util.List; | ||
| 20 | + | ||
| 21 | +/** | ||
| 22 | + * Abstraction of an entity which represents augmentation of a YANG node. | ||
| 23 | + */ | ||
| 24 | +public interface HasAugmentation { | ||
| 25 | + | ||
| 26 | + /** | ||
| 27 | + * Adds augment info to the augment info list. | ||
| 28 | + * | ||
| 29 | + * @param augmentInfo augment info of node | ||
| 30 | + */ | ||
| 31 | + void addAugmentation(AugmentedInfo augmentInfo); | ||
| 32 | + | ||
| 33 | + /** | ||
| 34 | + * Removes augment info from the node. | ||
| 35 | + */ | ||
| 36 | + void removeAugmentation(); | ||
| 37 | + | ||
| 38 | + /** | ||
| 39 | + * Returns list of augment info. | ||
| 40 | + * | ||
| 41 | + * @return list of augment info | ||
| 42 | + */ | ||
| 43 | + List<AugmentedInfo> getAugmentedInfoList(); | ||
| 44 | +} |
| ... | @@ -19,7 +19,6 @@ package org.onosproject.yangutils.translator.tojava; | ... | @@ -19,7 +19,6 @@ package org.onosproject.yangutils.translator.tojava; |
| 19 | import org.onosproject.yangutils.datamodel.YangNode; | 19 | import org.onosproject.yangutils.datamodel.YangNode; |
| 20 | import org.onosproject.yangutils.datamodel.YangType; | 20 | import org.onosproject.yangutils.datamodel.YangType; |
| 21 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 21 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
| 22 | -import org.onosproject.yangutils.translator.tojava.utils.AttributesJavaDataType; | ||
| 23 | 22 | ||
| 24 | import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.getIsQualifiedAccessOrAddToImportList; | 23 | import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.getIsQualifiedAccessOrAddToImportList; |
| 25 | import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.getQualifiedTypeInfoOfCurNode; | 24 | import static org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo.getQualifiedTypeInfoOfCurNode; |
| ... | @@ -163,7 +162,7 @@ public final class JavaAttributeInfo { | ... | @@ -163,7 +162,7 @@ public final class JavaAttributeInfo { |
| 163 | } | 162 | } |
| 164 | 163 | ||
| 165 | /** | 164 | /** |
| 166 | - * Returns the import info for the attribute type. It will be null, of the type | 165 | + * Returns the import info for the attribute type. It will be null, if the type |
| 167 | * is basic built-in java type. | 166 | * is basic built-in java type. |
| 168 | * | 167 | * |
| 169 | * @return import info | 168 | * @return import info |
| ... | @@ -255,7 +254,6 @@ public final class JavaAttributeInfo { | ... | @@ -255,7 +254,6 @@ public final class JavaAttributeInfo { |
| 255 | */ | 254 | */ |
| 256 | JavaQualifiedTypeInfo importInfo = getQualifiedTypeInfoOfLeafAttribute(curNode, | 255 | JavaQualifiedTypeInfo importInfo = getQualifiedTypeInfoOfLeafAttribute(curNode, |
| 257 | attributeType, attributeName, isListAttribute); | 256 | attributeType, attributeName, isListAttribute); |
| 258 | - AttributesJavaDataType.addImportInfo(importInfo); | ||
| 259 | 257 | ||
| 260 | return getAttributeInfoForTheData(importInfo, attributeName, attributeType, curNode, isListAttribute); | 258 | return getAttributeInfoForTheData(importInfo, attributeName, attributeType, curNode, isListAttribute); |
| 261 | } | 259 | } | ... | ... |
| ... | @@ -16,8 +16,6 @@ | ... | @@ -16,8 +16,6 @@ |
| 16 | 16 | ||
| 17 | package org.onosproject.yangutils.translator.tojava; | 17 | package org.onosproject.yangutils.translator.tojava; |
| 18 | 18 | ||
| 19 | -import org.onosproject.yangutils.translator.exception.TranslatorException; | ||
| 20 | - | ||
| 21 | /** | 19 | /** |
| 22 | * Represents cached java file handle, which supports the addition of member attributes and | 20 | * Represents cached java file handle, which supports the addition of member attributes and |
| 23 | * methods. | 21 | * methods. |
| ... | @@ -36,7 +34,7 @@ public class JavaFileInfo { | ... | @@ -36,7 +34,7 @@ public class JavaFileInfo { |
| 36 | private String javaName; | 34 | private String javaName; |
| 37 | 35 | ||
| 38 | /** | 36 | /** |
| 39 | - * java Package of the mapped java class. | 37 | + * Java Package of the mapped java class. |
| 40 | */ | 38 | */ |
| 41 | private String pkg; | 39 | private String pkg; |
| 42 | 40 | ||
| ... | @@ -96,10 +94,6 @@ public class JavaFileInfo { | ... | @@ -96,10 +94,6 @@ public class JavaFileInfo { |
| 96 | * @return the java package | 94 | * @return the java package |
| 97 | */ | 95 | */ |
| 98 | public String getPackage() { | 96 | public String getPackage() { |
| 99 | - | ||
| 100 | - if (pkg == null) { | ||
| 101 | - throw new TranslatorException("Referencing package of a generated java file which is not set"); | ||
| 102 | - } | ||
| 103 | return pkg; | 97 | return pkg; |
| 104 | } | 98 | } |
| 105 | 99 | ... | ... |
| ... | @@ -24,10 +24,15 @@ import static java.util.Collections.sort; | ... | @@ -24,10 +24,15 @@ import static java.util.Collections.sort; |
| 24 | import org.onosproject.yangutils.datamodel.YangNode; | 24 | import org.onosproject.yangutils.datamodel.YangNode; |
| 25 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 25 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
| 26 | 26 | ||
| 27 | +import static org.onosproject.yangutils.utils.UtilConstants.ARRAY_LIST; | ||
| 28 | +import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED_INFO_CLASS_IMPORT_CLASS; | ||
| 29 | +import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED_INFO_CLASS_IMPORT_PKG; | ||
| 27 | import static org.onosproject.yangutils.utils.UtilConstants.COLLECTION_IMPORTS; | 30 | import static org.onosproject.yangutils.utils.UtilConstants.COLLECTION_IMPORTS; |
| 28 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; | 31 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; |
| 29 | import static org.onosproject.yangutils.utils.UtilConstants.GOOGLE_MORE_OBJECT_IMPORT_CLASS; | 32 | import static org.onosproject.yangutils.utils.UtilConstants.GOOGLE_MORE_OBJECT_IMPORT_CLASS; |
| 30 | import static org.onosproject.yangutils.utils.UtilConstants.GOOGLE_MORE_OBJECT_IMPORT_PKG; | 33 | import static org.onosproject.yangutils.utils.UtilConstants.GOOGLE_MORE_OBJECT_IMPORT_PKG; |
| 34 | +import static org.onosproject.yangutils.utils.UtilConstants.HAS_AUGMENTATION_CLASS_IMPORT_CLASS; | ||
| 35 | +import static org.onosproject.yangutils.utils.UtilConstants.HAS_AUGMENTATION_CLASS_IMPORT_PKG; | ||
| 31 | import static org.onosproject.yangutils.utils.UtilConstants.IMPORT; | 36 | import static org.onosproject.yangutils.utils.UtilConstants.IMPORT; |
| 32 | import static org.onosproject.yangutils.utils.UtilConstants.JAVA_LANG; | 37 | import static org.onosproject.yangutils.utils.UtilConstants.JAVA_LANG; |
| 33 | import static org.onosproject.yangutils.utils.UtilConstants.JAVA_UTIL_OBJECTS_IMPORT_CLASS; | 38 | import static org.onosproject.yangutils.utils.UtilConstants.JAVA_UTIL_OBJECTS_IMPORT_CLASS; |
| ... | @@ -88,7 +93,7 @@ public class JavaImportData { | ... | @@ -88,7 +93,7 @@ public class JavaImportData { |
| 88 | } | 93 | } |
| 89 | 94 | ||
| 90 | /** | 95 | /** |
| 91 | - * Assign the set containing the imported class/interface info. | 96 | + * Assigns the set containing the imported class/interface info. |
| 92 | * | 97 | * |
| 93 | * @param importSet the set containing the imported class/interface info | 98 | * @param importSet the set containing the imported class/interface info |
| 94 | */ | 99 | */ |
| ... | @@ -97,7 +102,7 @@ public class JavaImportData { | ... | @@ -97,7 +102,7 @@ public class JavaImportData { |
| 97 | } | 102 | } |
| 98 | 103 | ||
| 99 | /** | 104 | /** |
| 100 | - * Add an imported class/interface info if it is not already part of the | 105 | + * Adds an imported class/interface info if it is not already part of the |
| 101 | * collection. | 106 | * collection. |
| 102 | * | 107 | * |
| 103 | * If already part of the collection, check if the packages are same, if so | 108 | * If already part of the collection, check if the packages are same, if so |
| ... | @@ -177,10 +182,36 @@ public class JavaImportData { | ... | @@ -177,10 +182,36 @@ public class JavaImportData { |
| 177 | /** | 182 | /** |
| 178 | * Returns import for list attribute. | 183 | * Returns import for list attribute. |
| 179 | * | 184 | * |
| 180 | - * @return import for for list attribute | 185 | + * @return import for list attribute |
| 181 | */ | 186 | */ |
| 182 | - | 187 | + public static String getImportForList() { |
| 183 | - private static String getImportForList() { | ||
| 184 | return IMPORT + COLLECTION_IMPORTS + PERIOD + LIST + SEMI_COLAN + NEW_LINE; | 188 | return IMPORT + COLLECTION_IMPORTS + PERIOD + LIST + SEMI_COLAN + NEW_LINE; |
| 185 | } | 189 | } |
| 190 | + | ||
| 191 | + /** | ||
| 192 | + * Returns import for array list attribute. | ||
| 193 | + * | ||
| 194 | + * @return import for array list attribute | ||
| 195 | + */ | ||
| 196 | + public static String getImportForArrayList() { | ||
| 197 | + return IMPORT + COLLECTION_IMPORTS + PERIOD + ARRAY_LIST + SEMI_COLAN + NEW_LINE; | ||
| 198 | + } | ||
| 199 | + | ||
| 200 | + /** | ||
| 201 | + * Returns import string for HasAugmentation class. | ||
| 202 | + * | ||
| 203 | + * @return import string for HasAugmentation class | ||
| 204 | + */ | ||
| 205 | + public static String getHasAugmentationImport() { | ||
| 206 | + return IMPORT + HAS_AUGMENTATION_CLASS_IMPORT_PKG + PERIOD + HAS_AUGMENTATION_CLASS_IMPORT_CLASS; | ||
| 207 | + } | ||
| 208 | + | ||
| 209 | + /** | ||
| 210 | + * Returns import string for AugmentedInfo class. | ||
| 211 | + * | ||
| 212 | + * @return import string for AugmentedInfo class | ||
| 213 | + */ | ||
| 214 | + public static String getAugmentedInfoImport() { | ||
| 215 | + return IMPORT + AUGMENTED_INFO_CLASS_IMPORT_PKG + PERIOD + AUGMENTED_INFO_CLASS_IMPORT_CLASS; | ||
| 216 | + } | ||
| 186 | } | 217 | } | ... | ... |
utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/JavaQualifiedTypeInfo.java
| ... | @@ -87,11 +87,11 @@ public class JavaQualifiedTypeInfo implements Comparable<JavaQualifiedTypeInfo> | ... | @@ -87,11 +87,11 @@ public class JavaQualifiedTypeInfo implements Comparable<JavaQualifiedTypeInfo> |
| 87 | * generation for import or for qualified access. | 87 | * generation for import or for qualified access. |
| 88 | * | 88 | * |
| 89 | * @param curNode current data model node for which the java file is being | 89 | * @param curNode current data model node for which the java file is being |
| 90 | - * generated. | 90 | + * generated |
| 91 | * @param attrType type of attribute being added, it will be null, when the | 91 | * @param attrType type of attribute being added, it will be null, when the |
| 92 | * child class is added as an attribute | 92 | * child class is added as an attribute |
| 93 | * @param attributeName name of the attribute being added, it will used in | 93 | * @param attributeName name of the attribute being added, it will used in |
| 94 | - * import info for child class. | 94 | + * import info for child class |
| 95 | * @param isListAttr is the added attribute going to be used as a list | 95 | * @param isListAttr is the added attribute going to be used as a list |
| 96 | * @return return the import info for this attribute | 96 | * @return return the import info for this attribute |
| 97 | */ | 97 | */ |
| ... | @@ -140,9 +140,9 @@ public class JavaQualifiedTypeInfo implements Comparable<JavaQualifiedTypeInfo> | ... | @@ -140,9 +140,9 @@ public class JavaQualifiedTypeInfo implements Comparable<JavaQualifiedTypeInfo> |
| 140 | * generation for import or for qualified access. | 140 | * generation for import or for qualified access. |
| 141 | * | 141 | * |
| 142 | * @param curNode current data model node for which the java file is being | 142 | * @param curNode current data model node for which the java file is being |
| 143 | - * generated. | 143 | + * generated |
| 144 | * @param attributeName name of the attribute being added, it will used in | 144 | * @param attributeName name of the attribute being added, it will used in |
| 145 | - * import info for child class. | 145 | + * import info for child class |
| 146 | * @param isListAttr is the added attribute going to be used as a list | 146 | * @param isListAttr is the added attribute going to be used as a list |
| 147 | * @return return the import info for this attribute | 147 | * @return return the import info for this attribute |
| 148 | */ | 148 | */ |
| ... | @@ -241,8 +241,7 @@ public class JavaQualifiedTypeInfo implements Comparable<JavaQualifiedTypeInfo> | ... | @@ -241,8 +241,7 @@ public class JavaQualifiedTypeInfo implements Comparable<JavaQualifiedTypeInfo> |
| 241 | throw new TranslatorException("missing java file info for the data model node"); | 241 | throw new TranslatorException("missing java file info for the data model node"); |
| 242 | } | 242 | } |
| 243 | return ((HasJavaFileInfo) curNode).getJavaFileInfo().getPackage() | 243 | return ((HasJavaFileInfo) curNode).getJavaFileInfo().getPackage() |
| 244 | - .contentEquals(importInfo.getPkgInfo() | 244 | + .contentEquals(importInfo.getPkgInfo()); |
| 245 | - + "." + importInfo.getClassInfo()); | ||
| 246 | } | 245 | } |
| 247 | 246 | ||
| 248 | @Override | 247 | @Override |
| ... | @@ -265,7 +264,7 @@ public class JavaQualifiedTypeInfo implements Comparable<JavaQualifiedTypeInfo> | ... | @@ -265,7 +264,7 @@ public class JavaQualifiedTypeInfo implements Comparable<JavaQualifiedTypeInfo> |
| 265 | } | 264 | } |
| 266 | 265 | ||
| 267 | /** | 266 | /** |
| 268 | - * checks if the import info matches. | 267 | + * Checks if the import info matches. |
| 269 | * | 268 | * |
| 270 | * @param importInfo matched import | 269 | * @param importInfo matched import |
| 271 | * @return if equal or not | 270 | * @return if equal or not | ... | ... |
| ... | @@ -30,7 +30,6 @@ import org.onosproject.yangutils.translator.exception.TranslatorException; | ... | @@ -30,7 +30,6 @@ import org.onosproject.yangutils.translator.exception.TranslatorException; |
| 30 | 30 | ||
| 31 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_CLASS_MASK; | 31 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_CLASS_MASK; |
| 32 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_INTERFACE_MASK; | 32 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.BUILDER_INTERFACE_MASK; |
| 33 | -import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_INTERFACE_WITH_BUILDER; | ||
| 34 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_TYPEDEF_CLASS; | 33 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_TYPEDEF_CLASS; |
| 35 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.IMPL_CLASS_MASK; | 34 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.IMPL_CLASS_MASK; |
| 36 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.INTERFACE_MASK; | 35 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.INTERFACE_MASK; |
| ... | @@ -74,6 +73,14 @@ import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator | ... | @@ -74,6 +73,14 @@ import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator |
| 74 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getToStringMethod; | 73 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getToStringMethod; |
| 75 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getTypeDefConstructor; | 74 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getTypeDefConstructor; |
| 76 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.parseBuilderInterfaceBuildMethodString; | 75 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.parseBuilderInterfaceBuildMethodString; |
| 76 | +import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.addArrayListImport; | ||
| 77 | +import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.addAugmentedInfoImport; | ||
| 78 | +import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.addHasAugmentationImport; | ||
| 79 | +import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.addImportsToStringAndHasCodeMethods; | ||
| 80 | +import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.closeFile; | ||
| 81 | +import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.isAugmentedInfoExtended; | ||
| 82 | +import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.isHasAugmentationExtended; | ||
| 83 | +import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.prepareJavaFileGeneratorForExtendsList; | ||
| 77 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER; | 84 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER; |
| 78 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; | 85 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; |
| 79 | import static org.onosproject.yangutils.utils.UtilConstants.FOUR_SPACE_INDENTATION; | 86 | import static org.onosproject.yangutils.utils.UtilConstants.FOUR_SPACE_INDENTATION; |
| ... | @@ -84,7 +91,6 @@ import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; | ... | @@ -84,7 +91,6 @@ import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; |
| 84 | import static org.onosproject.yangutils.utils.UtilConstants.SLASH; | 91 | import static org.onosproject.yangutils.utils.UtilConstants.SLASH; |
| 85 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.createPackage; | 92 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.createPackage; |
| 86 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.readAppendFile; | 93 | import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.readAppendFile; |
| 87 | -import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.updateFileHandle; | ||
| 88 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.getJavaDoc; | 94 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.getJavaDoc; |
| 89 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.GETTER_METHOD; | 95 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.GETTER_METHOD; |
| 90 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.OF_METHOD; | 96 | import static org.onosproject.yangutils.utils.io.impl.JavaDocGen.JavaDocType.OF_METHOD; |
| ... | @@ -122,6 +128,11 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -122,6 +128,11 @@ public class TempJavaCodeFragmentFiles { |
| 122 | private String generatedJavaClassName; | 128 | private String generatedJavaClassName; |
| 123 | 129 | ||
| 124 | /** | 130 | /** |
| 131 | + * Contains all the class name which will be extended by generated files. | ||
| 132 | + */ | ||
| 133 | + private List<String> extendsList = new ArrayList<>(); | ||
| 134 | + | ||
| 135 | + /** | ||
| 125 | * File type extension for java classes. | 136 | * File type extension for java classes. |
| 126 | */ | 137 | */ |
| 127 | private static final String JAVA_FILE_EXTENSION = ".java"; | 138 | private static final String JAVA_FILE_EXTENSION = ".java"; |
| ... | @@ -302,6 +313,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -302,6 +313,7 @@ public class TempJavaCodeFragmentFiles { |
| 302 | public TempJavaCodeFragmentFiles(int genFileType, String genDir, String className) | 313 | public TempJavaCodeFragmentFiles(int genFileType, String genDir, String className) |
| 303 | throws IOException { | 314 | throws IOException { |
| 304 | 315 | ||
| 316 | + setExtendsList(new ArrayList<>()); | ||
| 305 | generatedTempFiles = 0; | 317 | generatedTempFiles = 0; |
| 306 | absoluteDirPath = genDir; | 318 | absoluteDirPath = genDir; |
| 307 | generatedJavaClassName = className; | 319 | generatedJavaClassName = className; |
| ... | @@ -399,7 +411,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -399,7 +411,7 @@ public class TempJavaCodeFragmentFiles { |
| 399 | * | 411 | * |
| 400 | * @return java file handle for interface file | 412 | * @return java file handle for interface file |
| 401 | */ | 413 | */ |
| 402 | - public File getInterfaceJavaFileHandle() { | 414 | + private File getInterfaceJavaFileHandle() { |
| 403 | return interfaceJavaFileHandle; | 415 | return interfaceJavaFileHandle; |
| 404 | } | 416 | } |
| 405 | 417 | ||
| ... | @@ -408,7 +420,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -408,7 +420,7 @@ public class TempJavaCodeFragmentFiles { |
| 408 | * | 420 | * |
| 409 | * @param interfaceJavaFileHandle java file handle | 421 | * @param interfaceJavaFileHandle java file handle |
| 410 | */ | 422 | */ |
| 411 | - public void setInterfaceJavaFileHandle(File interfaceJavaFileHandle) { | 423 | + private void setInterfaceJavaFileHandle(File interfaceJavaFileHandle) { |
| 412 | this.interfaceJavaFileHandle = interfaceJavaFileHandle; | 424 | this.interfaceJavaFileHandle = interfaceJavaFileHandle; |
| 413 | } | 425 | } |
| 414 | 426 | ||
| ... | @@ -417,7 +429,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -417,7 +429,7 @@ public class TempJavaCodeFragmentFiles { |
| 417 | * | 429 | * |
| 418 | * @return java file handle for builder interface file | 430 | * @return java file handle for builder interface file |
| 419 | */ | 431 | */ |
| 420 | - public File getBuilderInterfaceJavaFileHandle() { | 432 | + private File getBuilderInterfaceJavaFileHandle() { |
| 421 | return builderInterfaceJavaFileHandle; | 433 | return builderInterfaceJavaFileHandle; |
| 422 | } | 434 | } |
| 423 | 435 | ||
| ... | @@ -426,7 +438,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -426,7 +438,7 @@ public class TempJavaCodeFragmentFiles { |
| 426 | * | 438 | * |
| 427 | * @param builderInterfaceJavaFileHandle java file handle | 439 | * @param builderInterfaceJavaFileHandle java file handle |
| 428 | */ | 440 | */ |
| 429 | - public void setBuilderInterfaceJavaFileHandle(File builderInterfaceJavaFileHandle) { | 441 | + private void setBuilderInterfaceJavaFileHandle(File builderInterfaceJavaFileHandle) { |
| 430 | this.builderInterfaceJavaFileHandle = builderInterfaceJavaFileHandle; | 442 | this.builderInterfaceJavaFileHandle = builderInterfaceJavaFileHandle; |
| 431 | } | 443 | } |
| 432 | 444 | ||
| ... | @@ -435,7 +447,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -435,7 +447,7 @@ public class TempJavaCodeFragmentFiles { |
| 435 | * | 447 | * |
| 436 | * @return java file handle for builder class file | 448 | * @return java file handle for builder class file |
| 437 | */ | 449 | */ |
| 438 | - public File getBuilderClassJavaFileHandle() { | 450 | + private File getBuilderClassJavaFileHandle() { |
| 439 | return builderClassJavaFileHandle; | 451 | return builderClassJavaFileHandle; |
| 440 | } | 452 | } |
| 441 | 453 | ||
| ... | @@ -444,7 +456,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -444,7 +456,7 @@ public class TempJavaCodeFragmentFiles { |
| 444 | * | 456 | * |
| 445 | * @param builderClassJavaFileHandle java file handle | 457 | * @param builderClassJavaFileHandle java file handle |
| 446 | */ | 458 | */ |
| 447 | - public void setBuilderClassJavaFileHandle(File builderClassJavaFileHandle) { | 459 | + private void setBuilderClassJavaFileHandle(File builderClassJavaFileHandle) { |
| 448 | this.builderClassJavaFileHandle = builderClassJavaFileHandle; | 460 | this.builderClassJavaFileHandle = builderClassJavaFileHandle; |
| 449 | } | 461 | } |
| 450 | 462 | ||
| ... | @@ -453,7 +465,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -453,7 +465,7 @@ public class TempJavaCodeFragmentFiles { |
| 453 | * | 465 | * |
| 454 | * @return java file handle for impl class file | 466 | * @return java file handle for impl class file |
| 455 | */ | 467 | */ |
| 456 | - public File getImplClassJavaFileHandle() { | 468 | + private File getImplClassJavaFileHandle() { |
| 457 | return implClassJavaFileHandle; | 469 | return implClassJavaFileHandle; |
| 458 | } | 470 | } |
| 459 | 471 | ||
| ... | @@ -462,7 +474,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -462,7 +474,7 @@ public class TempJavaCodeFragmentFiles { |
| 462 | * | 474 | * |
| 463 | * @param implClassJavaFileHandle java file handle | 475 | * @param implClassJavaFileHandle java file handle |
| 464 | */ | 476 | */ |
| 465 | - public void setImplClassJavaFileHandle(File implClassJavaFileHandle) { | 477 | + private void setImplClassJavaFileHandle(File implClassJavaFileHandle) { |
| 466 | this.implClassJavaFileHandle = implClassJavaFileHandle; | 478 | this.implClassJavaFileHandle = implClassJavaFileHandle; |
| 467 | } | 479 | } |
| 468 | 480 | ||
| ... | @@ -471,7 +483,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -471,7 +483,7 @@ public class TempJavaCodeFragmentFiles { |
| 471 | * | 483 | * |
| 472 | * @return java file handle for typedef class file | 484 | * @return java file handle for typedef class file |
| 473 | */ | 485 | */ |
| 474 | - public File getTypedefClassJavaFileHandle() { | 486 | + private File getTypedefClassJavaFileHandle() { |
| 475 | return typedefClassJavaFileHandle; | 487 | return typedefClassJavaFileHandle; |
| 476 | } | 488 | } |
| 477 | 489 | ||
| ... | @@ -480,7 +492,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -480,7 +492,7 @@ public class TempJavaCodeFragmentFiles { |
| 480 | * | 492 | * |
| 481 | * @param typedefClassJavaFileHandle java file handle | 493 | * @param typedefClassJavaFileHandle java file handle |
| 482 | */ | 494 | */ |
| 483 | - public void setTypedefClassJavaFileHandle(File typedefClassJavaFileHandle) { | 495 | + private void setTypedefClassJavaFileHandle(File typedefClassJavaFileHandle) { |
| 484 | this.typedefClassJavaFileHandle = typedefClassJavaFileHandle; | 496 | this.typedefClassJavaFileHandle = typedefClassJavaFileHandle; |
| 485 | } | 497 | } |
| 486 | 498 | ||
| ... | @@ -498,7 +510,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -498,7 +510,7 @@ public class TempJavaCodeFragmentFiles { |
| 498 | * | 510 | * |
| 499 | * @param attributeForClass file handle for attribute | 511 | * @param attributeForClass file handle for attribute |
| 500 | */ | 512 | */ |
| 501 | - public void setAttributesTempFileHandle(File attributeForClass) { | 513 | + private void setAttributesTempFileHandle(File attributeForClass) { |
| 502 | attributesTempFileHandle = attributeForClass; | 514 | attributesTempFileHandle = attributeForClass; |
| 503 | } | 515 | } |
| 504 | 516 | ||
| ... | @@ -516,7 +528,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -516,7 +528,7 @@ public class TempJavaCodeFragmentFiles { |
| 516 | * | 528 | * |
| 517 | * @param getterForInterface file handle for to getter method | 529 | * @param getterForInterface file handle for to getter method |
| 518 | */ | 530 | */ |
| 519 | - public void setGetterInterfaceTempFileHandle(File getterForInterface) { | 531 | + private void setGetterInterfaceTempFileHandle(File getterForInterface) { |
| 520 | getterInterfaceTempFileHandle = getterForInterface; | 532 | getterInterfaceTempFileHandle = getterForInterface; |
| 521 | } | 533 | } |
| 522 | 534 | ||
| ... | @@ -534,7 +546,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -534,7 +546,7 @@ public class TempJavaCodeFragmentFiles { |
| 534 | * | 546 | * |
| 535 | * @param getterImpl file handle for to getter method's impl | 547 | * @param getterImpl file handle for to getter method's impl |
| 536 | */ | 548 | */ |
| 537 | - public void setGetterImplTempFileHandle(File getterImpl) { | 549 | + private void setGetterImplTempFileHandle(File getterImpl) { |
| 538 | getterImplTempFileHandle = getterImpl; | 550 | getterImplTempFileHandle = getterImpl; |
| 539 | } | 551 | } |
| 540 | 552 | ||
| ... | @@ -552,7 +564,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -552,7 +564,7 @@ public class TempJavaCodeFragmentFiles { |
| 552 | * | 564 | * |
| 553 | * @param setterForInterface file handle for to setter method | 565 | * @param setterForInterface file handle for to setter method |
| 554 | */ | 566 | */ |
| 555 | - public void setSetterInterfaceTempFileHandle(File setterForInterface) { | 567 | + private void setSetterInterfaceTempFileHandle(File setterForInterface) { |
| 556 | setterInterfaceTempFileHandle = setterForInterface; | 568 | setterInterfaceTempFileHandle = setterForInterface; |
| 557 | } | 569 | } |
| 558 | 570 | ||
| ... | @@ -570,7 +582,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -570,7 +582,7 @@ public class TempJavaCodeFragmentFiles { |
| 570 | * | 582 | * |
| 571 | * @param setterImpl file handle for to setter method's implementation class | 583 | * @param setterImpl file handle for to setter method's implementation class |
| 572 | */ | 584 | */ |
| 573 | - public void setSetterImplTempFileHandle(File setterImpl) { | 585 | + private void setSetterImplTempFileHandle(File setterImpl) { |
| 574 | setterImplTempFileHandle = setterImpl; | 586 | setterImplTempFileHandle = setterImpl; |
| 575 | } | 587 | } |
| 576 | 588 | ||
| ... | @@ -588,7 +600,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -588,7 +600,7 @@ public class TempJavaCodeFragmentFiles { |
| 588 | * | 600 | * |
| 589 | * @param constructor file handle for to constructor | 601 | * @param constructor file handle for to constructor |
| 590 | */ | 602 | */ |
| 591 | - public void setConstructorImplTempFileHandle(File constructor) { | 603 | + private void setConstructorImplTempFileHandle(File constructor) { |
| 592 | constructorImplTempFileHandle = constructor; | 604 | constructorImplTempFileHandle = constructor; |
| 593 | } | 605 | } |
| 594 | 606 | ||
| ... | @@ -606,7 +618,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -606,7 +618,7 @@ public class TempJavaCodeFragmentFiles { |
| 606 | * | 618 | * |
| 607 | * @param hashCodeMethod file handle for hash code method | 619 | * @param hashCodeMethod file handle for hash code method |
| 608 | */ | 620 | */ |
| 609 | - public void setHashCodeImplTempFileHandle(File hashCodeMethod) { | 621 | + private void setHashCodeImplTempFileHandle(File hashCodeMethod) { |
| 610 | hashCodeImplTempFileHandle = hashCodeMethod; | 622 | hashCodeImplTempFileHandle = hashCodeMethod; |
| 611 | } | 623 | } |
| 612 | 624 | ||
| ... | @@ -624,7 +636,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -624,7 +636,7 @@ public class TempJavaCodeFragmentFiles { |
| 624 | * | 636 | * |
| 625 | * @param equalsMethod file handle for to equals method | 637 | * @param equalsMethod file handle for to equals method |
| 626 | */ | 638 | */ |
| 627 | - public void setEqualsImplTempFileHandle(File equalsMethod) { | 639 | + private void setEqualsImplTempFileHandle(File equalsMethod) { |
| 628 | equalsImplTempFileHandle = equalsMethod; | 640 | equalsImplTempFileHandle = equalsMethod; |
| 629 | } | 641 | } |
| 630 | 642 | ||
| ... | @@ -642,7 +654,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -642,7 +654,7 @@ public class TempJavaCodeFragmentFiles { |
| 642 | * | 654 | * |
| 643 | * @param toStringMethod file handle for to string method | 655 | * @param toStringMethod file handle for to string method |
| 644 | */ | 656 | */ |
| 645 | - public void setToStringImplTempFileHandle(File toStringMethod) { | 657 | + private void setToStringImplTempFileHandle(File toStringMethod) { |
| 646 | toStringImplTempFileHandle = toStringMethod; | 658 | toStringImplTempFileHandle = toStringMethod; |
| 647 | } | 659 | } |
| 648 | 660 | ||
| ... | @@ -651,7 +663,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -651,7 +663,7 @@ public class TempJavaCodeFragmentFiles { |
| 651 | * | 663 | * |
| 652 | * @return java attribute info | 664 | * @return java attribute info |
| 653 | */ | 665 | */ |
| 654 | - public JavaAttributeInfo getNewAttrInfo() { | 666 | + private JavaAttributeInfo getNewAttrInfo() { |
| 655 | return newAttrInfo; | 667 | return newAttrInfo; |
| 656 | } | 668 | } |
| 657 | 669 | ||
| ... | @@ -660,7 +672,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -660,7 +672,7 @@ public class TempJavaCodeFragmentFiles { |
| 660 | * | 672 | * |
| 661 | * @param newAttrInfo java attribute info | 673 | * @param newAttrInfo java attribute info |
| 662 | */ | 674 | */ |
| 663 | - public void setNewAttrInfo(JavaAttributeInfo newAttrInfo) { | 675 | + private void setNewAttrInfo(JavaAttributeInfo newAttrInfo) { |
| 664 | 676 | ||
| 665 | if (newAttrInfo != null) { | 677 | if (newAttrInfo != null) { |
| 666 | isAttributePresent = true; | 678 | isAttributePresent = true; |
| ... | @@ -673,7 +685,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -673,7 +685,7 @@ public class TempJavaCodeFragmentFiles { |
| 673 | * | 685 | * |
| 674 | * @return current YANG node | 686 | * @return current YANG node |
| 675 | */ | 687 | */ |
| 676 | - public YangNode getCurYangNode() { | 688 | + private YangNode getCurYangNode() { |
| 677 | return curYangNode; | 689 | return curYangNode; |
| 678 | } | 690 | } |
| 679 | 691 | ||
| ... | @@ -682,17 +694,45 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -682,17 +694,45 @@ public class TempJavaCodeFragmentFiles { |
| 682 | * | 694 | * |
| 683 | * @param curYangNode YANG node | 695 | * @param curYangNode YANG node |
| 684 | */ | 696 | */ |
| 685 | - public void setCurYangNode(YangNode curYangNode) { | 697 | + private void setCurYangNode(YangNode curYangNode) { |
| 686 | this.curYangNode = curYangNode; | 698 | this.curYangNode = curYangNode; |
| 687 | } | 699 | } |
| 688 | 700 | ||
| 689 | /** | 701 | /** |
| 702 | + * Returns list of classes to be extended by generated files. | ||
| 703 | + * | ||
| 704 | + * @return list of classes to be extended by generated files | ||
| 705 | + */ | ||
| 706 | + private List<String> getExtendsList() { | ||
| 707 | + return extendsList; | ||
| 708 | + } | ||
| 709 | + | ||
| 710 | + /** | ||
| 711 | + * Sets class to be extended by generated file. | ||
| 712 | + * | ||
| 713 | + * @param extendsList list of classes to be extended | ||
| 714 | + */ | ||
| 715 | + | ||
| 716 | + private void setExtendsList(List<String> extendsList) { | ||
| 717 | + this.extendsList = extendsList; | ||
| 718 | + } | ||
| 719 | + | ||
| 720 | + /** | ||
| 721 | + * Adds class to the extends list. | ||
| 722 | + * | ||
| 723 | + * @param extend class to be extended | ||
| 724 | + */ | ||
| 725 | + public void addToExtendsList(String extend) { | ||
| 726 | + getExtendsList().add(extend); | ||
| 727 | + } | ||
| 728 | + | ||
| 729 | + /** | ||
| 690 | * Adds attribute for class. | 730 | * Adds attribute for class. |
| 691 | * | 731 | * |
| 692 | * @param attr attribute info | 732 | * @param attr attribute info |
| 693 | * @throws IOException when fails to append to temporary file | 733 | * @throws IOException when fails to append to temporary file |
| 694 | */ | 734 | */ |
| 695 | - public void addAttribute(JavaAttributeInfo attr) throws IOException { | 735 | + private void addAttribute(JavaAttributeInfo attr) throws IOException { |
| 696 | appendToFile(getAttributesTempFileHandle(), parseAttribute(attr) + FOUR_SPACE_INDENTATION); | 736 | appendToFile(getAttributesTempFileHandle(), parseAttribute(attr) + FOUR_SPACE_INDENTATION); |
| 697 | } | 737 | } |
| 698 | 738 | ||
| ... | @@ -702,7 +742,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -702,7 +742,7 @@ public class TempJavaCodeFragmentFiles { |
| 702 | * @param attr attribute info | 742 | * @param attr attribute info |
| 703 | * @throws IOException when fails to append to temporary file | 743 | * @throws IOException when fails to append to temporary file |
| 704 | */ | 744 | */ |
| 705 | - public void addGetterForInterface(JavaAttributeInfo attr) throws IOException { | 745 | + private void addGetterForInterface(JavaAttributeInfo attr) throws IOException { |
| 706 | appendToFile(getGetterInterfaceTempFileHandle(), getGetterString(attr) + NEW_LINE); | 746 | appendToFile(getGetterInterfaceTempFileHandle(), getGetterString(attr) + NEW_LINE); |
| 707 | } | 747 | } |
| 708 | 748 | ||
| ... | @@ -713,7 +753,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -713,7 +753,7 @@ public class TempJavaCodeFragmentFiles { |
| 713 | * @param genFiletype generated file type | 753 | * @param genFiletype generated file type |
| 714 | * @throws IOException when fails to append to temporary file | 754 | * @throws IOException when fails to append to temporary file |
| 715 | */ | 755 | */ |
| 716 | - public void addGetterImpl(JavaAttributeInfo attr, int genFiletype) throws IOException { | 756 | + private void addGetterImpl(JavaAttributeInfo attr, int genFiletype) throws IOException { |
| 717 | 757 | ||
| 718 | if ((genFiletype & BUILDER_CLASS_MASK) != 0) { | 758 | if ((genFiletype & BUILDER_CLASS_MASK) != 0) { |
| 719 | appendToFile(getGetterImplTempFileHandle(), getOverRideString() + getGetterForClass(attr) + NEW_LINE); | 759 | appendToFile(getGetterImplTempFileHandle(), getOverRideString() + getGetterForClass(attr) + NEW_LINE); |
| ... | @@ -729,7 +769,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -729,7 +769,7 @@ public class TempJavaCodeFragmentFiles { |
| 729 | * @param attr attribute info | 769 | * @param attr attribute info |
| 730 | * @throws IOException when fails to append to temporary file | 770 | * @throws IOException when fails to append to temporary file |
| 731 | */ | 771 | */ |
| 732 | - public void addSetterForInterface(JavaAttributeInfo attr) throws IOException { | 772 | + private void addSetterForInterface(JavaAttributeInfo attr) throws IOException { |
| 733 | appendToFile(getSetterInterfaceTempFileHandle(), | 773 | appendToFile(getSetterInterfaceTempFileHandle(), |
| 734 | getSetterString(attr, generatedJavaClassName) + NEW_LINE); | 774 | getSetterString(attr, generatedJavaClassName) + NEW_LINE); |
| 735 | } | 775 | } |
| ... | @@ -740,7 +780,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -740,7 +780,7 @@ public class TempJavaCodeFragmentFiles { |
| 740 | * @param attr attribute info | 780 | * @param attr attribute info |
| 741 | * @throws IOException when fails to append to temporary file | 781 | * @throws IOException when fails to append to temporary file |
| 742 | */ | 782 | */ |
| 743 | - public void addSetterImpl(JavaAttributeInfo attr) throws IOException { | 783 | + private void addSetterImpl(JavaAttributeInfo attr) throws IOException { |
| 744 | appendToFile(getSetterImplTempFileHandle(), | 784 | appendToFile(getSetterImplTempFileHandle(), |
| 745 | getOverRideString() + getSetterForClass(attr, generatedJavaClassName) + NEW_LINE); | 785 | getOverRideString() + getSetterForClass(attr, generatedJavaClassName) + NEW_LINE); |
| 746 | } | 786 | } |
| ... | @@ -771,7 +811,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -771,7 +811,7 @@ public class TempJavaCodeFragmentFiles { |
| 771 | * @param attr attribute info | 811 | * @param attr attribute info |
| 772 | * @throws IOException when fails to append to temporary file | 812 | * @throws IOException when fails to append to temporary file |
| 773 | */ | 813 | */ |
| 774 | - public void addConstructor(JavaAttributeInfo attr) throws IOException { | 814 | + private void addConstructor(JavaAttributeInfo attr) throws IOException { |
| 775 | appendToFile(getConstructorImplTempFileHandle(), getConstructor(generatedJavaClassName, attr)); | 815 | appendToFile(getConstructorImplTempFileHandle(), getConstructor(generatedJavaClassName, attr)); |
| 776 | } | 816 | } |
| 777 | 817 | ||
| ... | @@ -826,7 +866,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -826,7 +866,7 @@ public class TempJavaCodeFragmentFiles { |
| 826 | * @param attr attribute info | 866 | * @param attr attribute info |
| 827 | * @throws IOException when fails to append to temporary file | 867 | * @throws IOException when fails to append to temporary file |
| 828 | */ | 868 | */ |
| 829 | - public void addHashCodeMethod(JavaAttributeInfo attr) throws IOException { | 869 | + private void addHashCodeMethod(JavaAttributeInfo attr) throws IOException { |
| 830 | appendToFile(getHashCodeImplTempFileHandle(), getHashCodeMethod(attr) + NEW_LINE); | 870 | appendToFile(getHashCodeImplTempFileHandle(), getHashCodeMethod(attr) + NEW_LINE); |
| 831 | } | 871 | } |
| 832 | 872 | ||
| ... | @@ -836,7 +876,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -836,7 +876,7 @@ public class TempJavaCodeFragmentFiles { |
| 836 | * @param attr attribute info | 876 | * @param attr attribute info |
| 837 | * @throws IOException when fails to append to temporary file | 877 | * @throws IOException when fails to append to temporary file |
| 838 | */ | 878 | */ |
| 839 | - public void addEqualsMethod(JavaAttributeInfo attr) throws IOException { | 879 | + private void addEqualsMethod(JavaAttributeInfo attr) throws IOException { |
| 840 | appendToFile(getEqualsImplTempFileHandle(), getEqualsMethod(attr) + NEW_LINE); | 880 | appendToFile(getEqualsImplTempFileHandle(), getEqualsMethod(attr) + NEW_LINE); |
| 841 | } | 881 | } |
| 842 | 882 | ||
| ... | @@ -846,7 +886,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -846,7 +886,7 @@ public class TempJavaCodeFragmentFiles { |
| 846 | * @param attr attribute info | 886 | * @param attr attribute info |
| 847 | * @throws IOException when fails to append to temporary file | 887 | * @throws IOException when fails to append to temporary file |
| 848 | */ | 888 | */ |
| 849 | - public void addToStringMethod(JavaAttributeInfo attr) throws IOException { | 889 | + private void addToStringMethod(JavaAttributeInfo attr) throws IOException { |
| 850 | appendToFile(getToStringImplTempFileHandle(), getToStringMethod(attr) + NEW_LINE); | 890 | appendToFile(getToStringImplTempFileHandle(), getToStringMethod(attr) + NEW_LINE); |
| 851 | } | 891 | } |
| 852 | 892 | ||
| ... | @@ -1031,7 +1071,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -1031,7 +1071,7 @@ public class TempJavaCodeFragmentFiles { |
| 1031 | } | 1071 | } |
| 1032 | 1072 | ||
| 1033 | /** | 1073 | /** |
| 1034 | - * Add all the leaves in the current data model node as part of the | 1074 | + * Adds all the leaves in the current data model node as part of the |
| 1035 | * generated temporary file. | 1075 | * generated temporary file. |
| 1036 | * | 1076 | * |
| 1037 | * @param curNode java file info of the generated file | 1077 | * @param curNode java file info of the generated file |
| ... | @@ -1139,7 +1179,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -1139,7 +1179,7 @@ public class TempJavaCodeFragmentFiles { |
| 1139 | } | 1179 | } |
| 1140 | 1180 | ||
| 1141 | /** | 1181 | /** |
| 1142 | - * Construct java code exit. | 1182 | + * Constructs java code exit. |
| 1143 | * | 1183 | * |
| 1144 | * @param fileType generated file type | 1184 | * @param fileType generated file type |
| 1145 | * @param curNode current YANG node | 1185 | * @param curNode current YANG node |
| ... | @@ -1152,11 +1192,27 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -1152,11 +1192,27 @@ public class TempJavaCodeFragmentFiles { |
| 1152 | if (curNode instanceof HasJavaImportData && isAttributePresent) { | 1192 | if (curNode instanceof HasJavaImportData && isAttributePresent) { |
| 1153 | imports = ((HasJavaImportData) curNode).getJavaImportData().getImports(getNewAttrInfo()); | 1193 | imports = ((HasJavaImportData) curNode).getJavaImportData().getImports(getNewAttrInfo()); |
| 1154 | } | 1194 | } |
| 1195 | + | ||
| 1196 | + /** | ||
| 1197 | + * Prepares java file generator for extends list. | ||
| 1198 | + */ | ||
| 1199 | + prepareJavaFileGeneratorForExtendsList(getExtendsList()); | ||
| 1200 | + | ||
| 1155 | /** | 1201 | /** |
| 1156 | - * Start generation of files. | 1202 | + * Generate java code. |
| 1157 | */ | 1203 | */ |
| 1158 | - if ((fileType & INTERFACE_MASK) != 0 | (fileType & BUILDER_INTERFACE_MASK) != 0 | 1204 | + if ((fileType & INTERFACE_MASK) != 0 | (fileType & BUILDER_INTERFACE_MASK) != 0) { |
| 1159 | - | fileType == GENERATE_INTERFACE_WITH_BUILDER) { | 1205 | + |
| 1206 | + /** | ||
| 1207 | + * Adds import for HasAugmentation class. | ||
| 1208 | + */ | ||
| 1209 | + if (isHasAugmentationExtended(getExtendsList())) { | ||
| 1210 | + addHasAugmentationImport(curNode, imports, true); | ||
| 1211 | + } | ||
| 1212 | + | ||
| 1213 | + if (isAugmentedInfoExtended(getExtendsList())) { | ||
| 1214 | + addAugmentedInfoImport(curNode, imports, true); | ||
| 1215 | + } | ||
| 1160 | 1216 | ||
| 1161 | /** | 1217 | /** |
| 1162 | * Create interface file. | 1218 | * Create interface file. |
| ... | @@ -1167,25 +1223,36 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -1167,25 +1223,36 @@ public class TempJavaCodeFragmentFiles { |
| 1167 | /** | 1223 | /** |
| 1168 | * Create builder interface file. | 1224 | * Create builder interface file. |
| 1169 | */ | 1225 | */ |
| 1170 | - setBuilderInterfaceJavaFileHandle(getJavaFileHandle(getJavaClassName(BUILDER_INTERFACE_FILE_NAME_SUFFIX))); | 1226 | + if ((fileType & BUILDER_INTERFACE_MASK) != 0) { |
| 1171 | - setBuilderInterfaceJavaFileHandle( | 1227 | + |
| 1172 | - generateBuilderInterfaceFile(getBuilderInterfaceJavaFileHandle(), curNode, isAttributePresent)); | 1228 | + setBuilderInterfaceJavaFileHandle( |
| 1173 | - /** | 1229 | + getJavaFileHandle(getJavaClassName(BUILDER_INTERFACE_FILE_NAME_SUFFIX))); |
| 1174 | - * Append builder interface file to interface file and close it. | 1230 | + setBuilderInterfaceJavaFileHandle( |
| 1175 | - */ | 1231 | + generateBuilderInterfaceFile(getBuilderInterfaceJavaFileHandle(), curNode, isAttributePresent)); |
| 1176 | - mergeJavaFiles(getBuilderInterfaceJavaFileHandle(), getInterfaceJavaFileHandle()); | 1232 | + /** |
| 1233 | + * Append builder interface file to interface file and close it. | ||
| 1234 | + */ | ||
| 1235 | + mergeJavaFiles(getBuilderInterfaceJavaFileHandle(), getInterfaceJavaFileHandle()); | ||
| 1236 | + } | ||
| 1177 | insertDataIntoJavaFile(getInterfaceJavaFileHandle(), getJavaClassDefClose()); | 1237 | insertDataIntoJavaFile(getInterfaceJavaFileHandle(), getJavaClassDefClose()); |
| 1178 | 1238 | ||
| 1239 | + if (isHasAugmentationExtended(getExtendsList())) { | ||
| 1240 | + addHasAugmentationImport(curNode, imports, false); | ||
| 1241 | + } | ||
| 1242 | + if (isAugmentedInfoExtended(getExtendsList())) { | ||
| 1243 | + addAugmentedInfoImport(curNode, imports, false); | ||
| 1244 | + } | ||
| 1179 | } | 1245 | } |
| 1180 | 1246 | ||
| 1181 | - if (curNode instanceof HasJavaImportData && isAttributePresent) { | 1247 | + if ((fileType & BUILDER_CLASS_MASK) != 0 | (fileType & IMPL_CLASS_MASK) != 0) { |
| 1182 | - imports.add(((HasJavaImportData) curNode).getJavaImportData().getImportForHashAndEquals()); | ||
| 1183 | - imports.add(((HasJavaImportData) curNode).getJavaImportData().getImportForToString()); | ||
| 1184 | - java.util.Collections.sort(imports); | ||
| 1185 | - } | ||
| 1186 | 1248 | ||
| 1187 | - if ((fileType & BUILDER_CLASS_MASK) != 0 | (fileType & IMPL_CLASS_MASK) != 0 | 1249 | + if (isAttributePresent) { |
| 1188 | - | fileType == GENERATE_INTERFACE_WITH_BUILDER) { | 1250 | + addImportsToStringAndHasCodeMethods(curNode, imports); |
| 1251 | + } | ||
| 1252 | + if (isHasAugmentationExtended(getExtendsList())) { | ||
| 1253 | + addAugmentedInfoImport(curNode, imports, true); | ||
| 1254 | + addArrayListImport(curNode, imports, true); | ||
| 1255 | + } | ||
| 1189 | 1256 | ||
| 1190 | /** | 1257 | /** |
| 1191 | * Create builder class file. | 1258 | * Create builder class file. |
| ... | @@ -1196,13 +1263,15 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -1196,13 +1263,15 @@ public class TempJavaCodeFragmentFiles { |
| 1196 | /** | 1263 | /** |
| 1197 | * Create impl class file. | 1264 | * Create impl class file. |
| 1198 | */ | 1265 | */ |
| 1199 | - setImplClassJavaFileHandle(getJavaFileHandle(getJavaClassName(IMPL_CLASS_FILE_NAME_SUFFIX))); | 1266 | + if ((fileType & IMPL_CLASS_MASK) != 0) { |
| 1200 | - setImplClassJavaFileHandle( | 1267 | + setImplClassJavaFileHandle(getJavaFileHandle(getJavaClassName(IMPL_CLASS_FILE_NAME_SUFFIX))); |
| 1201 | - generateImplClassFile(getImplClassJavaFileHandle(), curNode, isAttributePresent)); | 1268 | + setImplClassJavaFileHandle( |
| 1202 | - /** | 1269 | + generateImplClassFile(getImplClassJavaFileHandle(), curNode, isAttributePresent)); |
| 1203 | - * Append impl class to builder class and close it. | 1270 | + /** |
| 1204 | - */ | 1271 | + * Append impl class to builder class and close it. |
| 1205 | - mergeJavaFiles(getImplClassJavaFileHandle(), getBuilderClassJavaFileHandle()); | 1272 | + */ |
| 1273 | + mergeJavaFiles(getImplClassJavaFileHandle(), getBuilderClassJavaFileHandle()); | ||
| 1274 | + } | ||
| 1206 | insertDataIntoJavaFile(getBuilderClassJavaFileHandle(), getJavaClassDefClose()); | 1275 | insertDataIntoJavaFile(getBuilderClassJavaFileHandle(), getJavaClassDefClose()); |
| 1207 | } | 1276 | } |
| 1208 | 1277 | ||
| ... | @@ -1210,6 +1279,7 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -1210,6 +1279,7 @@ public class TempJavaCodeFragmentFiles { |
| 1210 | * Creates type def class file. | 1279 | * Creates type def class file. |
| 1211 | */ | 1280 | */ |
| 1212 | if ((fileType & GENERATE_TYPEDEF_CLASS) != 0) { | 1281 | if ((fileType & GENERATE_TYPEDEF_CLASS) != 0) { |
| 1282 | + addImportsToStringAndHasCodeMethods(curNode, imports); | ||
| 1213 | setTypedefClassJavaFileHandle(getJavaFileHandle(getJavaClassName(TYPEDEF_CLASS_FILE_NAME_SUFFIX))); | 1283 | setTypedefClassJavaFileHandle(getJavaFileHandle(getJavaClassName(TYPEDEF_CLASS_FILE_NAME_SUFFIX))); |
| 1214 | setTypedefClassJavaFileHandle(generateTypeDefClassFile(getTypedefClassJavaFileHandle(), curNode, imports)); | 1284 | setTypedefClassJavaFileHandle(generateTypeDefClassFile(getTypedefClassJavaFileHandle(), curNode, imports)); |
| 1215 | } | 1285 | } |
| ... | @@ -1285,19 +1355,4 @@ public class TempJavaCodeFragmentFiles { | ... | @@ -1285,19 +1355,4 @@ public class TempJavaCodeFragmentFiles { |
| 1285 | generatedTempFiles = 0; | 1355 | generatedTempFiles = 0; |
| 1286 | } | 1356 | } |
| 1287 | 1357 | ||
| 1288 | - /** | ||
| 1289 | - * Closes the file handle for temporary file. | ||
| 1290 | - * | ||
| 1291 | - * @param fileName temporary file's name | ||
| 1292 | - * @throws IOException when failed to close the file handle | ||
| 1293 | - */ | ||
| 1294 | - private void closeFile(File file, boolean toBeDeleted) throws IOException { | ||
| 1295 | - | ||
| 1296 | - if (file != null) { | ||
| 1297 | - updateFileHandle(file, null, true); | ||
| 1298 | - if (toBeDeleted) { | ||
| 1299 | - file.delete(); | ||
| 1300 | - } | ||
| 1301 | - } | ||
| 1302 | - } | ||
| 1303 | } | 1358 | } | ... | ... |
| ... | @@ -16,6 +16,7 @@ | ... | @@ -16,6 +16,7 @@ |
| 16 | package org.onosproject.yangutils.translator.tojava.javamodel; | 16 | package org.onosproject.yangutils.translator.tojava.javamodel; |
| 17 | 17 | ||
| 18 | import java.io.IOException; | 18 | import java.io.IOException; |
| 19 | + | ||
| 19 | import org.onosproject.yangutils.datamodel.YangAugment; | 20 | import org.onosproject.yangutils.datamodel.YangAugment; |
| 20 | import org.onosproject.yangutils.translator.exception.TranslatorException; | 21 | import org.onosproject.yangutils.translator.exception.TranslatorException; |
| 21 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; | 22 | import org.onosproject.yangutils.translator.tojava.JavaCodeGenerator; |
| ... | @@ -137,11 +138,12 @@ public class YangJavaAugment extends YangAugment implements JavaCodeGeneratorInf | ... | @@ -137,11 +138,12 @@ public class YangJavaAugment extends YangAugment implements JavaCodeGeneratorInf |
| 137 | } | 138 | } |
| 138 | 139 | ||
| 139 | /** | 140 | /** |
| 140 | - * Creates a java file using the YANG grouping info. | 141 | + * Create a java file using the YANG augment info. |
| 142 | + * | ||
| 143 | + * @throws IOException when failed to do IO operations | ||
| 141 | */ | 144 | */ |
| 142 | @Override | 145 | @Override |
| 143 | - public void generateCodeExit() { | 146 | + public void generateCodeExit() throws IOException { |
| 144 | - // TODO Auto-generated method stub | 147 | + getTempJavaCodeFragmentFiles().generateJavaFile(GENERATE_INTERFACE_WITH_BUILDER, this); |
| 145 | - | ||
| 146 | } | 148 | } |
| 147 | } | 149 | } | ... | ... |
| ... | @@ -136,7 +136,7 @@ public class YangJavaCase extends YangCase implements JavaCodeGeneratorInfo, Jav | ... | @@ -136,7 +136,7 @@ public class YangJavaCase extends YangCase implements JavaCodeGeneratorInfo, Jav |
| 136 | } | 136 | } |
| 137 | 137 | ||
| 138 | /** | 138 | /** |
| 139 | - * Creates a java file using the YANG grouping info. | 139 | + * Creates a java file using the YANG case info. |
| 140 | */ | 140 | */ |
| 141 | @Override | 141 | @Override |
| 142 | public void generateCodeExit() { | 142 | public void generateCodeExit() { | ... | ... |
| ... | @@ -125,7 +125,7 @@ public class YangJavaChoice extends YangChoice implements JavaCodeGeneratorInfo, | ... | @@ -125,7 +125,7 @@ public class YangJavaChoice extends YangChoice implements JavaCodeGeneratorInfo, |
| 125 | 125 | ||
| 126 | /** | 126 | /** |
| 127 | * Prepare the information for java code generation corresponding to YANG | 127 | * Prepare the information for java code generation corresponding to YANG |
| 128 | - * case info. | 128 | + * choice info. |
| 129 | * | 129 | * |
| 130 | * @param yangPlugin YANG plugin config | 130 | * @param yangPlugin YANG plugin config |
| 131 | * @throws IOException IO operation fail | 131 | * @throws IOException IO operation fail |
| ... | @@ -137,7 +137,7 @@ public class YangJavaChoice extends YangChoice implements JavaCodeGeneratorInfo, | ... | @@ -137,7 +137,7 @@ public class YangJavaChoice extends YangChoice implements JavaCodeGeneratorInfo, |
| 137 | } | 137 | } |
| 138 | 138 | ||
| 139 | /** | 139 | /** |
| 140 | - * Creates a java file using the YANG grouping info. | 140 | + * Creates a java file using the YANG choice info. |
| 141 | */ | 141 | */ |
| 142 | @Override | 142 | @Override |
| 143 | public void generateCodeExit() { | 143 | public void generateCodeExit() { | ... | ... |
| ... | @@ -125,7 +125,7 @@ public class YangJavaGrouping extends YangGrouping implements JavaCodeGeneratorI | ... | @@ -125,7 +125,7 @@ public class YangJavaGrouping extends YangGrouping implements JavaCodeGeneratorI |
| 125 | 125 | ||
| 126 | /** | 126 | /** |
| 127 | * Prepare the information for java code generation corresponding to YANG | 127 | * Prepare the information for java code generation corresponding to YANG |
| 128 | - * container info. | 128 | + * grouping info. |
| 129 | * | 129 | * |
| 130 | * @param yangPlugin YANG plugin config | 130 | * @param yangPlugin YANG plugin config |
| 131 | * @throws IOException IO operation fail | 131 | * @throws IOException IO operation fail | ... | ... |
| ... | @@ -126,7 +126,7 @@ public class YangJavaInput extends YangInput implements JavaCodeGeneratorInfo, J | ... | @@ -126,7 +126,7 @@ public class YangJavaInput extends YangInput implements JavaCodeGeneratorInfo, J |
| 126 | 126 | ||
| 127 | /** | 127 | /** |
| 128 | * Prepare the information for java code generation corresponding to YANG | 128 | * Prepare the information for java code generation corresponding to YANG |
| 129 | - * container info. | 129 | + * input info. |
| 130 | * | 130 | * |
| 131 | * @param yangPlugin YANG plugin config | 131 | * @param yangPlugin YANG plugin config |
| 132 | * @throws IOException IO operation fail | 132 | * @throws IOException IO operation fail |
| ... | @@ -137,7 +137,7 @@ public class YangJavaInput extends YangInput implements JavaCodeGeneratorInfo, J | ... | @@ -137,7 +137,7 @@ public class YangJavaInput extends YangInput implements JavaCodeGeneratorInfo, J |
| 137 | } | 137 | } |
| 138 | 138 | ||
| 139 | /** | 139 | /** |
| 140 | - * Creates a java file using the YANG grouping info. | 140 | + * Creates a java file using the YANG input info. |
| 141 | * | 141 | * |
| 142 | * @throws IOException IO operation fail | 142 | * @throws IOException IO operation fail |
| 143 | */ | 143 | */ | ... | ... |
| ... | @@ -125,7 +125,7 @@ public class YangJavaList extends YangList implements JavaCodeGeneratorInfo, Jav | ... | @@ -125,7 +125,7 @@ public class YangJavaList extends YangList implements JavaCodeGeneratorInfo, Jav |
| 125 | 125 | ||
| 126 | /** | 126 | /** |
| 127 | * Prepare the information for java code generation corresponding to YANG | 127 | * Prepare the information for java code generation corresponding to YANG |
| 128 | - * container info. | 128 | + * list info. |
| 129 | * | 129 | * |
| 130 | * @param yangPlugin YANG plugin config | 130 | * @param yangPlugin YANG plugin config |
| 131 | * @throws IOException IO operation fail | 131 | * @throws IOException IO operation fail |
| ... | @@ -136,7 +136,7 @@ public class YangJavaList extends YangList implements JavaCodeGeneratorInfo, Jav | ... | @@ -136,7 +136,7 @@ public class YangJavaList extends YangList implements JavaCodeGeneratorInfo, Jav |
| 136 | } | 136 | } |
| 137 | 137 | ||
| 138 | /** | 138 | /** |
| 139 | - * Creates a java file using the YANG grouping info. | 139 | + * Creates a java file using the YANG list info. |
| 140 | * | 140 | * |
| 141 | * @throws IOException IO operation fail | 141 | * @throws IOException IO operation fail |
| 142 | */ | 142 | */ | ... | ... |
| ... | @@ -165,7 +165,7 @@ public class YangJavaNotification extends YangNotification | ... | @@ -165,7 +165,7 @@ public class YangJavaNotification extends YangNotification |
| 165 | } | 165 | } |
| 166 | 166 | ||
| 167 | /** | 167 | /** |
| 168 | - * Create a java file using the YANG notification info. | 168 | + * Creates a java file using the YANG notification info. |
| 169 | */ | 169 | */ |
| 170 | @Override | 170 | @Override |
| 171 | public void generateCodeExit() { | 171 | public void generateCodeExit() { | ... | ... |
| ... | @@ -126,7 +126,7 @@ public class YangJavaOutput extends YangOutput implements JavaCodeGeneratorInfo, | ... | @@ -126,7 +126,7 @@ public class YangJavaOutput extends YangOutput implements JavaCodeGeneratorInfo, |
| 126 | 126 | ||
| 127 | /** | 127 | /** |
| 128 | * Prepare the information for java code generation corresponding to YANG | 128 | * Prepare the information for java code generation corresponding to YANG |
| 129 | - * container info. | 129 | + * output info. |
| 130 | * | 130 | * |
| 131 | * @param yangPlugin YANG plugin config | 131 | * @param yangPlugin YANG plugin config |
| 132 | * @throws IOException IO operation fail | 132 | * @throws IOException IO operation fail |
| ... | @@ -137,7 +137,7 @@ public class YangJavaOutput extends YangOutput implements JavaCodeGeneratorInfo, | ... | @@ -137,7 +137,7 @@ public class YangJavaOutput extends YangOutput implements JavaCodeGeneratorInfo, |
| 137 | } | 137 | } |
| 138 | 138 | ||
| 139 | /** | 139 | /** |
| 140 | - * Creates a java file using the YANG grouping info. | 140 | + * Creates a java file using the YANG output info. |
| 141 | * | 141 | * |
| 142 | * @throws IOException IO operation fail | 142 | * @throws IOException IO operation fail |
| 143 | */ | 143 | */ | ... | ... |
utils/yangutils/src/main/java/org/onosproject/yangutils/translator/tojava/javamodel/YangJavaRpc.java
| ... | @@ -34,7 +34,7 @@ public class YangJavaRpc extends YangRpc implements JavaCodeGenerator { | ... | @@ -34,7 +34,7 @@ public class YangJavaRpc extends YangRpc implements JavaCodeGenerator { |
| 34 | 34 | ||
| 35 | /** | 35 | /** |
| 36 | * Prepares the information for java code generation corresponding to YANG | 36 | * Prepares the information for java code generation corresponding to YANG |
| 37 | - * rpc info. | 37 | + * RPC info. |
| 38 | * | 38 | * |
| 39 | * @param yangPlugin YANG plugin config | 39 | * @param yangPlugin YANG plugin config |
| 40 | * @throws IOException IO operation fail | 40 | * @throws IOException IO operation fail |
| ... | @@ -45,7 +45,7 @@ public class YangJavaRpc extends YangRpc implements JavaCodeGenerator { | ... | @@ -45,7 +45,7 @@ public class YangJavaRpc extends YangRpc implements JavaCodeGenerator { |
| 45 | } | 45 | } |
| 46 | 46 | ||
| 47 | /** | 47 | /** |
| 48 | - * Creates a java file using the YANG rpc info. | 48 | + * Creates a java file using the YANG RPC info. |
| 49 | * | 49 | * |
| 50 | * @throws IOException IO operation fail | 50 | * @throws IOException IO operation fail |
| 51 | */ | 51 | */ | ... | ... |
| ... | @@ -139,7 +139,7 @@ public class YangJavaSubModule extends YangSubModule implements JavaCodeGenerato | ... | @@ -139,7 +139,7 @@ public class YangJavaSubModule extends YangSubModule implements JavaCodeGenerato |
| 139 | 139 | ||
| 140 | /** | 140 | /** |
| 141 | * Prepare the information for java code generation corresponding to YANG | 141 | * Prepare the information for java code generation corresponding to YANG |
| 142 | - * container info. | 142 | + * submodule info. |
| 143 | * | 143 | * |
| 144 | * @param yangPlugin YANG plugin config | 144 | * @param yangPlugin YANG plugin config |
| 145 | * @throws IOException IO operation fail | 145 | * @throws IOException IO operation fail |
| ... | @@ -152,7 +152,7 @@ public class YangJavaSubModule extends YangSubModule implements JavaCodeGenerato | ... | @@ -152,7 +152,7 @@ public class YangJavaSubModule extends YangSubModule implements JavaCodeGenerato |
| 152 | } | 152 | } |
| 153 | 153 | ||
| 154 | /** | 154 | /** |
| 155 | - * Creates a java file using the YANG grouping info. | 155 | + * Creates a java file using the YANG submodule info. |
| 156 | */ | 156 | */ |
| 157 | @Override | 157 | @Override |
| 158 | public void generateCodeExit() { | 158 | public void generateCodeExit() { | ... | ... |
| ... | @@ -135,7 +135,7 @@ public class YangJavaTypeDef extends YangTypeDef | ... | @@ -135,7 +135,7 @@ public class YangJavaTypeDef extends YangTypeDef |
| 135 | 135 | ||
| 136 | /** | 136 | /** |
| 137 | * Prepare the information for java code generation corresponding to YANG | 137 | * Prepare the information for java code generation corresponding to YANG |
| 138 | - * container info. | 138 | + * typedef info. |
| 139 | * | 139 | * |
| 140 | * @param yangPlugin YANG plugin config | 140 | * @param yangPlugin YANG plugin config |
| 141 | * @throws IOException IO operations fails | 141 | * @throws IOException IO operations fails |
| ... | @@ -162,7 +162,7 @@ public class YangJavaTypeDef extends YangTypeDef | ... | @@ -162,7 +162,7 @@ public class YangJavaTypeDef extends YangTypeDef |
| 162 | } | 162 | } |
| 163 | 163 | ||
| 164 | /** | 164 | /** |
| 165 | - * Create a java file using the YANG grouping info. | 165 | + * Create a java file using the YANG typedef info. |
| 166 | * | 166 | * |
| 167 | * @throws IOException IO operations fails | 167 | * @throws IOException IO operations fails |
| 168 | */ | 168 | */ | ... | ... |
| ... | @@ -103,7 +103,7 @@ public class YangJavaUses extends YangUses implements JavaCodeGenerator, HasJava | ... | @@ -103,7 +103,7 @@ public class YangJavaUses extends YangUses implements JavaCodeGenerator, HasJava |
| 103 | 103 | ||
| 104 | /** | 104 | /** |
| 105 | * Prepare the information for java code generation corresponding to YANG | 105 | * Prepare the information for java code generation corresponding to YANG |
| 106 | - * container info. | 106 | + * uses info. |
| 107 | * | 107 | * |
| 108 | * @param yangPlugin YANG plugin config | 108 | * @param yangPlugin YANG plugin config |
| 109 | */ | 109 | */ |
| ... | @@ -120,7 +120,7 @@ public class YangJavaUses extends YangUses implements JavaCodeGenerator, HasJava | ... | @@ -120,7 +120,7 @@ public class YangJavaUses extends YangUses implements JavaCodeGenerator, HasJava |
| 120 | } | 120 | } |
| 121 | 121 | ||
| 122 | /** | 122 | /** |
| 123 | - * Create a java file using the YANG grouping info. | 123 | + * Create a java file using the YANG uses info. |
| 124 | */ | 124 | */ |
| 125 | @Override | 125 | @Override |
| 126 | public void generateCodeExit() { | 126 | public void generateCodeExit() { | ... | ... |
| ... | @@ -16,35 +16,19 @@ | ... | @@ -16,35 +16,19 @@ |
| 16 | 16 | ||
| 17 | package org.onosproject.yangutils.translator.tojava.utils; | 17 | package org.onosproject.yangutils.translator.tojava.utils; |
| 18 | 18 | ||
| 19 | -import java.util.Set; | ||
| 20 | -import java.util.TreeSet; | ||
| 21 | - | ||
| 22 | import org.onosproject.yangutils.datamodel.YangDataTypes; | 19 | import org.onosproject.yangutils.datamodel.YangDataTypes; |
| 20 | +import org.onosproject.yangutils.datamodel.YangDerivedInfo; | ||
| 21 | +import org.onosproject.yangutils.datamodel.YangNode; | ||
| 23 | import org.onosproject.yangutils.datamodel.YangType; | 22 | import org.onosproject.yangutils.datamodel.YangType; |
| 24 | -import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; | 23 | +import org.onosproject.yangutils.datamodel.YangTypeDef; |
| 24 | +import org.onosproject.yangutils.translator.exception.TranslatorException; | ||
| 25 | +import org.onosproject.yangutils.translator.tojava.HasJavaFileInfo; | ||
| 26 | +import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | ||
| 27 | +import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaTypeDef; | ||
| 25 | 28 | ||
| 26 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.BINARY; | ||
| 27 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.BITS; | ||
| 28 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.BOOLEAN; | ||
| 29 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.DECIMAL64; | ||
| 30 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.DERIVED; | ||
| 31 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.EMPTY; | ||
| 32 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.ENUMERATION; | ||
| 33 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.IDENTITYREF; | ||
| 34 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.INSTANCE_IDENTIFIER; | ||
| 35 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.INT16; | ||
| 36 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.INT32; | ||
| 37 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.INT64; | ||
| 38 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.INT8; | ||
| 39 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.LEAFREF; | ||
| 40 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.STRING; | ||
| 41 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.UINT16; | ||
| 42 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.UINT32; | ||
| 43 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.UINT64; | ||
| 44 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.UINT8; | ||
| 45 | -import static org.onosproject.yangutils.datamodel.YangDataTypes.UNION; | ||
| 46 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; | 29 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; |
| 47 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCaptialCase; | 30 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCaptialCase; |
| 31 | +import static org.onosproject.yangutils.utils.UtilConstants.BIG_INTEGER; | ||
| 48 | import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_DATA_TYPE; | 32 | import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_DATA_TYPE; |
| 49 | import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_WRAPPER; | 33 | import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_WRAPPER; |
| 50 | import static org.onosproject.yangutils.utils.UtilConstants.BYTE; | 34 | import static org.onosproject.yangutils.utils.UtilConstants.BYTE; |
| ... | @@ -52,8 +36,10 @@ import static org.onosproject.yangutils.utils.UtilConstants.BYTE_WRAPPER; | ... | @@ -52,8 +36,10 @@ import static org.onosproject.yangutils.utils.UtilConstants.BYTE_WRAPPER; |
| 52 | import static org.onosproject.yangutils.utils.UtilConstants.INT; | 36 | import static org.onosproject.yangutils.utils.UtilConstants.INT; |
| 53 | import static org.onosproject.yangutils.utils.UtilConstants.INTEGER_WRAPPER; | 37 | import static org.onosproject.yangutils.utils.UtilConstants.INTEGER_WRAPPER; |
| 54 | import static org.onosproject.yangutils.utils.UtilConstants.JAVA_LANG; | 38 | import static org.onosproject.yangutils.utils.UtilConstants.JAVA_LANG; |
| 39 | +import static org.onosproject.yangutils.utils.UtilConstants.JAVA_MATH; | ||
| 55 | import static org.onosproject.yangutils.utils.UtilConstants.LONG; | 40 | import static org.onosproject.yangutils.utils.UtilConstants.LONG; |
| 56 | import static org.onosproject.yangutils.utils.UtilConstants.LONG_WRAPPER; | 41 | import static org.onosproject.yangutils.utils.UtilConstants.LONG_WRAPPER; |
| 42 | +import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; | ||
| 57 | import static org.onosproject.yangutils.utils.UtilConstants.SHORT; | 43 | import static org.onosproject.yangutils.utils.UtilConstants.SHORT; |
| 58 | import static org.onosproject.yangutils.utils.UtilConstants.SHORT_WRAPPER; | 44 | import static org.onosproject.yangutils.utils.UtilConstants.SHORT_WRAPPER; |
| 59 | import static org.onosproject.yangutils.utils.UtilConstants.STRING_DATA_TYPE; | 45 | import static org.onosproject.yangutils.utils.UtilConstants.STRING_DATA_TYPE; |
| ... | @@ -63,8 +49,6 @@ import static org.onosproject.yangutils.utils.UtilConstants.STRING_DATA_TYPE; | ... | @@ -63,8 +49,6 @@ import static org.onosproject.yangutils.utils.UtilConstants.STRING_DATA_TYPE; |
| 63 | */ | 49 | */ |
| 64 | public final class AttributesJavaDataType { | 50 | public final class AttributesJavaDataType { |
| 65 | 51 | ||
| 66 | - private static Set<JavaQualifiedTypeInfo> importInfo = new TreeSet<>(); | ||
| 67 | - | ||
| 68 | /** | 52 | /** |
| 69 | * Creates an instance of attribute java data type. | 53 | * Creates an instance of attribute java data type. |
| 70 | */ | 54 | */ |
| ... | @@ -72,26 +56,6 @@ public final class AttributesJavaDataType { | ... | @@ -72,26 +56,6 @@ public final class AttributesJavaDataType { |
| 72 | } | 56 | } |
| 73 | 57 | ||
| 74 | /** | 58 | /** |
| 75 | - * Returns import info. | ||
| 76 | - * | ||
| 77 | - * @return import info | ||
| 78 | - */ | ||
| 79 | - public static Set<JavaQualifiedTypeInfo> getImportInfo() { | ||
| 80 | - | ||
| 81 | - return importInfo; | ||
| 82 | - } | ||
| 83 | - | ||
| 84 | - /** | ||
| 85 | - * Adds import info to the import info set. | ||
| 86 | - * | ||
| 87 | - * @param importData import info | ||
| 88 | - */ | ||
| 89 | - public static void addImportInfo(JavaQualifiedTypeInfo importData) { | ||
| 90 | - | ||
| 91 | - getImportInfo().add(importData); | ||
| 92 | - } | ||
| 93 | - | ||
| 94 | - /** | ||
| 95 | * Returns java type. | 59 | * Returns java type. |
| 96 | * | 60 | * |
| 97 | * @param yangType YANG type | 61 | * @param yangType YANG type |
| ... | @@ -101,48 +65,32 @@ public final class AttributesJavaDataType { | ... | @@ -101,48 +65,32 @@ public final class AttributesJavaDataType { |
| 101 | 65 | ||
| 102 | YangDataTypes type = yangType.getDataType(); | 66 | YangDataTypes type = yangType.getDataType(); |
| 103 | 67 | ||
| 104 | - if (type.equals(INT8)) { | 68 | + switch (type) { |
| 105 | - return BYTE; | 69 | + case INT8: |
| 106 | - } else if (type.equals(INT16)) { | 70 | + return BYTE; |
| 107 | - return SHORT; | 71 | + case INT16: |
| 108 | - } else if (type.equals(INT32)) { | 72 | + return SHORT; |
| 109 | - return INT; | 73 | + case INT32: |
| 110 | - } else if (type.equals(INT64)) { | 74 | + return INT; |
| 111 | - return LONG; | 75 | + case INT64: |
| 112 | - } else if (type.equals(UINT8)) { | 76 | + return LONG; |
| 113 | - return SHORT; | 77 | + case UINT8: |
| 114 | - } else if (type.equals(UINT16)) { | 78 | + return SHORT; |
| 115 | - return INT; | 79 | + case UINT16: |
| 116 | - } else if (type.equals(UINT32)) { | 80 | + return INT; |
| 117 | - return LONG; | 81 | + case UINT32: |
| 118 | - } else if (type.equals(UINT64)) { | 82 | + return LONG; |
| 119 | - //TODO: BIGINTEGER. | 83 | + case UINT64: |
| 120 | - } else if (type.equals(DECIMAL64)) { | 84 | + return BIG_INTEGER; |
| 121 | - //TODO: DECIMAL64. | 85 | + case DECIMAL64: |
| 122 | - } else if (type.equals(STRING)) { | 86 | + //TODO: DECIMAL64. |
| 123 | - return STRING_DATA_TYPE; | 87 | + case STRING: |
| 124 | - } else if (type.equals(BOOLEAN)) { | 88 | + return STRING_DATA_TYPE; |
| 125 | - return BOOLEAN_DATA_TYPE; | 89 | + case BOOLEAN: |
| 126 | - } else if (type.equals(ENUMERATION)) { | 90 | + return BOOLEAN_DATA_TYPE; |
| 127 | - //TODO: ENUMERATION. | 91 | + default: |
| 128 | - } else if (type.equals(BITS)) { | 92 | + throw new TranslatorException("given data type is not supported."); |
| 129 | - //TODO:BITS | ||
| 130 | - } else if (type.equals(BINARY)) { | ||
| 131 | - //TODO:BINARY | ||
| 132 | - } else if (type.equals(LEAFREF)) { | ||
| 133 | - //TODO:LEAFREF | ||
| 134 | - } else if (type.equals(IDENTITYREF)) { | ||
| 135 | - //TODO:IDENTITYREF | ||
| 136 | - } else if (type.equals(EMPTY)) { | ||
| 137 | - //TODO:EMPTY | ||
| 138 | - } else if (type.equals(UNION)) { | ||
| 139 | - //TODO:UNION | ||
| 140 | - } else if (type.equals(INSTANCE_IDENTIFIER)) { | ||
| 141 | - //TODO:INSTANCE_IDENTIFIER | ||
| 142 | - } else if (type.equals(DERIVED)) { | ||
| 143 | - return yangType.getDataTypeName(); | ||
| 144 | } | 93 | } |
| 145 | - return null; | ||
| 146 | } | 94 | } |
| 147 | 95 | ||
| 148 | /** | 96 | /** |
| ... | @@ -157,75 +105,80 @@ public final class AttributesJavaDataType { | ... | @@ -157,75 +105,80 @@ public final class AttributesJavaDataType { |
| 157 | YangDataTypes type = yangType.getDataType(); | 105 | YangDataTypes type = yangType.getDataType(); |
| 158 | 106 | ||
| 159 | if (isListAttr) { | 107 | if (isListAttr) { |
| 160 | - if (type.equals(INT8)) { | 108 | + switch (type) { |
| 161 | - return BYTE_WRAPPER; | 109 | + case INT8: |
| 162 | - } else if (type.equals(INT16)) { | 110 | + return BYTE_WRAPPER; |
| 163 | - return SHORT_WRAPPER; | 111 | + case INT16: |
| 164 | - } else if (type.equals(INT32)) { | 112 | + return SHORT_WRAPPER; |
| 165 | - return INTEGER_WRAPPER; | 113 | + case INT32: |
| 166 | - } else if (type.equals(INT64)) { | 114 | + return INTEGER_WRAPPER; |
| 167 | - return LONG_WRAPPER; | 115 | + case INT64: |
| 168 | - } else if (type.equals(UINT8)) { | 116 | + return LONG_WRAPPER; |
| 169 | - return SHORT_WRAPPER; | 117 | + case UINT8: |
| 170 | - } else if (type.equals(UINT16)) { | 118 | + return SHORT_WRAPPER; |
| 171 | - return INTEGER_WRAPPER; | 119 | + case UINT16: |
| 172 | - } else if (type.equals(UINT32)) { | 120 | + return INTEGER_WRAPPER; |
| 173 | - return LONG_WRAPPER; | 121 | + case UINT32: |
| 174 | - } else if (type.equals(UINT64)) { | 122 | + return LONG_WRAPPER; |
| 175 | - //TODO: BIGINTEGER. | 123 | + case UINT64: |
| 176 | - } else if (type.equals(DECIMAL64)) { | 124 | + return BIG_INTEGER; |
| 177 | - //TODO: DECIMAL64. | 125 | + case DECIMAL64: |
| 178 | - } else if (type.equals(STRING)) { | 126 | + //TODO: DECIMAL64. |
| 179 | - return STRING_DATA_TYPE; | 127 | + case STRING: |
| 180 | - } else if (type.equals(BOOLEAN)) { | 128 | + return STRING_DATA_TYPE; |
| 181 | - return BOOLEAN_WRAPPER; | 129 | + case BOOLEAN: |
| 182 | - } else if (type.equals(ENUMERATION)) { | 130 | + return BOOLEAN_WRAPPER; |
| 183 | - //TODO: ENUMERATION. | 131 | + case ENUMERATION: |
| 184 | - } else if (type.equals(BITS)) { | 132 | + //TODO: ENUMERATION. |
| 185 | - //TODO:BITS | 133 | + case BITS: |
| 186 | - } else if (type.equals(BINARY)) { | 134 | + //TODO:BITS |
| 187 | - //TODO:BINARY | 135 | + case BINARY: |
| 188 | - } else if (type.equals(LEAFREF)) { | 136 | + //TODO:BINARY |
| 189 | - //TODO:LEAFREF | 137 | + case LEAFREF: |
| 190 | - } else if (type.equals(IDENTITYREF)) { | 138 | + //TODO:LEAFREF |
| 191 | - //TODO:IDENTITYREF | 139 | + case IDENTITYREF: |
| 192 | - } else if (type.equals(EMPTY)) { | 140 | + //TODO:IDENTITYREF |
| 193 | - //TODO:EMPTY | 141 | + case EMPTY: |
| 194 | - } else if (type.equals(UNION)) { | 142 | + return BOOLEAN_WRAPPER; |
| 195 | - //TODO:UNION | 143 | + case UNION: |
| 196 | - } else if (type.equals(INSTANCE_IDENTIFIER)) { | 144 | + //TODO:UNION |
| 197 | - //TODO:INSTANCE_IDENTIFIER | 145 | + case INSTANCE_IDENTIFIER: |
| 198 | - } else if (type.equals(DERIVED)) { | 146 | + //TODO:INSTANCE_IDENTIFIER |
| 199 | - return getCaptialCase(getCamelCase(yangType.getDataTypeName(), null)); | 147 | + case DERIVED: |
| 148 | + return getCaptialCase(getCamelCase(yangType.getDataTypeName(), null)); | ||
| 149 | + default: | ||
| 150 | + throw new TranslatorException("given data type is not supported."); | ||
| 200 | } | 151 | } |
| 201 | } else { | 152 | } else { |
| 202 | - if (type.equals(UINT64)) { | 153 | + switch (type) { |
| 203 | - //TODO: BIGINTEGER. | 154 | + case UINT64: |
| 204 | - } else if (type.equals(DECIMAL64)) { | 155 | + return BIG_INTEGER; |
| 205 | - //TODO: DECIMAL64. | 156 | + case DECIMAL64: |
| 206 | - } else if (type.equals(STRING)) { | 157 | + //TODO: DECIMAL64. |
| 207 | - return STRING_DATA_TYPE; | 158 | + case STRING: |
| 208 | - } else if (type.equals(ENUMERATION)) { | 159 | + return STRING_DATA_TYPE; |
| 209 | - //TODO: ENUMERATION. | 160 | + case ENUMERATION: |
| 210 | - } else if (type.equals(BITS)) { | 161 | + //TODO: ENUMERATION. |
| 211 | - //TODO:BITS | 162 | + case BITS: |
| 212 | - } else if (type.equals(BINARY)) { | 163 | + //TODO:BITS |
| 213 | - //TODO:BINARY | 164 | + case BINARY: |
| 214 | - } else if (type.equals(LEAFREF)) { | 165 | + //TODO:BINARY |
| 215 | - //TODO:LEAFREF | 166 | + case LEAFREF: |
| 216 | - } else if (type.equals(IDENTITYREF)) { | 167 | + //TODO:LEAFREF |
| 217 | - //TODO:IDENTITYREF | 168 | + case IDENTITYREF: |
| 218 | - } else if (type.equals(EMPTY)) { | 169 | + //TODO:IDENTITYREF |
| 219 | - //TODO:EMPTY | 170 | + case EMPTY: |
| 220 | - } else if (type.equals(UNION)) { | 171 | + //TODO:EMPTY |
| 221 | - //TODO:UNION | 172 | + case UNION: |
| 222 | - } else if (type.equals(INSTANCE_IDENTIFIER)) { | 173 | + //TODO:UNION |
| 223 | - //TODO:INSTANCE_IDENTIFIER | 174 | + case INSTANCE_IDENTIFIER: |
| 224 | - } else if (type.equals(DERIVED)) { | 175 | + //TODO:INSTANCE_IDENTIFIER |
| 225 | - return getCaptialCase(getCamelCase(yangType.getDataTypeName(), null)); | 176 | + case DERIVED: |
| 177 | + return getCaptialCase(getCamelCase(yangType.getDataTypeName(), null)); | ||
| 178 | + default: | ||
| 179 | + return null; | ||
| 226 | } | 180 | } |
| 227 | } | 181 | } |
| 228 | - return null; | ||
| 229 | } | 182 | } |
| 230 | 183 | ||
| 231 | /** | 184 | /** |
| ... | @@ -241,75 +194,108 @@ public final class AttributesJavaDataType { | ... | @@ -241,75 +194,108 @@ public final class AttributesJavaDataType { |
| 241 | YangDataTypes type = yangType.getDataType(); | 194 | YangDataTypes type = yangType.getDataType(); |
| 242 | 195 | ||
| 243 | if (isListAttr) { | 196 | if (isListAttr) { |
| 244 | - if (type.equals(INT8) | 197 | + switch (type) { |
| 245 | - || type.equals(INT16) | 198 | + case INT8: |
| 246 | - || type.equals(INT32) | 199 | + case INT16: |
| 247 | - || type.equals(INT64) | 200 | + case INT32: |
| 248 | - || type.equals(UINT8) | 201 | + case INT64: |
| 249 | - || type.equals(UINT16) | 202 | + case UINT8: |
| 250 | - || type.equals(UINT32) | 203 | + case UINT16: |
| 251 | - || type.equals(STRING) | 204 | + case UINT32: |
| 252 | - || type.equals(BOOLEAN)) { | 205 | + case STRING: |
| 253 | - return JAVA_LANG; | 206 | + case BOOLEAN: |
| 254 | - } else if (type.equals(UINT64)) { | 207 | + return JAVA_LANG; |
| 255 | - //TODO: BIGINTEGER. | 208 | + case UINT64: |
| 256 | - } else if (type.equals(DECIMAL64)) { | 209 | + return JAVA_MATH; |
| 257 | - //TODO: DECIMAL64. | 210 | + case DECIMAL64: |
| 258 | - } else if (type.equals(ENUMERATION)) { | 211 | + //TODO: DECIMAL64. |
| 259 | - //TODO: ENUMERATION. | 212 | + case ENUMERATION: |
| 260 | - } else if (type.equals(BITS)) { | 213 | + //TODO: ENUMERATION. |
| 261 | - //TODO:BITS | 214 | + case BITS: |
| 262 | - } else if (type.equals(BINARY)) { | 215 | + //TODO:BITS |
| 263 | - //TODO:BINARY | 216 | + case BINARY: |
| 264 | - } else if (type.equals(LEAFREF)) { | 217 | + //TODO:BINARY |
| 265 | - //TODO:LEAFREF | 218 | + case LEAFREF: |
| 266 | - } else if (type.equals(IDENTITYREF)) { | 219 | + //TODO:LEAFREF |
| 267 | - //TODO:IDENTITYREF | 220 | + case IDENTITYREF: |
| 268 | - } else if (type.equals(EMPTY)) { | 221 | + //TODO:IDENTITYREF |
| 269 | - //TODO:EMPTY | 222 | + case EMPTY: |
| 270 | - } else if (type.equals(UNION)) { | 223 | + //TODO:EMPTY |
| 271 | - //TODO:UNION | 224 | + case UNION: |
| 272 | - } else if (type.equals(INSTANCE_IDENTIFIER)) { | 225 | + //TODO:UNION |
| 273 | - //TODO:INSTANCE_IDENTIFIER | 226 | + case INSTANCE_IDENTIFIER: |
| 274 | - } else if (type.equals(DERIVED)) { | 227 | + //TODO:INSTANCE_IDENTIFIER |
| 275 | - for (JavaQualifiedTypeInfo imports : getImportInfo()) { | 228 | + case DERIVED: |
| 276 | - if (imports.getClassInfo().equals(classInfo)) { | 229 | + return getTypDefsPackage(yangType); |
| 277 | - return imports.getPkgInfo(); | 230 | + default: |
| 278 | - } | 231 | + throw new TranslatorException("given data type is not supported."); |
| 279 | - } | ||
| 280 | } | 232 | } |
| 281 | } else { | 233 | } else { |
| 282 | - | 234 | + switch (type) { |
| 283 | - if (type.equals(UINT64)) { | 235 | + case UINT64: |
| 284 | - //TODO: BIGINTEGER. | 236 | + //TODO: BIGINTEGER. |
| 285 | - } else if (type.equals(DECIMAL64)) { | 237 | + case DECIMAL64: |
| 286 | - //TODO: DECIMAL64. | 238 | + //TODO: DECIMAL64 |
| 287 | - } else if (type.equals(STRING)) { | 239 | + case STRING: |
| 288 | - return JAVA_LANG; | 240 | + return JAVA_LANG; |
| 289 | - } else if (type.equals(ENUMERATION)) { | 241 | + case ENUMERATION: |
| 290 | - //TODO: ENUMERATION. | 242 | + //TODO: ENUMERATION. |
| 291 | - } else if (type.equals(BITS)) { | 243 | + case BITS: |
| 292 | - //TODO:BITS | 244 | + //TODO:BITS |
| 293 | - } else if (type.equals(BINARY)) { | 245 | + case BINARY: |
| 294 | - //TODO:BINARY | 246 | + //TODO:BINARY |
| 295 | - } else if (type.equals(LEAFREF)) { | 247 | + case LEAFREF: |
| 296 | - //TODO:LEAFREF | 248 | + //TODO:LEAFREF |
| 297 | - } else if (type.equals(IDENTITYREF)) { | 249 | + case IDENTITYREF: |
| 298 | - //TODO:IDENTITYREF | 250 | + //TODO:IDENTITYREF |
| 299 | - } else if (type.equals(EMPTY)) { | 251 | + case EMPTY: |
| 300 | - //TODO:EMPTY | 252 | + //TODO:EMPTY |
| 301 | - } else if (type.equals(UNION)) { | 253 | + case UNION: |
| 302 | - //TODO:UNION | 254 | + //TODO:UNION |
| 303 | - } else if (type.equals(INSTANCE_IDENTIFIER)) { | 255 | + case INSTANCE_IDENTIFIER: |
| 304 | - //TODO:INSTANCE_IDENTIFIER | 256 | + //TODO:INSTANCE_IDENTIFIER |
| 305 | - } else if (type.equals(DERIVED)) { | 257 | + case DERIVED: |
| 306 | - for (JavaQualifiedTypeInfo imports : getImportInfo()) { | 258 | + return getTypDefsPackage(yangType); |
| 307 | - if (imports.getClassInfo().equals(classInfo)) { | 259 | + default: |
| 308 | - return imports.getPkgInfo(); | 260 | + return null; |
| 309 | - } | ||
| 310 | - } | ||
| 311 | } | 261 | } |
| 312 | } | 262 | } |
| 313 | - return null; | 263 | + } |
| 264 | + | ||
| 265 | + /** | ||
| 266 | + * Returns java package for typedef node. | ||
| 267 | + * | ||
| 268 | + * @param type YANG type | ||
| 269 | + * @return java package for typedef node | ||
| 270 | + */ | ||
| 271 | + private static String getTypDefsPackage(YangType<?> type) { | ||
| 272 | + Object var = type.getDataTypeExtendedInfo(); | ||
| 273 | + if (!(var instanceof YangDerivedInfo)) { | ||
| 274 | + throw new TranslatorException("type should have been derived."); | ||
| 275 | + } | ||
| 276 | + | ||
| 277 | + if (!(((YangDerivedInfo<?>) var).getReferredTypeDef() instanceof YangTypeDef)) { | ||
| 278 | + throw new TranslatorException("derived info is not an instance of typedef."); | ||
| 279 | + } | ||
| 280 | + | ||
| 281 | + YangJavaTypeDef typedef = (YangJavaTypeDef) ((YangDerivedInfo<?>) var).getReferredTypeDef(); | ||
| 282 | + if (typedef.getJavaFileInfo().getPackage() == null) { | ||
| 283 | + return getPackageFromParent(typedef.getParent()); | ||
| 284 | + } | ||
| 285 | + return typedef.getJavaFileInfo().getPackage(); | ||
| 286 | + } | ||
| 287 | + | ||
| 288 | + /** | ||
| 289 | + * Returns package from parent node. | ||
| 290 | + * | ||
| 291 | + * @param parent parent YANG node | ||
| 292 | + * @return java package from parent node | ||
| 293 | + */ | ||
| 294 | + private static String getPackageFromParent(YangNode parent) { | ||
| 295 | + if (!(parent instanceof HasJavaFileInfo)) { | ||
| 296 | + throw new TranslatorException("Invalid child node is being processed."); | ||
| 297 | + } | ||
| 298 | + JavaFileInfo parentInfo = ((HasJavaFileInfo) parent).getJavaFileInfo(); | ||
| 299 | + return parentInfo.getPackage() + PERIOD + parentInfo.getJavaName().toLowerCase(); | ||
| 314 | } | 300 | } |
| 315 | } | 301 | } | ... | ... |
| ... | @@ -21,8 +21,12 @@ import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType. | ... | @@ -21,8 +21,12 @@ import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType. |
| 21 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_TYPEDEF_CLASS; | 21 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.GENERATE_TYPEDEF_CLASS; |
| 22 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.IMPL_CLASS_MASK; | 22 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.IMPL_CLASS_MASK; |
| 23 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.INTERFACE_MASK; | 23 | import static org.onosproject.yangutils.translator.tojava.GeneratedJavaFileType.INTERFACE_MASK; |
| 24 | +import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.getExtendsList; | ||
| 25 | +import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGenerator.isExtendsList; | ||
| 24 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER; | 26 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER; |
| 25 | import static org.onosproject.yangutils.utils.UtilConstants.CLASS; | 27 | import static org.onosproject.yangutils.utils.UtilConstants.CLASS; |
| 28 | +import static org.onosproject.yangutils.utils.UtilConstants.COMMA; | ||
| 29 | +import static org.onosproject.yangutils.utils.UtilConstants.EXTEND; | ||
| 26 | import static org.onosproject.yangutils.utils.UtilConstants.FINAL; | 30 | import static org.onosproject.yangutils.utils.UtilConstants.FINAL; |
| 27 | import static org.onosproject.yangutils.utils.UtilConstants.IMPL; | 31 | import static org.onosproject.yangutils.utils.UtilConstants.IMPL; |
| 28 | import static org.onosproject.yangutils.utils.UtilConstants.IMPLEMENTS; | 32 | import static org.onosproject.yangutils.utils.UtilConstants.IMPLEMENTS; |
| ... | @@ -32,6 +36,7 @@ import static org.onosproject.yangutils.utils.UtilConstants.OPEN_CURLY_BRACKET; | ... | @@ -32,6 +36,7 @@ import static org.onosproject.yangutils.utils.UtilConstants.OPEN_CURLY_BRACKET; |
| 32 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; | 36 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; |
| 33 | import static org.onosproject.yangutils.utils.UtilConstants.PUBLIC; | 37 | import static org.onosproject.yangutils.utils.UtilConstants.PUBLIC; |
| 34 | import static org.onosproject.yangutils.utils.UtilConstants.SPACE; | 38 | import static org.onosproject.yangutils.utils.UtilConstants.SPACE; |
| 39 | +import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.trimAtLast; | ||
| 35 | 40 | ||
| 36 | /** | 41 | /** |
| 37 | * Represents generator for class definition of generated files. | 42 | * Represents generator for class definition of generated files. |
| ... | @@ -84,8 +89,16 @@ public final class ClassDefinitionGenerator { | ... | @@ -84,8 +89,16 @@ public final class ClassDefinitionGenerator { |
| 84 | * @return definition | 89 | * @return definition |
| 85 | */ | 90 | */ |
| 86 | private static String getInterfaceDefinition(String yangName) { | 91 | private static String getInterfaceDefinition(String yangName) { |
| 92 | + if (!isExtendsList()) { | ||
| 93 | + return PUBLIC + SPACE + INTERFACE + SPACE + yangName + SPACE + OPEN_CURLY_BRACKET + NEW_LINE; | ||
| 94 | + } | ||
| 95 | + String def = PUBLIC + SPACE + INTERFACE + SPACE + yangName + SPACE + EXTEND + SPACE; | ||
| 96 | + for (String extend : getExtendsList()) { | ||
| 97 | + def = def + extend + COMMA; | ||
| 98 | + } | ||
| 99 | + def = trimAtLast(def, COMMA); | ||
| 87 | 100 | ||
| 88 | - return PUBLIC + SPACE + INTERFACE + SPACE + yangName + SPACE + OPEN_CURLY_BRACKET + NEW_LINE; | 101 | + return def + SPACE + OPEN_CURLY_BRACKET + NEW_LINE; |
| 89 | } | 102 | } |
| 90 | 103 | ||
| 91 | /** | 104 | /** |
| ... | @@ -96,7 +109,6 @@ public final class ClassDefinitionGenerator { | ... | @@ -96,7 +109,6 @@ public final class ClassDefinitionGenerator { |
| 96 | * @return definition | 109 | * @return definition |
| 97 | */ | 110 | */ |
| 98 | private static String getBuilderInterfaceDefinition(String yangName) { | 111 | private static String getBuilderInterfaceDefinition(String yangName) { |
| 99 | - | ||
| 100 | return INTERFACE + SPACE + yangName + BUILDER + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + NEW_LINE; | 112 | return INTERFACE + SPACE + yangName + BUILDER + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + NEW_LINE; |
| 101 | } | 113 | } |
| 102 | 114 | ||
| ... | @@ -107,7 +119,6 @@ public final class ClassDefinitionGenerator { | ... | @@ -107,7 +119,6 @@ public final class ClassDefinitionGenerator { |
| 107 | * @return definition | 119 | * @return definition |
| 108 | */ | 120 | */ |
| 109 | private static String getBuilderClassDefinition(String yangName) { | 121 | private static String getBuilderClassDefinition(String yangName) { |
| 110 | - | ||
| 111 | return PUBLIC + SPACE + CLASS + SPACE + yangName + BUILDER + SPACE + IMPLEMENTS + SPACE + yangName + PERIOD | 122 | return PUBLIC + SPACE + CLASS + SPACE + yangName + BUILDER + SPACE + IMPLEMENTS + SPACE + yangName + PERIOD |
| 112 | + yangName + BUILDER + SPACE + OPEN_CURLY_BRACKET + NEW_LINE; | 123 | + yangName + BUILDER + SPACE + OPEN_CURLY_BRACKET + NEW_LINE; |
| 113 | } | 124 | } |
| ... | @@ -119,7 +130,6 @@ public final class ClassDefinitionGenerator { | ... | @@ -119,7 +130,6 @@ public final class ClassDefinitionGenerator { |
| 119 | * @return definition | 130 | * @return definition |
| 120 | */ | 131 | */ |
| 121 | private static String getImplClassDefinition(String yangName) { | 132 | private static String getImplClassDefinition(String yangName) { |
| 122 | - | ||
| 123 | return PUBLIC + SPACE + FINAL + SPACE + CLASS + SPACE + yangName + IMPL + SPACE + IMPLEMENTS + SPACE + yangName | 133 | return PUBLIC + SPACE + FINAL + SPACE + CLASS + SPACE + yangName + IMPL + SPACE + IMPLEMENTS + SPACE + yangName |
| 124 | + SPACE + OPEN_CURLY_BRACKET + NEW_LINE; | 134 | + SPACE + OPEN_CURLY_BRACKET + NEW_LINE; |
| 125 | } | 135 | } |
| ... | @@ -131,7 +141,6 @@ public final class ClassDefinitionGenerator { | ... | @@ -131,7 +141,6 @@ public final class ClassDefinitionGenerator { |
| 131 | * @return definition | 141 | * @return definition |
| 132 | */ | 142 | */ |
| 133 | private static String getTypeDefClassDefinition(String yangName) { | 143 | private static String getTypeDefClassDefinition(String yangName) { |
| 134 | - | ||
| 135 | return PUBLIC + SPACE + FINAL + SPACE + CLASS + SPACE + yangName + SPACE + OPEN_CURLY_BRACKET + NEW_LINE; | 144 | return PUBLIC + SPACE + FINAL + SPACE + CLASS + SPACE + yangName + SPACE + OPEN_CURLY_BRACKET + NEW_LINE; |
| 136 | } | 145 | } |
| 137 | } | 146 | } | ... | ... |
| ... | @@ -20,12 +20,20 @@ import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; | ... | @@ -20,12 +20,20 @@ import org.onosproject.yangutils.translator.tojava.JavaQualifiedTypeInfo; |
| 20 | 20 | ||
| 21 | import static org.onosproject.yangutils.translator.tojava.utils.ClassDefinitionGenerator.generateClassDefinition; | 21 | import static org.onosproject.yangutils.translator.tojava.utils.ClassDefinitionGenerator.generateClassDefinition; |
| 22 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; | 22 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCamelCase; |
| 23 | +import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getSmallCase; | ||
| 24 | +import static org.onosproject.yangutils.utils.UtilConstants.ARRAY_LIST; | ||
| 25 | +import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED_INFO; | ||
| 23 | import static org.onosproject.yangutils.utils.UtilConstants.CLOSE_CURLY_BRACKET; | 26 | import static org.onosproject.yangutils.utils.UtilConstants.CLOSE_CURLY_BRACKET; |
| 27 | +import static org.onosproject.yangutils.utils.UtilConstants.CLOSE_PARENTHESIS; | ||
| 24 | import static org.onosproject.yangutils.utils.UtilConstants.DIAMOND_CLOSE_BRACKET; | 28 | import static org.onosproject.yangutils.utils.UtilConstants.DIAMOND_CLOSE_BRACKET; |
| 25 | import static org.onosproject.yangutils.utils.UtilConstants.DIAMOND_OPEN_BRACKET; | 29 | import static org.onosproject.yangutils.utils.UtilConstants.DIAMOND_OPEN_BRACKET; |
| 30 | +import static org.onosproject.yangutils.utils.UtilConstants.EQUAL; | ||
| 31 | +import static org.onosproject.yangutils.utils.UtilConstants.FOUR_SPACE_INDENTATION; | ||
| 26 | import static org.onosproject.yangutils.utils.UtilConstants.IMPORT; | 32 | import static org.onosproject.yangutils.utils.UtilConstants.IMPORT; |
| 27 | import static org.onosproject.yangutils.utils.UtilConstants.LIST; | 33 | import static org.onosproject.yangutils.utils.UtilConstants.LIST; |
| 34 | +import static org.onosproject.yangutils.utils.UtilConstants.NEW; | ||
| 28 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; | 35 | import static org.onosproject.yangutils.utils.UtilConstants.NEW_LINE; |
| 36 | +import static org.onosproject.yangutils.utils.UtilConstants.OPEN_PARENTHESIS; | ||
| 29 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; | 37 | import static org.onosproject.yangutils.utils.UtilConstants.PERIOD; |
| 30 | import static org.onosproject.yangutils.utils.UtilConstants.PRIVATE; | 38 | import static org.onosproject.yangutils.utils.UtilConstants.PRIVATE; |
| 31 | import static org.onosproject.yangutils.utils.UtilConstants.SEMI_COLAN; | 39 | import static org.onosproject.yangutils.utils.UtilConstants.SEMI_COLAN; |
| ... | @@ -127,6 +135,18 @@ public final class JavaCodeSnippetGen { | ... | @@ -127,6 +135,18 @@ public final class JavaCodeSnippetGen { |
| 127 | } | 135 | } |
| 128 | 136 | ||
| 129 | /** | 137 | /** |
| 138 | + * Returns attribute of augmented info for generated impl file. | ||
| 139 | + * | ||
| 140 | + * @return attribute of augmented info for generated impl file | ||
| 141 | + */ | ||
| 142 | + public static String getAugmentedInfoAttribute() { | ||
| 143 | + return FOUR_SPACE_INDENTATION + PRIVATE + SPACE + getListAttribute(AUGMENTED_INFO) + SPACE | ||
| 144 | + + getSmallCase(AUGMENTED_INFO) + LIST + SPACE + EQUAL + SPACE + NEW + SPACE + ARRAY_LIST | ||
| 145 | + + DIAMOND_OPEN_BRACKET + DIAMOND_CLOSE_BRACKET + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN | ||
| 146 | + + NEW_LINE; | ||
| 147 | + } | ||
| 148 | + | ||
| 149 | + /** | ||
| 130 | * Returns based on the file type and the YANG name of the file, generate the class | 150 | * Returns based on the file type and the YANG name of the file, generate the class |
| 131 | * / interface definition close. | 151 | * / interface definition close. |
| 132 | * | 152 | * | ... | ... |
| ... | @@ -40,16 +40,21 @@ import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType. | ... | @@ -40,16 +40,21 @@ import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType. |
| 40 | import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.SETTER_FOR_CLASS_MASK; | 40 | import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.SETTER_FOR_CLASS_MASK; |
| 41 | import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.SETTER_FOR_INTERFACE_MASK; | 41 | import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.SETTER_FOR_INTERFACE_MASK; |
| 42 | import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.TO_STRING_IMPL_MASK; | 42 | import static org.onosproject.yangutils.translator.tojava.GeneratedTempFileType.TO_STRING_IMPL_MASK; |
| 43 | +import static org.onosproject.yangutils.translator.tojava.utils.JavaCodeSnippetGen.getAugmentedInfoAttribute; | ||
| 43 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getDataFromTempFileHandle; | 44 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.getDataFromTempFileHandle; |
| 44 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.initiateJavaFileGeneration; | 45 | import static org.onosproject.yangutils.translator.tojava.utils.JavaFileGeneratorUtils.initiateJavaFileGeneration; |
| 45 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCaptialCase; | 46 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCaptialCase; |
| 47 | +import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getAddAugmentInfoMethodImpl; | ||
| 48 | +import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getAugmentInfoListImpl; | ||
| 46 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getConstructorStart; | 49 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getConstructorStart; |
| 47 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getEqualsMethodClose; | 50 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getEqualsMethodClose; |
| 48 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getEqualsMethodOpen; | 51 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getEqualsMethodOpen; |
| 49 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getHashCodeMethodClose; | 52 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getHashCodeMethodClose; |
| 50 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getHashCodeMethodOpen; | 53 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getHashCodeMethodOpen; |
| 54 | +import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getRemoveAugmentationImpl; | ||
| 51 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getToStringMethodClose; | 55 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getToStringMethodClose; |
| 52 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getToStringMethodOpen; | 56 | import static org.onosproject.yangutils.translator.tojava.utils.MethodsGenerator.getToStringMethodOpen; |
| 57 | +import static org.onosproject.yangutils.translator.tojava.utils.TempJavaCodeFragmentFilesUtils.isHasAugmentationExtended; | ||
| 53 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER; | 58 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER; |
| 54 | import static org.onosproject.yangutils.utils.UtilConstants.CLOSE_CURLY_BRACKET; | 59 | import static org.onosproject.yangutils.utils.UtilConstants.CLOSE_CURLY_BRACKET; |
| 55 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; | 60 | import static org.onosproject.yangutils.utils.UtilConstants.EMPTY_STRING; |
| ... | @@ -67,12 +72,58 @@ import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.partString; | ... | @@ -67,12 +72,58 @@ import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.partString; |
| 67 | public final class JavaFileGenerator { | 72 | public final class JavaFileGenerator { |
| 68 | 73 | ||
| 69 | /** | 74 | /** |
| 70 | - * Creates an instance of java file generator. | 75 | + * Flag to check whether generated interface file need to extends any class. |
| 71 | */ | 76 | */ |
| 77 | + private static boolean isExtendsList = false; | ||
| 78 | + | ||
| 79 | + /** | ||
| 80 | + * List of classes to be extended by generated interface file. | ||
| 81 | + */ | ||
| 82 | + private static List<String> extendsList = new ArrayList<>(); | ||
| 83 | + | ||
| 84 | + /** | ||
| 85 | + * Creates an instance of java file generator. | ||
| 86 | + */ | ||
| 72 | private JavaFileGenerator() { | 87 | private JavaFileGenerator() { |
| 73 | } | 88 | } |
| 74 | 89 | ||
| 75 | /** | 90 | /** |
| 91 | + * Returns true if extends list is not empty. | ||
| 92 | + * | ||
| 93 | + * @return true or false | ||
| 94 | + */ | ||
| 95 | + public static boolean isExtendsList() { | ||
| 96 | + return isExtendsList; | ||
| 97 | + } | ||
| 98 | + | ||
| 99 | + /** | ||
| 100 | + * Sets the value of is extends list. | ||
| 101 | + * | ||
| 102 | + * @param isExtends true or false | ||
| 103 | + */ | ||
| 104 | + public static void setIsExtendsList(boolean isExtends) { | ||
| 105 | + isExtendsList = isExtends; | ||
| 106 | + } | ||
| 107 | + | ||
| 108 | + /** | ||
| 109 | + * Returns list of extended classes. | ||
| 110 | + * | ||
| 111 | + * @return list of extended classes | ||
| 112 | + */ | ||
| 113 | + public static List<String> getExtendsList() { | ||
| 114 | + return extendsList; | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | + /** | ||
| 118 | + * Sets the list of extended classes. | ||
| 119 | + * | ||
| 120 | + * @param extendList list of extended classes | ||
| 121 | + */ | ||
| 122 | + public static void setExtendsList(List<String> extendList) { | ||
| 123 | + extendsList = extendList; | ||
| 124 | + } | ||
| 125 | + | ||
| 126 | + /** | ||
| 76 | * Returns generated interface file for current node. | 127 | * Returns generated interface file for current node. |
| 77 | * | 128 | * |
| 78 | * @param file file | 129 | * @param file file |
| ... | @@ -91,6 +142,7 @@ public final class JavaFileGenerator { | ... | @@ -91,6 +142,7 @@ public final class JavaFileGenerator { |
| 91 | String path = javaFileInfo.getBaseCodeGenPath() + javaFileInfo.getPackageFilePath(); | 142 | String path = javaFileInfo.getBaseCodeGenPath() + javaFileInfo.getPackageFilePath(); |
| 92 | 143 | ||
| 93 | initiateJavaFileGeneration(file, className, INTERFACE_MASK, imports, path); | 144 | initiateJavaFileGeneration(file, className, INTERFACE_MASK, imports, path); |
| 145 | + | ||
| 94 | if (isAttrPresent) { | 146 | if (isAttrPresent) { |
| 95 | /** | 147 | /** |
| 96 | * Add getter methods to interface file. | 148 | * Add getter methods to interface file. |
| ... | @@ -258,6 +310,12 @@ public final class JavaFileGenerator { | ... | @@ -258,6 +310,12 @@ public final class JavaFileGenerator { |
| 258 | + " while impl class file generation"); | 310 | + " while impl class file generation"); |
| 259 | } | 311 | } |
| 260 | 312 | ||
| 313 | + /** | ||
| 314 | + * Add attribute for augmented info's list. | ||
| 315 | + */ | ||
| 316 | + if (isHasAugmentationExtended(getExtendsList())) { | ||
| 317 | + insertDataIntoJavaFile(file, getAugmentedInfoAttribute()); | ||
| 318 | + } | ||
| 261 | insertDataIntoJavaFile(file, NEW_LINE); | 319 | insertDataIntoJavaFile(file, NEW_LINE); |
| 262 | try { | 320 | try { |
| 263 | /** | 321 | /** |
| ... | @@ -298,6 +356,16 @@ public final class JavaFileGenerator { | ... | @@ -298,6 +356,16 @@ public final class JavaFileGenerator { |
| 298 | throw new IOException("No data found in temporary java code fragment files for " + className | 356 | throw new IOException("No data found in temporary java code fragment files for " + className |
| 299 | + " while impl class file generation"); | 357 | + " while impl class file generation"); |
| 300 | } | 358 | } |
| 359 | + | ||
| 360 | + /** | ||
| 361 | + * Add method for augment info's list. | ||
| 362 | + */ | ||
| 363 | + if (isHasAugmentationExtended(getExtendsList())) { | ||
| 364 | + methods.add(getAddAugmentInfoMethodImpl()); | ||
| 365 | + methods.add(getAugmentInfoListImpl()); | ||
| 366 | + methods.add(getRemoveAugmentationImpl()); | ||
| 367 | + } | ||
| 368 | + | ||
| 301 | /** | 369 | /** |
| 302 | * Add methods in impl class. | 370 | * Add methods in impl class. |
| 303 | */ | 371 | */ |
| ... | @@ -310,7 +378,7 @@ public final class JavaFileGenerator { | ... | @@ -310,7 +378,7 @@ public final class JavaFileGenerator { |
| 310 | } | 378 | } |
| 311 | 379 | ||
| 312 | /** | 380 | /** |
| 313 | - * Generate class file for type def. | 381 | + * Generates class file for type def. |
| 314 | * | 382 | * |
| 315 | * @param file generated file | 383 | * @param file generated file |
| 316 | * @param curNode current YANG node | 384 | * @param curNode current YANG node |
| ... | @@ -364,11 +432,6 @@ public final class JavaFileGenerator { | ... | @@ -364,11 +432,6 @@ public final class JavaFileGenerator { |
| 364 | methods.add(getDataFromTempFileHandle(GETTER_FOR_CLASS_MASK, curNode)); | 432 | methods.add(getDataFromTempFileHandle(GETTER_FOR_CLASS_MASK, curNode)); |
| 365 | 433 | ||
| 366 | /** | 434 | /** |
| 367 | - * Setter method. | ||
| 368 | - */ | ||
| 369 | - methods.add(((HasTempJavaCodeFragmentFiles) curNode).getTempJavaCodeFragmentFiles().addTypeDefsSetter()); | ||
| 370 | - | ||
| 371 | - /** | ||
| 372 | * Hash code method. | 435 | * Hash code method. |
| 373 | */ | 436 | */ |
| 374 | methods.add(getHashCodeMethodClose(getHashCodeMethodOpen() + partString( | 437 | methods.add(getHashCodeMethodClose(getHashCodeMethodOpen() + partString( |
| ... | @@ -388,7 +451,7 @@ public final class JavaFileGenerator { | ... | @@ -388,7 +451,7 @@ public final class JavaFileGenerator { |
| 388 | 451 | ||
| 389 | } catch (IOException e) { | 452 | } catch (IOException e) { |
| 390 | throw new IOException("No data found in temporary java code fragment files for " + className | 453 | throw new IOException("No data found in temporary java code fragment files for " + className |
| 391 | - + " while tyoe def class file generation"); | 454 | + + " while type def class file generation"); |
| 392 | } | 455 | } |
| 393 | 456 | ||
| 394 | for (String method : methods) { | 457 | for (String method : methods) { | ... | ... |
| ... | @@ -23,6 +23,8 @@ import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSy | ... | @@ -23,6 +23,8 @@ import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSy |
| 23 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getSmallCase; | 23 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getSmallCase; |
| 24 | import static org.onosproject.yangutils.utils.UtilConstants.ADD_STRING; | 24 | import static org.onosproject.yangutils.utils.UtilConstants.ADD_STRING; |
| 25 | import static org.onosproject.yangutils.utils.UtilConstants.AND; | 25 | import static org.onosproject.yangutils.utils.UtilConstants.AND; |
| 26 | +import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTATION; | ||
| 27 | +import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED_INFO; | ||
| 26 | import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_DATA_TYPE; | 28 | import static org.onosproject.yangutils.utils.UtilConstants.BOOLEAN_DATA_TYPE; |
| 27 | import static org.onosproject.yangutils.utils.UtilConstants.BUILD; | 29 | import static org.onosproject.yangutils.utils.UtilConstants.BUILD; |
| 28 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER; | 30 | import static org.onosproject.yangutils.utils.UtilConstants.BUILDER; |
| ... | @@ -100,7 +102,6 @@ public final class MethodsGenerator { | ... | @@ -100,7 +102,6 @@ public final class MethodsGenerator { |
| 100 | * @return method string for builder interface | 102 | * @return method string for builder interface |
| 101 | */ | 103 | */ |
| 102 | public static String parseBuilderInterfaceBuildMethodString(String name) { | 104 | public static String parseBuilderInterfaceBuildMethodString(String name) { |
| 103 | - | ||
| 104 | return getJavaDoc(BUILD_METHOD, name, false) + getBuildForInterface(name); | 105 | return getJavaDoc(BUILD_METHOD, name, false) + getBuildForInterface(name); |
| 105 | } | 106 | } |
| 106 | 107 | ||
| ... | @@ -142,7 +143,6 @@ public final class MethodsGenerator { | ... | @@ -142,7 +143,6 @@ public final class MethodsGenerator { |
| 142 | * @return constructor string | 143 | * @return constructor string |
| 143 | */ | 144 | */ |
| 144 | public static String getConstructorString(String name) { | 145 | public static String getConstructorString(String name) { |
| 145 | - | ||
| 146 | return getJavaDoc(CONSTRUCTOR, name, false); | 146 | return getJavaDoc(CONSTRUCTOR, name, false); |
| 147 | } | 147 | } |
| 148 | 148 | ||
| ... | @@ -154,7 +154,6 @@ public final class MethodsGenerator { | ... | @@ -154,7 +154,6 @@ public final class MethodsGenerator { |
| 154 | * @return default constructor string | 154 | * @return default constructor string |
| 155 | */ | 155 | */ |
| 156 | public static String getDefaultConstructorString(String name, String modifierType) { | 156 | public static String getDefaultConstructorString(String name, String modifierType) { |
| 157 | - | ||
| 158 | return getJavaDoc(DEFAULT_CONSTRUCTOR, name, false) + getDefaultConstructor(name, modifierType); | 157 | return getJavaDoc(DEFAULT_CONSTRUCTOR, name, false) + getDefaultConstructor(name, modifierType); |
| 159 | } | 158 | } |
| 160 | 159 | ||
| ... | @@ -186,7 +185,6 @@ public final class MethodsGenerator { | ... | @@ -186,7 +185,6 @@ public final class MethodsGenerator { |
| 186 | * @return setter for type def's attribute | 185 | * @return setter for type def's attribute |
| 187 | */ | 186 | */ |
| 188 | private static String getTypeDefConstructorString(String type, String name, String className) { | 187 | private static String getTypeDefConstructorString(String type, String name, String className) { |
| 189 | - | ||
| 190 | return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + className + OPEN_PARENTHESIS + type + SPACE + VALUE | 188 | return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + className + OPEN_PARENTHESIS + type + SPACE + VALUE |
| 191 | + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION + THIS + PERIOD | 189 | + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION + THIS + PERIOD |
| 192 | + name + SPACE + EQUAL + SPACE + VALUE + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION | 190 | + name + SPACE + EQUAL + SPACE + VALUE + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION |
| ... | @@ -200,7 +198,6 @@ public final class MethodsGenerator { | ... | @@ -200,7 +198,6 @@ public final class MethodsGenerator { |
| 200 | * @return check not null string | 198 | * @return check not null string |
| 201 | */ | 199 | */ |
| 202 | public static String getCheckNotNull(String name) { | 200 | public static String getCheckNotNull(String name) { |
| 203 | - | ||
| 204 | return EIGHT_SPACE_INDENTATION + CHECK_NOT_NULL_STRING + OPEN_PARENTHESIS + name + COMMA + SPACE + name | 201 | return EIGHT_SPACE_INDENTATION + CHECK_NOT_NULL_STRING + OPEN_PARENTHESIS + name + COMMA + SPACE + name |
| 205 | + CLOSE_PARENTHESIS + SEMI_COLAN + NEW_LINE; | 202 | + CLOSE_PARENTHESIS + SEMI_COLAN + NEW_LINE; |
| 206 | } | 203 | } |
| ... | @@ -212,7 +209,6 @@ public final class MethodsGenerator { | ... | @@ -212,7 +209,6 @@ public final class MethodsGenerator { |
| 212 | * @return build string | 209 | * @return build string |
| 213 | */ | 210 | */ |
| 214 | public static String getBuildString(String name) { | 211 | public static String getBuildString(String name) { |
| 215 | - | ||
| 216 | return FOUR_SPACE_INDENTATION + OVERRIDE + NEW_LINE + getBuild(name); | 212 | return FOUR_SPACE_INDENTATION + OVERRIDE + NEW_LINE + getBuild(name); |
| 217 | } | 213 | } |
| 218 | 214 | ||
| ... | @@ -242,7 +238,6 @@ public final class MethodsGenerator { | ... | @@ -242,7 +238,6 @@ public final class MethodsGenerator { |
| 242 | * @return getter for attribute | 238 | * @return getter for attribute |
| 243 | */ | 239 | */ |
| 244 | private static String getGetter(String type, String name) { | 240 | private static String getGetter(String type, String name) { |
| 245 | - | ||
| 246 | return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + type + SPACE + GET_METHOD_PREFIX + getCaptialCase(name) | 241 | return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + type + SPACE + GET_METHOD_PREFIX + getCaptialCase(name) |
| 247 | + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION | 242 | + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION |
| 248 | + RETURN + SPACE + name + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET; | 243 | + RETURN + SPACE + name + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET; |
| ... | @@ -275,7 +270,6 @@ public final class MethodsGenerator { | ... | @@ -275,7 +270,6 @@ public final class MethodsGenerator { |
| 275 | * @return setter for attribute | 270 | * @return setter for attribute |
| 276 | */ | 271 | */ |
| 277 | private static String getSetter(String className, String name, String type) { | 272 | private static String getSetter(String className, String name, String type) { |
| 278 | - | ||
| 279 | return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + className + BUILDER + SPACE + SET_METHOD_PREFIX | 273 | return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + className + BUILDER + SPACE + SET_METHOD_PREFIX |
| 280 | + getCaptialCase(name) + OPEN_PARENTHESIS + type + SPACE + name + CLOSE_PARENTHESIS + SPACE | 274 | + getCaptialCase(name) + OPEN_PARENTHESIS + type + SPACE + name + CLOSE_PARENTHESIS + SPACE |
| 281 | + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION + THIS + PERIOD + name + SPACE + EQUAL + SPACE | 275 | + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION + THIS + PERIOD + name + SPACE + EQUAL + SPACE |
| ... | @@ -304,7 +298,6 @@ public final class MethodsGenerator { | ... | @@ -304,7 +298,6 @@ public final class MethodsGenerator { |
| 304 | * @return setter for type def's attribute | 298 | * @return setter for type def's attribute |
| 305 | */ | 299 | */ |
| 306 | private static String getTypeDefSetter(String type, String name) { | 300 | private static String getTypeDefSetter(String type, String name) { |
| 307 | - | ||
| 308 | return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + VOID + SPACE + SET_METHOD_PREFIX + getCaptialCase(name) | 301 | return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + VOID + SPACE + SET_METHOD_PREFIX + getCaptialCase(name) |
| 309 | + OPEN_PARENTHESIS + type + SPACE + VALUE + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE | 302 | + OPEN_PARENTHESIS + type + SPACE + VALUE + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE |
| 310 | + EIGHT_SPACE_INDENTATION + THIS + PERIOD + name + SPACE + EQUAL + SPACE + VALUE + SEMI_COLAN + NEW_LINE | 303 | + EIGHT_SPACE_INDENTATION + THIS + PERIOD + name + SPACE + EQUAL + SPACE + VALUE + SEMI_COLAN + NEW_LINE |
| ... | @@ -317,7 +310,6 @@ public final class MethodsGenerator { | ... | @@ -317,7 +310,6 @@ public final class MethodsGenerator { |
| 317 | * @return override string | 310 | * @return override string |
| 318 | */ | 311 | */ |
| 319 | public static String getOverRideString() { | 312 | public static String getOverRideString() { |
| 320 | - | ||
| 321 | return NEW_LINE + FOUR_SPACE_INDENTATION + OVERRIDE + NEW_LINE; | 313 | return NEW_LINE + FOUR_SPACE_INDENTATION + OVERRIDE + NEW_LINE; |
| 322 | } | 314 | } |
| 323 | 315 | ||
| ... | @@ -346,7 +338,6 @@ public final class MethodsGenerator { | ... | @@ -346,7 +338,6 @@ public final class MethodsGenerator { |
| 346 | * @return getter for interface | 338 | * @return getter for interface |
| 347 | */ | 339 | */ |
| 348 | private static String getGetterInterfaceString(String returnType, String yangName) { | 340 | private static String getGetterInterfaceString(String returnType, String yangName) { |
| 349 | - | ||
| 350 | return FOUR_SPACE_INDENTATION + returnType + SPACE + GET_METHOD_PREFIX + getCaptialCase(yangName) | 341 | return FOUR_SPACE_INDENTATION + returnType + SPACE + GET_METHOD_PREFIX + getCaptialCase(yangName) |
| 351 | + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN; | 342 | + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN; |
| 352 | } | 343 | } |
| ... | @@ -378,7 +369,6 @@ public final class MethodsGenerator { | ... | @@ -378,7 +369,6 @@ public final class MethodsGenerator { |
| 378 | * @return setter string | 369 | * @return setter string |
| 379 | */ | 370 | */ |
| 380 | private static String getSetterInterfaceString(String className, String attrName, String attrType) { | 371 | private static String getSetterInterfaceString(String className, String attrName, String attrType) { |
| 381 | - | ||
| 382 | return FOUR_SPACE_INDENTATION + className + BUILDER + SPACE + SET_METHOD_PREFIX + getCaptialCase(attrName) | 372 | return FOUR_SPACE_INDENTATION + className + BUILDER + SPACE + SET_METHOD_PREFIX + getCaptialCase(attrName) |
| 383 | + OPEN_PARENTHESIS + attrType + SPACE + attrName + CLOSE_PARENTHESIS + SEMI_COLAN; | 373 | + OPEN_PARENTHESIS + attrType + SPACE + attrName + CLOSE_PARENTHESIS + SEMI_COLAN; |
| 384 | } | 374 | } |
| ... | @@ -389,7 +379,6 @@ public final class MethodsGenerator { | ... | @@ -389,7 +379,6 @@ public final class MethodsGenerator { |
| 389 | * @return list string | 379 | * @return list string |
| 390 | */ | 380 | */ |
| 391 | private static String getListString() { | 381 | private static String getListString() { |
| 392 | - | ||
| 393 | return LIST + DIAMOND_OPEN_BRACKET; | 382 | return LIST + DIAMOND_OPEN_BRACKET; |
| 394 | } | 383 | } |
| 395 | 384 | ||
| ... | @@ -416,7 +405,6 @@ public final class MethodsGenerator { | ... | @@ -416,7 +405,6 @@ public final class MethodsGenerator { |
| 416 | * @return build method for interface | 405 | * @return build method for interface |
| 417 | */ | 406 | */ |
| 418 | public static String getBuildForInterface(String yangName) { | 407 | public static String getBuildForInterface(String yangName) { |
| 419 | - | ||
| 420 | return FOUR_SPACE_INDENTATION + yangName + SPACE + BUILD + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN | 408 | return FOUR_SPACE_INDENTATION + yangName + SPACE + BUILD + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN |
| 421 | + NEW_LINE; | 409 | + NEW_LINE; |
| 422 | } | 410 | } |
| ... | @@ -462,7 +450,6 @@ public final class MethodsGenerator { | ... | @@ -462,7 +450,6 @@ public final class MethodsGenerator { |
| 462 | * @return build method string for class | 450 | * @return build method string for class |
| 463 | */ | 451 | */ |
| 464 | public static String getBuild(String yangName) { | 452 | public static String getBuild(String yangName) { |
| 465 | - | ||
| 466 | return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + yangName + SPACE + BUILD + OPEN_PARENTHESIS + CLOSE_PARENTHESIS | 453 | return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + yangName + SPACE + BUILD + OPEN_PARENTHESIS + CLOSE_PARENTHESIS |
| 467 | + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION + RETURN + SPACE + NEW + SPACE | 454 | + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION + RETURN + SPACE + NEW + SPACE |
| 468 | + yangName + IMPL + OPEN_PARENTHESIS + THIS + CLOSE_PARENTHESIS + SEMI_COLAN + NEW_LINE | 455 | + yangName + IMPL + OPEN_PARENTHESIS + THIS + CLOSE_PARENTHESIS + SEMI_COLAN + NEW_LINE |
| ... | @@ -477,7 +464,6 @@ public final class MethodsGenerator { | ... | @@ -477,7 +464,6 @@ public final class MethodsGenerator { |
| 477 | * @return Default constructor for class | 464 | * @return Default constructor for class |
| 478 | */ | 465 | */ |
| 479 | private static String getDefaultConstructor(String name, String modifierType) { | 466 | private static String getDefaultConstructor(String name, String modifierType) { |
| 480 | - | ||
| 481 | return FOUR_SPACE_INDENTATION + modifierType + SPACE + name + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SPACE | 467 | return FOUR_SPACE_INDENTATION + modifierType + SPACE + name + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SPACE |
| 482 | + OPEN_CURLY_BRACKET + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET; | 468 | + OPEN_CURLY_BRACKET + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET; |
| 483 | } | 469 | } |
| ... | @@ -488,7 +474,6 @@ public final class MethodsGenerator { | ... | @@ -488,7 +474,6 @@ public final class MethodsGenerator { |
| 488 | * @return to string method open string | 474 | * @return to string method open string |
| 489 | */ | 475 | */ |
| 490 | public static String getToStringMethodOpen() { | 476 | public static String getToStringMethodOpen() { |
| 491 | - | ||
| 492 | return getOverRideString() + FOUR_SPACE_INDENTATION + PUBLIC + SPACE + STRING_DATA_TYPE + SPACE + TO | 477 | return getOverRideString() + FOUR_SPACE_INDENTATION + PUBLIC + SPACE + STRING_DATA_TYPE + SPACE + TO |
| 493 | + STRING_DATA_TYPE + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE | 478 | + STRING_DATA_TYPE + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE |
| 494 | + EIGHT_SPACE_INDENTATION + RETURN + GOOGLE_MORE_OBJECT_METHOD_STRING + NEW_LINE; | 479 | + EIGHT_SPACE_INDENTATION + RETURN + GOOGLE_MORE_OBJECT_METHOD_STRING + NEW_LINE; |
| ... | @@ -500,7 +485,6 @@ public final class MethodsGenerator { | ... | @@ -500,7 +485,6 @@ public final class MethodsGenerator { |
| 500 | * @return to string method close string | 485 | * @return to string method close string |
| 501 | */ | 486 | */ |
| 502 | public static String getToStringMethodClose() { | 487 | public static String getToStringMethodClose() { |
| 503 | - | ||
| 504 | return TWELVE_SPACE_INDENTATION + PERIOD + TO + STRING_DATA_TYPE + OPEN_PARENTHESIS + CLOSE_PARENTHESIS | 488 | return TWELVE_SPACE_INDENTATION + PERIOD + TO + STRING_DATA_TYPE + OPEN_PARENTHESIS + CLOSE_PARENTHESIS |
| 505 | + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET + NEW_LINE; | 489 | + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET + NEW_LINE; |
| 506 | } | 490 | } |
| ... | @@ -514,10 +498,8 @@ public final class MethodsGenerator { | ... | @@ -514,10 +498,8 @@ public final class MethodsGenerator { |
| 514 | public static String getToStringMethod(JavaAttributeInfo attr) { | 498 | public static String getToStringMethod(JavaAttributeInfo attr) { |
| 515 | 499 | ||
| 516 | String attributeName = getSmallCase(attr.getAttributeName()); | 500 | String attributeName = getSmallCase(attr.getAttributeName()); |
| 517 | - | ||
| 518 | return TWELVE_SPACE_INDENTATION + PERIOD + ADD_STRING + OPEN_PARENTHESIS + QUOTES + attributeName + QUOTES | 501 | return TWELVE_SPACE_INDENTATION + PERIOD + ADD_STRING + OPEN_PARENTHESIS + QUOTES + attributeName + QUOTES |
| 519 | + COMMA + SPACE + attributeName + CLOSE_PARENTHESIS; | 502 | + COMMA + SPACE + attributeName + CLOSE_PARENTHESIS; |
| 520 | - | ||
| 521 | } | 503 | } |
| 522 | 504 | ||
| 523 | /** | 505 | /** |
| ... | @@ -526,7 +508,6 @@ public final class MethodsGenerator { | ... | @@ -526,7 +508,6 @@ public final class MethodsGenerator { |
| 526 | * @return hash code method open string | 508 | * @return hash code method open string |
| 527 | */ | 509 | */ |
| 528 | public static String getHashCodeMethodOpen() { | 510 | public static String getHashCodeMethodOpen() { |
| 529 | - | ||
| 530 | return getOverRideString() + FOUR_SPACE_INDENTATION + PUBLIC + SPACE + INT + SPACE + HASH_CODE_STRING | 511 | return getOverRideString() + FOUR_SPACE_INDENTATION + PUBLIC + SPACE + INT + SPACE + HASH_CODE_STRING |
| 531 | + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION | 512 | + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION |
| 532 | + RETURN + SPACE + OBJECT_STRING + SUFFIX_S + PERIOD + HASH + OPEN_PARENTHESIS; | 513 | + RETURN + SPACE + OBJECT_STRING + SUFFIX_S + PERIOD + HASH + OPEN_PARENTHESIS; |
| ... | @@ -539,7 +520,6 @@ public final class MethodsGenerator { | ... | @@ -539,7 +520,6 @@ public final class MethodsGenerator { |
| 539 | * @return to hash code method close string | 520 | * @return to hash code method close string |
| 540 | */ | 521 | */ |
| 541 | public static String getHashCodeMethodClose(String hashcodeString) { | 522 | public static String getHashCodeMethodClose(String hashcodeString) { |
| 542 | - | ||
| 543 | hashcodeString = trimAtLast(hashcodeString, COMMA); | 523 | hashcodeString = trimAtLast(hashcodeString, COMMA); |
| 544 | hashcodeString = trimAtLast(hashcodeString, SPACE); | 524 | hashcodeString = trimAtLast(hashcodeString, SPACE); |
| 545 | return hashcodeString + CLOSE_PARENTHESIS + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET | 525 | return hashcodeString + CLOSE_PARENTHESIS + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET |
| ... | @@ -553,7 +533,6 @@ public final class MethodsGenerator { | ... | @@ -553,7 +533,6 @@ public final class MethodsGenerator { |
| 553 | * @return hash code method | 533 | * @return hash code method |
| 554 | */ | 534 | */ |
| 555 | public static String getHashCodeMethod(JavaAttributeInfo attr) { | 535 | public static String getHashCodeMethod(JavaAttributeInfo attr) { |
| 556 | - | ||
| 557 | return getSmallCase(attr.getAttributeName()) + COMMA + SPACE; | 536 | return getSmallCase(attr.getAttributeName()) + COMMA + SPACE; |
| 558 | } | 537 | } |
| 559 | 538 | ||
| ... | @@ -564,7 +543,6 @@ public final class MethodsGenerator { | ... | @@ -564,7 +543,6 @@ public final class MethodsGenerator { |
| 564 | * @return equals method open string | 543 | * @return equals method open string |
| 565 | */ | 544 | */ |
| 566 | public static String getEqualsMethodOpen(String className) { | 545 | public static String getEqualsMethodOpen(String className) { |
| 567 | - | ||
| 568 | return getOverRideString() + FOUR_SPACE_INDENTATION + PUBLIC + SPACE + BOOLEAN_DATA_TYPE + SPACE + EQUALS_STRING | 546 | return getOverRideString() + FOUR_SPACE_INDENTATION + PUBLIC + SPACE + BOOLEAN_DATA_TYPE + SPACE + EQUALS_STRING |
| 569 | + OPEN_PARENTHESIS + OBJECT_STRING + SPACE + OBJ + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET | 547 | + OPEN_PARENTHESIS + OBJECT_STRING + SPACE + OBJ + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET |
| 570 | + NEW_LINE + getEqualsMethodsCommonIfCondition() + getEqualsMethodsSpecificIfCondition(className); | 548 | + NEW_LINE + getEqualsMethodsCommonIfCondition() + getEqualsMethodsSpecificIfCondition(className); |
| ... | @@ -576,7 +554,6 @@ public final class MethodsGenerator { | ... | @@ -576,7 +554,6 @@ public final class MethodsGenerator { |
| 576 | * @return if condition string | 554 | * @return if condition string |
| 577 | */ | 555 | */ |
| 578 | private static String getEqualsMethodsCommonIfCondition() { | 556 | private static String getEqualsMethodsCommonIfCondition() { |
| 579 | - | ||
| 580 | return EIGHT_SPACE_INDENTATION + IF + SPACE + OPEN_PARENTHESIS + THIS + SPACE + EQUAL + EQUAL + SPACE + OBJ | 557 | return EIGHT_SPACE_INDENTATION + IF + SPACE + OPEN_PARENTHESIS + THIS + SPACE + EQUAL + EQUAL + SPACE + OBJ |
| 581 | + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + TWELVE_SPACE_INDENTATION + RETURN + SPACE | 558 | + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + TWELVE_SPACE_INDENTATION + RETURN + SPACE |
| 582 | + TRUE + SEMI_COLAN + NEW_LINE + EIGHT_SPACE_INDENTATION + CLOSE_CURLY_BRACKET + NEW_LINE; | 559 | + TRUE + SEMI_COLAN + NEW_LINE + EIGHT_SPACE_INDENTATION + CLOSE_CURLY_BRACKET + NEW_LINE; |
| ... | @@ -589,7 +566,6 @@ public final class MethodsGenerator { | ... | @@ -589,7 +566,6 @@ public final class MethodsGenerator { |
| 589 | * @return if condition string | 566 | * @return if condition string |
| 590 | */ | 567 | */ |
| 591 | private static String getEqualsMethodsSpecificIfCondition(String className) { | 568 | private static String getEqualsMethodsSpecificIfCondition(String className) { |
| 592 | - | ||
| 593 | return EIGHT_SPACE_INDENTATION + IF + SPACE + OPEN_PARENTHESIS + OBJ + INSTANCE_OF + className | 569 | return EIGHT_SPACE_INDENTATION + IF + SPACE + OPEN_PARENTHESIS + OBJ + INSTANCE_OF + className |
| 594 | + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + TWELVE_SPACE_INDENTATION + className | 570 | + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + TWELVE_SPACE_INDENTATION + className |
| 595 | + SPACE + OTHER + SPACE + EQUAL + SPACE + OPEN_PARENTHESIS + className + CLOSE_PARENTHESIS + SPACE | 571 | + SPACE + OTHER + SPACE + EQUAL + SPACE + OPEN_PARENTHESIS + className + CLOSE_PARENTHESIS + SPACE |
| ... | @@ -603,7 +579,6 @@ public final class MethodsGenerator { | ... | @@ -603,7 +579,6 @@ public final class MethodsGenerator { |
| 603 | * @return equals method close string | 579 | * @return equals method close string |
| 604 | */ | 580 | */ |
| 605 | public static String getEqualsMethodClose(String equalMethodString) { | 581 | public static String getEqualsMethodClose(String equalMethodString) { |
| 606 | - | ||
| 607 | equalMethodString = trimAtLast(equalMethodString, AND); | 582 | equalMethodString = trimAtLast(equalMethodString, AND); |
| 608 | equalMethodString = trimAtLast(equalMethodString, AND); | 583 | equalMethodString = trimAtLast(equalMethodString, AND); |
| 609 | equalMethodString = trimAtLast(equalMethodString, SPACE); | 584 | equalMethodString = trimAtLast(equalMethodString, SPACE); |
| ... | @@ -622,11 +597,9 @@ public final class MethodsGenerator { | ... | @@ -622,11 +597,9 @@ public final class MethodsGenerator { |
| 622 | public static String getEqualsMethod(JavaAttributeInfo attr) { | 597 | public static String getEqualsMethod(JavaAttributeInfo attr) { |
| 623 | 598 | ||
| 624 | String attributeName = getSmallCase(attr.getAttributeName()); | 599 | String attributeName = getSmallCase(attr.getAttributeName()); |
| 625 | - | ||
| 626 | return SIXTEEN_SPACE_INDENTATION + SPACE + OBJECT_STRING + SUFFIX_S + PERIOD + EQUALS_STRING + OPEN_PARENTHESIS | 600 | return SIXTEEN_SPACE_INDENTATION + SPACE + OBJECT_STRING + SUFFIX_S + PERIOD + EQUALS_STRING + OPEN_PARENTHESIS |
| 627 | + attributeName + COMMA + SPACE + OTHER + PERIOD + attributeName + CLOSE_PARENTHESIS + SPACE + AND | 601 | + attributeName + COMMA + SPACE + OTHER + PERIOD + attributeName + CLOSE_PARENTHESIS + SPACE + AND |
| 628 | + AND; | 602 | + AND; |
| 629 | - | ||
| 630 | } | 603 | } |
| 631 | 604 | ||
| 632 | /** | 605 | /** |
| ... | @@ -639,11 +612,57 @@ public final class MethodsGenerator { | ... | @@ -639,11 +612,57 @@ public final class MethodsGenerator { |
| 639 | public static String getOfMethod(String name, JavaAttributeInfo attr) { | 612 | public static String getOfMethod(String name, JavaAttributeInfo attr) { |
| 640 | 613 | ||
| 641 | String attrQuaifiedType = getReturnType(attr); | 614 | String attrQuaifiedType = getReturnType(attr); |
| 642 | - | ||
| 643 | return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + STATIC + SPACE + name + SPACE + OF + OPEN_PARENTHESIS | 615 | return FOUR_SPACE_INDENTATION + PUBLIC + SPACE + STATIC + SPACE + name + SPACE + OF + OPEN_PARENTHESIS |
| 644 | + attrQuaifiedType + SPACE + VALUE + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE | 616 | + attrQuaifiedType + SPACE + VALUE + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE |
| 645 | + EIGHT_SPACE_INDENTATION + RETURN + SPACE + NEW + SPACE + name + OPEN_PARENTHESIS + VALUE | 617 | + EIGHT_SPACE_INDENTATION + RETURN + SPACE + NEW + SPACE + name + OPEN_PARENTHESIS + VALUE |
| 646 | + CLOSE_PARENTHESIS + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET + NEW_LINE; | 618 | + CLOSE_PARENTHESIS + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET + NEW_LINE; |
| 647 | } | 619 | } |
| 648 | 620 | ||
| 621 | + /** | ||
| 622 | + * Returns implementation of add augmentation method of HasAugmentation class. | ||
| 623 | + * | ||
| 624 | + * @return implementation of add augmentation method of HasAugmentation class | ||
| 625 | + */ | ||
| 626 | + public static String getAddAugmentInfoMethodImpl() { | ||
| 627 | + String method = FOUR_SPACE_INDENTATION; | ||
| 628 | + method = method + getOverRideString() + FOUR_SPACE_INDENTATION + PUBLIC + SPACE + VOID + SPACE + ADD_STRING | ||
| 629 | + + AUGMENTATION + OPEN_PARENTHESIS + AUGMENTED_INFO + SPACE + VALUE + CLOSE_PARENTHESIS + SPACE | ||
| 630 | + + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION + GET_METHOD_PREFIX + AUGMENTED_INFO + LIST | ||
| 631 | + + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + PERIOD + ADD_STRING + OPEN_PARENTHESIS + VALUE | ||
| 632 | + + CLOSE_PARENTHESIS + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET; | ||
| 633 | + | ||
| 634 | + return method; | ||
| 635 | + } | ||
| 636 | + | ||
| 637 | + /** | ||
| 638 | + * Returns implementation of get augment info list method of HasAugmentation class. | ||
| 639 | + * | ||
| 640 | + * @return implementation of get augment info list method of HasAugmentation class | ||
| 641 | + */ | ||
| 642 | + public static String getAugmentInfoListImpl() { | ||
| 643 | + | ||
| 644 | + String method = FOUR_SPACE_INDENTATION; | ||
| 645 | + method = method + getOverRideString() + FOUR_SPACE_INDENTATION + PUBLIC + SPACE + LIST + DIAMOND_OPEN_BRACKET | ||
| 646 | + + AUGMENTED_INFO + DIAMOND_CLOSE_BRACKET + SPACE + GET_METHOD_PREFIX + AUGMENTED_INFO + LIST | ||
| 647 | + + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE + EIGHT_SPACE_INDENTATION | ||
| 648 | + + RETURN + SPACE + getSmallCase(AUGMENTED_INFO) + LIST + SEMI_COLAN + NEW_LINE + FOUR_SPACE_INDENTATION | ||
| 649 | + + CLOSE_CURLY_BRACKET; | ||
| 650 | + return method; | ||
| 651 | + } | ||
| 652 | + | ||
| 653 | + /** | ||
| 654 | + * Returns implementation of remove augmentation method of HasAugmentation class. | ||
| 655 | + * | ||
| 656 | + * @return implementation of remove augmentation method of HasAugmentation class | ||
| 657 | + */ | ||
| 658 | + public static String getRemoveAugmentationImpl() { | ||
| 659 | + String method = FOUR_SPACE_INDENTATION; | ||
| 660 | + method = method + getOverRideString() + FOUR_SPACE_INDENTATION + PUBLIC + SPACE + VOID + SPACE + "remove" | ||
| 661 | + + AUGMENTATION + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SPACE + OPEN_CURLY_BRACKET + NEW_LINE | ||
| 662 | + + EIGHT_SPACE_INDENTATION + GET_METHOD_PREFIX + AUGMENTED_INFO + LIST + OPEN_PARENTHESIS | ||
| 663 | + + CLOSE_PARENTHESIS + PERIOD + "clear" + OPEN_PARENTHESIS + CLOSE_PARENTHESIS + SEMI_COLAN + NEW_LINE | ||
| 664 | + + FOUR_SPACE_INDENTATION + CLOSE_CURLY_BRACKET; | ||
| 665 | + return method; | ||
| 666 | + } | ||
| 667 | + | ||
| 649 | } | 668 | } | ... | ... |
| 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.translator.tojava.utils; | ||
| 18 | + | ||
| 19 | +import java.io.File; | ||
| 20 | +import java.io.IOException; | ||
| 21 | +import java.util.List; | ||
| 22 | + | ||
| 23 | +import org.onosproject.yangutils.datamodel.YangNode; | ||
| 24 | +import org.onosproject.yangutils.translator.tojava.HasJavaImportData; | ||
| 25 | + | ||
| 26 | +import static org.onosproject.yangutils.translator.tojava.JavaImportData.getAugmentedInfoImport; | ||
| 27 | +import static org.onosproject.yangutils.translator.tojava.JavaImportData.getHasAugmentationImport; | ||
| 28 | +import static org.onosproject.yangutils.translator.tojava.JavaImportData.getImportForArrayList; | ||
| 29 | +import static org.onosproject.yangutils.translator.tojava.JavaImportData.getImportForList; | ||
| 30 | +import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED_INFO; | ||
| 31 | +import static org.onosproject.yangutils.utils.UtilConstants.HAS_AUGMENTATION; | ||
| 32 | +import static org.onosproject.yangutils.utils.io.impl.FileSystemUtil.updateFileHandle; | ||
| 33 | + | ||
| 34 | +/** | ||
| 35 | + * Represents utilities for temporary java code fragments. | ||
| 36 | + */ | ||
| 37 | +public final class TempJavaCodeFragmentFilesUtils { | ||
| 38 | + | ||
| 39 | + /** | ||
| 40 | + * Creates a private instance of temporary java code fragment utils. | ||
| 41 | + */ | ||
| 42 | + private TempJavaCodeFragmentFilesUtils() { | ||
| 43 | + } | ||
| 44 | + | ||
| 45 | + /** | ||
| 46 | + * Adds imports for ToString and HashCodeMethod. | ||
| 47 | + * | ||
| 48 | + * @param curNode current YANG node | ||
| 49 | + * @param imports import list | ||
| 50 | + * @return import list | ||
| 51 | + */ | ||
| 52 | + public static List<String> addImportsToStringAndHasCodeMethods(YangNode curNode, List<String> imports) { | ||
| 53 | + if (curNode instanceof HasJavaImportData) { | ||
| 54 | + imports.add(((HasJavaImportData) curNode).getJavaImportData().getImportForHashAndEquals()); | ||
| 55 | + imports.add(((HasJavaImportData) curNode).getJavaImportData().getImportForToString()); | ||
| 56 | + } | ||
| 57 | + return imports; | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + /** | ||
| 61 | + * Adds import for HasAugmentation class. | ||
| 62 | + * | ||
| 63 | + * @param curNode current YANG node | ||
| 64 | + * @param imports list of imports | ||
| 65 | + * @param operation add or delete import | ||
| 66 | + * @return import for HasAugmentation class | ||
| 67 | + */ | ||
| 68 | + public static List<String> addHasAugmentationImport(YangNode curNode, List<String> imports, boolean operation) { | ||
| 69 | + if (curNode instanceof HasJavaImportData) { | ||
| 70 | + String thisImport = getHasAugmentationImport(); | ||
| 71 | + performOperationOnImports(imports, thisImport, operation); | ||
| 72 | + } | ||
| 73 | + return imports; | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + /** | ||
| 77 | + * Adds import for AugmentedInfo class. | ||
| 78 | + * | ||
| 79 | + * @param curNode current YANG node | ||
| 80 | + * @param imports list of imports | ||
| 81 | + * @param operation add or delete import | ||
| 82 | + * @return import for AugmentedInfo class | ||
| 83 | + */ | ||
| 84 | + public static List<String> addAugmentedInfoImport(YangNode curNode, List<String> imports, boolean operation) { | ||
| 85 | + if (curNode instanceof HasJavaImportData) { | ||
| 86 | + String thisImport = getAugmentedInfoImport(); | ||
| 87 | + performOperationOnImports(imports, thisImport, operation); | ||
| 88 | + } | ||
| 89 | + return imports; | ||
| 90 | + } | ||
| 91 | + | ||
| 92 | + /** | ||
| 93 | + * Adds import for array list. | ||
| 94 | + * | ||
| 95 | + * @param curNode current YANG node | ||
| 96 | + * @param imports list of imports | ||
| 97 | + * @param operation add or delete import | ||
| 98 | + * @return import for HasAugmentation class | ||
| 99 | + */ | ||
| 100 | + public static List<String> addArrayListImport(YangNode curNode, List<String> imports, boolean operation) { | ||
| 101 | + if (curNode instanceof HasJavaImportData) { | ||
| 102 | + String arrayListImport = getImportForArrayList(); | ||
| 103 | + String listImport = getImportForList(); | ||
| 104 | + performOperationOnImports(imports, arrayListImport, operation); | ||
| 105 | + if (!imports.contains(listImport)) { | ||
| 106 | + /** | ||
| 107 | + * List can be there because of attribute also , so no need to remove it and operation will | ||
| 108 | + * always be add(true). | ||
| 109 | + */ | ||
| 110 | + performOperationOnImports(imports, listImport, true); | ||
| 111 | + } | ||
| 112 | + } | ||
| 113 | + | ||
| 114 | + return imports; | ||
| 115 | + } | ||
| 116 | + | ||
| 117 | + /** | ||
| 118 | + * Performs given operations on import list. | ||
| 119 | + * | ||
| 120 | + * @param imports list of imports | ||
| 121 | + * @param curImport current import | ||
| 122 | + * @param operation add or remove | ||
| 123 | + * @return import list | ||
| 124 | + */ | ||
| 125 | + private static List<String> performOperationOnImports(List<String> imports, String curImport, boolean operation) { | ||
| 126 | + if (operation) { | ||
| 127 | + imports.add(curImport); | ||
| 128 | + } else { | ||
| 129 | + imports.remove(curImport); | ||
| 130 | + } | ||
| 131 | + java.util.Collections.sort(imports); | ||
| 132 | + return imports; | ||
| 133 | + } | ||
| 134 | + | ||
| 135 | + /** | ||
| 136 | + * Prepares java file generator for extends list. | ||
| 137 | + * | ||
| 138 | + * @param extendsList list of classes need to be extended | ||
| 139 | + */ | ||
| 140 | + public static void prepareJavaFileGeneratorForExtendsList(List<String> extendsList) { | ||
| 141 | + | ||
| 142 | + if (!extendsList.isEmpty() && !extendsList.equals(null)) { | ||
| 143 | + JavaFileGenerator.setExtendsList(extendsList); | ||
| 144 | + JavaFileGenerator.setIsExtendsList(true); | ||
| 145 | + } else { | ||
| 146 | + JavaFileGenerator.getExtendsList().clear(); | ||
| 147 | + JavaFileGenerator.setIsExtendsList(false); | ||
| 148 | + } | ||
| 149 | + } | ||
| 150 | + | ||
| 151 | + /** | ||
| 152 | + * Returns true if HasAugmentation class needs to be extended. | ||
| 153 | + * | ||
| 154 | + * @param extendsList list of classes need to be extended | ||
| 155 | + * @return true or false | ||
| 156 | + */ | ||
| 157 | + public static boolean isHasAugmentationExtended(List<String> extendsList) { | ||
| 158 | + if (extendsList != null && extendsList.contains(HAS_AUGMENTATION)) { | ||
| 159 | + return true; | ||
| 160 | + } | ||
| 161 | + return false; | ||
| 162 | + } | ||
| 163 | + | ||
| 164 | + /** | ||
| 165 | + * Returns true if AugmentedInfo class needs to be extended. | ||
| 166 | + * | ||
| 167 | + * @param extendsList list of classes need to be extended | ||
| 168 | + * @return true or false | ||
| 169 | + */ | ||
| 170 | + public static boolean isAugmentedInfoExtended(List<String> extendsList) { | ||
| 171 | + if (extendsList != null && extendsList.contains(AUGMENTED_INFO)) { | ||
| 172 | + return true; | ||
| 173 | + } | ||
| 174 | + return false; | ||
| 175 | + } | ||
| 176 | + | ||
| 177 | + /** | ||
| 178 | + * Closes the file handle for temporary file. | ||
| 179 | + * | ||
| 180 | + * @param file file to be closed | ||
| 181 | + * @param toBeDeleted flag to indicate if file needs to be deleted | ||
| 182 | + * @throws IOException when failed to close the file handle | ||
| 183 | + */ | ||
| 184 | + public static void closeFile(File file, boolean toBeDeleted) throws IOException { | ||
| 185 | + | ||
| 186 | + if (file != null) { | ||
| 187 | + updateFileHandle(file, null, true); | ||
| 188 | + if (toBeDeleted) { | ||
| 189 | + file.delete(); | ||
| 190 | + } | ||
| 191 | + } | ||
| 192 | + } | ||
| 193 | +} |
| ... | @@ -17,8 +17,17 @@ | ... | @@ -17,8 +17,17 @@ |
| 17 | package org.onosproject.yangutils.translator.tojava.utils; | 17 | package org.onosproject.yangutils.translator.tojava.utils; |
| 18 | 18 | ||
| 19 | import java.io.IOException; | 19 | import java.io.IOException; |
| 20 | + | ||
| 21 | +import org.onosproject.yangutils.datamodel.YangAugment; | ||
| 22 | +import org.onosproject.yangutils.datamodel.YangCase; | ||
| 23 | +import org.onosproject.yangutils.datamodel.YangChoice; | ||
| 24 | +import org.onosproject.yangutils.datamodel.YangContainer; | ||
| 25 | +import org.onosproject.yangutils.datamodel.YangInput; | ||
| 20 | import org.onosproject.yangutils.datamodel.YangLeavesHolder; | 26 | import org.onosproject.yangutils.datamodel.YangLeavesHolder; |
| 27 | +import org.onosproject.yangutils.datamodel.YangList; | ||
| 21 | import org.onosproject.yangutils.datamodel.YangNode; | 28 | import org.onosproject.yangutils.datamodel.YangNode; |
| 29 | +import org.onosproject.yangutils.datamodel.YangNotification; | ||
| 30 | +import org.onosproject.yangutils.datamodel.YangOutput; | ||
| 22 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; | 31 | import org.onosproject.yangutils.translator.tojava.TempJavaCodeFragmentFiles; |
| 23 | import org.onosproject.yangutils.translator.tojava.javamodel.JavaCodeGeneratorInfo; | 32 | import org.onosproject.yangutils.translator.tojava.javamodel.JavaCodeGeneratorInfo; |
| 24 | 33 | ||
| ... | @@ -26,6 +35,8 @@ import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSy | ... | @@ -26,6 +35,8 @@ import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSy |
| 26 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCaptialCase; | 35 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCaptialCase; |
| 27 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCurNodePackage; | 36 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getCurNodePackage; |
| 28 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getPackageDirPathFromJavaJPackage; | 37 | import static org.onosproject.yangutils.translator.tojava.utils.JavaIdentifierSyntax.getPackageDirPathFromJavaJPackage; |
| 38 | +import static org.onosproject.yangutils.utils.UtilConstants.AUGMENTED_INFO; | ||
| 39 | +import static org.onosproject.yangutils.utils.UtilConstants.HAS_AUGMENTATION; | ||
| 29 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getAbsolutePackagePath; | 40 | import static org.onosproject.yangutils.utils.io.impl.YangIoUtils.getAbsolutePackagePath; |
| 30 | 41 | ||
| 31 | /** | 42 | /** |
| ... | @@ -143,6 +154,21 @@ public final class YangJavaModelUtils { | ... | @@ -143,6 +154,21 @@ public final class YangJavaModelUtils { |
| 143 | 154 | ||
| 144 | javaCodeGeneratorInfo.getTempJavaCodeFragmentFiles() | 155 | javaCodeGeneratorInfo.getTempJavaCodeFragmentFiles() |
| 145 | .addCurNodeInfoInParentTempFile((YangNode) javaCodeGeneratorInfo, isMultiInstance); | 156 | .addCurNodeInfoInParentTempFile((YangNode) javaCodeGeneratorInfo, isMultiInstance); |
| 157 | + | ||
| 158 | + /** | ||
| 159 | + * For augmentation of nodes. | ||
| 160 | + */ | ||
| 161 | + if (javaCodeGeneratorInfo instanceof YangContainer | ||
| 162 | + || javaCodeGeneratorInfo instanceof YangCase | ||
| 163 | + || javaCodeGeneratorInfo instanceof YangChoice | ||
| 164 | + || javaCodeGeneratorInfo instanceof YangInput | ||
| 165 | + || javaCodeGeneratorInfo instanceof YangList | ||
| 166 | + || javaCodeGeneratorInfo instanceof YangNotification | ||
| 167 | + || javaCodeGeneratorInfo instanceof YangOutput) { | ||
| 168 | + javaCodeGeneratorInfo.getTempJavaCodeFragmentFiles().addToExtendsList(HAS_AUGMENTATION); | ||
| 169 | + } else if (javaCodeGeneratorInfo instanceof YangAugment) { | ||
| 170 | + javaCodeGeneratorInfo.getTempJavaCodeFragmentFiles().addToExtendsList(AUGMENTED_INFO); | ||
| 171 | + } | ||
| 146 | } | 172 | } |
| 147 | 173 | ||
| 148 | /** | 174 | /** | ... | ... |
| ... | @@ -441,58 +441,69 @@ public final class UtilConstants { | ... | @@ -441,58 +441,69 @@ public final class UtilConstants { |
| 441 | * String built in java type. | 441 | * String built in java type. |
| 442 | */ | 442 | */ |
| 443 | public static final String STRING_DATA_TYPE = "String"; | 443 | public static final String STRING_DATA_TYPE = "String"; |
| 444 | + | ||
| 444 | /** | 445 | /** |
| 445 | - * java.lang.* packages. | 446 | + * Java.lang.* packages. |
| 446 | */ | 447 | */ |
| 447 | public static final String JAVA_LANG = "java.lang"; | 448 | public static final String JAVA_LANG = "java.lang"; |
| 448 | 449 | ||
| 449 | /** | 450 | /** |
| 450 | - * boolean built in java type. | 451 | + * Java.math.* packages. |
| 452 | + */ | ||
| 453 | + public static final String JAVA_MATH = "java.math"; | ||
| 454 | + | ||
| 455 | + /** | ||
| 456 | + * Boolean built in java type. | ||
| 451 | */ | 457 | */ |
| 452 | public static final String BOOLEAN_DATA_TYPE = "boolean"; | 458 | public static final String BOOLEAN_DATA_TYPE = "boolean"; |
| 453 | 459 | ||
| 454 | /** | 460 | /** |
| 455 | - * byte java built in type. | 461 | + * BigInteger built in java type. |
| 462 | + */ | ||
| 463 | + public static final String BIG_INTEGER = "BigInteger"; | ||
| 464 | + | ||
| 465 | + /** | ||
| 466 | + * Byte java built in type. | ||
| 456 | */ | 467 | */ |
| 457 | public static final String BYTE = "byte"; | 468 | public static final String BYTE = "byte"; |
| 458 | 469 | ||
| 459 | /** | 470 | /** |
| 460 | - * short java built in type. | 471 | + * Short java built in type. |
| 461 | */ | 472 | */ |
| 462 | public static final String SHORT = "short"; | 473 | public static final String SHORT = "short"; |
| 463 | 474 | ||
| 464 | /** | 475 | /** |
| 465 | - * int java built in type. | 476 | + * Int java built in type. |
| 466 | */ | 477 | */ |
| 467 | public static final String INT = "int"; | 478 | public static final String INT = "int"; |
| 468 | 479 | ||
| 469 | /** | 480 | /** |
| 470 | - * long java built in type. | 481 | + * Long java built in type. |
| 471 | */ | 482 | */ |
| 472 | public static final String LONG = "long"; | 483 | public static final String LONG = "long"; |
| 473 | 484 | ||
| 474 | /** | 485 | /** |
| 475 | - * float java built in type. | 486 | + * Float java built in type. |
| 476 | */ | 487 | */ |
| 477 | public static final String FLOAT = "float"; | 488 | public static final String FLOAT = "float"; |
| 478 | 489 | ||
| 479 | /** | 490 | /** |
| 480 | - * double java built in type. | 491 | + * Double java built in type. |
| 481 | */ | 492 | */ |
| 482 | public static final String DOUBLE = "double"; | 493 | public static final String DOUBLE = "double"; |
| 483 | 494 | ||
| 484 | /** | 495 | /** |
| 485 | - * boolean built in java wrapper type. | 496 | + * Boolean built in java wrapper type. |
| 486 | */ | 497 | */ |
| 487 | public static final String BOOLEAN_WRAPPER = "Boolean"; | 498 | public static final String BOOLEAN_WRAPPER = "Boolean"; |
| 488 | 499 | ||
| 489 | /** | 500 | /** |
| 490 | - * byte java built in wrapper type. | 501 | + * Byte java built in wrapper type. |
| 491 | */ | 502 | */ |
| 492 | public static final String BYTE_WRAPPER = "Byte"; | 503 | public static final String BYTE_WRAPPER = "Byte"; |
| 493 | 504 | ||
| 494 | /** | 505 | /** |
| 495 | - * short java built in wrapper type. | 506 | + * Short java built in wrapper type. |
| 496 | */ | 507 | */ |
| 497 | public static final String SHORT_WRAPPER = "Short"; | 508 | public static final String SHORT_WRAPPER = "Short"; |
| 498 | 509 | ||
| ... | @@ -502,17 +513,17 @@ public final class UtilConstants { | ... | @@ -502,17 +513,17 @@ public final class UtilConstants { |
| 502 | public static final String INTEGER_WRAPPER = "Integer"; | 513 | public static final String INTEGER_WRAPPER = "Integer"; |
| 503 | 514 | ||
| 504 | /** | 515 | /** |
| 505 | - * long java built in wrapper type. | 516 | + * Long java built in wrapper type. |
| 506 | */ | 517 | */ |
| 507 | public static final String LONG_WRAPPER = "Long"; | 518 | public static final String LONG_WRAPPER = "Long"; |
| 508 | 519 | ||
| 509 | /** | 520 | /** |
| 510 | - * float java built in wrapper type. | 521 | + * Float java built in wrapper type. |
| 511 | */ | 522 | */ |
| 512 | public static final String FLOAT_WRAPPER = "Float"; | 523 | public static final String FLOAT_WRAPPER = "Float"; |
| 513 | 524 | ||
| 514 | /** | 525 | /** |
| 515 | - * double java built in wrapper type. | 526 | + * Double java built in wrapper type. |
| 516 | */ | 527 | */ |
| 517 | public static final String DOUBLE_WRAPPER = "Double"; | 528 | public static final String DOUBLE_WRAPPER = "Double"; |
| 518 | 529 | ||
| ... | @@ -687,6 +698,41 @@ public final class UtilConstants { | ... | @@ -687,6 +698,41 @@ public final class UtilConstants { |
| 687 | public static final String JAVA_UTIL_OBJECTS_IMPORT_CLASS = "Objects;\n"; | 698 | public static final String JAVA_UTIL_OBJECTS_IMPORT_CLASS = "Objects;\n"; |
| 688 | 699 | ||
| 689 | /** | 700 | /** |
| 701 | + * Static attribute for HasAugmentation class import package. | ||
| 702 | + */ | ||
| 703 | + public static final String HAS_AUGMENTATION_CLASS_IMPORT_PKG = "org.onosproject.yangutils.translator.tojava"; | ||
| 704 | + | ||
| 705 | + /** | ||
| 706 | + * Static attribute for HasAugmentation class import class. | ||
| 707 | + */ | ||
| 708 | + public static final String HAS_AUGMENTATION_CLASS_IMPORT_CLASS = "HasAugmentation;\n"; | ||
| 709 | + | ||
| 710 | + /** | ||
| 711 | + * Static attribute for AugmentedInfo class import package. | ||
| 712 | + */ | ||
| 713 | + public static final String AUGMENTED_INFO_CLASS_IMPORT_PKG = "org.onosproject.yangutils.translator.tojava"; | ||
| 714 | + | ||
| 715 | + /** | ||
| 716 | + * Static attribute for AugmentedInfo class import class. | ||
| 717 | + */ | ||
| 718 | + public static final String AUGMENTED_INFO_CLASS_IMPORT_CLASS = "AugmentedInfo;\n"; | ||
| 719 | + | ||
| 720 | + /** | ||
| 721 | + * Static attribute for augmentation class. | ||
| 722 | + */ | ||
| 723 | + public static final String AUGMENTATION = "Augmentation"; | ||
| 724 | + | ||
| 725 | + /** | ||
| 726 | + * Static attribute for HasAugmentation class. | ||
| 727 | + */ | ||
| 728 | + public static final String HAS_AUGMENTATION = "HasAugmentation"; | ||
| 729 | + | ||
| 730 | + /** | ||
| 731 | + * Static attribute for AugmentedInfo class. | ||
| 732 | + */ | ||
| 733 | + public static final String AUGMENTED_INFO = "AugmentedInfo"; | ||
| 734 | + | ||
| 735 | + /** | ||
| 690 | * Static attribute for abstract collection. | 736 | * Static attribute for abstract collection. |
| 691 | */ | 737 | */ |
| 692 | public static final String ABSTRACT_COLLECTION = "AbstractCollection"; | 738 | public static final String ABSTRACT_COLLECTION = "AbstractCollection"; | ... | ... |
| ... | @@ -21,12 +21,19 @@ import java.lang.reflect.InvocationTargetException; | ... | @@ -21,12 +21,19 @@ import java.lang.reflect.InvocationTargetException; |
| 21 | 21 | ||
| 22 | import org.junit.Test; | 22 | import org.junit.Test; |
| 23 | import org.onosproject.yangutils.datamodel.YangDataTypes; | 23 | import org.onosproject.yangutils.datamodel.YangDataTypes; |
| 24 | +import org.onosproject.yangutils.datamodel.YangDerivedInfo; | ||
| 25 | +import org.onosproject.yangutils.datamodel.YangNode; | ||
| 24 | import org.onosproject.yangutils.datamodel.YangType; | 26 | import org.onosproject.yangutils.datamodel.YangType; |
| 27 | +import org.onosproject.yangutils.datamodel.exceptions.DataModelException; | ||
| 28 | +import org.onosproject.yangutils.translator.tojava.JavaFileInfo; | ||
| 29 | +import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaModule; | ||
| 30 | +import org.onosproject.yangutils.translator.tojava.javamodel.YangJavaTypeDef; | ||
| 25 | 31 | ||
| 26 | import static org.hamcrest.core.Is.is; | 32 | import static org.hamcrest.core.Is.is; |
| 27 | import static org.hamcrest.core.IsNot.not; | 33 | import static org.hamcrest.core.IsNot.not; |
| 28 | import static org.junit.Assert.assertThat; | 34 | import static org.junit.Assert.assertThat; |
| 29 | import static org.onosproject.yangutils.datamodel.YangDataTypes.BOOLEAN; | 35 | import static org.onosproject.yangutils.datamodel.YangDataTypes.BOOLEAN; |
| 36 | +import static org.onosproject.yangutils.datamodel.YangDataTypes.DERIVED; | ||
| 30 | import static org.onosproject.yangutils.datamodel.YangDataTypes.INT32; | 37 | import static org.onosproject.yangutils.datamodel.YangDataTypes.INT32; |
| 31 | import static org.onosproject.yangutils.datamodel.YangDataTypes.STRING; | 38 | import static org.onosproject.yangutils.datamodel.YangDataTypes.STRING; |
| 32 | import static org.onosproject.yangutils.datamodel.YangDataTypes.UINT8; | 39 | import static org.onosproject.yangutils.datamodel.YangDataTypes.UINT8; |
| ... | @@ -44,11 +51,13 @@ public class AttributesJavaDataTypeTest { | ... | @@ -44,11 +51,13 @@ public class AttributesJavaDataTypeTest { |
| 44 | private static final YangDataTypes TYPE2 = INT32; | 51 | private static final YangDataTypes TYPE2 = INT32; |
| 45 | private static final YangDataTypes TYPE3 = BOOLEAN; | 52 | private static final YangDataTypes TYPE3 = BOOLEAN; |
| 46 | private static final YangDataTypes TYPE4 = UINT8; | 53 | private static final YangDataTypes TYPE4 = UINT8; |
| 54 | + private static final YangDataTypes TYPE_DEF = DERIVED; | ||
| 47 | private static final String CLASS_INFO1 = "String"; | 55 | private static final String CLASS_INFO1 = "String"; |
| 48 | private static final String CLASS_INFO2 = "int"; | 56 | private static final String CLASS_INFO2 = "int"; |
| 49 | private static final String CLASS_INFO3 = "boolean"; | 57 | private static final String CLASS_INFO3 = "boolean"; |
| 50 | private static final String CLASS_INFO4 = "short"; | 58 | private static final String CLASS_INFO4 = "short"; |
| 51 | private static final String CLASS_INFO5 = "Integer"; | 59 | private static final String CLASS_INFO5 = "Integer"; |
| 60 | + private static final String TYPE_DEF_PKG = "target.test"; | ||
| 52 | private static String test = ""; | 61 | private static String test = ""; |
| 53 | 62 | ||
| 54 | /** | 63 | /** |
| ... | @@ -128,14 +137,65 @@ public class AttributesJavaDataTypeTest { | ... | @@ -128,14 +137,65 @@ public class AttributesJavaDataTypeTest { |
| 128 | } | 137 | } |
| 129 | 138 | ||
| 130 | /** | 139 | /** |
| 140 | + * Unit test case for typedef. | ||
| 141 | + * | ||
| 142 | + * @throws DataModelException when fails to do data model operations | ||
| 143 | + */ | ||
| 144 | + @Test | ||
| 145 | + public void testForTypeDef() throws DataModelException { | ||
| 146 | + test = getJavaImportPackage(getStubExtendedInfo(getStubYangType(TYPE_DEF)), false, TYPE_DEF_PKG); | ||
| 147 | + assertThat(true, is(test.equals(TYPE_DEF_PKG))); | ||
| 148 | + } | ||
| 149 | + | ||
| 150 | + /** | ||
| 131 | * Returns stub YANG type for test. | 151 | * Returns stub YANG type for test. |
| 132 | * | 152 | * |
| 133 | * @param dataTypes YANG data types | 153 | * @param dataTypes YANG data types |
| 134 | * @return YANG type | 154 | * @return YANG type |
| 135 | */ | 155 | */ |
| 136 | private YangType<?> getStubYangType(YangDataTypes dataTypes) { | 156 | private YangType<?> getStubYangType(YangDataTypes dataTypes) { |
| 137 | - YangType<?> type = new YangType(); | 157 | + YangType<?> type = new YangType<>(); |
| 138 | type.setDataType(dataTypes); | 158 | type.setDataType(dataTypes); |
| 139 | return type; | 159 | return type; |
| 140 | } | 160 | } |
| 161 | + | ||
| 162 | + /** | ||
| 163 | + * Returns YANG type with extended info. | ||
| 164 | + * | ||
| 165 | + * @param type YANG type | ||
| 166 | + * @return YANG type with extended info | ||
| 167 | + * @throws DataModelException when fails to do data model operations | ||
| 168 | + */ | ||
| 169 | + @SuppressWarnings("unchecked") | ||
| 170 | + private YangType<?> getStubExtendedInfo(YangType<?> type) throws DataModelException { | ||
| 171 | + YangJavaTypeDef typedef = new YangJavaTypeDef(); | ||
| 172 | + getStubParent().addChild(typedef); | ||
| 173 | + YangDerivedInfo<?> derInfo = new YangDerivedInfo<>(); | ||
| 174 | + derInfo.setReferredTypeDef(typedef); | ||
| 175 | + ((YangType<YangDerivedInfo<?>>) type).setDataTypeExtendedInfo(derInfo); | ||
| 176 | + return type; | ||
| 177 | + } | ||
| 178 | + | ||
| 179 | + /** | ||
| 180 | + * Returns java file info. | ||
| 181 | + * | ||
| 182 | + * @return java file info | ||
| 183 | + */ | ||
| 184 | + private JavaFileInfo addStubJavaFileInfo() { | ||
| 185 | + JavaFileInfo fileInfo = new JavaFileInfo(); | ||
| 186 | + fileInfo.setJavaName("test"); | ||
| 187 | + fileInfo.setPackage("target"); | ||
| 188 | + return fileInfo; | ||
| 189 | + } | ||
| 190 | + | ||
| 191 | + /** | ||
| 192 | + * Adds stub parent module for typedef. | ||
| 193 | + * | ||
| 194 | + * @return stub parent module | ||
| 195 | + */ | ||
| 196 | + private YangNode getStubParent() { | ||
| 197 | + YangJavaModule parent = new YangJavaModule(); | ||
| 198 | + parent.setJavaFileInfo(addStubJavaFileInfo()); | ||
| 199 | + return parent; | ||
| 200 | + } | ||
| 141 | } | 201 | } | ... | ... |
-
Please register or login to post a comment