Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/DrawingTable.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/DrawingTable.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/DrawingTable.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/DrawingTable.java
 Wed Sep 17 21:12:36 2014
@@ -20,8 +20,6 @@ package org.apache.poi.xslf.usermodel;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTTable;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTTableRow;
 
-import java.util.List;
-
 public class DrawingTable {
     private final CTTable table;
 
@@ -29,12 +27,13 @@ public class DrawingTable {
         this.table = table;
     }
 
+    @SuppressWarnings("deprecation")
     public DrawingTableRow[] getRows() {
-        List<CTTableRow> ctTableRows = table.getTrList();
-        DrawingTableRow[] o = new DrawingTableRow[ctTableRows.size()];
+        CTTableRow[] ctTableRows = table.getTrArray();
+        DrawingTableRow[] o = new DrawingTableRow[ctTableRows.length];
 
         for (int i=0; i<o.length; i++) {
-            o[i] = new DrawingTableRow(ctTableRows.get(i));
+            o[i] = new DrawingTableRow(ctTableRows[i]);
         }
 
         return o;

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/DrawingTableRow.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/DrawingTableRow.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/DrawingTableRow.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/DrawingTableRow.java
 Wed Sep 17 21:12:36 2014
@@ -20,8 +20,6 @@ package org.apache.poi.xslf.usermodel;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTTableCell;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTTableRow;
 
-import java.util.List;
-
 public class DrawingTableRow {
     private final CTTableRow row;
 
@@ -29,12 +27,13 @@ public class DrawingTableRow {
         this.row = row;
     }
 
+    @SuppressWarnings("deprecation")
     public DrawingTableCell[] getCells() {
-        List<CTTableCell> ctTableCells = row.getTcList();
-        DrawingTableCell[] o = new DrawingTableCell[ctTableCells.size()];
+        CTTableCell[] ctTableCells = row.getTcArray();
+        DrawingTableCell[] o = new DrawingTableCell[ctTableCells.length];
 
         for (int i=0; i<o.length; i++) {
-            o[i] = new DrawingTableCell(ctTableCells.get(i));
+            o[i] = new DrawingTableCell(ctTableCells[i]);
         }
 
         return o;

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/DrawingTextBody.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/DrawingTextBody.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/DrawingTextBody.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/DrawingTextBody.java
 Wed Sep 17 21:12:36 2014
@@ -20,8 +20,6 @@ package org.apache.poi.xslf.usermodel;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTTextBody;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTTextParagraph;
 
-import java.util.List;
-
 public class DrawingTextBody {
     private final CTTextBody textBody;
 
@@ -29,12 +27,13 @@ public class DrawingTextBody {
        this.textBody = textBody;
     }
 
+    @SuppressWarnings("deprecation")
     public DrawingParagraph[] getParagraphs() {
-        List<CTTextParagraph> paragraphs = textBody.getPList();
-        DrawingParagraph[] o = new DrawingParagraph[paragraphs.size()];
+        CTTextParagraph[] paragraphs = textBody.getPArray();
+        DrawingParagraph[] o = new DrawingParagraph[paragraphs.length];
 
         for (int i=0; i<o.length; i++) {
-            o[i] = new DrawingParagraph(paragraphs.get(i));
+            o[i] = new DrawingParagraph(paragraphs[i]);
         }
 
         return o;

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/RenderableShape.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/RenderableShape.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/RenderableShape.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/RenderableShape.java
 Wed Sep 17 21:12:36 2014
@@ -19,6 +19,25 @@
 
 package org.apache.poi.xslf.usermodel;
 
+import java.awt.AlphaComposite;
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.GradientPaint;
+import java.awt.Graphics2D;
+import java.awt.Paint;
+import java.awt.Shape;
+import java.awt.Stroke;
+import java.awt.TexturePaint;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+import java.awt.image.BufferedImage;
+import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Comparator;
+
 import org.apache.poi.openxml4j.opc.PackagePart;
 import org.apache.poi.openxml4j.opc.PackageRelationship;
 import org.apache.poi.util.Internal;
@@ -47,25 +66,6 @@ import org.openxmlformats.schemas.drawin
 import org.openxmlformats.schemas.drawingml.x2006.main.CTStyleMatrixReference;
 import org.openxmlformats.schemas.drawingml.x2006.main.STPathShadeType;
 
-import java.awt.AlphaComposite;
-import java.awt.BasicStroke;
-import java.awt.Color;
-import java.awt.GradientPaint;
-import java.awt.Graphics2D;
-import java.awt.Paint;
-import java.awt.Shape;
-import java.awt.Stroke;
-import java.awt.TexturePaint;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.Point2D;
-import java.awt.geom.Rectangle2D;
-import java.awt.image.BufferedImage;
-import java.lang.reflect.Constructor;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Comparator;
-
 /**
  * Encapsulates logic to translate DrawingML objects to Java2D
  */
@@ -548,6 +548,7 @@ class RenderableShape {
         }
     }
 
+    @SuppressWarnings("deprecation")
     private Collection<Outline> computeOutlines(Graphics2D graphics) {
 
         Collection<Outline> lst = new ArrayList<Outline>();
@@ -576,7 +577,7 @@ class RenderableShape {
                 public Guide getAdjustValue(String name) {
                     CTPresetGeometry2D prst = _shape.getSpPr().getPrstGeom();
                     if (prst.isSetAvLst()) {
-                        for (CTGeomGuide g : prst.getAvLst().getGdList()) {
+                        for (CTGeomGuide g : prst.getAvLst().getGdArray()) {
                             if (g.getName().equals(name)) {
                                 return new Guide(g);
                             }

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
 Wed Sep 17 21:12:36 2014
@@ -115,6 +115,7 @@ public class XMLSlideShow  extends POIXM
     }
 
     @Override
+    @SuppressWarnings("deprecation")
     protected void onDocumentRead() throws IOException {
         try {
             PresentationDocument doc =
@@ -140,8 +141,7 @@ public class XMLSlideShow  extends POIXM
 
             _slides = new ArrayList<XSLFSlide>();
             if (_presentation.isSetSldIdLst()) {
-                List<CTSlideIdListEntry> slideIds = 
_presentation.getSldIdLst().getSldIdList();
-                for (CTSlideIdListEntry slId : slideIds) {
+                for (CTSlideIdListEntry slId : 
_presentation.getSldIdLst().getSldIdArray()) {
                     XSLFSlide sh = shIdMap.get(slId.getId2());
                     if (sh == null) {
                         _logger.log(POILogger.WARN, "Slide with r:id " + 
slId.getId() + " was defined, but didn't exist in package, skipping");
@@ -201,13 +201,14 @@ public class XMLSlideShow  extends POIXM
      * @param layout
      * @return created slide
      */
+    @SuppressWarnings("deprecation")
     public XSLFSlide createSlide(XSLFSlideLayout layout) {
         int slideNumber = 256, cnt = 1;
         CTSlideIdList slideList;
         if (!_presentation.isSetSldIdLst()) slideList = 
_presentation.addNewSldIdLst();
         else {
             slideList = _presentation.getSldIdLst();
-            for(CTSlideIdListEntry slideId : slideList.getSldIdList()){
+            for(CTSlideIdListEntry slideId : slideList.getSldIdArray()){
                 slideNumber = (int)Math.max(slideId.getId() + 1, slideNumber);
                 cnt++;
             }
@@ -283,16 +284,16 @@ public class XMLSlideShow  extends POIXM
         _slides.add(newIndex, _slides.remove(oldIndex));
 
         // fix ordering in the low-level xml
-        List<CTSlideIdListEntry> slideIds = 
_presentation.getSldIdLst().getSldIdList();
-        CTSlideIdListEntry oldEntry = slideIds.get(oldIndex);
-        slideIds.add(newIndex, oldEntry);
-        slideIds.remove(oldEntry);
+        CTSlideIdList sldIdLst = _presentation.getSldIdLst();
+        CTSlideIdListEntry oldEntry = sldIdLst.getSldIdArray(oldIndex);
+        sldIdLst.insertNewSldId(newIndex).set(oldEntry);
+        sldIdLst.removeSldId(oldIndex);
     }
 
     public XSLFSlide removeSlide(int index){
         XSLFSlide slide = _slides.remove(index);
         removeRelation(slide);
-         _presentation.getSldIdLst().getSldIdList().remove(index);
+         _presentation.getSldIdLst().removeSldId(index);
         return slide;
     }
     

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFCommentAuthors.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFCommentAuthors.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFCommentAuthors.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFCommentAuthors.java
 Wed Sep 17 21:12:36 2014
@@ -17,6 +17,8 @@
 
 package org.apache.poi.xslf.usermodel;
 
+import java.io.IOException;
+
 import org.apache.poi.POIXMLDocumentPart;
 import org.apache.poi.openxml4j.opc.PackagePart;
 import org.apache.poi.openxml4j.opc.PackageRelationship;
@@ -26,8 +28,6 @@ import org.openxmlformats.schemas.presen
 import 
org.openxmlformats.schemas.presentationml.x2006.main.CTCommentAuthorList;
 import 
org.openxmlformats.schemas.presentationml.x2006.main.CmAuthorLstDocument;
 
-import java.io.IOException;
-
 @Beta
 public class XSLFCommentAuthors extends POIXMLDocumentPart {
     private final CTCommentAuthorList _authors;
@@ -61,9 +61,10 @@ public class XSLFCommentAuthors extends 
        return _authors;
     }
     
+    @SuppressWarnings("deprecation")
     public CTCommentAuthor getAuthorById(long id) {
        // TODO Have a map
-       for (CTCommentAuthor author : _authors.getCmAuthorList()) {
+       for (CTCommentAuthor author : _authors.getCmAuthorArray()) {
           if (author.getId() == id) {
              return author;
           }

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFComments.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFComments.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFComments.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFComments.java
 Wed Sep 17 21:12:36 2014
@@ -66,6 +66,6 @@ public class XSLFComments extends POIXML
     }
     
     public CTComment getCommentAt(int pos) {
-       return _comments.getCmList().get(pos);
+       return _comments.getCmArray(pos);
     }
 }

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFCommonSlideData.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFCommonSlideData.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFCommonSlideData.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFCommonSlideData.java
 Wed Sep 17 21:12:36 2014
@@ -17,6 +17,10 @@
 
 package org.apache.poi.xslf.usermodel;
 
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
 import org.apache.poi.POIXMLException;
 import org.apache.poi.util.Beta;
 import org.apache.xmlbeans.XmlCursor;
@@ -32,10 +36,6 @@ import org.openxmlformats.schemas.presen
 import org.openxmlformats.schemas.presentationml.x2006.main.CTGroupShape;
 import org.openxmlformats.schemas.presentationml.x2006.main.CTShape;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
 @Beta
 public class XSLFCommonSlideData {
     private final CTCommonSlideData data;
@@ -44,6 +44,7 @@ public class XSLFCommonSlideData {
         this.data = data;
     }
     
+    @SuppressWarnings("deprecation")
     public List<DrawingTextBody> getDrawingText() {
         CTGroupShape gs = data.getSpTree();
 
@@ -51,11 +52,11 @@ public class XSLFCommonSlideData {
 
         processShape(gs, out);
 
-        for (CTGroupShape shape : gs.getGrpSpList()) {
+        for (CTGroupShape shape : gs.getGrpSpArray()) {
             processShape(shape, out);
         }
 
-        for (CTGraphicalObjectFrame frame: gs.getGraphicFrameList()) {
+        for (CTGraphicalObjectFrame frame: gs.getGraphicFrameArray()) {
             CTGraphicalObjectData data = frame.getGraphic().getGraphicData();
             XmlCursor c = data.newCursor();
             c.selectPath("declare namespace 
pic='"+CTTable.type.getName().getNamespaceURI()+"' .//pic:tbl");
@@ -97,9 +98,9 @@ public class XSLFCommonSlideData {
        return paragraphs;
     }
 
+    @SuppressWarnings("deprecation")
     private void processShape(CTGroupShape gs, List<DrawingTextBody> out) {
-        List<CTShape> shapes = gs.getSpList();
-        for (CTShape shape : shapes) {
+        for (CTShape shape : gs.getSpArray()) {
             CTTextBody ctTextBody = shape.getTxBody();
             if (ctTextBody==null) {
                 continue;

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFFreeformShape.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFFreeformShape.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFFreeformShape.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFFreeformShape.java
 Wed Sep 17 21:12:36 2014
@@ -19,6 +19,11 @@
 
 package org.apache.poi.xslf.usermodel;
 
+import java.awt.geom.AffineTransform;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.PathIterator;
+import java.awt.geom.Rectangle2D;
+
 import org.apache.poi.util.Beta;
 import org.apache.poi.util.Units;
 import org.apache.xmlbeans.XmlObject;
@@ -35,11 +40,6 @@ import org.openxmlformats.schemas.drawin
 import org.openxmlformats.schemas.presentationml.x2006.main.CTShape;
 import org.openxmlformats.schemas.presentationml.x2006.main.CTShapeNonVisual;
 
-import java.awt.geom.AffineTransform;
-import java.awt.geom.GeneralPath;
-import java.awt.geom.PathIterator;
-import java.awt.geom.Rectangle2D;
-
 /**
  * Represents a custom geometric shape.
  * This shape will consist of a series of lines and curves described within a 
creation path.
@@ -120,12 +120,13 @@ public class XSLFFreeformShape extends X
      *
      * @return the path
      */
+    @SuppressWarnings("deprecation")
     public GeneralPath getPath() {
         GeneralPath path = new GeneralPath();
         Rectangle2D bounds = getAnchor();
 
         CTCustomGeometry2D geom = getSpPr().getCustGeom();
-        for(CTPath2D spPath : geom.getPathLst().getPathList()){
+        for(CTPath2D spPath : geom.getPathLst().getPathArray()){
             double scaleW = bounds.getWidth() / Units.toPoints(spPath.getW());
             double scaleH = bounds.getHeight() / Units.toPoints(spPath.getH());
             for(XmlObject ch : spPath.selectPath("*")){

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureShape.java
 Wed Sep 17 21:12:36 2014
@@ -213,7 +213,7 @@ public class XSLFPictureShape extends XS
         if(blip.isSetExtLst()) {
 
             CTOfficeArtExtensionList extLst = blip.getExtLst();
-            for(CTOfficeArtExtension ext : extLst.getExtList()){
+            for(CTOfficeArtExtension ext : extLst.getExtArray()){
                 String xpath = "declare namespace 
a14='http://schemas.microsoft.com/office/drawing/2010/main' 
$this//a14:imgProps/a14:imgLayer";
                 XmlObject[] obj = ext.selectPath(xpath);
                 if(obj != null && obj.length == 1){

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTable.java
 Wed Sep 17 21:12:36 2014
@@ -51,6 +51,7 @@ public class XSLFTable extends XSLFGraph
     private CTTable _table;
     private List<XSLFTableRow> _rows;
 
+    @SuppressWarnings("deprecation")
     /*package*/ XSLFTable(CTGraphicalObjectFrame shape, XSLFSheet sheet){
         super(shape, sheet);
 
@@ -71,8 +72,9 @@ public class XSLFTable extends XSLFGraph
         }
 
         _table = (CTTable) rs[0];
-        _rows = new ArrayList<XSLFTableRow>(_table.sizeOfTrArray());
-        for(CTTableRow row : _table.getTrList()) _rows.add(new 
XSLFTableRow(row, this));
+        CTTableRow[] trArray = _table.getTrArray();
+        _rows = new ArrayList<XSLFTableRow>(trArray.length);
+        for(CTTableRow row : trArray) _rows.add(new XSLFTableRow(row, this));
     }
 
     @Internal

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableRow.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableRow.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableRow.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableRow.java
 Wed Sep 17 21:12:36 2014
@@ -19,15 +19,15 @@
 
 package org.apache.poi.xslf.usermodel;
 
-import org.apache.poi.util.Units;
-import org.openxmlformats.schemas.drawingml.x2006.main.CTTableCell;
-import org.openxmlformats.schemas.drawingml.x2006.main.CTTableRow;
-
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.poi.util.Units;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTTableCell;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTTableRow;
+
 /**
  * Represents a table in a .pptx presentation
  *
@@ -38,11 +38,13 @@ public class XSLFTableRow implements Ite
     private List<XSLFTableCell> _cells;
     private XSLFTable _table;
 
+    @SuppressWarnings("deprecation")
     /*package*/ XSLFTableRow(CTTableRow row, XSLFTable table){
         _row = row;
         _table = table;
-        _cells = new ArrayList<XSLFTableCell>(_row.sizeOfTcArray());
-        for(CTTableCell cell : _row.getTcList()) {
+        CTTableCell[] tcArray = _row.getTcArray();
+        _cells = new ArrayList<XSLFTableCell>(tcArray.length);
+        for(CTTableCell cell : tcArray) {
             _cells.add(new XSLFTableCell(cell, table.getSheet()));
         }
     }

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableStyles.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableStyles.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableStyles.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTableStyles.java
 Wed Sep 17 21:12:36 2014
@@ -16,6 +16,12 @@
 ==================================================================== */
 package org.apache.poi.xslf.usermodel;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
 import org.apache.poi.POIXMLDocumentPart;
 import org.apache.poi.openxml4j.opc.PackagePart;
 import org.apache.poi.openxml4j.opc.PackageRelationship;
@@ -24,12 +30,6 @@ import org.apache.xmlbeans.XmlException;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTTableStyle;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTTableStyleList;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-
 @Beta
 public class XSLFTableStyles extends POIXMLDocumentPart implements 
Iterable<XSLFTableStyle>{
     private CTTableStyleList _tblStyleLst;
@@ -39,12 +39,14 @@ public class XSLFTableStyles extends POI
         super();
     }
 
+    @SuppressWarnings("deprecation")
     public XSLFTableStyles(PackagePart part, PackageRelationship rel) throws 
IOException, XmlException {
         super(part, rel);
 
         _tblStyleLst = 
CTTableStyleList.Factory.parse(getPackagePart().getInputStream());
-        _styles = new 
ArrayList<XSLFTableStyle>(_tblStyleLst.sizeOfTblStyleArray());
-        for(CTTableStyle c : _tblStyleLst.getTblStyleList()){
+        CTTableStyle[] tblStyleArray = _tblStyleLst.getTblStyleArray();
+        _styles = new ArrayList<XSLFTableStyle>(tblStyleArray.length);
+        for(CTTableStyle c : tblStyleArray){
             _styles.add(new XSLFTableStyle(c));
         }
     }

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFTextShape.java
 Wed Sep 17 21:12:36 2014
@@ -19,6 +19,14 @@
 
 package org.apache.poi.xslf.usermodel;
 
+import java.awt.Graphics2D;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Rectangle2D;
+import java.awt.image.BufferedImage;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
 import org.apache.poi.POIXMLException;
 import org.apache.poi.util.Beta;
 import org.apache.poi.util.Units;
@@ -36,14 +44,6 @@ import org.openxmlformats.schemas.presen
 import org.openxmlformats.schemas.presentationml.x2006.main.CTShape;
 import org.openxmlformats.schemas.presentationml.x2006.main.STPlaceholderType;
 
-import java.awt.Graphics2D;
-import java.awt.geom.AffineTransform;
-import java.awt.geom.Rectangle2D;
-import java.awt.image.BufferedImage;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
 /**
  * Represents a shape that can hold text.
  *
@@ -58,13 +58,14 @@ public abstract class XSLFTextShape exte
      */
     private boolean _isTextBroken;
 
+    @SuppressWarnings("deprecation")
     /*package*/ XSLFTextShape(XmlObject shape, XSLFSheet sheet) {
         super(shape, sheet);
 
         _paragraphs = new ArrayList<XSLFTextParagraph>();
         CTTextBody txBody = getTextBody(false);
         if (txBody != null) {
-            for (CTTextParagraph p : txBody.getPList()) {
+            for (CTTextParagraph p : txBody.getPArray()) {
                 _paragraphs.add(new XSLFTextParagraph(p, this));
             }
         }

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/eventusermodel/ReadOnlySharedStringsTable.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/eventusermodel/ReadOnlySharedStringsTable.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/eventusermodel/ReadOnlySharedStringsTable.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/eventusermodel/ReadOnlySharedStringsTable.java
 Wed Sep 17 21:12:36 2014
@@ -22,12 +22,11 @@ import java.util.ArrayList;
 import java.util.List;
 
 import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
 
 import org.apache.poi.openxml4j.opc.OPCPackage;
 import org.apache.poi.openxml4j.opc.PackagePart;
 import org.apache.poi.openxml4j.opc.PackageRelationship;
+import org.apache.poi.util.SAXHelper;
 import org.apache.poi.xssf.usermodel.XSSFRelation;
 import org.xml.sax.Attributes;
 import org.xml.sax.InputSource;
@@ -134,10 +133,8 @@ public class ReadOnlySharedStringsTable 
      */
     public void readFrom(InputStream is) throws IOException, SAXException {
         InputSource sheetSource = new InputSource(is);
-        SAXParserFactory saxFactory = SAXParserFactory.newInstance();
         try {
-           SAXParser saxParser = saxFactory.newSAXParser();
-           XMLReader sheetParser = saxParser.getXMLReader();
+           XMLReader sheetParser = SAXHelper.newXMLReader();
            sheetParser.setContentHandler(this);
            sheetParser.parse(sheetSource);
         } catch(ParserConfigurationException e) {

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFSheetXMLHandler.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFSheetXMLHandler.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFSheetXMLHandler.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/eventusermodel/XSSFSheetXMLHandler.java
 Wed Sep 17 21:12:36 2014
@@ -18,7 +18,6 @@ package org.apache.poi.xssf.eventusermod
 
 import java.util.Comparator;
 import java.util.LinkedList;
-import java.util.List;
 import java.util.Queue;
 
 import org.apache.poi.ss.usermodel.BuiltinFormats;
@@ -159,11 +158,11 @@ public class XSSFSheetXMLHandler extends
        this(styles, strings, sheetContentsHandler, new DataFormatter(), 
formulasNotResults);
    }
    
+   @SuppressWarnings("deprecation")
    private void init() {
        if (commentsTable != null) {
            commentCellRefs = new LinkedList<CellReference>();
-           List<CTComment> commentList = 
commentsTable.getCTComments().getCommentList().getCommentList();
-           for (CTComment comment : commentList) {
+           for (CTComment comment : 
commentsTable.getCTComments().getCommentList().getCommentArray()) {
                commentCellRefs.add(new CellReference(comment.getRef()));
            }
        }   
@@ -187,6 +186,7 @@ public class XSSFSheetXMLHandler extends
    }
    
    @Override
+   @SuppressWarnings("unused")
    public void startElement(String uri, String localName, String name,
                             Attributes attributes) throws SAXException {
 

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java
 Wed Sep 17 21:12:36 2014
@@ -24,8 +24,6 @@ import java.util.Locale;
 import java.util.Map;
 
 import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
 
 import org.apache.poi.POIXMLProperties;
 import org.apache.poi.POIXMLProperties.CoreProperties;
@@ -35,6 +33,7 @@ import org.apache.poi.POIXMLTextExtracto
 import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
 import org.apache.poi.openxml4j.opc.OPCPackage;
 import org.apache.poi.ss.usermodel.DataFormatter;
+import org.apache.poi.util.SAXHelper;
 import org.apache.poi.xssf.eventusermodel.ReadOnlySharedStringsTable;
 import org.apache.poi.xssf.eventusermodel.XSSFReader;
 import org.apache.poi.xssf.eventusermodel.XSSFSheetXMLHandler;
@@ -174,10 +173,8 @@ public class XSSFEventBasedExcelExtracto
        }
       
        InputSource sheetSource = new InputSource(sheetInputStream);
-       SAXParserFactory saxFactory = SAXParserFactory.newInstance();
        try {
-          SAXParser saxParser = saxFactory.newSAXParser();
-          XMLReader sheetParser = saxParser.getXMLReader();
+          XMLReader sheetParser = SAXHelper.newXMLReader();
           ContentHandler handler = new XSSFSheetXMLHandler(
                 styles, comments, strings, sheetContentsExtractor, formatter, 
formulasNotResults);
           sheetParser.setContentHandler(handler);

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExportToXml.java
 Wed Sep 17 21:12:36 2014
@@ -28,8 +28,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Vector;
 
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.transform.OutputKeys;
 import javax.xml.transform.Source;
@@ -45,7 +43,7 @@ import javax.xml.validation.Validator;
 import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.DateUtil;
-import org.apache.poi.util.XMLHelper;
+import org.apache.poi.util.DocumentHelper;
 import org.apache.poi.xssf.usermodel.XSSFCell;
 import org.apache.poi.xssf.usermodel.XSSFMap;
 import org.apache.poi.xssf.usermodel.XSSFRow;
@@ -106,15 +104,6 @@ public class XSSFExportToXml implements 
         exportToXML(os, "UTF-8", validate);
     }
 
-    private Document getEmptyDocument() throws ParserConfigurationException{
-
-        DocumentBuilderFactory dbfac = XMLHelper.getDocumentBuilderFactory();
-        DocumentBuilder docBuilder = dbfac.newDocumentBuilder();
-        Document doc = docBuilder.newDocument();
-
-        return doc;
-    }
-
     /**
      * Exports the data in an XML stream
      *
@@ -132,7 +121,7 @@ public class XSSFExportToXml implements 
 
         String rootElement = map.getCtMap().getRootElement();
 
-        Document doc = getEmptyDocument();
+        Document doc = DocumentHelper.createDocument();
 
         Element root = null;
 
@@ -459,8 +448,8 @@ public class XSSFExportToXml implements 
             Node node = list.item(i);
             if (node instanceof Element) {
                 if (node.getLocalName().equals("element")) {
-                    Node nameAttribute  = 
node.getAttributes().getNamedItem("name");
-                    if 
(nameAttribute.getNodeValue().equals(removeNamespace(elementName))) {
+                    Node element = getNameOrRefElement(node);
+                    if 
(element.getNodeValue().equals(removeNamespace(elementName))) {
                         indexOf = i;
                         break;
                     }
@@ -471,6 +460,15 @@ public class XSSFExportToXml implements 
         return indexOf;
     }
 
+       private Node getNameOrRefElement(Node node) {
+               Node returnNode = node.getAttributes().getNamedItem("name");
+        if(returnNode != null) {
+            return returnNode;
+               }
+               
+        return node.getAttributes().getNamedItem("ref");
+       }
+
     private Node getComplexTypeForElement(String elementName,Node 
xmlSchema,Node localComplexTypeRootNode) {
         String elementNameWithoutNamespace = removeNamespace(elementName);
 
@@ -494,7 +492,7 @@ public class XSSFExportToXml implements 
             Node node = list.item(i);
             if ( node instanceof Element) {
                 if (node.getLocalName().equals("element")) {
-                    Node nameAttribute  = 
node.getAttributes().getNamedItem("name");
+                    Node nameAttribute = getNameOrRefElement(node);
                     if 
(nameAttribute.getNodeValue().equals(elementNameWithoutNamespace)) {
                         Node complexTypeAttribute = 
node.getAttributes().getNamedItem("type");
                         if (complexTypeAttribute!=null) {
@@ -515,7 +513,7 @@ public class XSSFExportToXml implements 
             Node node = complexTypeList.item(i);
             if ( node instanceof Element) {
                 if (node.getLocalName().equals("complexType")) {
-                    Node nameAttribute  = 
node.getAttributes().getNamedItem("name");
+                    Node nameAttribute = getNameOrRefElement(node);
                     if (nameAttribute.getNodeValue().equals(complexTypeName)) {
 
                         NodeList complexTypeChildList  =node.getChildNodes();

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFImportFromXML.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFImportFromXML.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFImportFromXML.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/extractor/XSSFImportFromXML.java
 Wed Sep 17 21:12:36 2014
@@ -24,16 +24,15 @@ import java.util.List;
 
 import javax.xml.namespace.NamespaceContext;
 import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 import javax.xml.xpath.XPath;
 import javax.xml.xpath.XPathConstants;
 import javax.xml.xpath.XPathExpressionException;
 import javax.xml.xpath.XPathFactory;
 
+import org.apache.poi.util.DocumentHelper;
 import org.apache.poi.util.POILogFactory;
 import org.apache.poi.util.POILogger;
-import org.apache.poi.util.XMLHelper;
 import org.apache.poi.xssf.usermodel.XSSFCell;
 import org.apache.poi.xssf.usermodel.XSSFMap;
 import org.apache.poi.xssf.usermodel.XSSFRow;
@@ -76,11 +75,9 @@ public class XSSFImportFromXML {
      * @throws ParserConfigurationException if there are problems with XML 
parser configuration
      * @throws IOException  if there are problems reading the input string
      */
-    public void importFromXML(String xmlInputString) throws SAXException, 
XPathExpressionException, ParserConfigurationException, IOException {
+    public void importFromXML(String xmlInputString) throws SAXException, 
XPathExpressionException, IOException {
 
-        DocumentBuilderFactory factory = XMLHelper.getDocumentBuilderFactory();
-        factory.setNamespaceAware(true);
-        DocumentBuilder builder = factory.newDocumentBuilder();
+        DocumentBuilder builder = DocumentHelper.newDocumentBuilder();
 
         Document doc = builder.parse(new InputSource(new 
StringReader(xmlInputString.trim())));
 

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/CommentsTable.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/CommentsTable.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/CommentsTable.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/CommentsTable.java
 Wed Sep 17 21:12:36 2014
@@ -98,9 +98,11 @@ public class CommentsTable extends POIXM
         return comments.getAuthors().getAuthorArray((int)authorId);
     }
 
+    @SuppressWarnings("deprecation")
     public int findAuthor(String author) {
-        for (int i = 0 ; i < comments.getAuthors().sizeOfAuthorArray() ; i++) {
-            if (comments.getAuthors().getAuthorArray(i).equals(author)) {
+        String[] authorArray = comments.getAuthors().getAuthorArray();
+        for (int i = 0 ; i < authorArray.length; i++) {
+            if (authorArray[i].equals(author)) {
                 return i;
             }
         }
@@ -149,15 +151,18 @@ public class CommentsTable extends POIXM
 
     public boolean removeComment(String cellRef) {
         CTCommentList lst = comments.getCommentList();
-        if(lst != null) for(int i=0; i < lst.sizeOfCommentArray(); i++) {
-            CTComment comment = lst.getCommentArray(i);
-            if (cellRef.equals(comment.getRef())) {
-                lst.removeComment(i);
-                
-                if(commentRefs != null) {
-                   commentRefs.remove(cellRef);
+        if(lst != null) {
+            CTComment[] commentArray = lst.getCommentArray();
+            for (int i = 0; i < commentArray.length; i++) {
+                CTComment comment = commentArray[i];
+                if (cellRef.equals(comment.getRef())) {
+                    lst.removeComment(i);
+
+                    if(commentRefs != null) {
+                       commentRefs.remove(cellRef);
+                    }
+                    return true;
                 }
-                return true;
             }
         }
         return false;

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/MapInfo.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/MapInfo.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/MapInfo.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/MapInfo.java
 Wed Sep 17 21:12:36 2014
@@ -24,7 +24,6 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 
-
 import org.apache.poi.POIXMLDocumentPart;
 import org.apache.poi.openxml4j.opc.PackagePart;
 import org.apache.poi.openxml4j.opc.PackageRelationship;
@@ -66,13 +65,14 @@ public class MapInfo extends POIXMLDocum
                readFrom(part.getInputStream());
        }
 
+    @SuppressWarnings("deprecation")
        public void readFrom(InputStream is) throws IOException {
                try {
                        MapInfoDocument doc = MapInfoDocument.Factory.parse(is);
                        mapInfo = doc.getMapInfo();
 
             maps= new HashMap<Integer, XSSFMap>();
-            for(CTMap map :mapInfo.getMapList()){
+            for(CTMap map :mapInfo.getMapArray()){
                 maps.put((int)map.getID(), new XSSFMap(map,this));
             }
 
@@ -104,10 +104,11 @@ public class MapInfo extends POIXMLDocum
         * @param schemaId the schema ID
         * @return CTSchema by it's ID
         */
+    @SuppressWarnings("deprecation")
        public CTSchema getCTSchemaById(String schemaId){
                CTSchema xmlSchema = null;
 
-               for(CTSchema schema: mapInfo.getSchemaList()){
+               for(CTSchema schema: mapInfo.getSchemaArray()){
                        if(schema.getID().equals(schemaId)){
                                xmlSchema = schema;
                                break;

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/SingleXmlCells.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/SingleXmlCells.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/SingleXmlCells.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/SingleXmlCells.java
 Wed Sep 17 21:12:36 2014
@@ -94,10 +94,11 @@ public class SingleXmlCells extends POIX
         * 
         * @return all the SimpleXmlCell contained in this SingleXmlCells 
element
         */
+    @SuppressWarnings("deprecation")
        public List<XSSFSingleXmlCell> getAllSimpleXmlCell(){
                List<XSSFSingleXmlCell> list = new Vector<XSSFSingleXmlCell>();
                
-               for(CTSingleXmlCell singleXmlCell: 
singleXMLCells.getSingleXmlCellList()){                      
+               for(CTSingleXmlCell singleXmlCell: 
singleXMLCells.getSingleXmlCellArray()){
                        list.add(new XSSFSingleXmlCell(singleXmlCell,this));
                }               
                return list;

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/ThemesTable.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/ThemesTable.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/ThemesTable.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/model/ThemesTable.java
 Wed Sep 17 21:12:36 2014
@@ -23,20 +23,22 @@ import org.apache.poi.openxml4j.opc.Pack
 import org.apache.poi.openxml4j.opc.PackageRelationship;
 import org.apache.poi.xssf.usermodel.XSSFColor;
 import org.apache.xmlbeans.XmlException;
-import org.apache.xmlbeans.XmlObject;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTColor;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTColorScheme;
 import org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument;
-import org.openxmlformats.schemas.drawingml.x2006.main.CTColor;
 
 /**
  * Class that represents theme of XLSX document. The theme includes specific
  * colors and fonts.
- * 
- * @author Petr Udalau(Petr.Udalau at exigenservices.com) - theme colors
  */
 public class ThemesTable extends POIXMLDocumentPart {
     private ThemeDocument theme;
 
+    /**
+     * Construct a ThemesTable.
+     * @param part A PackagePart.
+     * @param rel A PackageRelationship.
+     */
     public ThemesTable(PackagePart part, PackageRelationship rel) throws 
IOException {
         super(part, rel);
         
@@ -47,38 +49,56 @@ public class ThemesTable extends POIXMLD
         }
     }
 
+    /**
+     * Construct a ThemesTable from an existing ThemeDocument.
+     * @param theme A ThemeDocument.
+     */
     public ThemesTable(ThemeDocument theme) {
         this.theme = theme;
     }
 
+    /**
+     * Convert a theme "index" into a color.
+     * @param idx A theme "index"
+     * @return The mapped XSSFColor, or null if not mapped.
+     */
     public XSSFColor getThemeColor(int idx) {
+        // Theme color references are NOT positional indices into the color 
scheme,
+        // i.e. these keys are NOT the same as the order in which theme colors 
appear
+        // in theme1.xml. They are keys to a mapped color.
         CTColorScheme colorScheme = 
theme.getTheme().getThemeElements().getClrScheme();
-        CTColor ctColor = null;
-        int cnt = 0;
-        for (XmlObject obj : colorScheme.selectPath("./*")) {
-            if (obj instanceof 
org.openxmlformats.schemas.drawingml.x2006.main.CTColor) {
-                if (cnt == idx) {
-                    ctColor = 
(org.openxmlformats.schemas.drawingml.x2006.main.CTColor) obj;
-                    
-                    byte[] rgb = null;
-                    if (ctColor.getSrgbClr() != null) {
-                       // Colour is a regular one 
-                       rgb = ctColor.getSrgbClr().getVal();
-                    } else if (ctColor.getSysClr() != null) {
-                       // Colour is a tint of white or black
-                       rgb = ctColor.getSysClr().getLastClr();
-                    }
-
-                    return new XSSFColor(rgb);
-                }
-                cnt++;
-            }
+        CTColor ctColor;
+        switch (idx) {
+            case  0: ctColor = colorScheme.getLt1(); break;
+            case  1: ctColor = colorScheme.getDk1(); break;
+            case  2: ctColor = colorScheme.getLt2(); break;
+            case  3: ctColor = colorScheme.getDk2(); break;
+            case  4: ctColor = colorScheme.getAccent1(); break;
+            case  5: ctColor = colorScheme.getAccent2(); break;
+            case  6: ctColor = colorScheme.getAccent3(); break;
+            case  7: ctColor = colorScheme.getAccent4(); break;
+            case  8: ctColor = colorScheme.getAccent5(); break;
+            case  9: ctColor = colorScheme.getAccent6(); break;
+            case 10: ctColor = colorScheme.getHlink(); break;
+            case 11: ctColor = colorScheme.getFolHlink(); break;
+            default: return null;
+        }
+
+        byte[] rgb = null;
+        if (ctColor.isSetSrgbClr()) {
+            // Color is a regular one
+            rgb = ctColor.getSrgbClr().getVal();
+        } else if (ctColor.isSetSysClr()) {
+            // Color is a tint of white or black
+            rgb = ctColor.getSysClr().getLastClr();
+        } else {
+            return null;
         }
-        return null;
+        return new XSSFColor(rgb);        
     }
     
     /**
-     * If the colour is based on a theme, then inherit 
+     * If the colour is based on a theme, then inherit
      *  information (currently just colours) from it as
      *  required.
      */
@@ -91,13 +111,13 @@ public class ThemesTable extends POIXMLD
           // No theme set, nothing to do
           return;
        }
-       
+
        // Get the theme colour
        XSSFColor themeColor = getThemeColor(color.getTheme());
        // Set the raw colour, not the adjusted one
        // Do a raw set, no adjusting at the XSSFColor layer either
        color.getCTColor().setRgb(themeColor.getCTColor().getRgb());
-       
+
        // All done
     }
 }

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFChart.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFChart.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFChart.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFChart.java
 Wed Sep 17 21:12:36 2014
@@ -19,40 +19,40 @@ package org.apache.poi.xssf.usermodel;
 
 import java.io.IOException;
 import java.io.OutputStream;
+import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Map;
 import java.util.List;
-import java.util.ArrayList;
+import java.util.Map;
 
 import javax.xml.namespace.QName;
 
 import org.apache.poi.POIXMLDocumentPart;
 import org.apache.poi.openxml4j.opc.PackagePart;
 import org.apache.poi.openxml4j.opc.PackageRelationship;
-import org.apache.poi.util.Internal;
 import org.apache.poi.ss.usermodel.Chart;
+import org.apache.poi.ss.usermodel.charts.AxisPosition;
 import org.apache.poi.ss.usermodel.charts.ChartAxis;
 import org.apache.poi.ss.usermodel.charts.ChartAxisFactory;
+import org.apache.poi.ss.usermodel.charts.ChartData;
+import org.apache.poi.util.Internal;
 import org.apache.poi.xssf.usermodel.charts.XSSFCategoryAxis;
-import org.apache.poi.xssf.usermodel.charts.XSSFChartDataFactory;
 import org.apache.poi.xssf.usermodel.charts.XSSFChartAxis;
-import org.apache.poi.xssf.usermodel.charts.XSSFValueAxis;
-import org.apache.poi.xssf.usermodel.charts.XSSFManualLayout;
+import org.apache.poi.xssf.usermodel.charts.XSSFChartDataFactory;
 import org.apache.poi.xssf.usermodel.charts.XSSFChartLegend;
-import org.apache.poi.ss.usermodel.charts.ChartData;
-import org.apache.poi.ss.usermodel.charts.AxisPosition;
+import org.apache.poi.xssf.usermodel.charts.XSSFManualLayout;
+import org.apache.poi.xssf.usermodel.charts.XSSFValueAxis;
 import org.apache.xmlbeans.XmlException;
 import org.apache.xmlbeans.XmlObject;
 import org.apache.xmlbeans.XmlOptions;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTCatAx;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTChart;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTChartSpace;
-import org.openxmlformats.schemas.drawingml.x2006.chart.CTTitle;
-import org.openxmlformats.schemas.drawingml.x2006.chart.ChartSpaceDocument;
+import org.openxmlformats.schemas.drawingml.x2006.chart.CTPageMargins;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTPlotArea;
-import org.openxmlformats.schemas.drawingml.x2006.chart.CTValAx;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTPrintSettings;
-import org.openxmlformats.schemas.drawingml.x2006.chart.CTPageMargins;
+import org.openxmlformats.schemas.drawingml.x2006.chart.CTTitle;
+import org.openxmlformats.schemas.drawingml.x2006.chart.CTValAx;
+import org.openxmlformats.schemas.drawingml.x2006.chart.ChartSpaceDocument;
 import 
org.openxmlformats.schemas.officeDocument.x2006.relationships.STRelationshipId;
 import org.w3c.dom.NodeList;
 import org.w3c.dom.Text;
@@ -306,14 +306,16 @@ public final class XSSFChart extends POI
                parseValueAxis();
        }
 
+    @SuppressWarnings("deprecation")
        private void parseCategoryAxis() {
-               for (CTCatAx catAx : chart.getPlotArea().getCatAxList()) {
+               for (CTCatAx catAx : chart.getPlotArea().getCatAxArray()) {
                        axis.add(new XSSFCategoryAxis(this, catAx));
                }
        }
 
+    @SuppressWarnings("deprecation")
        private void parseValueAxis() {
-               for (CTValAx valAx : chart.getPlotArea().getValAxList()) {
+               for (CTValAx valAx : chart.getPlotArea().getValAxArray()) {
                        axis.add(new XSSFValueAxis(this, valAx));
                }
        }

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFColor.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFColor.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFColor.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFColor.java
 Wed Sep 17 21:12:36 2014
@@ -25,16 +25,16 @@ import org.openxmlformats.schemas.spread
  * Represents a color in SpreadsheetML
  */
 public class XSSFColor implements Color {
-       
-       private CTColor ctColor;
+
+    private CTColor ctColor;
 
     /**
      * Create an instance of XSSFColor from the supplied XML bean
      */
     public XSSFColor(CTColor color) {
-               this.ctColor = color;
-       }
-       
+        this.ctColor = color;
+    }
+
     /**
      * Create an new instance of XSSFColor
      */
@@ -56,50 +56,29 @@ public class XSSFColor implements Color 
      * A boolean value indicating the ctColor is automatic and system ctColor 
dependent.
      */
     public boolean isAuto() {
-               return ctColor.getAuto();
-       }
-       
+        return ctColor.getAuto();
+    }
+
     /**
      * A boolean value indicating the ctColor is automatic and system ctColor 
dependent.
      */
-       public void setAuto(boolean auto) {
-               ctColor.setAuto(auto);
-       }
+    public void setAuto(boolean auto) {
+        ctColor.setAuto(auto);
+    }
 
     /**
      * Indexed ctColor value. Only used for backwards compatibility. 
References a ctColor in indexedColors.
      */
     public short getIndexed() {
-               return (short)ctColor.getIndexed();
-       }
-       
+        return (short)ctColor.getIndexed();
+    }
+
     /**
      * Indexed ctColor value. Only used for backwards compatibility. 
References a ctColor in indexedColors.
      */
-       public void setIndexed(int indexed) {
-               ctColor.setIndexed(indexed);
-       }
-       
-       /**
-    * For RGB colours, but not ARGB (we think...)
-    * Excel gets black and white the wrong way around, so switch them 
-        */
-       private byte[] correctRGB(byte[] rgb) {
-          if(rgb.length == 4) {
-             // Excel doesn't appear to get these wrong
-             // Nothing to change
-             return rgb;
-          } else {
-         // Excel gets black and white the wrong way around, so switch them 
-         if (rgb[0] == 0 && rgb[1] == 0 && rgb[2] == 0) {
-            rgb = new byte[] {-1, -1, -1};
-         }
-         else if (rgb[0] == -1 && rgb[1] == -1 && rgb[2] == -1) {
-            rgb = new byte[] {0, 0, 0};
-         }
-         return rgb;
-          }
-       }
+    public void setIndexed(int indexed) {
+        ctColor.setIndexed(indexed);
+    }
 
    /**
     * Standard Red Green Blue ctColor value (RGB).
@@ -108,7 +87,7 @@ public class XSSFColor implements Color 
    public byte[] getRgb() {
       byte[] rgb = getRGBOrARGB();
       if(rgb == null) return null;
-      
+
       if(rgb.length == 4) {
          // Need to trim off the alpha
          byte[] tmp = new byte[3];
@@ -125,7 +104,7 @@ public class XSSFColor implements Color 
    public byte[] getARgb() {
       byte[] rgb = getRGBOrARGB();
       if(rgb == null) return null;
-      
+
       if(rgb.length == 3) {
          // Pad with the default Alpha
          byte[] tmp = new byte[4];
@@ -136,7 +115,7 @@ public class XSSFColor implements Color 
          return rgb;
       }
    }
-   
+
    private byte[] getRGBOrARGB() {
         byte[] rgb = null;
 
@@ -150,7 +129,7 @@ public class XSSFColor implements Color 
                return rgb;
             }
          }
-        
+
          if (!ctColor.isSetRgb()) {
             // No colour is available, sorry
             return null;
@@ -158,9 +137,7 @@ public class XSSFColor implements Color 
 
          // Grab the colour
          rgb = ctColor.getRgb();
-
-         // Correct it as needed, and return
-         return correctRGB(rgb);
+         return rgb;
     }
 
     /**
@@ -181,64 +158,63 @@ public class XSSFColor implements Color 
         }
         return rgb;
     }
-       
+
     /**
      * Return the ARGB value in hex format, eg FF00FF00.
-     * Works for both regular and indexed colours. 
+     * Works for both regular and indexed colours.
      */
-       public String getARGBHex() {
-          StringBuffer sb = new StringBuffer();
-          byte[] rgb = getARgb();
-          if(rgb == null) {
-             return null;
-          }
-          for(byte c : rgb) {
-             int i = (int)c;
-             if(i < 0) {
-                i += 256;
-             }
-             String cs = Integer.toHexString(i);
-             if(cs.length() == 1) {
-                sb.append('0');
-             }
-             sb.append(cs);
-          }
-          return sb.toString().toUpperCase();
-       }
-
-       private static byte applyTint(int lum, double tint){
-               if(tint > 0){
-                       return (byte)(lum * (1.0-tint) + (255 - 255 * 
(1.0-tint)));
-               } else if (tint < 0){
-                       return (byte)(lum*(1+tint));
-               } else {
-                       return (byte)lum;
-               }
-       }
+    public String getARGBHex() {
+       StringBuffer sb = new StringBuffer();
+       byte[] rgb = getARgb();
+       if(rgb == null) {
+          return null;
+       }
+       for(byte c : rgb) {
+          int i = (int)c;
+          if(i < 0) {
+             i += 256;
+          }
+          String cs = Integer.toHexString(i);
+          if(cs.length() == 1) {
+             sb.append('0');
+          }
+          sb.append(cs);
+       }
+       return sb.toString().toUpperCase();
+    }
+
+    private static byte applyTint(int lum, double tint){
+        if(tint > 0){
+            return (byte)(lum * (1.0-tint) + (255 - 255 * (1.0-tint)));
+        } else if (tint < 0){
+            return (byte)(lum*(1+tint));
+        } else {
+            return (byte)lum;
+        }
+    }
 
     /**
      * Standard Alpha Red Green Blue ctColor value (ARGB).
      */
-       public void setRgb(byte[] rgb) {
-          // Correct it and save
-               ctColor.setRgb(correctRGB(rgb));
-       }
-       
+    public void setRgb(byte[] rgb) {
+       ctColor.setRgb(rgb);
+    }
+
     /**
      * Index into the <clrScheme> collection, referencing a particular 
<sysClr> or
      *  <srgbClr> value expressed in the Theme part.
      */
    public int getTheme() {
       return (int)ctColor.getTheme();
-       }
-       
+    }
+
     /**
      * Index into the <clrScheme> collection, referencing a particular 
<sysClr> or
      *  <srgbClr> value expressed in the Theme part.
      */
-       public void setTheme(int theme) {
-               ctColor.setTheme(theme);
-       }
+    public void setTheme(int theme) {
+        ctColor.setTheme(theme);
+    }
 
     /**
      * Specifies the tint value applied to the ctColor.
@@ -282,9 +258,9 @@ public class XSSFColor implements Color 
      * @return the tint value
      */
     public double getTint() {
-               return ctColor.getTint();
-       }
-       
+        return ctColor.getTint();
+    }
+
     /**
      * Specifies the tint value applied to the ctColor.
      *
@@ -326,9 +302,9 @@ public class XSSFColor implements Color 
      *
      * @param tint the tint value
      */
-       public void setTint(double tint) {
-               ctColor.setTint(tint);
-       }
+    public void setTint(double tint) {
+        ctColor.setTint(tint);
+    }
 
     /**
      * Returns the underlying XML bean
@@ -339,7 +315,7 @@ public class XSSFColor implements Color 
     public CTColor getCTColor(){
         return ctColor;
     }
-    
+
     public int hashCode(){
         return ctColor.toString().hashCode();
     }

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotCacheDefinition.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotCacheDefinition.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotCacheDefinition.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotCacheDefinition.java
 Wed Sep 17 21:12:36 2014
@@ -127,7 +127,7 @@ public class XSSFPivotCacheDefinition ex
         for(int i=columnStart; i<=columnEnd; i++) {
             CTCacheField cf = cFields.addNewCacheField();
             if(i==columnEnd){
-                cFields.setCount(cFields.getCacheFieldList().size());
+                cFields.setCount(cFields.sizeOfCacheFieldArray());
             }
             //General number format
             cf.setNumFmtId(0);

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPivotTable.java
 Wed Sep 17 21:12:36 2014
@@ -240,7 +240,6 @@ public class XSSFPivotTable extends POIX
         }
         CTPivotFields pivotFields = pivotTableDefinition.getPivotFields();
 
-        List<CTPivotField> pivotFieldList = 
pivotTableDefinition.getPivotFields().getPivotFieldList();
         CTPivotField pivotField = CTPivotField.Factory.newInstance();
         CTItems items = pivotField.addNewItems();
 
@@ -249,10 +248,8 @@ public class XSSFPivotTable extends POIX
         for(int i = 0; i <= lastRowIndex; i++) {
             items.addNewItem().setT(STItemType.DEFAULT);
         }
-        items.setCount(items.getItemList().size());
-        pivotFieldList.set(columnIndex, pivotField);
-
-        pivotFields.setPivotFieldArray(pivotFieldList.toArray(new 
CTPivotField[pivotFieldList.size()]));
+        items.setCount(items.sizeOfItemArray());
+        pivotFields.setPivotFieldArray(columnIndex, pivotField);
 
         CTRowFields rowFields;
         if(pivotTableDefinition.getRowFields() != null) {
@@ -262,7 +259,7 @@ public class XSSFPivotTable extends POIX
         }
 
         rowFields.addNewField().setX(columnIndex);
-        rowFields.setCount(rowFields.getFieldList().size());
+        rowFields.setCount(rowFields.sizeOfFieldArray());
     }
     
     @Beta
@@ -307,7 +304,7 @@ public class XSSFPivotTable extends POIX
                 colFields = pivotTableDefinition.addNewColFields();
             }
             colFields.addNewField().setX(-2);
-            colFields.setCount(colFields.getFieldList().size());
+            colFields.setCount(colFields.sizeOfFieldArray());
         }
     }
 
@@ -338,7 +335,7 @@ public class XSSFPivotTable extends POIX
         cell.setCellType(Cell.CELL_TYPE_STRING);
         dataField.setName(function.getName());
         dataField.setFld(columnIndex);
-        dataFields.setCount(dataFields.getDataFieldList().size());
+        dataFields.setCount(dataFields.sizeOfDataFieldArray());
     }
 
     /**
@@ -354,13 +351,11 @@ public class XSSFPivotTable extends POIX
             throw new IndexOutOfBoundsException();
         }
         CTPivotFields pivotFields = pivotTableDefinition.getPivotFields();
-        List<CTPivotField> pivotFieldList = pivotFields.getPivotFieldList();
         CTPivotField pivotField = CTPivotField.Factory.newInstance();
 
         pivotField.setDataField(isDataField);
         pivotField.setShowAll(false);
-        pivotFieldList.set(columnIndex, pivotField);
-        pivotFields.setPivotFieldArray(pivotFieldList.toArray(new 
CTPivotField[pivotFieldList.size()]));
+        pivotFields.setPivotFieldArray(columnIndex, pivotField);
     }
 
     /**
@@ -378,7 +373,6 @@ public class XSSFPivotTable extends POIX
         }
         CTPivotFields pivotFields = pivotTableDefinition.getPivotFields();
 
-        List<CTPivotField> pivotFieldList = 
pivotTableDefinition.getPivotFields().getPivotFieldList();
         CTPivotField pivotField = CTPivotField.Factory.newInstance();
         CTItems items = pivotField.addNewItems();
 
@@ -387,8 +381,8 @@ public class XSSFPivotTable extends POIX
         for(int i = 0; i <= lastRowIndex; i++) {
             items.addNewItem().setT(STItemType.DEFAULT);
         }
-        items.setCount(items.getItemList().size());
-        pivotFieldList.set(columnIndex, pivotField);
+        items.setCount(items.sizeOfItemArray());
+        pivotFields.setPivotFieldArray(columnIndex, pivotField);
 
         CTPageFields pageFields;
         if (pivotTableDefinition.getPageFields()!= null) {
@@ -402,7 +396,7 @@ public class XSSFPivotTable extends POIX
         pageField.setHier(-1);
         pageField.setFld(columnIndex);
 
-        pageFields.setCount(pageFields.getPageFieldList().size());
+        pageFields.setCount(pageFields.sizeOfPageFieldArray());
         
pivotTableDefinition.getLocation().setColPageCount(pageFields.getCount());
     }
 
@@ -459,6 +453,6 @@ public class XSSFPivotTable extends POIX
             pivotField.setDataField(false);
             pivotField.setShowAll(false);
         }
-        pivotFields.setCount(pivotFields.getPivotFieldList().size());
+        pivotFields.setCount(pivotFields.sizeOfPivotFieldArray());
     }
 }

Modified: 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java
URL: 
http://svn.apache.org/viewvc/poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java?rev=1625828&r1=1625827&r2=1625828&view=diff
==============================================================================
--- 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java
 (original)
+++ 
poi/branches/xml_signature/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRow.java
 Wed Sep 17 21:12:36 2014
@@ -439,16 +439,18 @@ public class XSSFRow implements Row, Com
      *
      * @see 
org.apache.poi.xssf.usermodel.XSSFSheet#write(java.io.OutputStream) ()
      */
+    @SuppressWarnings("deprecation")
     protected void onDocumentWrite(){
         // check if cells in the CTRow are ordered
         boolean isOrdered = true;
-        if(_row.sizeOfCArray() != _cells.size()) {
+        CTCell[] cArray = _row.getCArray();
+        if (cArray.length != _cells.size()) {
             isOrdered = false;
         } else {
             int i = 0;
             for (XSSFCell cell : _cells.values()) {
                 CTCell c1 = cell.getCTCell();
-                CTCell c2 = _row.getCArray(i++); 
+                CTCell c2 = cArray[i++];
 
                 String r1 = c1.getR();
                 String r2 = c2.getR();
@@ -460,17 +462,17 @@ public class XSSFRow implements Row, Com
         }
 
         if(!isOrdered){
-            CTCell[] cArray = new CTCell[_cells.size()];
+            cArray = new CTCell[_cells.size()];
             int i = 0;
-            for (Map.Entry<Integer, XSSFCell> entry : _cells.entrySet()) {
-                cArray[i] = (CTCell) entry.getValue().getCTCell().copy();
+            for (XSSFCell xssfCell : _cells.values()) {
+                cArray[i] = (CTCell) xssfCell.getCTCell().copy();
                 
                 // we have to copy and re-create the XSSFCell here because the 
                 // elements as otherwise setCArray below invalidates all the 
columns!
                 // see Bug 56170, XMLBeans seems to always release previous 
objects
                 // in the CArray, so we need to provide completely new ones 
here!
                 //_cells.put(entry.getKey(), new XSSFCell(this, cArray[i]));
-                entry.getValue().setCTCell(cArray[i]);
+                xssfCell.setCTCell(cArray[i]);
                 i++;
             }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to