X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-java-api-generator%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fjava%2Fapi%2Fgenerator%2FCompilationTest.java;h=f3d640aa8dda14d476f6f399c6db447eee1113a3;hb=4c2b08900d7a4a06bf99698801f339c8bf22e07c;hp=d629cf0a900e233e483c4bcf3655206e893c2b02;hpb=89a12a10b9573dcc84a5636c046cbd0610bc2111;p=mdsal.git diff --git a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/CompilationTest.java b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/CompilationTest.java index d629cf0a90..f3d640aa8d 100644 --- a/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/CompilationTest.java +++ b/binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/CompilationTest.java @@ -24,8 +24,8 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; import java.lang.reflect.WildcardType; -import java.math.BigDecimal; import java.net.URISyntaxException; import java.net.URL; import java.net.URLClassLoader; @@ -38,6 +38,7 @@ import org.junit.Test; import org.opendaylight.mdsal.binding.model.ri.TypeConstants; import org.opendaylight.yangtools.yang.binding.ChildOf; import org.opendaylight.yangtools.yang.binding.annotations.RoutingContext; +import org.opendaylight.yangtools.yang.common.Decimal64; import org.opendaylight.yangtools.yang.common.Empty; import org.opendaylight.yangtools.yang.common.Uint16; import org.opendaylight.yangtools.yang.common.Uint32; @@ -147,7 +148,8 @@ public class CompilationTest extends BaseCompilationTest { assertTrue(new File(parent, "OpenObject.java").exists()); assertTrue(new File(parent, "ExplicitRouteObject.java").exists()); assertTrue(new File(parent, "PathKeySubobject.java").exists()); - CompilationTestUtils.assertFilesCount(parent, 10); + assertTrue(new File(parent, "FooData.java").exists()); + CompilationTestUtils.assertFilesCount(parent, 11); parent = new File(parent, "object"); assertTrue(new File(parent, "Nodes.java").exists()); @@ -202,10 +204,11 @@ public class CompilationTest extends BaseCompilationTest { // Test if all sources were generated from 'module bar' parent = new File(sourcesOutputDir, CompilationTestUtils.NS_BAR); + assertTrue(new File(parent, "BarData.java").exists()); assertTrue(new File(parent, "BasicExplicitRouteSubobjects.java").exists()); assertTrue(new File(parent, "ExplicitRouteSubobjects.java").exists()); assertTrue(new File(parent, "RouteSubobjects.java").exists()); - CompilationTestUtils.assertFilesCount(parent, 6); + CompilationTestUtils.assertFilesCount(parent, 7); parent = new File(parent, "route"); CompilationTestUtils.assertFilesCount(parent, 1); @@ -244,15 +247,12 @@ public class CompilationTest extends BaseCompilationTest { // Test if all sources were generated from 'module foo' File parent = new File(sourcesOutputDir, CompilationTestUtils.NS_FOO); - final File fooListener = new File(parent, "FooListener.java"); - File pathAttributes = new File(parent, "PathAttributes.java"); - final File update = new File(parent, "Update.java"); - final File updateBuilder = new File(parent, "UpdateBuilder.java"); - assertTrue(fooListener.exists()); - assertTrue(pathAttributes.exists()); - assertTrue(update.exists()); - assertTrue(updateBuilder.exists()); - CompilationTestUtils.assertFilesCount(parent, 7); + assertTrue(new File(parent, "FooData.java").exists()); + assertTrue(new File(parent, "FooListener.java").exists()); + assertTrue(new File(parent, "PathAttributes.java").exists()); + assertTrue(new File(parent, "Update.java").exists()); + assertTrue(new File(parent, "UpdateBuilder.java").exists()); + CompilationTestUtils.assertFilesCount(parent, 8); parent = new File(sourcesOutputDir, CompilationTestUtils.NS_FOO + CompilationTestUtils.FS + "path"); CompilationTestUtils.assertFilesCount(parent, 1); @@ -265,20 +265,16 @@ public class CompilationTest extends BaseCompilationTest { parent = new File(sourcesOutputDir, CompilationTestUtils.NS_FOO + CompilationTestUtils.FS + "update"); CompilationTestUtils.assertFilesCount(parent, 2); - pathAttributes = new File(parent, "PathAttributes.java"); - final File pathAttributesBuilder = new File(parent, "PathAttributesBuilder.java"); - assertTrue(pathAttributes.exists()); - assertTrue(pathAttributesBuilder.exists()); + assertTrue(new File(parent, "PathAttributes.java").exists()); + assertTrue(new File(parent, "PathAttributesBuilder.java").exists()); // Test if all sources were generated from 'module bar' parent = new File(sourcesOutputDir, CompilationTestUtils.NS_BAR); - final File destination = new File(parent, "Destination.java"); - final File pathAttributes1 = new File(parent, "PathAttributes1.java"); - final File pathAttributes1Builder = new File(parent, "PathAttributes1Builder.java"); - assertTrue(destination.exists()); - assertTrue(pathAttributes1.exists()); - assertTrue(pathAttributes1Builder.exists()); - CompilationTestUtils.assertFilesCount(parent, 6); + assertTrue(new File(parent, "BarData.java").exists()); + assertTrue(new File(parent, "Destination.java").exists()); + assertTrue(new File(parent, "PathAttributes1.java").exists()); + assertTrue(new File(parent, "PathAttributes1Builder.java").exists()); + CompilationTestUtils.assertFilesCount(parent, 7); parent = new File(sourcesOutputDir, CompilationTestUtils.NS_BAR + CompilationTestUtils.FS + "destination"); CompilationTestUtils.assertFilesCount(parent, 2); @@ -310,17 +306,15 @@ public class CompilationTest extends BaseCompilationTest { parent = new File(parent, "unreach"); CompilationTestUtils.assertFilesCount(parent, 1); parent = new File(parent, "nlri"); - final File withdrawnRoutes = new File(parent, "WithdrawnRoutes.java"); - final File withdrawnRoutesBuilder = new File(parent, "WithdrawnRoutesBuilder.java"); - assertTrue(withdrawnRoutes.exists()); - assertTrue(withdrawnRoutesBuilder.exists()); + assertTrue(new File(parent, "WithdrawnRoutes.java").exists()); + assertTrue(new File(parent, "WithdrawnRoutesBuilder.java").exists()); CompilationTestUtils.assertFilesCount(parent, 2); // Test if all sources were generated from 'module baz' parent = new File(sourcesOutputDir, CompilationTestUtils.NS_BAZ); - CompilationTestUtils.assertFilesCount(parent, 3); - final File linkstateDestination = new File(parent, "LinkstateDestination.java"); - assertTrue(linkstateDestination.exists()); + assertTrue(new File(parent, "BazData.java").exists()); + assertTrue(new File(parent, "LinkstateDestination.java").exists()); + CompilationTestUtils.assertFilesCount(parent, 4); parent = new File(sourcesOutputDir, CompilationTestUtils.NS_BAZ + CompilationTestUtils.FS + "update"); CompilationTestUtils.assertFilesCount(parent, 1); @@ -384,8 +378,7 @@ public class CompilationTest extends BaseCompilationTest { assertTrue(new File(parent, "Nodes.java").exists()); assertTrue(new File(parent, "NodesBuilder.java").exists()); assertTrue(new File(parent, "Alg.java").exists()); - assertTrue(new File(parent, "NodesIdUnionBuilder.java").exists()); - CompilationTestUtils.assertFilesCount(parent, 6); + CompilationTestUtils.assertFilesCount(parent, 5); // Test if sources are compilable CompilationTestUtils.testCompilation(sourcesOutputDir, compiledOutputDir); @@ -400,7 +393,7 @@ 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, BigDecimal.class, "getIdDecimal64"); + CompilationTestUtils.assertContainsMethod(nodesClass, Decimal64.class, "getIdDecimal64"); CompilationTestUtils.assertContainsMethod(nodesClass, Empty.class, "getIdEmpty"); CompilationTestUtils.assertContainsMethod(nodesClass, pkg + ".Nodes$IdEnumeration", "getIdEnumeration", loader); testReturnTypeIdentityref(nodesClass, "getIdIdentityref", pkg + ".Alg"); @@ -429,10 +422,10 @@ public class CompilationTest extends BaseCompilationTest { CompilationTestUtils.assertContainsRestrictionCheck(builderObj, method, expectedMsg, arg); method = CompilationTestUtils.assertContainsMethod(builderClass, builderClass, "setIdDecimal64", - BigDecimal.class); - final List> rangeConstraints = new ArrayList<>(); - rangeConstraints.add(Range.closed(new BigDecimal("1.5"), new BigDecimal("5.5"))); - Object arg1 = new BigDecimal("1.4"); + Decimal64.class); + final List> rangeConstraints = new ArrayList<>(); + rangeConstraints.add(Range.closed(Decimal64.valueOf("1.5"), Decimal64.valueOf("5.5"))); + Object arg1 = Decimal64.valueOf("1.4"); expectedMsg = String.format("Invalid range: %s, expected: %s.", arg1, rangeConstraints); CompilationTestUtils.assertContainsRestrictionCheck(builderObj, method, expectedMsg, arg1); @@ -454,7 +447,8 @@ public class CompilationTest extends BaseCompilationTest { assertTrue(new File(fooParent, "NodesBuilder.java").exists()); final File barParent = new File(sourcesOutputDir, CompilationTestUtils.NS_BAR); - CompilationTestUtils.assertFilesCount(barParent, 2); + CompilationTestUtils.assertFilesCount(barParent, 3); + assertTrue(new File(barParent, "BarData.java").exists()); assertTrue(new File(barParent, "IdentityClass.java").exists()); // Test if sources are compilable @@ -757,17 +751,9 @@ public class CompilationTest extends BaseCompilationTest { private static void testReturnTypeIdentityref(final Class clazz, final String methodName, final String returnTypeStr) throws NoSuchMethodException { - Method method = clazz.getMethod(methodName); - assertEquals(java.lang.Class.class, method.getReturnType()); - java.lang.reflect.Type returnType = method.getGenericReturnType(); - assertTrue(returnType instanceof ParameterizedType); - final ParameterizedType pt = (ParameterizedType) returnType; - final java.lang.reflect.Type[] parameters = pt.getActualTypeArguments(); - assertEquals(1, parameters.length); - final java.lang.reflect.Type parameter = parameters[0]; - assertTrue(parameter instanceof WildcardType); - final WildcardType wildcardType = (WildcardType) parameter; - assertEquals("? extends " + returnTypeStr, wildcardType.toString()); + Class returnType = clazz.getMethod(methodName).getReturnType(); + assertTrue(returnType.isInterface()); + assertEquals(returnTypeStr, returnType.getName()); } private static void testReturnTypeInstanceIdentitifer(final ClassLoader loader, final Class clazz, @@ -776,12 +762,12 @@ public class CompilationTest extends BaseCompilationTest { final Class rawReturnType = Class.forName("org.opendaylight.yangtools.yang.binding.InstanceIdentifier", true, loader); assertEquals(rawReturnType, method.getReturnType()); - final java.lang.reflect.Type returnType = method.getGenericReturnType(); + final Type returnType = method.getGenericReturnType(); assertTrue(returnType instanceof ParameterizedType); final ParameterizedType pt = (ParameterizedType) returnType; - final java.lang.reflect.Type[] parameters = pt.getActualTypeArguments(); + final Type[] parameters = pt.getActualTypeArguments(); assertEquals(1, parameters.length); - final java.lang.reflect.Type parameter = parameters[0]; + final Type parameter = parameters[0]; assertTrue(parameter instanceof WildcardType); final WildcardType wildcardType = (WildcardType) parameter; assertEquals("?", wildcardType.toString());