Do not generate 'isFoo()' methods 73/94273/11
authorRobert Varga <robert.varga@pantheon.tech>
Fri, 18 Dec 2020 17:28:28 +0000 (18:28 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Sat, 6 Feb 2021 14:08:16 +0000 (15:08 +0100)
Remove compatibility boolean getter generation, i.e.
'Boolean getFoo()' methods no longer get 'Boolean isFoo()' siblings.

JIRA: MDSAL-659
Change-Id: Ib7111ea600296ce1d55730c1d9c754abf3f4f78b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/SpecializingLeafrefTest.java
binding/mdsal-binding-generator-impl/src/main/java/org/opendaylight/mdsal/binding/generator/impl/AbstractTypeGenerator.java
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/ChoiceCaseGenTypesTest.java
binding/mdsal-binding-generator-impl/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GenEnumResolvingTest.java
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/InterfaceTemplate.xtend
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/test/CompilationTest.java
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/test/SpecializingLeafrefTest.java
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/test/TypedefCompilationTest.java
binding/mdsal-binding-spec-util/src/main/java/org/opendaylight/mdsal/binding/spec/naming/BindingMapping.java

index 33ba3909b07588dc46fd39672497a0efc2b905a9..4ecc2b201c92c7de3094bccc921c0e8a471b86e6 100644 (file)
@@ -39,7 +39,7 @@ public class SpecializingLeafrefTest extends AbstractBindingCodecTest {
         final BooleanCont booleanContBinding = (BooleanCont)codecContext
                 .fromNormalizedNode(res.getKey(), res.getValue()).getValue();
 
-        assertTrue(booleanContBinding.isIsFoo());
+        assertTrue(booleanContBinding.getIsFoo());
     }
 
     @Test
index 30989d2c2ce9c9c903191107deb7bb890c0c5c8a..15f702b9bb7d32ab2480e306c5d36be0f080cdaa 100644 (file)
@@ -36,7 +36,6 @@ import static org.opendaylight.mdsal.binding.model.util.BindingTypes.keyedListAc
 import static org.opendaylight.mdsal.binding.model.util.BindingTypes.keyedListNotification;
 import static org.opendaylight.mdsal.binding.model.util.BindingTypes.opaqueObject;
 import static org.opendaylight.mdsal.binding.model.util.BindingTypes.rpcResult;
-import static org.opendaylight.mdsal.binding.model.util.Types.BOOLEAN;
 import static org.opendaylight.mdsal.binding.model.util.Types.STRING;
 import static org.opendaylight.mdsal.binding.model.util.Types.classType;
 import static org.opendaylight.mdsal.binding.model.util.Types.listTypeFor;
@@ -1986,14 +1985,6 @@ abstract class AbstractTypeGenerator {
         annotateDeprecatedIfNecessary(node, getMethod);
         addComment(getMethod, node);
 
-        if (BOOLEAN.equals(returnType)) {
-            // Construct a default 'isFoo()' method for compatibility
-            interfaceBuilder.addMethod(BindingMapping.getGetterMethodName(node.getQName().getLocalName(), true))
-                .setAccessModifier(AccessModifier.PUBLIC)
-                .setDefault(true)
-                .setReturnType(BOOLEAN);
-        }
-
         return getMethod;
     }
 
index 290082c62b5c099f5f72713c7acc89beaf4adee6..518a7430d96c48f0143380275420163f42d8b1dd 100644 (file)
@@ -141,7 +141,6 @@ public class ChoiceCaseGenTypesTest extends AbstractTypesTest {
         genType = checkGeneratedType(genTypes, "Bar", pcgPref
                 + ".netconf.state.datastores.datastore.locks.lock.type.partial.lock.aug._case.by.choice"); // case
         containsMethods(genType, new NameTypePattern("getBar", "Boolean"));
-        containsMethods(genType, new NameTypePattern("isBar", "Boolean"));
         containsInterface("AugCaseByChoice", genType);
 
         // augment "/nm:netconf-state/nm:datastores/nm:datastore" {
index 335a853202d8b01a75c953560ab1e924e73b6aec..8ac1c5784dde08839d079b6da14b9ebbcd2764a4 100644 (file)
@@ -66,7 +66,7 @@ public class GenEnumResolvingTest {
         assertNotNull("Generated Interface cannot contain NULL reference for Method Signature Definitions!", methods);
 
         // FIXME: split this into getter/default/static asserts
-        assertEquals(20, methods.size());
+        assertEquals(19, methods.size());
         Enumeration ianaIfType = null;
         for (final MethodSignature method : methods) {
             if (method.getName().equals("getType")) {
index c15e683e39ad77105d63fa0d31fac70cf40321b9..fdf173e6690dca3467bb6804b826e21145b2aaae 100644 (file)
@@ -106,13 +106,6 @@ abstract class BaseTemplate extends JavaFileTemplate {
             return «fieldName»;
             «ENDIF»
         }
-        «IF field.returnType == Types.BOOLEAN»
-
-        @«DEPRECATED.importedName»(forRemoval = true)
-        public final «field.returnType.importedName» «BindingMapping.BOOLEAN_GETTER_PREFIX»«field.name.toFirstUpper»() {
-            return «methodName»();
-        }
-        «ENDIF»
     '''
 
     final protected def getterMethodName(GeneratedProperty field) {
index c1bdd7f2e05007b824c05f1bbb88718c778eaeec..b41817df9b648b6300cb7d576af7c4ac27383db6 100644 (file)
@@ -16,9 +16,7 @@ import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.AUGMENTA
 import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BINDING_EQUALS_NAME
 import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BINDING_HASHCODE_NAME
 import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BINDING_TO_STRING_NAME
-import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.BOOLEAN_GETTER_PREFIX
 import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.DATA_CONTAINER_IMPLEMENTED_INTERFACE_NAME
-import static org.opendaylight.mdsal.binding.spec.naming.BindingMapping.GETTER_PREFIX
 
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.MoreObjects
@@ -207,8 +205,6 @@ class InterfaceTemplate extends BaseTemplate {
                 default :
                     if (VOID == method.returnType.identifier) {
                         generateNoopVoidInterfaceMethod(method)
-                    } else if (method.name.startsWith(BOOLEAN_GETTER_PREFIX)) {
-                        generateIsAccessorMethod(method)
                     }
             }
         }
@@ -236,13 +232,6 @@ class InterfaceTemplate extends BaseTemplate {
         }
     '''
 
-    def private generateIsAccessorMethod(MethodSignature method) '''
-        @«DEPRECATED.importedName»(forRemoval = true)
-        default «method.returnType.importedName» «method.name»(«method.parameters.generateParameters») {
-            return «GETTER_PREFIX»«method.name.substring(BOOLEAN_GETTER_PREFIX.length)»();
-        }
-    '''
-
     def private static accessorJavadoc(MethodSignature method, String orString) {
         val reference = method.comment?.referenceDescription
         val propReturn = method.propertyNameFromGetter + ", or " + orString + " if it is not present."
index 44d0b41ed9b062c1160129e007e75088d1b9e271..090760ecf7fb0aedc91ddc843663fbdf1c82fab1 100644 (file)
@@ -393,7 +393,6 @@ public class CompilationTest extends BaseCompilationTest {
         CompilationTestUtils.assertContainsMethod(nodesClass, b.getClass(), "getIdBinary");
         CompilationTestUtils.assertContainsMethod(nodesClass, pkg + ".Nodes$IdBits", "getIdBits", loader);
         CompilationTestUtils.assertContainsMethod(nodesClass, Boolean.class, "getIdBoolean");
-        CompilationTestUtils.assertContainsMethod(nodesClass, Boolean.class, "isIdBoolean");
         CompilationTestUtils.assertContainsMethod(nodesClass, BigDecimal.class, "getIdDecimal64");
         CompilationTestUtils.assertContainsMethod(nodesClass, Empty.class, "getIdEmpty");
         CompilationTestUtils.assertContainsMethod(nodesClass, pkg + ".Nodes$IdEnumeration", "getIdEnumeration", loader);
index b98b0b3136b58cfae2cf1ad313e04ac1e778850e..40645da3ce76949a9250cf4746b98e50f325e567 100644 (file)
@@ -52,7 +52,6 @@ public class SpecializingLeafrefTest extends BaseCompilationTest {
 
     private static final String GET_LEAF1_NAME = "getLeaf1";
     private static final String GET_LEAFLIST1_NAME = "getLeafList1";
-    private static final String IS_LEAF1_NAME = "isLeaf1";
 
     private static final String GET_LEAF1_TYPE_OBJECT = "    Object getLeaf1();";
     private static final String GET_LEAF1_TYPE_STRING = "    String getLeaf1();";
@@ -60,7 +59,6 @@ public class SpecializingLeafrefTest extends BaseCompilationTest {
     private static final String GET_LEAFLIST1_STRING = "    @Nullable List<String> getLeafList1();";
     private static final String GET_LEAFLIST1_DECLARATION = " getLeafList1();";
     private static final String GET_LEAF1_DECLARATION = " getLeaf1();";
-    private static final String IS_LEAF1_BOOLEAN = "    Boolean isLeaf1();";
 
     private static final char CLOSING_METHOD_BRACE = '}';
     private static final String TAB_CLOSING_METHOD_BRACE = TAB + CLOSING_METHOD_BRACE;
@@ -161,7 +159,6 @@ public class SpecializingLeafrefTest extends BaseCompilationTest {
     public void testLeafrefWhichPointsBoolean() throws IOException {
         verifyReturnType(UNRESOLVED_GROUPING, GET_LEAF1_NAME, Types.objectType());
         verifyReturnType(BOOLEAN_CONT, GET_LEAF1_NAME, Types.BOOLEAN);
-        verifyReturnType(BOOLEAN_CONT, IS_LEAF1_NAME, Types.BOOLEAN);
 
         final String unresolvedGrouping = getFileContent(UNRESOLVED_GROUPING);
         final String booleanCont = getFileContent(BOOLEAN_CONT);
index 05edb28c241a864635ac4cf79195acfea1147611..dd932fba0fe18003a7475f4ce623d46d134026df 100644 (file)
@@ -103,7 +103,7 @@ public class TypedefCompilationTest extends BaseCompilationTest {
         Method defInst = CompilationTestUtils.assertContainsMethod(bitsExtClass, bitsExtClass, "getDefaultInstance",
             String.class);
         CompilationTestUtils.assertContainsDefaultMethods(bitsExtClass);
-        assertEquals(19, bitsExtClass.getDeclaredMethods().length);
+        assertEquals(12, bitsExtClass.getDeclaredMethods().length);
 
         Constructor<?> expectedConstructor = CompilationTestUtils.assertContainsConstructor(bitsExtClass, Boolean.class,
             Boolean.class, Boolean.class, Boolean.class, Boolean.class, Boolean.class, Boolean.class);
index 2261317c3fcd42bad8f2ffc91e0bbe5d58ff9357..911c5b50b497b552da11042fc061355ed92e0427 100644 (file)
@@ -103,13 +103,6 @@ public final class BindingMapping {
      */
     public static final @NonNull String SCALAR_TYPE_OBJECT_GET_VALUE_NAME = "getValue";
 
-    /**
-     * Prefix for getter methods working on top of {@code boolean}. These are only provided for backwards compatiblity,
-     * as {@code boolean} is no longer special.
-     */
-    @Deprecated(forRemoval = true)
-    public static final @NonNull String BOOLEAN_GETTER_PREFIX = "is";
-
     /**
      * Prefix for normal getter methods.
      */
@@ -218,16 +211,6 @@ public final class BindingMapping {
         return getMethodName(name.getLocalName());
     }
 
-    @Deprecated(forRemoval = true)
-    public static @NonNull String getGetterPrefix(final boolean isBoolean) {
-        return isBoolean ? BOOLEAN_GETTER_PREFIX : GETTER_PREFIX;
-    }
-
-    @Deprecated(forRemoval = true)
-    public static @NonNull String getGetterMethodName(final String localName, final boolean isBoolean) {
-        return getGetterPrefix(isBoolean) + toFirstUpper(getPropertyName(localName));
-    }
-
     public static @NonNull String getGetterMethodName(final String localName) {
         return GETTER_PREFIX + toFirstUpper(getPropertyName(localName));
     }
@@ -236,11 +219,6 @@ public final class BindingMapping {
         return GETTER_PREFIX + getGetterSuffix(name);
     }
 
-    @Deprecated(forRemoval = true)
-    public static @NonNull String getGetterMethodName(final QName name, final boolean isBoolean) {
-        return getGetterPrefix(isBoolean) + getGetterSuffix(name);
-    }
-
     public static boolean isGetterMethodName(final String methodName) {
         return methodName.startsWith(GETTER_PREFIX);
     }