@Deprecated public List<Object> getEGContentRowContent() { return getContent(); }
Tr tr = null; Tc tc = null; for (Object elemTr:table.getContent()) { if (elemTr instanceof JAXBElement) { elemTr = ((JAXBElement)elemTr).getValue();
private void render(final TableRow node, final DocxRendererContext docx) { Tr savedTr = myTr; myTr = docx.getFactory().createTr(); myTbl.getContent().add(myTr); // Create object for trPr TrPr trpr = docx.getFactory().createTrPr(); myTr.setTrPr(trpr); if (node.getParent() instanceof TableHead) { // Create object for tblHeader (wrapped in JAXBElement) BooleanDefaultTrue booleandefaulttrue = docx.getFactory().createBooleanDefaultTrue(); JAXBElement<org.docx4j.wml.BooleanDefaultTrue> booleandefaulttrueWrapped = docx.getFactory().createCTTrPrBaseTblHeader(booleandefaulttrue); trpr.getCnfStyleOrDivIdOrGridBefore().add(booleandefaulttrueWrapped); } docx.renderChildren(node); myTr = savedTr; }
@Deprecated public List<Object> getEGContentRowContent() { return getContent(); }
public Tr copyRow(Tr row) { Tr copiedRow = XmlUtils.deepCopy(row); new TraversalUtil(copiedRow, INVARIANTS_SETTER);//set parent for each sub-element of copied row (otherwise parent would be JaxbElement) int index = table.getContent().indexOf(row); table.getContent().add(index, copiedRow); return copiedRow; }
public Tr copyRow(Tr row) { Tr copiedRow = XmlUtils.deepCopy(row); new TraversalUtil(copiedRow, INVARIANTS_SETTER);//set parent for each sub-element of copied row (otherwise parent would be JaxbElement) int index = table.getContent().indexOf(row); table.getContent().add(index, copiedRow); return copiedRow; }
public void deleteTableRow(TableRowCoordinates tableRowCoordinates) { Tbl table = tableRowCoordinates.getParentTableCoordinates().getTable(); int index = tableRowCoordinates.getIndex(); Integer objectsDeletedFromTable = deletedObjectsPerParent.get(table); if (objectsDeletedFromTable == null) { objectsDeletedFromTable = 0; } index -= objectsDeletedFromTable; table.getContent().remove(index); deletedObjectsPerParent.put(table, objectsDeletedFromTable + 1); }
private void walkTable(Tbl table) { onTable(table); for (Object contentElement : table.getContent()) { if (XmlUtils.unwrap(contentElement) instanceof Tr) { Tr row = (Tr) contentElement; walkTableRow(row); } } }
protected void fillTables() { for (TableManager resultingTable : documentWrapper.getTables()) { checkThreadInterrupted(); Tr rowWithAliases = resultingTable.getRowWithAliases(); if (rowWithAliases != null) { List<BandData> bands = rootBand.findBandsRecursively(resultingTable.getBandName()); if (bands.size() > 1) { for (final BandData band : bands) { Tr newRow = resultingTable.copyRow(rowWithAliases); resultingTable.fillRowFromBand(newRow, band); } resultingTable.getTable().getContent().remove(rowWithAliases); } else if (bands.size() == 1) { resultingTable.fillRowFromBand(rowWithAliases, bands.get(0)); } else if (bands.size() == 0) { if (resultingTable.noHeader()) { resultingTable.getTable().getContent().clear(); } else { resultingTable.getTable().getContent().remove(rowWithAliases); } } } } }
protected void fillTables() { for (TableManager resultingTable : documentWrapper.getTables()) { checkThreadInterrupted(); Tr rowWithAliases = resultingTable.getRowWithAliases(); if (rowWithAliases != null) { List<BandData> bands = rootBand.findBandsRecursively(resultingTable.getBandName()); if (bands.size() > 1) { for (final BandData band : bands) { Tr newRow = resultingTable.copyRow(rowWithAliases); resultingTable.fillRowFromBand(newRow, band); } resultingTable.getTable().getContent().remove(rowWithAliases); } else if (bands.size() == 1) { resultingTable.fillRowFromBand(rowWithAliases, bands.get(0)); } else if (bands.size() == 0) { if (resultingTable.noHeader()) { resultingTable.getTable().getContent().clear(); } else { resultingTable.getTable().getContent().remove(rowWithAliases); } } } } }
private void repeatRows(final WordprocessingMLPackage document) { for (TableRowCoordinates rCoords : tableRowsToRepeat.keySet()) { List<Object> expressionContexts = tableRowsToRepeat.get(rCoords); int index = rCoords.getIndex(); for (final Object expressionContext : expressionContexts) { Tr rowClone = XmlUtils.deepCopy(rCoords.getRow()); DocumentWalker walker = new BaseDocumentWalker(rowClone) { @Override protected void onParagraph(P paragraph) { placeholderReplacer.resolveExpressionsForParagraph(paragraph, expressionContext, document); } }; walker.walk(); rCoords.getParentTableCoordinates().getTable().getContent().add(++index, rowClone); } rCoords.getParentTableCoordinates().getTable().getContent().remove(rCoords.getRow()); // TODO: remove "repeatTableRow"-comment from cloned rows! } }
private void resolvedExpressionsAreReplacedInNestedTable(WordprocessingMLPackage document) { Tbl table = (Tbl) ((JAXBElement) document.getMainDocumentPart().getContent().get(1)).getValue(); Tr row = (Tr) table.getContent().get(2); Tc cell = (Tc) ((JAXBElement) row.getContent().get(0)).getValue(); Tbl nestedTable = (Tbl) ((JAXBElement) cell.getContent().get(1)).getValue(); Tr nestedRow = (Tr) nestedTable.getContent().get(0); Tc nestedCell = (Tc) ((JAXBElement) nestedRow.getContent().get(1)).getValue(); P nameParagraph = (P) nestedCell.getContent().get(0); Assert.assertEquals("Bart Simpson", new ParagraphWrapper(nameParagraph).getText()); }
private void unresolvedExpressionsAreNotReplacedInNestedTable(WordprocessingMLPackage document) { Tbl table = (Tbl) ((JAXBElement) document.getMainDocumentPart().getContent().get(1)).getValue(); Tr row = (Tr) table.getContent().get(2); Tc cell = (Tc) ((JAXBElement) row.getContent().get(0)).getValue(); Tbl nestedTable = (Tbl) ((JAXBElement) cell.getContent().get(1)).getValue(); Tr nestedRow = (Tr) nestedTable.getContent().get(1); Tc nestedCell = (Tc) ((JAXBElement) nestedRow.getContent().get(1)).getValue(); P nameParagraph = (P) nestedCell.getContent().get(0); Assert.assertEquals("${foo}", new ParagraphWrapper(nameParagraph).getText()); }
Tr tr = null; Tc tc = null; for (Object elemTr:table.getContent()) { if (elemTr instanceof JAXBElement) { elemTr = ((JAXBElement)elemTr).getValue();
private void walkTable(TableCoordinates tableCoordinates) { onTable(tableCoordinates); int rowIndex = 0; for (Object contentElement : tableCoordinates.getTable().getContent()) { if (XmlUtils.unwrap(contentElement) instanceof Tr) { Tr row = (Tr) contentElement; TableRowCoordinates rowCoordinates = new TableRowCoordinates(row, rowIndex, tableCoordinates); walkTableRow(rowCoordinates); } rowIndex++; } }
private void nestedTablesAreRemoved(WordprocessingMLPackage document) { Tbl outerTable = (Tbl) ((JAXBElement) document.getMainDocumentPart().getContent().get(3)).getValue(); Tc cell = (Tc) ((JAXBElement) ((Tr) outerTable.getContent().get(1)).getContent().get(1)).getValue(); Assert.assertEquals("", new ParagraphWrapper((P) cell.getContent().get(0)).getText()); // empty paragraph, since the last element inside the cell was removed }
private void resolvedExpressionsAreReplacedInFirstLevelTable(WordprocessingMLPackage document) { Tbl table = (Tbl) ((JAXBElement) document.getMainDocumentPart().getContent().get(1)).getValue(); Tr row = (Tr) table.getContent().get(0); Tc cell = (Tc) ((JAXBElement) row.getContent().get(1)).getValue(); P nameParagraph = (P) cell.getContent().get(0); Assert.assertEquals("Bart Simpson", new ParagraphWrapper(nameParagraph).getText()); }
private void unresolvedExpressionsAreNotReplacedInFirstLevelTable(WordprocessingMLPackage document) { Tbl table = (Tbl) ((JAXBElement) document.getMainDocumentPart().getContent().get(1)).getValue(); Tr row = (Tr) table.getContent().get(1); Tc cell = (Tc) ((JAXBElement) row.getContent().get(1)).getValue(); P nameParagraph = (P) cell.getContent().get(0); Assert.assertEquals("${foo}", new ParagraphWrapper(nameParagraph).getText()); }
private void paragraphsInTableAreRemoved(WordprocessingMLPackage document) { Tbl table = (Tbl) ((JAXBElement) document.getMainDocumentPart().getContent().get(3)).getValue(); Tr row = (Tr) table.getContent().get(1); P p1 = (P) ((Tc) ((JAXBElement) row.getContent().get(0)).getValue()).getContent().get(0); P p2 = (P) ((Tc) ((JAXBElement) row.getContent().get(1)).getValue()).getContent().get(0); Assert.assertEquals("This paragraph stays untouched.", new ParagraphWrapper(p1).getText()); // since the last paragraph was removed from the cell, an empty paragraph was inserted Assert.assertEquals("", new ParagraphWrapper(p2).getText()); }
private void paragraphsInNestedTablesAreRemoved(WordprocessingMLPackage document) { final List<Tbl> tables = new ArrayList<>(); CoordinatesWalker walker = new BaseCoordinatesWalker(document) { @Override protected void onTable(TableCoordinates tableCoordinates) { tables.add(tableCoordinates.getTable()); } }; walker.walk(); Tbl nestedTable = tables.get(1); Tc cell = (Tc) ((JAXBElement) ((Tr) nestedTable.getContent().get(1)).getContent().get(0)).getValue(); P p1 = (P) cell.getContent().get(0); Assert.assertEquals(1, cell.getContent().size()); Assert.assertEquals("This paragraph stays untouched.", new ParagraphWrapper(p1).getText()); }