You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by pa...@apache.org on 2008/04/09 22:50:59 UTC

svn commit: r646527 - in /poi/branches/ooxml: build.xml src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java

Author: paolo
Date: Wed Apr  9 13:50:55 2008
New Revision: 646527

URL: http://svn.apache.org/viewvc?rev=646527&view=rev
Log:
XSSFSheet removeMergedRegion + tests

Modified:
    poi/branches/ooxml/build.xml
    poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
    poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java

Modified: poi/branches/ooxml/build.xml
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/build.xml?rev=646527&r1=646526&r2=646527&view=diff
==============================================================================
--- poi/branches/ooxml/build.xml (original)
+++ poi/branches/ooxml/build.xml Wed Apr  9 13:50:55 2008
@@ -202,6 +202,7 @@
     <path id="scratchpad.classpath">
         <path refid="main.classpath"/>
         <pathelement location="${main.output.dir}"/>
+    	<pathelement location="${scratchpad.output.dir}"/>
     </path>
 
     <path id="contrib.classpath">
@@ -234,6 +235,7 @@
 
     <path id="test.ooxml.classpath">
         <path refid="ooxml.classpath"/>
+        <path refid="scratchpad.classpath"/>
         <pathelement location="${ooxml.output.dir}"/>
         <pathelement location="${ooxml.output.test.dir}"/>
         <pathelement location="${main.output.test.dir}"/> <!-- ooxml tests use some utilities from main tests -->
@@ -553,7 +555,7 @@
     </javac>
   </target>
 
-  <target name="test" depends="test-main,test-scratchpad,test-contrib"
+  <target name="test" depends="test-main,test-scratchpad,test-contrib,test-ooxml"
     description="Tests main, contrib and scratchpad"/>
 
     <target name="-test-main-check">
@@ -585,6 +587,8 @@
           <exclude name="**/All*Tests.java"/>
           <exclude name="**/TestUnfixedBugs.java"/>
           <exclude name="**/TestcaseRecordInputStream.java"/>
+          <exclude name="**/TestRawDataBlock.java"/>
+          <exclude name="**/TestRawDataBlockList.java"/>
         </fileset>
       </batchtest>
     </junit>
@@ -792,6 +796,7 @@
                 <fileset dir="${ooxml.src.test}">
                     <include name="**/Test*.java"/>
                     <exclude name="**/All*Tests.java"/>
+                    <exclude name="**/TestExtractorFactory.java"/>
                 </fileset>
             </batchtest>
         </junit>
@@ -1315,7 +1320,7 @@
   <!-- Abort the build if JUnit is missing. -->
   <target name="fail-unless-junit-is-available" depends="init">
     <condition property="isAvailable.junit">
-      <available classname="junit.framework.TestCase"/>
+        <available file="${junit.jar1.dir}"/>
     </condition>
     <antcall target="fail-junit"/>
   </target>

Modified: poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java?rev=646527&r1=646526&r2=646527&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java (original)
+++ poi/branches/ooxml/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java Wed Apr  9 13:50:55 2008
@@ -65,7 +65,6 @@
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheetViews;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPane;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPaneState;
 
 
 public class XSSFSheet implements Sheet {
@@ -645,8 +644,16 @@
     }
 
     public void removeMergedRegion(int index) {
-        // TODO Auto-generated method stub
-
+    	CTMergeCell[] mergeCellsArray = new CTMergeCell[getMergedCells().sizeOfMergeCellArray() - 1];
+    	for (int i = 0 ; i < getMergedCells().sizeOfMergeCellArray() ; i++) {
+    		if (i < index) {
+    			mergeCellsArray[i] = getMergedCells().getMergeCellArray(i);
+    		}
+    		else if (i > index) {
+    			mergeCellsArray[i - 1] = getMergedCells().getMergeCellArray(i);
+    		}
+    	}
+    	getMergedCells().setMergeCellArray(mergeCellsArray);
     }
 
     public void removeRow(Row row) {

Modified: poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java?rev=646527&r1=646526&r2=646527&view=diff
==============================================================================
--- poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java (original)
+++ poi/branches/ooxml/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java Wed Apr  9 13:50:55 2008
@@ -570,6 +570,27 @@
     	assertEquals(1, sheet.getNumMergedRegions());
     }
     
+    public void testRemoveMergedRegion() {
+    	Workbook workbook = new XSSFWorkbook();
+    	CTSheet ctSheet = CTSheet.Factory.newInstance();
+    	CTWorksheet ctWorksheet = CTWorksheet.Factory.newInstance();
+    	XSSFSheet sheet = new XSSFSheet(ctSheet, ctWorksheet, (XSSFWorkbook) workbook);
+    	Region region_1 = new Region("A1:B2");
+    	Region region_2 = new Region("C3:D4");
+    	Region region_3 = new Region("E5:F6");
+    	sheet.addMergedRegion(region_1);
+    	sheet.addMergedRegion(region_2);
+    	sheet.addMergedRegion(region_3);
+    	assertEquals("C3:D4", ctWorksheet.getMergeCells().getMergeCellArray(1).getRef());
+    	assertEquals(3, sheet.getNumMergedRegions());
+    	sheet.removeMergedRegion(1);
+    	assertEquals("E5:F6", ctWorksheet.getMergeCells().getMergeCellArray(1).getRef());
+    	assertEquals(2, sheet.getNumMergedRegions());
+    	sheet.removeMergedRegion(1);
+    	sheet.removeMergedRegion(0);
+    	assertEquals(0, sheet.getNumMergedRegions());
+    }
+    
 
 	private XSSFSheet createSheet(XSSFWorkbook workbook, String name) {
         XSSFSheet sheet = (XSSFSheet) workbook.createSheet(name);



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org