You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ni...@apache.org on 2011/03/01 22:02:43 UTC

svn commit: r1076022 - in /poi/trunk/src/ooxml: java/org/apache/poi/xssf/usermodel/XSSFPrintSetup.java testcases/org/apache/poi/xssf/usermodel/TestXSSFPrintSetup.java

Author: nick
Date: Tue Mar  1 21:02:43 2011
New Revision: 1076022

URL: http://svn.apache.org/viewvc?rev=1076022&view=rev
Log:
Tweak XSSFPrintSetup to make it a little clearer what happens, and add a round-trip unit test for it

Modified:
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPrintSetup.java
    poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPrintSetup.java

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPrintSetup.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPrintSetup.java?rev=1076022&r1=1076021&r2=1076022&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPrintSetup.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPrintSetup.java Tue Mar  1 21:02:43 2011
@@ -35,16 +35,23 @@ import org.openxmlformats.schemas.spread
  * Page setup and page margins settings for the worksheet.
  */
 public class XSSFPrintSetup implements PrintSetup {
-
     private CTWorksheet ctWorksheet;
     private CTPageSetup pageSetup;
     private CTPageMargins pageMargins;
 
-
     protected XSSFPrintSetup(CTWorksheet worksheet) {
         this.ctWorksheet = worksheet;
-        this.pageSetup = ctWorksheet.getPageSetup() == null ? ctWorksheet.addNewPageSetup() : ctWorksheet.getPageSetup();
-        this.pageMargins = ctWorksheet.getPageMargins() == null ? ctWorksheet.addNewPageMargins() : ctWorksheet.getPageMargins();
+        
+        if(ctWorksheet.isSetPageSetup()) {
+           this.pageSetup = ctWorksheet.getPageSetup();
+        } else {
+           this.pageSetup = ctWorksheet.addNewPageSetup();
+        }
+        if(ctWorksheet.isSetPageMargins()) {
+           this.pageMargins = ctWorksheet.getPageMargins();
+        } else {
+           this.pageMargins = ctWorksheet.addNewPageMargins();
+        }
     }
 
     /**

Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPrintSetup.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPrintSetup.java?rev=1076022&r1=1076021&r2=1076022&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPrintSetup.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPrintSetup.java Tue Mar  1 21:02:43 2011
@@ -24,13 +24,12 @@ import org.apache.poi.ss.usermodel.Paper
 import org.apache.poi.ss.usermodel.PageOrder;
 import org.apache.poi.ss.usermodel.PrintOrientation;
 import org.apache.poi.ss.usermodel.PrintCellComments;
+import org.apache.poi.xssf.XSSFITestDataProvider;
 
 /**
  * Tests for {@link XSSFPrintSetup}
  */
 public class TestXSSFPrintSetup extends TestCase {
-
-
     public void testSetGetPaperSize() {
         CTWorksheet worksheet = CTWorksheet.Factory.newInstance();
         CTPageSetup pSetup = worksheet.addNewPageSetup();
@@ -206,5 +205,47 @@ public class TestXSSFPrintSetup extends 
         printSetup.setCopies((short) 15);
         assertEquals(15, pSetup.getCopies());
     }
-
+    
+    public void testSetSaveRead() throws Exception {
+       XSSFWorkbook wb = new XSSFWorkbook();
+       XSSFSheet s1 = wb.createSheet();
+       assertEquals(false, s1.getCTWorksheet().isSetPageSetup());
+       assertEquals(true, s1.getCTWorksheet().isSetPageMargins());
+       
+       XSSFPrintSetup print = s1.getPrintSetup();
+       assertEquals(true, s1.getCTWorksheet().isSetPageSetup());
+       assertEquals(true, s1.getCTWorksheet().isSetPageMargins());
+       
+       print.setCopies((short)3);
+       print.setLandscape(true);
+       assertEquals(3, print.getCopies());
+       assertEquals(true, print.getLandscape());
+       
+       XSSFSheet s2 = wb.createSheet();
+       assertEquals(false, s2.getCTWorksheet().isSetPageSetup());
+       assertEquals(true, s2.getCTWorksheet().isSetPageMargins());
+       
+       // Round trip and check
+       wb = XSSFITestDataProvider.instance.writeOutAndReadBack(wb);
+       
+       s1 = wb.getSheetAt(0);
+       s2 = wb.getSheetAt(1);
+       
+       assertEquals(true, s1.getCTWorksheet().isSetPageSetup());
+       assertEquals(true, s1.getCTWorksheet().isSetPageMargins());
+       assertEquals(false, s2.getCTWorksheet().isSetPageSetup());
+       assertEquals(true, s2.getCTWorksheet().isSetPageMargins());
+       
+       print = s1.getPrintSetup();
+       assertEquals(3, print.getCopies());
+       assertEquals(true, print.getLandscape());
+    }
+
+    /**
+     * Open a file with print settings, save and check.
+     * Then, change, save, read, check
+     */
+    public void testRoundTrip() {
+       // TODO
+    }
 }



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