flowable / flowable/flowable-engine
BpmnXMLUtil.parseExtensionElement setElementText has bug of Line wrap cover
- Vorherrschende Sprache
- Java
- Sterne
- 9.5k
- Forks
- 2.9k
- Ø Merge
- 7 Std. 8 Min.
- Gemergte PRs (30 T.)
- 2
Beschreibung
**Describe the bug**
当 extensionElements 元素 text中存在换行时 xtr.next(); 方法会导致数据被覆盖
When there is a line break in the extensionElements element text, xtr. text(); Method can cause data to be overwritten
**Expected behavior**
A clear and concise description of what you expected to happen.
**Code**
while (!readyWithExtensionElement && xtr.hasNext()) {
xtr.next();
if (xtr.isCharacters() || XMLStreamReader.CDATA == xtr.getEventType()) {
if (StringUtils.isNotEmpty(xtr.getText().trim())) {
//fix set to append
extensionElement.setElementText(xtr.getText().trim());
}
} else if (xtr.isStartElement()) {
ExtensionElement childExtensionElement = parseExtensionElement(xtr);
extensionElement.addChildElement(childExtensionElement);
} else if (xtr.isEndElement() && extensionElement.getName().equalsIgnoreCase(xtr.getLocalName())) {
readyWithExtensionElement = true;
}
}
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne bei BpmnXMLUtil.parseExtensionElement und untersuche, wie Zeichen- und CDATA-Ereignisse des XMLStreamReader an setElementText weitergegeben werden. Reproduziere das Problem mit Text über mehrere Zeilen innerhalb von extensionElements und überprüfe, dass der gesamte Text beibehalten und nicht überschrieben wird; im Issue ist kein Datei- oder Testpfad angegeben.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- backend
- Issue-Typ
- Bug
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100