@Test void complexTree() { try (final ComponentManager manager = new ComponentManager(new File("target/foo"), "deps.txt", null)) { final String plugin = manager.addPlugin(jarLocation(RepositoryModelBuilderTest.class).getAbsolutePath()); final RepositoryModel model = manager.findPlugin(plugin).orElseThrow(IllegalArgumentException::new).get(RepositoryModel.class); final Family theTestFamily = model .getFamilies() .stream() .filter(f -> f.getMeta().getName().equals("TheTestFamily")) .findFirst() .orElseThrow(IllegalArgumentException::new); assertEquals(3, theTestFamily.getConfigs().get().size(), theTestFamily .getConfigs() .get() .stream() .map(c -> c.getKey().getConfigName()) .collect(joining(", "))); theTestFamily .getConfigs() .get() .forEach(it -> assertTrue(it.getKey().getConfigName().startsWith("Connection-"), it.getKey().getConfigName())); } }
private ConfigKey getKey(final String family, final Map<String, String> meta) { final String configName = meta.get("tcomp::configurationtype::name"); final String configType = meta.get("tcomp::configurationtype::type"); return new ConfigKey(family, configName, configType); }
RepositoryModelBuilder { private ConfigKey getKey(final String family, final Map<String, String> meta) { final String configName = meta.get("tcomp::configurationtype::name"); final String configType = meta.get("tcomp::configurationtype::type"); return new ConfigKey(family, configName, configType); } }
RepositoryModelBuilder { private ConfigKey getKey(final String family, final Map<String, String> meta) { final String configName = meta.get("tcomp::configurationtype::name"); final String configType = meta.get("tcomp::configurationtype::type"); return new ConfigKey(family, configName, configType); }  }
RepositoryModelBuilder { private ConfigKey getKey(final String family, final Map<String, String> meta) { final String configName = meta.get("tcomp::configurationtype::name"); final String configType = meta.get("tcomp::configurationtype::type"); return new ConfigKey(family, configName, configType); }  RepositoryModel create(final ComponentManager.AllServices services,
            final Collection<ComponentFamilyMeta> familyMetas, final MigrationHandlerFactory migrationHandlerFactory); }
RepositoryModelBuilder { private ConfigKey getKey(final String family, final Map<String, String> meta) { final String configName = meta.get("tcomp::configurationtype::name"); final String configType = meta.get("tcomp::configurationtype::type"); return new ConfigKey(family, configName, configType); }  RepositoryModel create(final ComponentManager.AllServices services,
            final Collection<ComponentFamilyMeta> familyMetas, final MigrationHandlerFactory migrationHandlerFactory);  }