AbstractKogitoDMNService implements KogitoDMNService { protected FactModelTree createTopLevelFactModelTree(final String factName, final ClientDMNType type, final SortedMap<String, FactModelTree> hiddenFacts, final FactModelTree.Type fmType) { return isToBeManagedAsCollection(type) ? createFactModelTreeForCollection(new HashMap<>(), factName, type, hiddenFacts, fmType, new ArrayList<>()) : createFactModelTreeForNoCollection(new HashMap<>(), factName, factName, type.getName(), type, hiddenFacts, fmType, new ArrayList<>()); }  @Override FactModelTuple getFactModelTuple(final JSITDefinitions jsitDefinitions); boolean isJSITInputData(JSITDRGElement jsitdrgElement); boolean isJSITDecision(JSITDRGElement jsitdrgElement); Map<QName, String> getOtherAttributesMap(JSITDMNElement jsitInputDataVariable); static final String URI_FEEL; static final String WRONG_DMN_MESSAGE; }
@Test public void createTopLevelFactModelTreeSimpleNoCollection() { ClientDMNType simpleString = getSimpleNoCollection(); FactModelTree retrieved = abstractKogitoDMNServiceSpy.createTopLevelFactModelTree("testPath", simpleString, new TreeMap<>(), FactModelTree.Type.INPUT); Assert.assertNotNull(retrieved); assertEquals("testPath", retrieved.getFactName()); assertEquals(1, retrieved.getSimpleProperties().size()); assertTrue(retrieved.getSimpleProperties().containsKey(VALUE)); assertEquals(simpleString.getName(), retrieved.getSimpleProperties().get(VALUE).getTypeName()); assertFalse(retrieved.getSimpleProperties().get(VALUE).getBaseTypeName().isPresent()); assertEquals(simpleString.getName(), retrieved.getSimpleProperties().get(VALUE).getPropertyTypeNameToVisualize()); assertTrue(retrieved.getGenericTypesMap().isEmpty()); }
@Test public void createTopLevelFactModelTreeSimpleCollection() { ClientDMNType simpleCollectionString = getSimpleCollection(); TreeMap<String, FactModelTree> hiddenFactSimpleCollection = new TreeMap<>(); FactModelTree retrieved = abstractKogitoDMNServiceSpy.createTopLevelFactModelTree("testPath", simpleCollectionString, hiddenFactSimpleCollection, FactModelTree.Type.INPUT); Assert.assertNotNull(retrieved); assertEquals("testPath", retrieved.getFactName()); assertEquals(1, retrieved.getSimpleProperties().size()); assertTrue(retrieved.getSimpleProperties().containsKey(VALUE)); assertEquals("java.util.List", retrieved.getSimpleProperties().get(VALUE).getTypeName()); assertFalse(retrieved.getSimpleProperties().get(VALUE).getBaseTypeName().isPresent()); assertEquals("java.util.List", retrieved.getSimpleProperties().get(VALUE).getPropertyTypeNameToVisualize()); assertTrue(retrieved.getExpandableProperties().isEmpty()); assertEquals(1, retrieved.getGenericTypesMap().size()); assertTrue(retrieved.getGenericTypesMap().containsKey(VALUE)); Assert.assertNotNull(retrieved.getGenericTypesMap().get(VALUE)); assertEquals(1, retrieved.getGenericTypesMap().get(VALUE).size()); assertEquals(simpleCollectionString.getName(), retrieved.getGenericTypesMap().get(VALUE).get(0)); }
@Test public void createTopLevelFactModelTreeCompositeNoCollection() { ClientDMNType compositePerson = getSingleCompositeWithSimpleCollection(); FactModelTree retrieved = abstractKogitoDMNServiceSpy.createTopLevelFactModelTree("testPath", compositePerson, new TreeMap<>(), FactModelTree.Type.INPUT); Assert.assertNotNull(retrieved); assertEquals("testPath", retrieved.getFactName()); assertEquals(2, retrieved.getSimpleProperties().size()); assertTrue(retrieved.getSimpleProperties().containsKey("friends")); assertEquals("java.util.List", retrieved.getSimpleProperties().get("friends").getTypeName()); assertFalse(retrieved.getSimpleProperties().get("friends").getBaseTypeName().isPresent()); assertEquals("java.util.List", retrieved.getSimpleProperties().get("friends").getPropertyTypeNameToVisualize()); assertTrue(retrieved.getSimpleProperties().containsKey("name")); assertEquals(TYPE_NAME, retrieved.getSimpleProperties().get("name").getTypeName()); assertFalse(retrieved.getSimpleProperties().get("name").getBaseTypeName().isPresent()); assertEquals(TYPE_NAME, retrieved.getSimpleProperties().get("name").getPropertyTypeNameToVisualize()); assertEquals(1, retrieved.getGenericTypesMap().size()); assertTrue(retrieved.getGenericTypesMap().containsKey("friends")); assertEquals(compositePerson.getFields().get("friends").getName(), retrieved.getGenericTypesMap().get("friends").get(0)); assertEquals(2, retrieved.getExpandableProperties().size()); assertTrue(retrieved.getExpandableProperties().containsKey("EXPANDABLE_PROPERTY_PHONENUMBERS")); assertEquals("tPhoneNumber", retrieved.getExpandableProperties().get("EXPANDABLE_PROPERTY_PHONENUMBERS")); assertTrue(retrieved.getExpandableProperties().containsKey("EXPANDABLE_PROPERTY_DETAILS")); assertEquals("tDetails", retrieved.getExpandableProperties().get("EXPANDABLE_PROPERTY_DETAILS")); }
@Test public void createTopLevelFactModelTreeCompositeCollection() { ClientDMNType compositePerson = getCompositeCollection(); TreeMap<String, FactModelTree> hiddenFactSimpleCollection = new TreeMap<>(); FactModelTree retrieved = abstractKogitoDMNServiceSpy.createTopLevelFactModelTree("testPath", compositePerson, hiddenFactSimpleCollection, FactModelTree.Type.INPUT); Assert.assertNotNull(retrieved); assertEquals("testPath", retrieved.getFactName()); assertEquals(1, retrieved.getSimpleProperties().size()); assertTrue(retrieved.getSimpleProperties().containsKey(VALUE)); assertEquals("java.util.List", retrieved.getSimpleProperties().get(VALUE).getTypeName()); assertFalse(retrieved.getSimpleProperties().get(VALUE).getBaseTypeName().isPresent()); assertEquals("java.util.List", retrieved.getSimpleProperties().get(VALUE).getPropertyTypeNameToVisualize()); assertTrue(retrieved.getExpandableProperties().isEmpty()); assertEquals(1, retrieved.getGenericTypesMap().size()); assertTrue(retrieved.getGenericTypesMap().containsKey(VALUE)); Assert.assertNotNull(retrieved.getGenericTypesMap().get(VALUE)); assertEquals(1, retrieved.getGenericTypesMap().get(VALUE).size()); assertEquals(compositePerson.getName(), retrieved.getGenericTypesMap().get(VALUE).get(0)); }