Added classification as relation to test and teststep
Change-Id: Ib2f08673670aa27da06988c328f7bc2c716a719d
Signed-off-by: Alexander Knoblauch <a.knoblauch@peak-solution.de>
diff --git a/src/main/java/org/eclipse/mdm/api/odsadapter/lookup/config/DefaultEntityConfigRepositoryLoader.java b/src/main/java/org/eclipse/mdm/api/odsadapter/lookup/config/DefaultEntityConfigRepositoryLoader.java
index 1b6c48b..82529f5 100644
--- a/src/main/java/org/eclipse/mdm/api/odsadapter/lookup/config/DefaultEntityConfigRepositoryLoader.java
+++ b/src/main/java/org/eclipse/mdm/api/odsadapter/lookup/config/DefaultEntityConfigRepositoryLoader.java
@@ -152,16 +152,29 @@
templateTestStepConfig.setComparator(Versionable.COMPARATOR);
entityConfigRepository.register(templateTestStepConfig);
- // Status TestStep
- // TODO check MIME type genration
- // entityConfigRepository.register(create(new Key<>(Status.class,
- // TestStep.class), "StatusTestStep", true));
+ // Status
+ entityConfigRepository.register(create(modelManager, new Key<>(Status.class), "Status", false));
+
+ // ProjectDomain
+ entityConfigRepository.register(create(modelManager, new Key<>(ProjectDomain.class), "ProjectDomain", false));
+
+ // Domain
+ entityConfigRepository.register(create(modelManager, new Key<>(Domain.class), "Domain", false));
+
+ // Classification
+ EntityConfig<Classification> classificationConfig = create(modelManager, new Key<>(Classification.class),
+ "Classification", false);
+ classificationConfig.addOptional(entityConfigRepository.findRoot(new Key<>(Status.class)));
+ classificationConfig.addOptional(entityConfigRepository.findRoot(new Key<>(ProjectDomain.class)));
+ classificationConfig.addOptional(entityConfigRepository.findRoot(new Key<>(Domain.class)));
+ entityConfigRepository.register(classificationConfig);
// TestStep
EntityConfig<TestStep> testStepConfig = create(modelManager, new Key<>(TestStep.class), "TestStep", true);
// testStepConfig.addMandatory(entityConfigRepository.findRoot(new
// Key<>(Status.class, TestStep.class)));
testStepConfig.addOptional(entityConfigRepository.findRoot(new Key<>(TemplateTestStep.class)));
+ testStepConfig.addOptional(entityConfigRepository.findRoot(new Key<>(Classification.class)));
testStepConfig.setComparator(Sortable.COMPARATOR);
entityConfigRepository.register(testStepConfig);
@@ -187,26 +200,14 @@
// testConfig.addMandatory(entityConfigRepository.findRoot(new
// Key<>(Status.class, Test.class)));
testConfig.addOptional(entityConfigRepository.findRoot(new Key<>(TemplateTest.class)));
+ testConfig.addOptional(entityConfigRepository.findRoot(new Key<>(Classification.class)));
entityConfigRepository.register(testConfig);
// ContextRoots
registerContextRoot(modelManager, ContextType.UNITUNDERTEST);
registerContextRoot(modelManager, ContextType.TESTSEQUENCE);
registerContextRoot(modelManager, ContextType.TESTEQUIPMENT);
-
- // Status
- entityConfigRepository.register(create(modelManager, new Key<>(Status.class), "Status", false));
-
- // ProjectDomain
- entityConfigRepository.register(create(modelManager, new Key<>(ProjectDomain.class), "ProjectDomain", false));
-
- // Domain
- entityConfigRepository.register(create(modelManager, new Key<>(Domain.class), "Domain", false));
-
- // Domain
- entityConfigRepository.register(create(modelManager, new Key<>(Classification.class), "Classification", false));
-
LOGGER.debug("Entity configurations loaded in {} ms.", System.currentTimeMillis() - start);
return entityConfigRepository;
}
@@ -313,7 +314,7 @@
/**
* Creates a new {@link EntityConfig}.
*
- * @param <T> The entity type.
+ * @param <T> The entity type.
* @param key Used as identifier.
* @param typeName Name of the associated {@link EntityType}.
* @param appendName Flag indicates whether to append the entity types base name
diff --git a/src/main/java/org/eclipse/mdm/api/odsadapter/search/BaseEntitySearchQuery.java b/src/main/java/org/eclipse/mdm/api/odsadapter/search/BaseEntitySearchQuery.java
index 4f75079..cc2db44 100644
--- a/src/main/java/org/eclipse/mdm/api/odsadapter/search/BaseEntitySearchQuery.java
+++ b/src/main/java/org/eclipse/mdm/api/odsadapter/search/BaseEntitySearchQuery.java
@@ -89,9 +89,10 @@
EntityConfig<?> entityConfig = modelManager.getEntityConfig(new Key<>(entityClass));
EntityType source = entityConfig.getEntityType();
- entityConfig.getOptionalConfigs().stream().map(EntityConfig::getEntityType).forEach(entityType -> {
- joinTree.addNode(source, entityType, true, JoinType.OUTER);
- });
+ entityConfig.getOptionalConfigs().stream().map(EntityConfig::getEntityType)
+ .filter(et -> !"Classification".equals(et.getName())).forEach(entityType -> {
+ joinTree.addNode(source, entityType, true, JoinType.OUTER);
+ });
entityConfig.getMandatoryConfigs().stream().map(EntityConfig::getEntityType).forEach(entityType -> {
joinTree.addNode(source, entityType, true, JoinType.INNER);
@@ -195,9 +196,10 @@
joinTree.addNode(modelManager.getEntityType(joinConfig.source), target, joinConfig.viaParent, JoinType.INNER);
// add target's optional dependencies
- targetEntityConfig.getOptionalConfigs().stream().map(EntityConfig::getEntityType).forEach(entityType -> {
- joinTree.addNode(target, entityType, true, JoinType.OUTER);
- });
+ targetEntityConfig.getOptionalConfigs().stream().map(EntityConfig::getEntityType)
+ .filter(et -> !"Classification".equals(et.getName())).forEach(entityType -> {
+ joinTree.addNode(target, entityType, true, JoinType.OUTER);
+ });
// add target's mandatory dependencies
targetEntityConfig.getMandatoryConfigs().stream().map(EntityConfig::getEntityType).forEach(entityType -> {