]> source.dussan.org Git - poi.git/commitdiff
XSSFCellBorder does not expose CTBorder object (same for XSSFCellFill); StylesTable...
authorPaolo Mottadelli <paolo@apache.org>
Tue, 25 Mar 2008 17:55:26 +0000 (17:55 +0000)
committerPaolo Mottadelli <paolo@apache.org>
Tue, 25 Mar 2008 17:55:26 +0000 (17:55 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@640915 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java
src/ooxml/java/org/apache/poi/xssf/usermodel/extensions/XSSFCellBorder.java
src/ooxml/java/org/apache/poi/xssf/usermodel/extensions/XSSFCellFill.java
src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFCellStyle.java

index 0e79149e6d0b3c97ee89013bf3d684b1e3b36ad0..81af8d8a9ec60a27b6215035d1fe696c18552cec 100644 (file)
@@ -44,7 +44,6 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTNumFmts;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTStylesheet;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.StyleSheetDocument;
-import javax.xml.namespace.QName;
 
 
 
@@ -198,28 +197,14 @@ public class StylesTable implements StylesSource, XSSFModel {
                return new XSSFCellBorder(borders.get((int)idx));
        }
        public long putBorder(XSSFCellBorder border) {
-               return putBorder(border.getCTBorder());
-       }
-       public synchronized long putBorder(CTBorder border) {
-               if(borders.contains(border)) {
-                       return borders.indexOf(border);
-               }
-               borders.add(border);
-               return borders.size() - 1;
+               return putBorder(border, borders);
        }
 
        public XSSFCellFill getFillAt(long idx) {
                return new XSSFCellFill(fills.get((int) idx));
        }
        public long putFill(XSSFCellFill fill) {
-               return putFill(fill.getCTFill());
-       }
-       public synchronized long putFill(CTFill fill) {
-               if (fills.contains(fill)) {
-                       return fills.indexOf(fill);
-               }
-               fills.add(fill);
-               return fills.size() - 1;
+               return putFill(fill, fills);
        }
        /**
      * For unit testing only
@@ -331,4 +316,11 @@ public class StylesTable implements StylesSource, XSSFModel {
         // Save
         doc.save(out, options);
     }
+    
+       private long putBorder(XSSFCellBorder border, LinkedList<CTBorder> borders) {
+               return border.putBorder(borders);
+       }
+       private long putFill(XSSFCellFill fill, LinkedList<CTFill> fills) {
+               return fill.putFill(fills);
+       }
 }
index cf281b8065572dc151c14820aad96556de3724ba..bd260dd17aef6943ee6c6c45cb8a2c9b32aa3ac2 100644 (file)
@@ -17,6 +17,8 @@
 package org.apache.poi.xssf.usermodel.extensions;
 
 
+import java.util.LinkedList;
+
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorder;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBorderPr;
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.STBorderStyle.Enum;
@@ -43,12 +45,12 @@ public class XSSFCellBorder {
                TOP, RIGHT, BOTTOM, LEFT
        }
        
-       /**
-        * TODO - is this the best way to allow StylesTable
-        *  to record us?
-        */
-       public CTBorder getCTBorder() {
-               return border;
+       public long putBorder(LinkedList<CTBorder> borders) {
+               if(borders.contains(border)) {
+                       return borders.indexOf(border);
+               }
+               borders.add(border);
+               return borders.size() - 1;
        }
        
        public Enum getBorderStyle(BorderSides side) {
index 8f8477e17e8f259fa3006f5a399ad94109388623..d848498b3de6625cf886f848992cd388fc095647 100644 (file)
@@ -1,5 +1,7 @@
 package org.apache.poi.xssf.usermodel.extensions;\r
 \r
+import java.util.LinkedList;\r
+\r
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFill;\r
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTPatternFill;\r
 import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPatternType.Enum;\r
@@ -27,6 +29,14 @@ public class XSSFCellFill {
        public Enum getPatternType() {\r
                return getPatternFill().getPatternType();\r
        }\r
+       \r
+       public long putFill(LinkedList<CTFill> fills) {\r
+               if (fills.contains(fill)) {\r
+                       return fills.indexOf(fill);\r
+               }\r
+               fills.add(fill);\r
+               return fills.size() - 1;\r
+       }\r
 \r
        private CTPatternFill getPatternFill() {\r
                CTPatternFill patternFill = fill.getPatternFill();\r
index ace6b95c0a686d667fe82e7a4982e21c0451868e..1cd6f063d25f0384636f0c97a0587ae982ce8d98 100644 (file)
@@ -36,7 +36,6 @@ public class TestXSSFCellStyle extends TestCase {
        
        private StylesTable stylesTable;
        private CTBorder ctBorderA;
-       private CTBorder ctBorderB;
        private CTFill ctFill;
        private CTXf cellStyleXf;
        private CTXf cellXf;
@@ -49,11 +48,11 @@ public class TestXSSFCellStyle extends TestCase {
                
                // Until we do XSSFBorder properly, cheat
                ctBorderA = CTBorder.Factory.newInstance();
-               long borderId = stylesTable.putBorder(ctBorderA);
+               XSSFCellBorder borderA = new XSSFCellBorder(ctBorderA);
+               long borderId = stylesTable.putBorder(borderA);
                assertEquals(0, borderId);
                
                XSSFCellBorder borderB = new XSSFCellBorder();
-               ctBorderB = borderB.getCTBorder();
                assertEquals(1, stylesTable.putBorder(borderB));
                
                ctFill = CTFill.Factory.newInstance();