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