@Check public void checkUniqueDecompositionInIntent(final Intent intent) { final HashSet<String> visitedDecompositionTypeNames = CollectionLiterals.<String>newHashSet(); EList<Decomposition> decompositions = intent.getDecompositions(); ListIterator<Decomposition> i = decompositions.listIterator(); while (i.hasNext()) { { Decomposition _next = i.next(); Decomposition d = ((Decomposition) _next); DecompositionType _type = d.getType(); String typeName = _type.getTypeName(); boolean _contains = visitedDecompositionTypeNames.contains(typeName); if (_contains) { EReference _intent_Decompositions = IntentSpecificationPackage.eINSTANCE.getIntent_Decompositions(); String _name = d.getName(); this.warning( (("duplicate decomposition type \'" + typeName) + "\' in intent"), _intent_Decompositions, IntentSpecificationValidator.UNIQUE_DECOMPOSITION_INTENT, _name); } visitedDecompositionTypeNames.add(typeName); } } }
@Check public void checkUniqueListItemInDecomposition(final Decomposition decomposition) { final HashSet<ListItem> visitedListItems = CollectionLiterals.<ListItem>newHashSet(); EList<ListItem> items = decomposition.getItems(); ListIterator<ListItem> i = items.listIterator(); while (i.hasNext()) { { ListItem d = i.next(); boolean _contains = visitedListItems.contains(d); if (_contains) { String _name = d.getName(); String _plus = ("duplicate item reference \'" + _name); String _plus_1 = (_plus + "\' in list"); EReference _decomposition_Items = IntentSpecificationPackage.eINSTANCE.getDecomposition_Items(); String _name_1 = d.getName(); this.warning( _plus_1, _decomposition_Items, IntentSpecificationValidator.UNIQUE_LIST_ITEM_DECOMPOSITION, _name_1); } visitedListItems.add(d); } } }