Fixes Dmp download file, as Document and Xml, to exclude compositeFields without visible children..
This commit is contained in:
parent
1a0728295b
commit
9d2a77cf5d
|
@ -134,7 +134,7 @@ public class WordBuilder {
|
|||
public void createCompositeFields(List<FieldSet> compositeFields, XWPFDocument mainDocumentPart, Integer indent, Boolean createListing, VisibilityRuleService visibilityRuleService) {
|
||||
if (createListing) this.addListing(mainDocumentPart, indent, true, true);
|
||||
compositeFields.forEach(compositeField -> {
|
||||
if (visibilityRuleService.isElementVisible(compositeField.getId())) {
|
||||
if (visibilityRuleService.isElementVisible(compositeField.getId()) && hasVisibleFields(compositeField, visibilityRuleService)) {
|
||||
if (compositeField.getTitle() != null && !compositeField.getTitle().isEmpty() && !createListing) {
|
||||
XWPFParagraph paragraph = addParagraphContent(compositeField.getNumbering() + " " + compositeField.getTitle(), mainDocumentPart, ParagraphStyle.HEADER3, numId);
|
||||
CTDecimalNumber number = paragraph.getCTP().getPPr().getNumPr().addNewIlvl();
|
||||
|
@ -175,11 +175,6 @@ public class WordBuilder {
|
|||
return paragraph;
|
||||
}
|
||||
|
||||
|
||||
public void addStyling(List<TextStyle> styles, String color) {
|
||||
|
||||
}
|
||||
|
||||
public void addListing(XWPFDocument document, int indent, Boolean question, Boolean hasIndication) {
|
||||
CTLvl cTLvl = this.cTAbstractNum.addNewLvl();
|
||||
|
||||
|
@ -235,4 +230,7 @@ public class WordBuilder {
|
|||
return null;
|
||||
}
|
||||
|
||||
private boolean hasVisibleFields(FieldSet compositeFields, VisibilityRuleService visibilityRuleService) {
|
||||
return compositeFields.getFields().stream().anyMatch(field -> visibilityRuleService.isElementVisible(field.getId()));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ public class ExportXmlBuilder {
|
|||
public Element createCompositeFields(List<FieldSet> compositeFields, VisibilityRuleService visibilityRuleService, Document element) {
|
||||
Element elementComposites = element.createElement("composite-fields");
|
||||
compositeFields.forEach(compositeField -> {
|
||||
if (visibilityRuleService.isElementVisible(compositeField.getId())) {
|
||||
if (visibilityRuleService.isElementVisible(compositeField.getId()) && hasVisibleFields(compositeField, visibilityRuleService)) {
|
||||
Element composite = element.createElement("composite-field");
|
||||
composite.setAttribute("id", compositeField.getId());
|
||||
if (compositeField.getTitle() != null && !compositeField.getTitle().isEmpty()) {
|
||||
|
@ -101,4 +101,8 @@ public class ExportXmlBuilder {
|
|||
});
|
||||
return elementFields;
|
||||
}
|
||||
|
||||
private boolean hasVisibleFields(FieldSet compositeFields, VisibilityRuleService visibilityRuleService) {
|
||||
return compositeFields.getFields().stream().anyMatch(field -> visibilityRuleService.isElementVisible(field.getId()));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue