Author: abearez
Date: Mon Feb 12 12:59:38 2018
New Revision: 1823963

URL: http://svn.apache.org/viewvc?rev=1823963&view=rev
Log:
[bug-57369] support for major and minor unit on XDDFChart axes

Added:
    
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSeriesAxis.java
      - copied, changed from r1823920, 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java
Modified:
    
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java
    poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java
    
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartAxis.java
    
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDateAxis.java
    
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFValueAxis.java

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java?rev=1823963&r1=1823962&r2=1823963&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java
 (original)
+++ 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java
 Mon Feb 12 12:59:38 2018
@@ -80,6 +80,36 @@ public class XDDFCategoryAxis extends XD
     }
 
     @Override
+    public boolean isSetMinorUnit() {
+        return false;
+    }
+
+    @Override
+    public void setMinorUnit(double minor) {
+        // nothing
+    }
+
+    @Override
+    public double getMinorUnit() {
+        return Double.NaN;
+    }
+
+    @Override
+    public boolean isSetMajorUnit() {
+        return false;
+    }
+
+    @Override
+    public void setMajorUnit(double major) {
+        // nothing
+    }
+
+    @Override
+    public double getMajorUnit() {
+        return Double.NaN;
+    }
+
+    @Override
     public void crossAxis(XDDFChartAxis axis) {
         ctCatAx.getCrossAx().setVal(axis.getId());
     }

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java?rev=1823963&r1=1823962&r2=1823963&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java 
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChart.java 
Mon Feb 12 12:59:38 2018
@@ -62,6 +62,7 @@ import org.openxmlformats.schemas.drawin
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTPlotArea;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTRadarChart;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTScatterChart;
+import org.openxmlformats.schemas.drawingml.x2006.chart.CTSerAx;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTSurface;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTValAx;
 import org.openxmlformats.schemas.drawingml.x2006.chart.ChartSpaceDocument;
@@ -359,18 +360,47 @@ public abstract class XDDFChart extends
     }
 
     private void parseAxes() {
-        // TODO: add other axis types
         for (CTCatAx catAx : chart.getPlotArea().getCatAxArray()) {
             axes.add(new XDDFCategoryAxis(catAx));
         }
         for (CTDateAx dateAx : chart.getPlotArea().getDateAxArray()) {
             axes.add(new XDDFDateAxis(dateAx));
         }
+        for (CTSerAx serAx : chart.getPlotArea().getSerAxArray()) {
+            axes.add(new XDDFSeriesAxis(serAx));
+        }
         for (CTValAx valAx : chart.getPlotArea().getValAxArray()) {
             axes.add(new XDDFValueAxis(valAx));
         }
     }
 
