protected void readCommonXmlInfo(BaseElement baseElement, XMLStreamReader xtr) { baseElement.setId(xtr.getAttributeValue(null, CmmnXmlConstants.ATTRIBUTE_ID)); Location location = xtr.getLocation(); baseElement.setXmlRowNumber(location.getLineNumber()); baseElement.setXmlRowNumber(location.getColumnNumber()); }
protected void ensureIds(List<? extends BaseElement> elements, String idPrefix) { Map<String, BaseElement> elementsWithId = new HashMap<>(); Set<BaseElement> baseElementsWithoutId = new HashSet<>(); for (BaseElement baseElement : elements) { if (baseElement.getId() != null) { elementsWithId.put(baseElement.getId(), baseElement); } else { baseElementsWithoutId.add(baseElement); } } if (!baseElementsWithoutId.isEmpty()) { int counter = 1; for (BaseElement baseElement : baseElementsWithoutId) { String id = idPrefix + counter++; while (elementsWithId.containsKey(id)) { id = idPrefix + counter++; } baseElement.setId(id); elementsWithId.put(id, baseElement); } } }
public BaseElement convertToCmmnModel(XMLStreamReader xtr, ConversionHelper conversionHelper) { BaseElement baseElement = convert(xtr, conversionHelper); if (baseElement != null) { baseElement.setId(xtr.getAttributeValue(null, CmmnXmlConstants.ATTRIBUTE_ID)); Location location = xtr.getLocation(); baseElement.setXmlRowNumber(location.getLineNumber()); baseElement.setXmlRowNumber(location.getColumnNumber()); if (baseElement instanceof CmmnElement) { CmmnElement cmmnElement = (CmmnElement) baseElement; conversionHelper.setCurrentCmmnElement(cmmnElement); } if (baseElement instanceof Criterion) { Criterion criterion = (Criterion) baseElement; conversionHelper.getCmmnModel().addCriterion(criterion.getId(), criterion); } } return baseElement; }