ASF Bugzilla – Attachment 31925 Details for
Bug 46192
[PATCH] the method getColumnOutline(int column) in the Sheet, HSSFSheet is absent
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch gives methods to read level of grouped rows and columns (outlines)
OutlineGetters.patch (text/plain), 8.85 KB, created by
Simon
on 2014-08-18 08:08:43 UTC
(
hide
)
Description:
Patch gives methods to read level of grouped rows and columns (outlines)
Filename:
MIME Type:
Creator:
Simon
Created:
2014-08-18 08:08:43 UTC
Size:
8.85 KB
patch
obsolete
>Index: src/java/org/apache/poi/hssf/model/InternalSheet.java >=================================================================== >--- src/java/org/apache/poi/hssf/model/InternalSheet.java (revision 1617935) >+++ src/java/org/apache/poi/hssf/model/InternalSheet.java (working copy) >@@ -1667,4 +1667,8 @@ > temp.toArray(result); > return result; > } >+ >+ public int getColumnOutlineLevel(int columnIndex) { >+ return _columnInfos.getOutlineLevel(columnIndex); >+ } > } >Index: src/java/org/apache/poi/hssf/record/aggregates/ColumnInfoRecordsAggregate.java >=================================================================== >--- src/java/org/apache/poi/hssf/record/aggregates/ColumnInfoRecordsAggregate.java (revision 1617935) >+++ src/java/org/apache/poi/hssf/record/aggregates/ColumnInfoRecordsAggregate.java (working copy) >@@ -519,5 +519,13 @@ > result = Math.max(columnInfoRecord.getOutlineLevel(), result); > } > return result; >+ } >+ public int getOutlineLevel(int columnIndex) { >+ ColumnInfoRecord ci = findColumnInfo(columnIndex); >+ if (ci != null) { >+ return ci.getOutlineLevel(); >+ } else { >+ return 0; >+ } > } > } >Index: src/java/org/apache/poi/hssf/usermodel/HSSFRow.java >=================================================================== >--- src/java/org/apache/poi/hssf/usermodel/HSSFRow.java (revision 1617935) >+++ src/java/org/apache/poi/hssf/usermodel/HSSFRow.java (working copy) >@@ -268,9 +268,8 @@ > * Returns the rows outline level. Increased as you > * put it into more groups (outlines), reduced as > * you take it out of them. >- * TODO - Should this really be public? > */ >- protected int getOutlineLevel() { >+ public int getOutlineLevel() { > return row.getOutlineLevel(); > } > >Index: src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java >=================================================================== >--- src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java (revision 1617935) >+++ src/java/org/apache/poi/hssf/usermodel/HSSFSheet.java (working copy) >@@ -2291,6 +2291,13 @@ > } > return _workbook.getNameRecord(recIndex); > } >- >- >+ >+ /** >+ * Returns the column outline level. Increased as you >+ * put it into more groups (outlines), reduced as >+ * you take it out of them. >+ */ >+ public int getColumnOutlineLevel(int columnIndex) { >+ return _sheet.getColumnOutlineLevel(columnIndex); >+ } > } >Index: src/java/org/apache/poi/ss/usermodel/Row.java >=================================================================== >--- src/java/org/apache/poi/ss/usermodel/Row.java (revision 1617935) >+++ src/java/org/apache/poi/ss/usermodel/Row.java (working copy) >@@ -234,4 +234,11 @@ > public static final MissingCellPolicy RETURN_BLANK_AS_NULL = new MissingCellPolicy(); > /** A new, blank cell is created for missing cells. Blank cells are returned as normal */ > public static final MissingCellPolicy CREATE_NULL_AS_BLANK = new MissingCellPolicy(); >+ >+ /** >+ * Returns the rows outline level. Increased as you >+ * put it into more groups (outlines), reduced as >+ * you take it out of them. >+ */ >+ public int getOutlineLevel(); > } >Index: src/java/org/apache/poi/ss/usermodel/Sheet.java >=================================================================== >--- src/java/org/apache/poi/ss/usermodel/Sheet.java (revision 1617935) >+++ src/java/org/apache/poi/ss/usermodel/Sheet.java (working copy) >@@ -1031,5 +1031,11 @@ > * columns for the Sheet, or null. > */ > void setRepeatingColumns(CellRangeAddress columnRangeRef); >- >+ >+ /** >+ * Returns the column outline level. Increased as you >+ * put it into more groups (outlines), reduced as >+ * you take it out of them. >+ */ >+ int getColumnOutlineLevel(int columnIndex); > } >Index: src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFRow.java >=================================================================== >--- src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFRow.java (revision 1617935) >+++ src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFRow.java (working copy) >@@ -58,7 +58,7 @@ > return _height!=-1; > } > >- int getOutlineLevel(){ >+ public int getOutlineLevel(){ > return _outlineLevel; > } > void setOutlineLevel(int level){ >Index: src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java >=================================================================== >--- src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java (revision 1617935) >+++ src/ooxml/java/org/apache/poi/xssf/streaming/SXSSFSheet.java (working copy) >@@ -1457,4 +1457,8 @@ > boolean dispose() { > return _writer.dispose(); > } >+ >+ public int getColumnOutlineLevel(int columnIndex) { >+ return _sh.getColumnOutlineLevel(columnIndex); >+ } > } >Index: src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java >=================================================================== >--- src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java (revision 1617935) >+++ src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java (working copy) >@@ -512,4 +512,8 @@ > } > setRowNum(rownum); > } >+ >+ public int getOutlineLevel() { >+ return _row.getOutlineLevel(); >+ } > } >Index: src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java >=================================================================== >--- src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java (revision 1617935) >+++ src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java (working copy) >@@ -3686,4 +3686,12 @@ > } > return tables; > } >+ >+ public int getColumnOutlineLevel(int columnIndex) { >+ CTCol col = columnHelper.getColumn(columnIndex, false); >+ if (col == null) { >+ return 0; >+ } >+ return col.getOutlineLevel(); >+ } > } >Index: src/ooxml/testcases/org/apache/poi/xssf/streaming/TestOutlining.java >=================================================================== >--- src/ooxml/testcases/org/apache/poi/xssf/streaming/TestOutlining.java (revision 1617935) >+++ src/ooxml/testcases/org/apache/poi/xssf/streaming/TestOutlining.java (working copy) >@@ -19,8 +19,16 @@ > > package org.apache.poi.xssf.streaming; > >+import java.io.IOException; >+ > import junit.framework.TestCase; > >+import org.apache.poi.hssf.usermodel.HSSFSheet; >+import org.apache.poi.hssf.usermodel.HSSFWorkbook; >+import org.apache.poi.ss.usermodel.Sheet; >+import org.apache.poi.xssf.usermodel.XSSFSheet; >+import org.apache.poi.xssf.usermodel.XSSFWorkbook; >+ > public final class TestOutlining extends TestCase { > public void testSetRowGroupCollapsed() throws Exception { > >@@ -99,4 +107,58 @@ > assertNull(r.getHidden()); > wb2.dispose(); > } >+ >+ public void testOutlineGetters() throws IOException { >+ HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); >+ HSSFSheet hssfSheet = hssfWorkbook.createSheet(); >+ hssfSheet.createRow(0); >+ hssfSheet.createRow(1); >+ hssfSheet.createRow(2); >+ hssfSheet.createRow(3); >+ hssfSheet.createRow(4); >+ hssfSheet.groupRow(1, 3); >+ hssfSheet.groupRow(2, 3); >+ >+ assertEquals(0, hssfSheet.getRow(0).getOutlineLevel()); >+ assertEquals(1, hssfSheet.getRow(1).getOutlineLevel()); >+ assertEquals(2, hssfSheet.getRow(2).getOutlineLevel()); >+ assertEquals(2, hssfSheet.getRow(3).getOutlineLevel()); >+ assertEquals(0, hssfSheet.getRow(4).getOutlineLevel()); >+ hssfWorkbook.close(); >+ >+ XSSFWorkbook xssfWorkbook = new XSSFWorkbook(); >+ XSSFSheet xssfSheet = xssfWorkbook.createSheet(); >+ xssfSheet.createRow(0); >+ xssfSheet.createRow(1); >+ xssfSheet.createRow(2); >+ xssfSheet.createRow(3); >+ xssfSheet.createRow(4); >+ xssfSheet.groupRow(1, 3); >+ xssfSheet.groupRow(2, 3); >+ >+ assertEquals(0, xssfSheet.getRow(0).getOutlineLevel()); >+ assertEquals(1, xssfSheet.getRow(1).getOutlineLevel()); >+ assertEquals(2, xssfSheet.getRow(2).getOutlineLevel()); >+ assertEquals(2, xssfSheet.getRow(3).getOutlineLevel()); >+ assertEquals(0, xssfSheet.getRow(4).getOutlineLevel()); >+ xssfWorkbook.close(); >+ >+ SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook(); >+ Sheet sxssfSheet = sxssfWorkbook.createSheet(); >+ sxssfSheet.createRow(0); >+ sxssfSheet.createRow(1); >+ sxssfSheet.createRow(2); >+ sxssfSheet.createRow(3); >+ sxssfSheet.createRow(4); >+ sxssfSheet.groupRow(1, 3); >+ sxssfSheet.groupRow(2, 3); >+ >+ assertEquals(0, sxssfSheet.getRow(0).getOutlineLevel()); >+ assertEquals(1, sxssfSheet.getRow(1).getOutlineLevel()); >+ assertEquals(2, sxssfSheet.getRow(2).getOutlineLevel()); >+ assertEquals(2, sxssfSheet.getRow(3).getOutlineLevel()); >+ assertEquals(0, sxssfSheet.getRow(4).getOutlineLevel()); >+ sxssfWorkbook.dispose(); >+ sxssfWorkbook.close(); >+ } > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 46192
: 31925