From 4d713e4be2e480708d202a6ed8c1af18e4e17d91 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 7 Jun 2018 18:29:30 +0200 Subject: [PATCH] Reference java.lang.Override through importedName This looks a bit weird, but we must not assume Override is not shadowed in our class or really in package, otherwise we could end up with code which does not compile. JIRA: MDSAL-349 Change-Id: I701daea54fa7a234d75a8fa694a5bd46360b827e Signed-off-by: Robert Varga --- .../java/api/generator/BaseTemplate.xtend | 2 +- .../java/api/generator/BuilderTemplate.xtend | 16 ++++++++-------- .../java/api/generator/ClassTemplate.xtend | 4 ++-- .../java/api/generator/EnumTemplate.xtend | 4 ++-- .../api/generator/YangModuleInfoTemplate.xtend | 8 ++++---- .../compilation/mdsal327/test-imports.yang | 7 ++++++- 6 files changed, 23 insertions(+), 18 deletions(-) diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend index 0b9d7fb563..27292a96a2 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend @@ -409,7 +409,7 @@ abstract class BaseTemplate extends JavaFileTemplate { def protected generateToString(Collection properties) ''' «IF !properties.empty» - @Override + @«Override.importedName» public «String.importedName» toString() { final «MoreObjects.importedName».ToStringHelper helper = «MoreObjects.importedName».toStringHelper(«type.importedName».class); «FOR property : properties» diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend index 7bcb7e97c6..110765c8f2 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend @@ -223,7 +223,7 @@ class BuilderTemplate extends BaseTemplate { «generateSetters» - @Override + @«Override.importedName» public «type.name» build() { return new «type.name»«IMPL»(this); } @@ -645,7 +645,7 @@ class BuilderTemplate extends BaseTemplate { */ def private generateGetters(boolean addOverride) ''' «IF keyType !== null» - «IF addOverride»@Override«ENDIF» + «IF addOverride»@«Override.importedName»«ENDIF» public «keyType.importedName» «BindingMapping.IDENTIFIABLE_KEY_NAME»() { return key; } @@ -653,14 +653,14 @@ class BuilderTemplate extends BaseTemplate { «ENDIF» «IF !properties.empty» «FOR field : properties SEPARATOR '\n'» - «IF addOverride»@Override«ENDIF» + «IF addOverride»@«Override.importedName»«ENDIF» «field.getterMethod» «ENDFOR» «ENDIF» «IF augmentType !== null» @SuppressWarnings("unchecked") - «IF addOverride»@Override«ENDIF» + «IF addOverride»@«Override.importedName»«ENDIF» public E «AUGMENTABLE_AUGMENTATION_NAME»(«Class.importedName» augmentationType) { return (E) «AUGMENTATION_FIELD».get(«CodeHelpers.importedName».nonNullValue(augmentationType, "augmentationType")); } @@ -677,7 +677,7 @@ class BuilderTemplate extends BaseTemplate { private int hash = 0; private volatile boolean hashValid = false; - @Override + @«Override.importedName» public int hashCode() { if (hashValid) { return hash; @@ -710,7 +710,7 @@ class BuilderTemplate extends BaseTemplate { */ def protected generateEquals() ''' «IF !properties.empty || augmentType !== null» - @Override + @«Override.importedName» public boolean equals(«Object.importedName» obj) { if (this == obj) { return true; @@ -759,7 +759,7 @@ class BuilderTemplate extends BaseTemplate { def override generateToString(Collection properties) ''' «IF properties !== null» - @Override + @«Override.importedName» public «String.importedName» toString() { final «MoreObjects.importedName».ToStringHelper helper = «MoreObjects.importedName».toStringHelper("«type.name»"); «FOR property : properties» @@ -774,7 +774,7 @@ class BuilderTemplate extends BaseTemplate { ''' def implementedInterfaceGetter() ''' - @Override + @«Override.importedName» public «Class.importedName»<«type.importedName»> getImplementedInterface() { return «type.importedName».class; } diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend index 3e23a387a4..90b2ac3701 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend @@ -475,7 +475,7 @@ class ClassTemplate extends BaseTemplate { */ def protected generateHashCode() ''' «IF !genTO.hashCodeIdentifiers.empty» - @Override + @«Override.importedName» public int hashCode() { final int prime = 31; int result = 1; @@ -498,7 +498,7 @@ class ClassTemplate extends BaseTemplate { */ def protected generateEquals() ''' «IF !genTO.equalsIdentifiers.empty» - @Override + @«Override.importedName» public boolean equals(java.lang.Object obj) { if (this == obj) { return true; diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/EnumTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/EnumTemplate.xtend index 0bca47918e..c5e1cf9607 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/EnumTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/EnumTemplate.xtend @@ -93,12 +93,12 @@ class EnumTemplate extends BaseTemplate { this.name = name; } - @Override + @«Override.importedName» public «String.importedName» getName() { return name; } - @Override + @«Override.importedName» public int getIntValue() { return value; } diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend index 5f6f4e22dd..b23f9a5e4f 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/YangModuleInfoTemplate.xtend @@ -100,7 +100,7 @@ class YangModuleInfoTemplate { package «packageName»; public final class «MODEL_BINDING_PROVIDER_CLASS_NAME» implements «YangModelBindingProvider.name» { - @Override + @«Override.importedName» public «YangModuleInfo.name» getModuleInfo() { return «MODULE_INFO_CLASS_NAME».getInstance(); } @@ -144,17 +144,17 @@ class YangModuleInfoTemplate { «ENDIF» } - @Override + @«Override.importedName» public «QName.importedName» getName() { return NAME; } - @Override + @«Override.importedName» protected «String.importedName» resourceName() { return "«sourcePath(m)»"; } - @Override + @«Override.importedName» public «Set.importedName»<«YangModuleInfo.importedName»> getImportedModules() { return importedModules; } diff --git a/binding/mdsal-binding-java-api-generator/src/test/resources/compilation/mdsal327/test-imports.yang b/binding/mdsal-binding-java-api-generator/src/test/resources/compilation/mdsal327/test-imports.yang index 372f985372..980b1d3c55 100644 --- a/binding/mdsal-binding-java-api-generator/src/test/resources/compilation/mdsal327/test-imports.yang +++ b/binding/mdsal-binding-java-api-generator/src/test/resources/compilation/mdsal327/test-imports.yang @@ -20,9 +20,14 @@ module test-imports { enum string; enum int8; enum optional; + enum override; } } } - } + } + + container override { + + } } } -- 2.36.6