From 1382c1d88b753e152ff26eae1091cd42e5aba76b Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 18 Nov 2019 15:43:07 +0100 Subject: [PATCH] Remove deprecated uint migration elements This removes code generated to support uint8/16/32/64 mapping transition, so that users are forced to interface with proper types. JIRA: MDSAL-490 Change-Id: I83c074ebe2dd9bfeea3fea1e12befb01a3fb435d Signed-off-by: Robert Varga --- .../java/api/generator/BaseTemplate.xtend | 13 ---- .../java/api/generator/BuilderTemplate.xtend | 15 ----- .../java/api/generator/ClassTemplate.xtend | 47 -------------- .../yangtools/yang/binding/CodeHelpers.java | 65 ------------------- 4 files changed, 140 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 e1dc45caaf..838dd12174 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 @@ -13,9 +13,7 @@ import static org.opendaylight.mdsal.binding.model.util.Types.STRING; import com.google.common.base.CharMatcher import com.google.common.base.MoreObjects import com.google.common.base.Splitter -import com.google.common.collect.ImmutableMap import com.google.common.collect.Iterables -import java.math.BigInteger import java.util.Collection import java.util.List import java.util.Locale @@ -39,10 +37,6 @@ import org.opendaylight.mdsal.binding.model.util.TypeConstants import org.opendaylight.mdsal.binding.model.util.Types import org.opendaylight.mdsal.binding.spec.naming.BindingMapping import org.opendaylight.yangtools.yang.common.QName -import org.opendaylight.yangtools.yang.common.Uint8 -import org.opendaylight.yangtools.yang.common.Uint16 -import org.opendaylight.yangtools.yang.common.Uint32 -import org.opendaylight.yangtools.yang.common.Uint64 import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode import org.opendaylight.yangtools.yang.model.api.ListSchemaNode import org.opendaylight.yangtools.yang.model.api.NotificationDefinition @@ -70,13 +64,6 @@ abstract class BaseTemplate extends JavaFileTemplate { .addIgnoredStatement(YangStmtMapping.ORGANIZATION) .build(); - protected static val UINT_TYPES = ImmutableMap.of( - Types.typeForClass(Uint8), Types.typeForClass(Short), - Types.typeForClass(Uint16), Types.typeForClass(Integer), - Types.typeForClass(Uint32), Types.typeForClass(Long), - Types.typeForClass(Uint64), Types.typeForClass(BigInteger) - ); - new(GeneratedType type) { super(type) } 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 2390ffbdca..6a2d788889 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 @@ -317,21 +317,6 @@ class BuilderTemplate extends AbstractBuilderTemplate { this.«field.fieldName» = value; return this; } - «val uintType = UINT_TYPES.get(field.returnType)» - «IF uintType !== null» - - /** - * Utility migration setter. - * - * @param value field value in legacy type - * @return this builder - * @deprecated Use {#link «setterName»(«field.returnType.importedJavadocName»)} instead. - */ - @Deprecated(forRemoval = true) - public «type.getName» «setterName»(final «uintType.importedName» value) { - return «setterName»(«CODEHELPERS.importedName».compatUint(value)); - } - «ENDIF» ''' /** 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 7000c109fd..5af06d6ec8 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 @@ -201,10 +201,8 @@ class ClassTemplate extends BaseTemplate { «genUnionConstructor» «ELSEIF genTO.typedef && allProperties.size == 1 && allProperties.get(0).name.equals("value")» «typedefConstructor» - «legacyConstructor» «ELSE» «allValuesConstructor» - «legacyConstructor» «ENDIF» «IF !allProperties.empty» @@ -263,29 +261,6 @@ class ClassTemplate extends BaseTemplate { } ''' - def private legacyConstructor() { - if (!hasUintProperties) { - return "" - } - - val compatUint = CODEHELPERS.importedName + ".compatUint(" - return ''' - - /** - * Utility migration constructor. - * - «FOR prop : allProperties» - * @param «prop.fieldName» «prop.name»«IF prop.isUintType» in legacy Java type«ENDIF» - «ENDFOR» - * @deprecated Use {#link «type.name»(«FOR prop : allProperties SEPARATOR ", "»«prop.returnType.importedJavadocName»«ENDFOR»)} instead. - */ - @Deprecated(forRemoval = true) - public «type.getName»(«FOR prop : allProperties SEPARATOR ", "»«prop.legacyType.importedName» «prop.fieldName»«ENDFOR») { - this(«FOR prop : allProperties SEPARATOR ", "»«IF prop.isUintType»«compatUint»«prop.fieldName»)«ELSE»«prop.fieldName»«ENDIF»«ENDFOR»); - } - ''' - } - def protected genUnionConstructor() ''' «FOR p : allProperties» «val List other = new ArrayList(properties)» @@ -587,26 +562,4 @@ class ClassTemplate extends BaseTemplate { } return null } - - def private hasUintProperties() { - for (GeneratedProperty prop : allProperties) { - if (prop.isUintType) { - return true - } - } - return false - } - - def private static isUintType(GeneratedProperty prop) { - UINT_TYPES.containsKey(prop.returnType) - } - - def private static legacyType(GeneratedProperty prop) { - val type = prop.returnType - val uint = UINT_TYPES.get(type) - if (uint !== null) { - return uint - } - return type - } } diff --git a/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java b/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java index 6fdc5cfec6..6a2486962e 100644 --- a/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java +++ b/binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java @@ -14,17 +14,12 @@ import static java.util.Objects.requireNonNull; import com.google.common.base.MoreObjects.ToStringHelper; import com.google.common.base.VerifyException; import com.google.common.collect.ImmutableList; -import java.math.BigInteger; import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.regex.Pattern; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; -import org.opendaylight.yangtools.yang.common.Uint16; -import org.opendaylight.yangtools.yang.common.Uint32; -import org.opendaylight.yangtools.yang.common.Uint64; -import org.opendaylight.yangtools.yang.common.Uint8; /** * Helper methods for generated binding code. This class concentrates useful primitives generated code may call @@ -282,66 +277,6 @@ public final class CodeHelpers { return wrapHashCode(Arrays.hashCode(obj)); } - /** - * Compatibility utility for converting a legacy {@link Short} {@code uint8} value to its {@link Uint8} - * counterpart. - * - * @param value Legacy value - * @return Converted value - * @throws IllegalArgumentException if the value does not fit an Uint8 - * @deprecated This method is provided for migration purposes only, do not use it outside of deprecated - * compatibility methods. - */ - @Deprecated - public static @Nullable Uint8 compatUint(final @Nullable Short value) { - return value == null ? null : Uint8.valueOf(value.shortValue()); - } - - /** - * Compatibility utility for converting a legacy {@link Integer} {@code uint16} value to its {@link Uint16} - * counterpart. - * - * @param value Legacy value - * @return Converted value - * @throws IllegalArgumentException if the value does not fit an Uint16 - * @deprecated This method is provided for migration purposes only, do not use it outside of deprecated - * compatibility methods. - */ - @Deprecated - public static @Nullable Uint16 compatUint(final @Nullable Integer value) { - return value == null ? null : Uint16.valueOf(value.intValue()); - } - - /** - * Compatibility utility for converting a legacy {@link Long} {@code uint32} value to its {@link Uint32} - * counterpart. - * - * @param value Legacy value - * @return Converted value - * @throws IllegalArgumentException if the value does not fit an Uint32 - * @deprecated This method is provided for migration purposes only, do not use it outside of deprecated - * compatibility methods. - */ - @Deprecated - public static @Nullable Uint32 compatUint(final @Nullable Long value) { - return value == null ? null : Uint32.valueOf(value.longValue()); - } - - /** - * Compatibility utility for converting a legacy {@link BigInteger} {@code uint64} value to its {@link Uint64} - * counterpart. - * - * @param value Legacy value - * @return Converted value - * @throws IllegalArgumentException if the value does not fit an Uint64 - * @deprecated This method is provided for migration purposes only, do not use it outside of deprecated - * compatibility methods. - */ - @Deprecated - public static @Nullable Uint64 compatUint(final @Nullable BigInteger value) { - return value == null ? null : Uint64.valueOf(value); - } - /** * The constant '31' is the result of folding this code: *
-- 
2.36.6