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;
import java.util.List;
import java.util.stream.Collectors;
import org.junit.Test;
-import org.opendaylight.mdsal.binding.model.util.TypeConstants;
+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;
assertTrue(linksClass.isInterface());
CompilationTestUtils.assertImplementsIfc(linksClass, keyArgsClass);
assertEquals(7, abstractMethods(linksClass).size());
+ CompilationTestUtils.assertContainsMethod(linksClass,
+ "org.opendaylight.yang.gen.v1.urn.opendaylight.test.rev131008.links.Text", "getText", loader);
+ CompilationTestUtils.assertContainsMethod(linksClass,
+ "org.opendaylight.yang.gen.v1.urn.opendaylight.test.rev131008.links.Text", "requireText", loader);
// Test list key constructor arguments ordering
CompilationTestUtils.assertContainsConstructor(linksKeyClass, Byte.class, String.class, Integer.class);
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());
// 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);
// 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);
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);
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);
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);
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");
CompilationTestUtils.assertContainsRestrictionCheck(builderObj, method, expectedMsg, arg);
method = CompilationTestUtils.assertContainsMethod(builderClass, builderClass, "setIdDecimal64",
- BigDecimal.class);
- final List<Range<BigDecimal>> 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<Range<Decimal64>> 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);
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
final String returnTypeStr) throws NoSuchMethodException {
Method method = clazz.getMethod(methodName);
assertEquals(java.lang.Class.class, method.getReturnType());
- java.lang.reflect.Type returnType = method.getGenericReturnType();
+ 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("? extends " + returnTypeStr, wildcardType.toString());
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());