/** Get other errors, not in the given tags. */ protected Set getOtherErrors(Set excludes) { Set errors = SCollection.createLinkedHashSet(); Tuple[] elements = getElements(); for (int i = 0; i < elements.length; i++) { boolean excluded = false; for (int j = 0; !excluded && j < elements[i].getEntities().length; j++) { Object se = elements[i].getEntity(j); Object obj = getPathElementObject(se); if (obj != null) { excluded = excludes.contains(obj); } } if (!excluded) { Object obj = getObject(elements[i]); if (obj != null && !errors.contains(obj)) errors.add(obj); } } return errors; }
/** Get elements of the given owner type, which have errors or contain elements with errors. */ protected Set getOwnedElementErrors(String category) { Set errors = SCollection.createLinkedHashSet(); Tuple[] elements = getElements(); for (int i = 0; i < elements.length; i++) { boolean added = false; for (int j = 0; !added && j < elements[i].getEntities().length; j++) { Object se = elements[i].getEntity(j); Object obj = getPathElementObject(se); if (obj != null) { added = errors.contains(obj); if (!added && isInCategory(obj, category)) { errors.add(obj); added = true; } } } } return errors; }