flowable / flowable/flowable-engine
BpmnXMLUtil.parseExtensionElement setElementText has bug of Line wrap cover
- Lingua principale
- Java
- Stelle
- 9.5k
- Fork
- 2.9k
- Merge medio
- 7h 8m
- PR unite (30g)
- 2
Descrizione
**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;
}
}
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia da BpmnXMLUtil.parseExtensionElement e verifica come gli eventi di caratteri e CDATA di XMLStreamReader arrivano a setElementText. Riproduci il problema con testo suddiviso su più righe all’interno di extensionElements e verifica che tutto il testo venga conservato invece di essere sovrascritto; nell’issue non è indicato alcun percorso di file o test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- backend
- Tipo di issue
- Bug
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100