+    /**
+     * Set value range (basic Axis Options)
+     * @param axisIndex 0 - primary axis, 1 - secondary axis
+     * @param minimum minimum value; Double.NaN - automatic; null - no change
+     * @param maximum maximum value; Double.NaN - automatic; null - no change
+     * @param majorUnit major unit value; Double.NaN - automatic; null - no 
change
+     * @param minorUnit minor unit value; Double.NaN - automatic; null - no 
change
+     */
+    public void setValueRange(int axisIndex, Double minimum, Double maximum, 
Double majorUnit, Double minorUnit) {
+        XDDFChartAxis axis = getAxes().get(axisIndex);
+        if (axis == null) {
+            return;
+        }
+        if (minimum != null) {
+            axis.setMinimum(minimum);
+        }
+        if (maximum != null) {
+            axis.setMaximum(maximum);
+        }
+        if (majorUnit != null) {
+            axis.setMajorUnit(majorUnit);
+        }
+        if (minorUnit != null) {
+            axis.setMinorUnit(minorUnit);
+        }
+    }
+
     /**
      * method to create relationship with embedded part
      * for example writing xlsx file stream into output stream

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartAxis.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartAxis.java?rev=1823963&r1=1823962&r2=1823963&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartAxis.java 
(original)
+++ 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFChartAxis.java 
Mon Feb 12 12:59:38 2018
@@ -24,7 +24,6 @@ import org.openxmlformats.schemas.drawin
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTBoolean;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTChartLines;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTCrosses;
-import org.openxmlformats.schemas.drawingml.x2006.chart.CTLogBase;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTNumFmt;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTPlotArea;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTScaling;
@@ -58,6 +57,38 @@ public abstract class XDDFChartAxis impl
     public abstract XDDFShapeProperties getOrAddMinorGridProperties();
 
     /**
+     * @return true if minor unit value is defined, false otherwise
+     */
+    public abstract boolean isSetMinorUnit();
+
+    /**
+     * @param minor
+     *            axis minor unit
+     */
+    public abstract void setMinorUnit(double minor);
+
+    /**
+     * @return axis minor unit or NaN if not set
+     */
+    public abstract double getMinorUnit();
+
+    /**
+     * @return true if major unit value is defined, false otherwise
+     */
+    public abstract boolean isSetMajorUnit();
+
+    /**
+     * @param major
+     *            axis major unit
+     */
+    public abstract void setMajorUnit(double major);
+
+    /**
+     * @return axis major unit or NaN if not set
+     */
+    public abstract double getMajorUnit();
+
+    /**
      * @return axis id
      */
     public long getId() {
@@ -132,14 +163,14 @@ public abstract class XDDFChartAxis impl
     }
 
     /**
-     * @return axis log base or 0.0 if not set
+     * @return axis log base or NaN if not set
      */
     public double getLogBase() {
-        CTLogBase logBase = getCTScaling().getLogBase();
-        if (logBase != null) {
-            return logBase.getVal();
+        CTScaling scaling = getCTScaling();
+        if (scaling.isSetLogBase()) {
+            return scaling.getLogBase().getVal();
         }
-        return 0.0;
+        return Double.NaN;
     }
 
     /**
@@ -155,22 +186,28 @@ public abstract class XDDFChartAxis impl
      */
     public void setMinimum(double min) {
         CTScaling scaling = getCTScaling();
-        if (scaling.isSetMin()) {
-            scaling.getMin().setVal(min);
+        if (Double.isNaN(min)) {
+            if (scaling.isSetMin()) {
+                scaling.unsetMin();
+            }
         } else {
-            scaling.addNewMin().setVal(min);
+            if (scaling.isSetMin()) {
+                scaling.getMin().setVal(min);
+            } else {
+                scaling.addNewMin().setVal(min);
+            }
         }
     }
 
     /**
-     * @return axis minimum or 0.0 if not set
+     * @return axis minimum or NaN if not set
      */
     public double getMinimum() {
         CTScaling scaling = getCTScaling();
         if (scaling.isSetMin()) {
             return scaling.getMin().getVal();
         } else {
-            return 0.0;
+            return Double.NaN;
         }
     }
 
@@ -187,22 +224,28 @@ public abstract class XDDFChartAxis impl
      */
     public void setMaximum(double max) {
         CTScaling scaling = getCTScaling();
-        if (scaling.isSetMax()) {
-            scaling.getMax().setVal(max);
+        if (Double.isNaN(max)) {
+            if (scaling.isSetMax()) {
+                scaling.unsetMax();
+            }
         } else {
-            scaling.addNewMax().setVal(max);
+            if (scaling.isSetMax()) {
+                scaling.getMax().setVal(max);
+            } else {
+                scaling.addNewMax().setVal(max);
+            }
         }
     }
 
     /**
-     * @return axis maximum or 0.0 if not set
+     * @return axis maximum or NaN if not set
      */
     public double getMaximum() {
         CTScaling scaling = getCTScaling();
         if (scaling.isSetMax()) {
             return scaling.getMax().getVal();
         } else {
-            return 0.0;
+            return Double.NaN;
         }
     }
 

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDateAxis.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDateAxis.java?rev=1823963&r1=1823962&r2=1823963&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDateAxis.java 
(original)
+++ 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFDateAxis.java 
Mon Feb 12 12:59:38 2018
@@ -83,6 +83,64 @@ public class XDDFDateAxis extends XDDFCh
     }
 
     @Override
+    public boolean isSetMinorUnit() {
+        return ctDateAx.isSetMinorUnit();
+    }
+
+    @Override
+    public void setMinorUnit(double minor) {
+        if (Double.isNaN(minor)) {
+            if (ctDateAx.isSetMinorUnit()) {
+                ctDateAx.unsetMinorUnit();
+            }
+        } else {
+            if (ctDateAx.isSetMinorUnit()) {
+                ctDateAx.getMinorUnit().setVal(minor);
+            } else {
+                ctDateAx.addNewMinorUnit().setVal(minor);
+            }
+        }
+    }
+
+    @Override
+    public double getMinorUnit() {
+        if (ctDateAx.isSetMinorUnit()) {
+            return ctDateAx.getMinorUnit().getVal();
+        } else {
+            return Double.NaN;
+        }
+    }
+
+    @Override
+    public boolean isSetMajorUnit() {
+        return ctDateAx.isSetMajorUnit();
+    }
+
+    @Override
+    public void setMajorUnit(double major) {
+        if (Double.isNaN(major)) {
+            if (ctDateAx.isSetMajorUnit()) {
+                ctDateAx.unsetMajorUnit();
+            }
+        } else {
+            if (ctDateAx.isSetMajorUnit()) {
+                ctDateAx.getMajorUnit().setVal(major);
+            } else {
+                ctDateAx.addNewMajorUnit().setVal(major);
+            }
+        }
+    }
+
+    @Override
+    public double getMajorUnit() {
+        if (ctDateAx.isSetMajorUnit()) {
+            return ctDateAx.getMajorUnit().getVal();
+        } else {
+            return Double.NaN;
+        }
+    }
+
+    @Override
     public void crossAxis(XDDFChartAxis axis) {
         ctDateAx.getCrossAx().setVal(axis.getId());
     }

Copied: 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSeriesAxis.java
 (from r1823920, 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java)
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSeriesAxis.java?p2=poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSeriesAxis.java&p1=poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java&r1=1823920&r2=1823963&rev=1823963&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFCategoryAxis.java
 (original)
+++ 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFSeriesAxis.java
 Mon Feb 12 12:59:38 2018
@@ -21,37 +21,37 @@ import org.apache.poi.util.Beta;
 import org.apache.poi.xddf.usermodel.XDDFShapeProperties;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTAxPos;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTBoolean;
-import org.openxmlformats.schemas.drawingml.x2006.chart.CTCatAx;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTChartLines;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTCrosses;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTNumFmt;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTPlotArea;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTScaling;
+import org.openxmlformats.schemas.drawingml.x2006.chart.CTSerAx;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTTickMark;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTUnsignedInt;
 import org.openxmlformats.schemas.drawingml.x2006.chart.STTickLblPos;
 import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties;
 
 @Beta
-public class XDDFCategoryAxis extends XDDFChartAxis {
+public class XDDFSeriesAxis extends XDDFChartAxis {
 
-    private CTCatAx ctCatAx;
+    private CTSerAx ctSerAx;
 
-    public XDDFCategoryAxis(CTPlotArea plotArea, AxisPosition position) {
+    public XDDFSeriesAxis(CTPlotArea plotArea, AxisPosition position) {
         initializeAxis(plotArea, position);
     }
 
-    public XDDFCategoryAxis(CTCatAx ctCatAx) {
-        this.ctCatAx = ctCatAx;
+    public XDDFSeriesAxis(CTSerAx ctSerAx) {
+        this.ctSerAx = ctSerAx;
     }
 
     @Override
     public XDDFShapeProperties getOrAddMajorGridProperties() {
         CTChartLines majorGridlines;
-        if (ctCatAx.isSetMajorGridlines()) {
-            majorGridlines = ctCatAx.getMajorGridlines();
+        if (ctSerAx.isSetMajorGridlines()) {
+            majorGridlines = ctSerAx.getMajorGridlines();
         } else {
-            majorGridlines = ctCatAx.addNewMajorGridlines();
+            majorGridlines = ctSerAx.addNewMajorGridlines();
         }
         return new 
XDDFShapeProperties(getOrAddLinesProperties(majorGridlines));
     }
@@ -59,10 +59,10 @@ public class XDDFCategoryAxis extends XD
     @Override
     public XDDFShapeProperties getOrAddMinorGridProperties() {
         CTChartLines minorGridlines;
-        if (ctCatAx.isSetMinorGridlines()) {
-            minorGridlines = ctCatAx.getMinorGridlines();
+        if (ctSerAx.isSetMinorGridlines()) {
+            minorGridlines = ctSerAx.getMinorGridlines();
         } else {
-            minorGridlines = ctCatAx.addNewMinorGridlines();
+            minorGridlines = ctSerAx.addNewMinorGridlines();
         }
         return new 
XDDFShapeProperties(getOrAddLinesProperties(minorGridlines));
     }
@@ -70,53 +70,83 @@ public class XDDFCategoryAxis extends XD
     @Override
     public XDDFShapeProperties getOrAddShapeProperties() {
         CTShapeProperties properties;
-        if (ctCatAx.isSetSpPr()) {
-            properties = ctCatAx.getSpPr();
+        if (ctSerAx.isSetSpPr()) {
+            properties = ctSerAx.getSpPr();
         } else {
-            properties = ctCatAx.addNewSpPr();
+            properties = ctSerAx.addNewSpPr();
         }
 
         return new XDDFShapeProperties(properties);
     }
 
     @Override
+    public boolean isSetMinorUnit() {
+        return false;
+    }
+
+    @Override
+    public void setMinorUnit(double minor) {
+        // nothing
+    }
+
+    @Override
+    public double getMinorUnit() {
+        return Double.NaN;
+    }
+
+    @Override
+    public boolean isSetMajorUnit() {
+        return false;
+    }
+
+    @Override
+    public void setMajorUnit(double major) {
+        // nothing
+    }
+
+    @Override
+    public double getMajorUnit() {
+        return Double.NaN;
+    }
+
+    @Override
     public void crossAxis(XDDFChartAxis axis) {
-        ctCatAx.getCrossAx().setVal(axis.getId());
+        ctSerAx.getCrossAx().setVal(axis.getId());
     }
 
     @Override
     protected CTUnsignedInt getCTAxId() {
-        return ctCatAx.getAxId();
+        return ctSerAx.getAxId();
     }
 
     @Override
     protected CTAxPos getCTAxPos() {
-        return ctCatAx.getAxPos();
+        return ctSerAx.getAxPos();
     }
 
     @Override
     public boolean hasNumberFormat() {
-        return ctCatAx.isSetNumFmt();
+        return ctSerAx.isSetNumFmt();
     }
 
     @Override
     protected CTNumFmt getCTNumFmt() {
-        if (ctCatAx.isSetNumFmt()) {
-            return ctCatAx.getNumFmt();
+        if (ctSerAx.isSetNumFmt()) {
+            return ctSerAx.getNumFmt();
         }
-        return ctCatAx.addNewNumFmt();
+        return ctSerAx.addNewNumFmt();
     }
 
     @Override
     protected CTScaling getCTScaling() {
-        return ctCatAx.getScaling();
+        return ctSerAx.getScaling();
     }
 
     @Override
     protected CTCrosses getCTCrosses() {
-        CTCrosses crosses = ctCatAx.getCrosses();
+        CTCrosses crosses = ctSerAx.getCrosses();
         if (crosses == null) {
-            return ctCatAx.addNewCrosses();
+            return ctSerAx.addNewCrosses();
         } else {
             return crosses;
         }
@@ -124,39 +154,31 @@ public class XDDFCategoryAxis extends XD
 
     @Override
     protected CTBoolean getDelete() {
-        return ctCatAx.getDelete();
+        return ctSerAx.getDelete();
     }
 
     @Override
     protected CTTickMark getMajorCTTickMark() {
-        return ctCatAx.getMajorTickMark();
+        return ctSerAx.getMajorTickMark();
     }
 
     @Override
     protected CTTickMark getMinorCTTickMark() {
-        return ctCatAx.getMinorTickMark();
-    }
-
-    public AxisLabelAlignment getLabelAlignment() {
-        return AxisLabelAlignment.valueOf(ctCatAx.getLblAlgn().getVal());
-    }
-
-    public void setLabelAlignment(AxisLabelAlignment labelAlignment) {
-        ctCatAx.getLblAlgn().setVal(labelAlignment.underlying);
+        return ctSerAx.getMinorTickMark();
     }
 
     private void initializeAxis(CTPlotArea plotArea, AxisPosition position) {
         final long id = getNextAxId(plotArea);
-        ctCatAx = plotArea.addNewCatAx();
-        ctCatAx.addNewAxId().setVal(id);
-        ctCatAx.addNewAxPos();
-        ctCatAx.addNewScaling();
-        ctCatAx.addNewCrosses();
-        ctCatAx.addNewCrossAx();
-        ctCatAx.addNewTickLblPos().setVal(STTickLblPos.NEXT_TO);
-        ctCatAx.addNewDelete();
-        ctCatAx.addNewMajorTickMark();
-        ctCatAx.addNewMinorTickMark();
+        ctSerAx = plotArea.addNewSerAx();
+        ctSerAx.addNewAxId().setVal(id);
+        ctSerAx.addNewAxPos();
+        ctSerAx.addNewScaling();
+        ctSerAx.addNewCrosses();
+        ctSerAx.addNewCrossAx();
+        ctSerAx.addNewTickLblPos().setVal(STTickLblPos.NEXT_TO);
+        ctSerAx.addNewDelete();
+        ctSerAx.addNewMajorTickMark();
+        ctSerAx.addNewMinorTickMark();
 
         setPosition(position);
         setOrientation(AxisOrientation.MIN_MAX);

Modified: 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFValueAxis.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFValueAxis.java?rev=1823963&r1=1823962&r2=1823963&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFValueAxis.java 
(original)
+++ 
poi/trunk/src/ooxml/java/org/apache/poi/xddf/usermodel/chart/XDDFValueAxis.java 
Mon Feb 12 12:59:38 2018
@@ -79,6 +79,64 @@ public class XDDFValueAxis extends XDDFC
     }
 
     @Override
+    public boolean isSetMinorUnit() {
+        return ctValAx.isSetMinorUnit();
+    }
+
+    @Override
+    public void setMinorUnit(double minor) {
+        if (Double.isNaN(minor)) {
+            if (ctValAx.isSetMinorUnit()) {
+                ctValAx.unsetMinorUnit();
+            }
+        } else {
+            if (ctValAx.isSetMinorUnit()) {
+                ctValAx.getMinorUnit().setVal(minor);
+            } else {
+                ctValAx.addNewMinorUnit().setVal(minor);
+            }
+        }
+    }
+
+    @Override
+    public double getMinorUnit() {
+        if (ctValAx.isSetMinorUnit()) {
+            return ctValAx.getMinorUnit().getVal();
+        } else {
+            return Double.NaN;
+        }
+    }
+
+    @Override
+    public boolean isSetMajorUnit() {
+        return ctValAx.isSetMajorUnit();
+    }
+
+    @Override
+    public void setMajorUnit(double major) {
+        if (Double.isNaN(major)) {
+            if (ctValAx.isSetMajorUnit()) {
+                ctValAx.unsetMajorUnit();
+            }
+        } else {
+            if (ctValAx.isSetMajorUnit()) {
+                ctValAx.getMajorUnit().setVal(major);
+            } else {
+                ctValAx.addNewMajorUnit().setVal(major);
+            }
+        }
+    }
+
+    @Override
+    public double getMajorUnit() {
+        if (ctValAx.isSetMajorUnit()) {
+            return ctValAx.getMajorUnit().getVal();
+        } else {
+            return Double.NaN;
+        }
+    }
+
+    @Override
     public void crossAxis(XDDFChartAxis axis) {
         ctValAx.getCrossAx().setVal(axis.getId());
     }



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

Reply via email to