private static void processQNameURIs(ItemDefinition iDef) { final QName typeRef = iDef.getTypeRef(); if (typeRef != null && XMLConstants.NULL_NS_URI.equals(typeRef.getNamespaceURI())) { final String namespace = iDef.getNamespaceURI(typeRef.getPrefix()); iDef.setTypeRef(new QName(namespace, typeRef.getLocalPart(), typeRef.getPrefix())); } for (ItemDefinition comp : iDef.getItemComponent()) { processQNameURIs(comp); } } }
private static void processQNameURIs(ItemDefinition iDef) { final QName typeRef = iDef.getTypeRef(); if (typeRef != null && XMLConstants.NULL_NS_URI.equals(typeRef.getNamespaceURI())) { final String namespace = iDef.getNamespaceURI(typeRef.getPrefix()); iDef.setTypeRef(new QName(namespace, typeRef.getLocalPart(), typeRef.getPrefix())); } for (ItemDefinition comp : iDef.getItemComponent()) { processQNameURIs(comp); } }
private void assertOrdering(final ItemDefinition itemDefinition, final List<ItemDefinition> orderedList) { for (final ItemDefinition dependency : itemDefinition.getItemComponent()) { final String dependencyName = dependency.getTypeRef().getLocalPart(); final int indexOfDependency = indexOfItemDefinitionByName(dependencyName, orderedList); assertTrue("Cannot find dependency " + dependencyName + " in the ordered list!", indexOfDependency > -1); assertTrue("Index of " + itemDefinition.getName() + " < " + dependency.getTypeRef().getLocalPart(), orderedList.indexOf(itemDefinition) > indexOfDependency); if (dependency.getItemComponent() != null && !dependency.getItemComponent().isEmpty()) { assertOrdering(dependency, orderedList); } } }
@Test public void testOrdering() { logger.trace("Item definitions:"); itemDefinitions.forEach(itemDefinition -> { logger.trace(itemDefinition.getName()); itemDefinition.getItemComponent().forEach(dependency -> logger.trace(dependency.getName())); }); final List<ItemDefinition> orderedList = orderingStrategy(itemDefinitions); for (final ItemDefinition itemDefinition : itemDefinitions) { assertOrdering(itemDefinition, orderedList); } }
public static DMNItemDefinitionInfo itemDefinitionToInfo(ItemDefinition itemDef) { DMNItemDefinitionInfo res = new DMNItemDefinitionInfo(); res.setId(itemDef.getId()); res.setName(itemDef.getName()); if (itemDef.getTypeRef() != null) { res.setTypeRef(DMNQNameInfo.of(itemDef.getTypeRef())); } if (itemDef.getAllowedValues() != null) { DMNUnaryTestsInfo av = new DMNUnaryTestsInfo(); av.setText(itemDef.getAllowedValues().getText()); av.setExpressionLanguage(itemDef.getAllowedValues().getExpressionLanguage()); res.setAllowedValues(av); } if (itemDef.getItemComponent() != null && !itemDef.getItemComponent().isEmpty()) { List<DMNItemDefinitionInfo> components = itemDef.getItemComponent().stream().map(ModelEvaluatorServiceBase::itemDefinitionToInfo).collect(Collectors.toList()); res.setItemComponent(components); } res.setTypeLanguage(itemDef.getTypeLanguage()); res.setIsCollection(itemDef.isIsCollection()); return res; }
private static void createAndAddDependency(final ItemDefinition itemDefinition, final ItemDefinition dependency) { final ItemDefinition newDependency = new TItemDefinition(); newDependency.setName("_" + itemDefinition.getName() + "-" + dependency.getName()); newDependency.setTypeRef(new QName(TEST_NS, dependency.getName())); itemDefinition.getItemComponent().add(newDependency); }
private ItemDefinition build(final String name, final ItemDefinition... components) { final ItemDefinition res = new TItemDefinition(); res.setName(name); for ( final ItemDefinition ic : components ) { final ItemDefinition c = new TItemDefinition(); c.setName("_" + name + "-" + ic.getName()); c.setTypeRef(new QName(TEST_NS, ic.getName())); res.getItemComponent().add(c); } return res; }