Always generate DataRoot interface 25/100025/2
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 9 Mar 2022 15:17:45 +0000 (16:17 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 9 Mar 2022 15:41:05 +0000 (16:41 +0100)
Having a reliable top-level interface is quite convenient for reasoning
about the modules generated. It also allows us to make further
assumption that a ModuleRuntimeType is always present, simplifying
things at runtime.

JIRA: MDSAL-729
Change-Id: Ia83e1910f80abb82ed32760afbd083b414033eb2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
28 files changed:
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/BindingRuntimeTypesFactory.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ModuleGenerator.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/AugmentRelativeXPathTest.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/AugmentedTypeTest.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/BinaryTypeTest.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/BindingGeneratorImplTest.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Bug1862Test.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/ChoiceCaseGenTypesTest.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/ControllerTest.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GenEnumResolvingTest.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GenTypesSubSetTest.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedTypesLeafrefTest.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/GeneratedTypesTest.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal269Test.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal300Test.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal335Test.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal459Test.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal500Test.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal516Test.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal517Test.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal531Test.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal554Test.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal715Test.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/Mdsal718Test.java
binding/mdsal-binding-generator/src/test/java/org/opendaylight/mdsal/binding/generator/impl/UnionTypeDefTest.java
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/AugmentToUsesInAugmentCompilationTest.java
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/CascadeUsesCompilationTest.java
binding/mdsal-binding-java-api-generator/src/test/java/org/opendaylight/mdsal/binding/java/api/generator/CompilationTest.java

index 49953954cc3156bee7f22173a176640b7ffa4fef..a3b8807c62f8c1d12849108a1fae3659176af4cb 100644 (file)
@@ -73,9 +73,7 @@ final class BindingRuntimeTypesFactory implements Mutable {
             final var modGen = entry.getValue();
 
             // index the module's runtime type
-            modGen.runtimeType().ifPresent(type -> {
-                safePut(modules, "modules", entry.getKey(), type);
-            });
+            safePut(modules, "modules", entry.getKey(), modGen.runtimeType().orElseThrow());
 
             // index module's identities and RPC input/outputs
             for (var gen : modGen) {
index b67f89f7fc0ba359bac1aaef3a76555ce2d00713..4607f9b437b41e3cdd9819faa75b102f79625b47 100644 (file)
@@ -25,8 +25,6 @@ import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
 import org.opendaylight.mdsal.binding.spec.naming.BindingMapping;
 import org.opendaylight.yangtools.yang.common.AbstractQName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
-import org.opendaylight.yangtools.yang.model.api.stmt.ChoiceEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
 
@@ -36,7 +34,6 @@ import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
  */
 public final class ModuleGenerator extends AbstractCompositeGenerator<ModuleEffectiveStatement, ModuleRuntimeType> {
     private final @NonNull JavaTypeName yangModuleInfo;
-    private final @NonNull ClassPlacement placement;
 
     /**
      * Note that for sake of simplicity of lookup and child mapping, this instance serves as the root for all child
@@ -50,24 +47,7 @@ public final class ModuleGenerator extends AbstractCompositeGenerator<ModuleEffe
     ModuleGenerator(final ModuleEffectiveStatement statement) {
         super(statement);
         yangModuleInfo = JavaTypeName.create(javaPackage(), BindingMapping.MODULE_INFO_CLASS_NAME);
-        placement = computePlacement();
-        prefixMember = placement != ClassPlacement.NONE || haveSecondary()
-            ? domain().addPrefix(this, new ModuleNamingStrategy(statement.argument())) : null;
-    }
-
-    private @NonNull ClassPlacement computePlacement() {
-        return statement().findFirstEffectiveSubstatement(DataTreeEffectiveStatement.class).isPresent()
-            || statement().findFirstEffectiveSubstatement(ChoiceEffectiveStatement.class).isPresent()
-            ? ClassPlacement.TOP_LEVEL : ClassPlacement.NONE;
-    }
-
-    private boolean haveSecondary() {
-        for (Generator child : this) {
-            if (child instanceof AbstractImplicitGenerator) {
-                return true;
-            }
-        }
-        return false;
+        prefixMember = domain().addPrefix(this, new ModuleNamingStrategy(statement.argument()));
     }
 
     @Override
@@ -95,11 +75,6 @@ public final class ModuleGenerator extends AbstractCompositeGenerator<ModuleEffe
         return domain();
     }
 
-    @Override
-    ClassPlacement classPlacement() {
-        return placement;
-    }
-
     @Override
     Member createMember(final CollisionDomain domain) {
         return domain.addSecondary(this, prefixMember, BindingMapping.DATA_ROOT_SUFFIX);
index 9c2c03e7df717ce930cddb255495a3a4efe45a7e..434710be84c23e4e95885511f5d5b58d6ac05356 100644 (file)
@@ -28,7 +28,7 @@ public class AugmentRelativeXPathTest {
         final List<GeneratedType> genTypes = DefaultBindingGenerator.generateFor(
             YangParserTestUtils.parseYangResourceDirectory("/augment-relative-xpath-models"));
         assertNotNull("genTypes is null", genTypes);
-        assertEquals(26, genTypes.size());
+        assertEquals(27, genTypes.size());
 
         GeneratedTransferObject gtInterfaceKey = null;
         GeneratedType gtInterface = null;
index b50a57799c8852ed2b2a7979ae9d60203ccc7ce6..c7b97ac0e5ebfcb58c088c4fac1c7918c59bb116 100644 (file)
@@ -36,7 +36,7 @@ public class AugmentedTypeTest {
         assertNotNull("Schema Context is null", context);
 
         final List<GeneratedType> genTypes = DefaultBindingGenerator.generateFor(context);
-        assertEquals(28, genTypes.size());
+        assertEquals(31, genTypes.size());
 
         GeneratedTransferObject gtInterfaceKey = null;
         GeneratedType gtInterface = null;
index 20ab9f1eab068785d6cc6c5460efbb03d070ded6..9efaaa1684ef757bf2b31e1525a08e01acac17ad 100644 (file)
@@ -19,6 +19,6 @@ public class BinaryTypeTest {
     public void binaryTypeTest() {
         final List<GeneratedType> genTypes = DefaultBindingGenerator.generateFor(
             YangParserTestUtils.parseYangResourceDirectory("/binary-type-test-models"));
-        assertEquals(9, genTypes.size());
+        assertEquals(10, genTypes.size());
     }
 }
index b40af545987693637bf714c4bdc24b58f6bbccae..7890328f1e2c3312f47587533510a4cf3f0e9427 100644 (file)
@@ -25,7 +25,7 @@ public class BindingGeneratorImplTest {
             BindingGeneratorImplTest.class,
             "/isis-topology/network-topology@2013-10-21.yang", "/isis-topology/isis-topology@2013-10-21.yang",
             "/isis-topology/l3-unicast-igp-topology@2013-10-21.yang"));
-        assertEquals(9, generateTypes.size());
+        assertEquals(11, generateTypes.size());
     }
 
     @Test
@@ -149,6 +149,6 @@ public class BindingGeneratorImplTest {
     public void testBaseYangTypes() {
         final List<GeneratedType> types = DefaultBindingGenerator.generateFor(
             YangParserTestUtils.parseYangResource("/base-yang-types.yang"));
-        assertEquals(19, types.size());
+        assertEquals(20, types.size());
     }
 }
index 670275ce79674e1230ed80e085ec67c8859db391..ab86208467c71f9ededb88f59c9cf1d33390fcb2 100644 (file)
@@ -29,7 +29,7 @@ public class Bug1862Test {
         final EffectiveModelContext context = YangParserTestUtils.parseYangResources(Bug1862Test.class,
             "/base-yang-types.yang", "/test-type-provider.yang");
         final List<GeneratedType> types = DefaultBindingGenerator.generateFor(context);
-        assertEquals(41, types.size());
+        assertEquals(42, types.size());
         final MethodSignature fooGetter = types.stream()
             .filter(type -> type.getFullyQualifiedName().equals(
                 "org.opendaylight.yang.gen.v1.urn.opendaylight.org.test.type.provider.model.rev140912.Foo"))
index 2abcfb506d8c7edaed1121203c5dc53a02212182..e940b5ee824ce098ba13ee095123288f1b7e463a 100644 (file)
@@ -25,7 +25,7 @@ public class ChoiceCaseGenTypesTest {
             YangParserTestUtils.parseYangResourceDirectory("/choice-case-type-test-models"));
 
         assertNotNull("genTypes is null", genTypes);
-        assertEquals(40, genTypes.size());
+        assertEquals(41, genTypes.size());
 
         // test for file choice-monitoring
         String pcgPref = "org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.choice.monitoring.rev130701."
index 1b6787576b80058b482e7963e42fe9488b64c82b..b867798bb32d12497aadb57343006cc9e270eca6 100644 (file)
@@ -21,6 +21,6 @@ public class ControllerTest {
             ControllerTest.class,
             "/controller-models/controller-network.yang", "/controller-models/controller-openflow.yang",
             "/ietf-models/ietf-inet-types.yang"));
-        assertEquals(54, genTypes.size());
+        assertEquals(56, genTypes.size());
     }
 }
index 397165370b76ae100e0c1647792a51f720ba46a5..4bf0352a7f705d67e1fc36e370e13e9d20f29012 100644 (file)
@@ -28,7 +28,7 @@ public class GenEnumResolvingTest {
             "/enum-test-models/ietf-interfaces@2012-11-15.yang", "/ietf-models/iana-if-type.yang"));
         assertNotNull(genTypes);
 
-        assertEquals("Expected count of all Generated Types", 6, genTypes.size());
+        assertEquals(7, genTypes.size());
 
         GeneratedType genInterface = null;
         for (final GeneratedType type : genTypes) {
@@ -84,9 +84,9 @@ public class GenEnumResolvingTest {
         final List<GeneratedType> genTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResource(
             "/ietf-models/iana-if-type.yang"));
         assertNotNull(genTypes);
-        assertEquals(1, genTypes.size());
+        assertEquals(2, genTypes.size());
 
-        final GeneratedType type = genTypes.get(0);
+        final GeneratedType type = genTypes.get(1);
         assertThat(type, instanceOf(Enumeration.class));
 
         final Enumeration enumer = (Enumeration) type;
@@ -100,7 +100,7 @@ public class GenEnumResolvingTest {
             "/enum-test-models/abstract-topology@2013-02-08.yang", "/enum-test-models/ietf-interfaces@2012-11-15.yang",
             "/ietf-models/iana-if-type.yang"));
         assertNotNull(genTypes);
-        assertEquals(24, genTypes.size());
+        assertEquals(25, genTypes.size());
 
         GeneratedType genInterface = null;
         for (final GeneratedType type : genTypes) {
index ef1a4bf8c56dacc611affce18dd53a1f91c4effe..682a00d99253cd7b42a3b62875f3efd7042c838c 100644 (file)
@@ -45,7 +45,7 @@ public class GenTypesSubSetTest {
                 "/leafref-test-models/abstract-topology@2013-02-08.yang", "/ietf-models/ietf-interfaces.yang",
                 "/ietf-models/ietf-inet-types.yang", "/ietf-models/ietf-yang-types.yang",
                 "/ietf-models/iana-if-type.yang");
-        assertNotNull("Schema Context is null", context);
+        assertNotNull(context);
 
         final Set<Module> toGenModules = new HashSet<>();
         for (final Module module : context.getModules()) {
@@ -58,6 +58,6 @@ public class GenTypesSubSetTest {
 
         final List<GeneratedType> genTypes = DefaultBindingGenerator.generateFor(context, toGenModules);
         assertNotNull("genTypes is null", genTypes);
-        assertEquals(24, genTypes.size());
+        assertEquals(25, genTypes.size());
     }
 }
index f7ad372a3ffed27dde5f5f85e8c23a50ada789de..33e7393d8c8f601dbd5c6f06c473fc11643b7469 100644 (file)
@@ -36,7 +36,7 @@ public class GeneratedTypesLeafrefTest {
 
         final List<GeneratedType> genTypes = DefaultBindingGenerator.generateFor(context);
 
-        assertEquals(54, genTypes.size());
+        assertEquals(56, genTypes.size());
 
         GeneratedTransferObject gtIfcKey = null;
         GeneratedType gtIfc = null;
index 70de1031fda6ae6e64f06611b7b0bd7af894fbc5..2adb392851a02714ddaa7d2d97bae26c8b5e2693 100644 (file)
@@ -28,7 +28,7 @@ public class GeneratedTypesTest {
                 "/abstract-topology.yang", "/ietf-models/ietf-inet-types.yang"));
 
         assertNotNull(genTypes);
-        assertEquals(29, genTypes.size());
+        assertEquals(30, genTypes.size());
     }
 
     @Test
@@ -376,6 +376,6 @@ public class GeneratedTypesTest {
     public void testAugmentRpcInput() {
         final List<GeneratedType> genTypes = DefaultBindingGenerator.generateFor(YangParserTestUtils.parseYangResource(
             "/augment-rpc-input.yang"));
-        assertEquals(5, genTypes.size());
+        assertEquals(6, genTypes.size());
     }
 }
index db8d5049ea3b0ddf5b728ade36905f51c3b7251f..3e460880461ea8828b6cdf84eff516119ab188cc 100644 (file)
@@ -26,7 +26,7 @@ public class Mdsal269Test {
         final List<GeneratedType> generateTypes = DefaultBindingGenerator.generateFor(
             YangParserTestUtils.parseYangResource("/mdsal269.yang"));
         assertNotNull(generateTypes);
-        assertEquals(4, generateTypes.size());
+        assertEquals(5, generateTypes.size());
 
         final GeneratedType mplsLabelType = generateTypes.stream().filter(type -> type.getFullyQualifiedName()
             .equals("org.opendaylight.yang.gen.v1.mdsal269.rev180130.MplsLabel")).findFirst().get();
index 21782e297a7508ca9e832fa0238b175b2e39e2f5..f8690db92b60bfe48034931c222454400c53c4bc 100644 (file)
@@ -21,6 +21,6 @@ public class Mdsal300Test {
         List<GeneratedType> generateTypes = DefaultBindingGenerator.generateFor(
             YangParserTestUtils.parseYangResourceDirectory("/mdsal-300"));
         assertNotNull(generateTypes);
-        assertEquals(18, generateTypes.size());
+        assertEquals(19, generateTypes.size());
     }
 }
index ac872affb2ee1972e59b2b7bc039b80cb2560365..e975b0562335402c1a936e2a3a4f9fc50271b2a1 100644 (file)
@@ -21,7 +21,7 @@ public class Mdsal335Test {
         final List<GeneratedType> generateTypes = DefaultBindingGenerator.generateFor(
             YangParserTestUtils.parseYangResource("/mdsal335.yang"));
         assertNotNull(generateTypes);
-        assertEquals(2, generateTypes.size());
+        assertEquals(3, generateTypes.size());
 
         final GeneratedType gen = generateTypes.stream()
             .filter(type -> type.getFullyQualifiedName()
index a10e9b162bb149fe1dddea3877e0baf2b4814599..8078669fc9612468a171eecf6ecd248851cb29a8 100644 (file)
@@ -25,13 +25,14 @@ public class Mdsal459Test {
         final List<GeneratedType> types = DefaultBindingGenerator.generateFor(
             YangParserTestUtils.parseYangResourceDirectory("/mdsal-459/"));
         assertNotNull(types);
-        assertEquals(6, types.size());
+        assertEquals(7, types.size());
 
         final Set<JavaTypeName> typeNames = types.stream().map(GeneratedType::getIdentifier)
             .collect(Collectors.toSet());
         assertEquals(ImmutableSet.of(
             JavaTypeName.create("org.opendaylight.yang.gen.v1.base.norev", "Foo"),
             JavaTypeName.create("org.opendaylight.yang.gen.v1.base.norev", "BaseData"),
+            JavaTypeName.create("org.opendaylight.yang.gen.v1.aug.norev", "AugData"),
             JavaTypeName.create("org.opendaylight.yang.gen.v1.aug.norev", "Foo1"),
             JavaTypeName.create("org.opendaylight.yang.gen.v1.aug.norev.foo", "Bar"),
             JavaTypeName.create("org.opendaylight.yang.gen.v1.aug.norev.foo.bar", "Output"),
index 3230d724585969083937266592b281d9bf407e27..39d4c13e8e4eda0670e87072623b59dc2bb3e04b 100644 (file)
@@ -22,9 +22,9 @@ public class Mdsal500Test {
         final List<GeneratedType> types = DefaultBindingGenerator.generateFor(
                 YangParserTestUtils.parseYangResource("/mdsal500.yang"));
         assertNotNull(types);
-        assertEquals(3, types.size());
+        assertEquals(4, types.size());
 
-        final GeneratedType rpcService = types.get(2);
+        final GeneratedType rpcService = types.get(3);
         assertEquals("Mdsal500Service", rpcService.getName());
         final List<MethodSignature> methods = rpcService.getMethodDefinitions();
         assertEquals(1, methods.size());
index fdb2419f8fb3cba76741d6a8c4ec27ad745840cf..9d846c153580bf285b5b31279d8c676108ac8f94 100644 (file)
@@ -21,6 +21,6 @@ public class Mdsal516Test {
         final List<GeneratedType> types = DefaultBindingGenerator.generateFor(
             YangParserTestUtils.parseYangResourceDirectory("/mdsal-516"));
         assertNotNull(types);
-        assertEquals(7, types.size());
+        assertEquals(8, types.size());
     }
 }
index e44346182896ebf1ed8f951d19a1f0a8065c4bd1..c2849994931806c3f1c9aaf0d36f1e49747dbdcb 100644 (file)
@@ -21,6 +21,6 @@ public class Mdsal517Test extends AbstractOpaqueTest {
         final List<GeneratedType> types = DefaultBindingGenerator.generateFor(
                 YangParserTestUtils.parseYangResourceDirectory("/mdsal-517"));
         assertNotNull(types);
-        assertEquals(11, types.size());
+        assertEquals(12, types.size());
     }
 }
index 35b12189c1d1e99933db10f02cc9c45590903940..da1fb7ddaaa68183da5146c216493dcda7c0882b 100644 (file)
@@ -21,6 +21,6 @@ public class Mdsal531Test extends AbstractOpaqueTest {
         final List<GeneratedType> types = DefaultBindingGenerator.generateFor(
                 YangParserTestUtils.parseYangResourceDirectory("/mdsal-531"));
         assertNotNull(types);
-        assertEquals(9, types.size());
+        assertEquals(10, types.size());
     }
 }
index 29918cd18a243f9089fa1326e3b24d5533af7666..d8ed00d54ca2d7575507af07ac2c95c098f17d37 100644 (file)
@@ -25,9 +25,9 @@ public class Mdsal554Test {
     public void builderTemplateGenerateListenerMethodsTest() {
         final List<GeneratedType> genTypes = DefaultBindingGenerator.generateFor(
             YangParserTestUtils.parseYangResource("/mdsal554.yang"));
-        assertEquals(4, genTypes.size());
+        assertEquals(5, genTypes.size());
 
-        final List<MethodSignature> methods = genTypes.get(3).getMethodDefinitions();
+        final List<MethodSignature> methods = genTypes.get(4).getMethodDefinitions();
         assertEquals(3, methods.size());
 
         // status deprecated
index 01a4d90eea37e866ea835b098b8d46b027dcb035..82112d6a7485deb20ac40f04648645f88b34e64e 100644 (file)
@@ -17,6 +17,6 @@ public class Mdsal715Test {
     public void testAugmentLinking() {
         final var generatedTypes = DefaultBindingGenerator.generateFor(
             YangParserTestUtils.parseYangResourceDirectory("/mdsal715"));
-        assertEquals(12, generatedTypes.size());
+        assertEquals(15, generatedTypes.size());
     }
 }
index cd71ef910fc5b73812ba64ec29a7b8c2bc7d1420..e70d2ee3a83fb0d7460117d0827263b43409b0b0 100644 (file)
@@ -17,6 +17,6 @@ public class Mdsal718Test {
     public void testModuleUsesAugmentLinking() {
         final var generatedTypes = DefaultBindingGenerator.generateFor(
             YangParserTestUtils.parseYangResourceDirectory("/mdsal718"));
-        assertEquals(10, generatedTypes.size());
+        assertEquals(13, generatedTypes.size());
     }
 }
index 930f14c4f95ba6d0fc41ea24a7049125f65e56fa..2e1b4c7eacc2345be9929a9a16155b7c4f79a665 100644 (file)
@@ -24,7 +24,7 @@ public class UnionTypeDefTest {
             UnionTypeDefTest.class, "/union-test-models/abstract-topology.yang", "/ietf-models/ietf-inet-types.yang"));
 
         assertNotNull("genTypes is null", genTypes);
-        assertEquals(33, genTypes.size());
+        assertEquals(34, genTypes.size());
 
         // TODO: implement test
     }
index e645754f41e80639ac2a0c4d392068a760748b60..16b9cc226161ac4f349850e98e641ff826957cf1 100644 (file)
@@ -26,40 +26,42 @@ public class AugmentToUsesInAugmentCompilationTest extends BaseCompilationTest {
 
         // Test if all sources are generated from 'module foo'
         File fooParent = new File(sourcesOutputDir, CompilationTestUtils.NS_FOO);
-        CompilationTestUtils.assertFilesCount(fooParent, 5);
+        assertTrue(new File(fooParent, "FooData.java").exists());
         assertTrue(new File(fooParent, "IgpLinkAttributes.java").exists());
         assertTrue(new File(fooParent, "Link1.java").exists());
         assertTrue(new File(fooParent, "Link1Builder.java").exists());
+        CompilationTestUtils.assertFilesCount(fooParent, 6);
 
         // Test if all sources are generated from 'module bar'
         File barParent = new File(sourcesOutputDir, CompilationTestUtils.NS_BAR);
-        CompilationTestUtils.assertFilesCount(barParent, 8);
         assertTrue(new File(barParent, "BarData.java").exists());
         assertTrue(new File(barParent, "NetworkTopology.java").exists());
         assertTrue(new File(barParent, "NetworkTopologyBuilder.java").exists());
         assertTrue(new File(barParent, "Link.java").exists());
         assertTrue(new File(barParent, "LinkAttributes.java").exists());
+        CompilationTestUtils.assertFilesCount(barParent, 8);
 
         File networkParent = new File(barParent, "network");
         CompilationTestUtils.assertFilesCount(networkParent, 1);
         File topologyParent = new File(networkParent, "topology");
-        CompilationTestUtils.assertFilesCount(topologyParent, 3);
         assertTrue(new File(topologyParent, "Topology.java").exists());
         assertTrue(new File(topologyParent, "TopologyBuilder.java").exists());
         assertTrue(new File(topologyParent, "TopologyKey.java").exists());
+        CompilationTestUtils.assertFilesCount(topologyParent, 3);
 
         File linkParent = new File(barParent, "link");
-        CompilationTestUtils.assertFilesCount(linkParent, 3);
         assertTrue(new File(linkParent, "Link.java").exists());
         assertTrue(new File(linkParent, "LinkBuilder.java").exists());
         assertTrue(new File(linkParent, "LinkKey.java").exists());
+        CompilationTestUtils.assertFilesCount(linkParent, 3);
 
         // Test if all sources are generated from 'module baz'
         File bazParent = new File(sourcesOutputDir, CompilationTestUtils.NS_BAZ);
-        CompilationTestUtils.assertFilesCount(bazParent, 5);
+        assertTrue(new File(bazParent, "BazData.java").exists());
         assertTrue(new File(bazParent, "IgpLinkAttributes1.java").exists());
         assertTrue(new File(bazParent, "IgpLinkAttributes1Builder.java").exists());
         assertTrue(new File(bazParent, "LinkAttributes.java").exists());
+        CompilationTestUtils.assertFilesCount(bazParent, 6);
 
         // Test if sources are compilable
         CompilationTestUtils.testCompilation(sourcesOutputDir, compiledOutputDir);
index da586db213e8aa502b1d6ed16d4bea84d2cb8bb5..9c8cfaa588ff3633f64f953328c8a7d39ae4da02 100644 (file)
@@ -37,29 +37,24 @@ public class CascadeUsesCompilationTest extends BaseCompilationTest {
 
         // Test if all sources are generated from module foo
         File parent = new File(sourcesOutputDir, NS_FOO);
+        assertTrue(new File(parent, "FooData.java").exists());
+        assertTrue(new File(parent, "FooGr1.java").exists());
+        assertTrue(new File(parent, "Nodes.java").exists());
+        assertTrue(new File(parent, "NodesBuilder.java").exists());
         assertFilesCount(parent, 6);
-        final File fooData = new File(parent, "FooData.java");
-        final File fooGr1 = new File(parent, "FooGr1.java");
-        final File nodes = new File(parent, "Nodes.java");
-        final File nodesBuilder = new File(parent, "NodesBuilder.java");
-        assertTrue(fooData.exists());
-        assertTrue(fooGr1.exists());
-        assertTrue(nodes.exists());
-        assertTrue(nodesBuilder.exists());
 
         // Test if all sources are generated from module bar
         parent = new File(sourcesOutputDir, NS_BAR);
-        assertFilesCount(parent, 3);
-        File barGr1 = new File(parent, "BarGr1.java");
-        File barGr2 = new File(parent, "BarGr2.java");
-        assertTrue(barGr1.exists());
-        assertTrue(barGr2.exists());
+        assertTrue(new File(parent, "BarData.java").exists());
+        assertTrue(new File(parent, "BarGr1.java").exists());
+        assertTrue(new File(parent, "BarGr2.java").exists());
+        assertFilesCount(parent, 4);
 
         // Test if all sources are generated from module baz
         parent = new File(sourcesOutputDir, NS_BAZ);
-        assertFilesCount(parent, 2);
-        File bazGr1 = new File(parent, "BazGr1.java");
-        assertTrue(bazGr1.exists());
+        assertTrue(new File(parent, "BazData.java").exists());
+        assertTrue(new File(parent, "BazGr1.java").exists());
+        assertFilesCount(parent, 3);
 
         // Test if sources are compilable
         testCompilation(sourcesOutputDir, compiledOutputDir);
index 8eb368002a29485f514f86d4cc5fcfdf02e12cbf..1a965008ad8ab05c9a36181d7f219ec4fdceb72b 100644 (file)
@@ -147,7 +147,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 +203,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 +246,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 +264,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 +305,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);
@@ -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