Remove deprecated uint migration elements 33/85833/3
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 18 Nov 2019 14:43:07 +0000 (15:43 +0100)
committerRobert Varga <nite@hq.sk>
Tue, 17 Dec 2019 09:44:47 +0000 (09:44 +0000)
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 <robert.varga@pantheon.tech>
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BaseTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/ClassTemplate.xtend
binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/CodeHelpers.java

index e1dc45caafc4a4529d444e1db2025076ffc2535d..838dd1217451f962b8882c3e76fa6d169ff383ee 100644 (file)
@@ -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)
     }
index 2390ffbdca8273a7539635f3ee35ea9e89197aaf..6a2d78888972dd67c7ed67cdcc46602cad8f4add 100644 (file)
@@ -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»
     '''
 
     /**
index 7000c109fdbe7eac3483b285cef203e1538768a0..5af06d6ec87cd681fa4f1222242fb1aa9f03ac94 100644 (file)
@@ -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<GeneratedProperty> 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
-    }
 }
index 6fdc5cfec64b8553e8256fbb8caeccfbfe9ffec5..6a2486962effdbe5b629f944161db61e52a12038 100644 (file)
@@ -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:
      * <pre>