You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by Javen O'Neal <on...@apache.org> on 2017/06/30 04:00:26 UTC

Re: svn commit: r1800341 - in /poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts: XSSFCategoryAxis.java XSSFChartAxis.java XSSFDateAxis.java XSSFValueAxis.java

It's probably worth annotating a method that takes or returns a CT* class
with @Internal, since CT* classes are an implementation detail to POI ooxml
and may not work if we get rid of xmlbeans or fully read the XML into POJOs
then recreate the XML on write.

On Jun 29, 2017 4:06 PM, <gw...@apache.org> wrote:

Author: gwoolsey
Date: Thu Jun 29 23:06:27 2017
New Revision: 1800341

URL: http://svn.apache.org/viewvc?rev=1800341&view=rev
Log:
Expose one more bit of style information generically (for XSSF).  If
someone needs all these properties for HSSF charts as well, we can build a
new Interface for the various bits and populate it with things like axis
line width and color, etc. but for now I think most users are in the XSSF
realm like me.

Modified:
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
charts/XSSFCategoryAxis.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
charts/XSSFChartAxis.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
charts/XSSFDateAxis.java
    poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
charts/XSSFValueAxis.java

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
charts/XSSFCategoryAxis.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/
apache/poi/xssf/usermodel/charts/XSSFCategoryAxis.java?
rev=1800341&r1=1800340&r2=1800341&view=diff
============================================================
==================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFCategoryAxis.java
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFCategoryAxis.java
Thu Jun 29 23:06:27 2017
@@ -33,6 +33,7 @@ import org.openxmlformats.schemas.drawin
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTScaling;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTTickMark;
 import org.openxmlformats.schemas.drawingml.x2006.chart.STTickLblPos;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties;

 /**
  * Category axis type.
@@ -58,6 +59,10 @@ public class XSSFCategoryAxis extends XS
                return ctCatAx.getAxId().getVal();
        }

+       public CTShapeProperties getLine() {
+           return ctCatAx.getSpPr();
+       }
+
        protected CTAxPos getCTAxPos() {
                return ctCatAx.getAxPos();
        }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
charts/XSSFChartAxis.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/
apache/poi/xssf/usermodel/charts/XSSFChartAxis.java?rev=
1800341&r1=1800340&r2=1800341&view=diff
============================================================
==================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFChartAxis.java
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFChartAxis.java
Thu Jun 29 23:06:27 2017
@@ -37,6 +37,7 @@ import org.openxmlformats.schemas.drawin
 import org.openxmlformats.schemas.drawingml.x2006.chart.STCrosses;
 import org.openxmlformats.schemas.drawingml.x2006.chart.STOrientation;
 import org.openxmlformats.schemas.drawingml.x2006.chart.STTickMark;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties;

 /**
  * Base class for all axis types.
@@ -195,6 +196,7 @@ public abstract class XSSFChartAxis impl
        protected abstract CTTickMark getMajorCTTickMark();
        protected abstract CTTickMark getMinorCTTickMark();
        public abstract CTChartLines getMajorGridLines();
+       public abstract CTShapeProperties getLine();

        private static STOrientation.Enum fromAxisOrientation(AxisOrientation
orientation) {
                switch (orientation) {

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
charts/XSSFDateAxis.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/
apache/poi/xssf/usermodel/charts/XSSFDateAxis.java?rev=
1800341&r1=1800340&r2=1800341&view=diff
============================================================
==================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFDateAxis.java
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFDateAxis.java
Thu Jun 29 23:06:27 2017
@@ -34,6 +34,7 @@ import org.openxmlformats.schemas.drawin
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTScaling;
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTTickMark;
 import org.openxmlformats.schemas.drawingml.x2006.chart.STTickLblPos;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties;

 /**
  * Date axis type.  Currently only implements the same values as {@link
XSSFCategoryAxis}, since the two are nearly identical.
@@ -66,6 +67,10 @@ public class XSSFDateAxis extends XSSFCh
                return ctDateAx.getAxId().getVal();
        }

+    public CTShapeProperties getLine() {
+        return ctDateAx.getSpPr();
+    }
+
        protected CTAxPos getCTAxPos() {
                return ctDateAx.getAxPos();
        }

Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
charts/XSSFValueAxis.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/
apache/poi/xssf/usermodel/charts/XSSFValueAxis.java?rev=
1800341&r1=1800340&r2=1800341&view=diff
============================================================
==================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFValueAxis.java
(original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFValueAxis.java
Thu Jun 29 23:06:27 2017
@@ -36,6 +36,7 @@ import org.openxmlformats.schemas.drawin
 import org.openxmlformats.schemas.drawingml.x2006.chart.CTValAx;
 import org.openxmlformats.schemas.drawingml.x2006.chart.STCrossBetween;
 import org.openxmlformats.schemas.drawingml.x2006.chart.STTickLblPos;
+import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties;

 /**
  * Value axis type.
@@ -61,6 +62,10 @@ public class XSSFValueAxis extends XSSFC
                return ctValAx.getAxId().getVal();
        }

+    public CTShapeProperties getLine() {
+        return ctValAx.getSpPr();
+    }
+
        public void setCrossBetween(AxisCrossBetween crossBetween) {
                ctValAx.getCrossBetween().setVal(fromCrossBetween(
crossBetween));
        }



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

Re: svn commit: r1800341 - in /poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts: XSSFCategoryAxis.java XSSFChartAxis.java XSSFDateAxis.java XSSFValueAxis.java

Posted by Greg Woolsey <gr...@gmail.com>.
Good point.  I rushed it.  There were already some like it in that class,
but they should all get that treatment.  It exists largely to provide
common access to axis elements common to the 3 kinds of axis objects.

On Thu, Jun 29, 2017, 21:00 Javen O'Neal <on...@apache.org> wrote:

> It's probably worth annotating a method that takes or returns a CT* class
> with @Internal, since CT* classes are an implementation detail to POI ooxml
> and may not work if we get rid of xmlbeans or fully read the XML into POJOs
> then recreate the XML on write.
>
> On Jun 29, 2017 4:06 PM, <gw...@apache.org> wrote:
>
> Author: gwoolsey
> Date: Thu Jun 29 23:06:27 2017
> New Revision: 1800341
>
> URL: http://svn.apache.org/viewvc?rev=1800341&view=rev
> Log:
> Expose one more bit of style information generically (for XSSF).  If
> someone needs all these properties for HSSF charts as well, we can build a
> new Interface for the various bits and populate it with things like axis
> line width and color, etc. but for now I think most users are in the XSSF
> realm like me.
>
> Modified:
>     poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
> charts/XSSFCategoryAxis.java
>     poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
> charts/XSSFChartAxis.java
>     poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
> charts/XSSFDateAxis.java
>     poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
> charts/XSSFValueAxis.java
>
> Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
> charts/XSSFCategoryAxis.java
> URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/
> apache/poi/xssf/usermodel/charts/XSSFCategoryAxis.java?
> rev=1800341&r1=1800340&r2=1800341&view=diff
> ============================================================
> ==================
> ---
> poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFCategoryAxis.java
> (original)
> +++
> poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFCategoryAxis.java
> Thu Jun 29 23:06:27 2017
> @@ -33,6 +33,7 @@ import org.openxmlformats.schemas.drawin
>  import org.openxmlformats.schemas.drawingml.x2006.chart.CTScaling;
>  import org.openxmlformats.schemas.drawingml.x2006.chart.CTTickMark;
>  import org.openxmlformats.schemas.drawingml.x2006.chart.STTickLblPos;
> +import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties;
>
>  /**
>   * Category axis type.
> @@ -58,6 +59,10 @@ public class XSSFCategoryAxis extends XS
>                 return ctCatAx.getAxId().getVal();
>         }
>
> +       public CTShapeProperties getLine() {
> +           return ctCatAx.getSpPr();
> +       }
> +
>         protected CTAxPos getCTAxPos() {
>                 return ctCatAx.getAxPos();
>         }
>
> Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
> charts/XSSFChartAxis.java
> URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/
> apache/poi/xssf/usermodel/charts/XSSFChartAxis.java?rev=
> 1800341&r1=1800340&r2=1800341&view=diff
> ============================================================
> ==================
> ---
> poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFChartAxis.java
> (original)
> +++
> poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFChartAxis.java
> Thu Jun 29 23:06:27 2017
> @@ -37,6 +37,7 @@ import org.openxmlformats.schemas.drawin
>  import org.openxmlformats.schemas.drawingml.x2006.chart.STCrosses;
>  import org.openxmlformats.schemas.drawingml.x2006.chart.STOrientation;
>  import org.openxmlformats.schemas.drawingml.x2006.chart.STTickMark;
> +import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties;
>
>  /**
>   * Base class for all axis types.
> @@ -195,6 +196,7 @@ public abstract class XSSFChartAxis impl
>         protected abstract CTTickMark getMajorCTTickMark();
>         protected abstract CTTickMark getMinorCTTickMark();
>         public abstract CTChartLines getMajorGridLines();
> +       public abstract CTShapeProperties getLine();
>
>         private static STOrientation.Enum
> fromAxisOrientation(AxisOrientation
> orientation) {
>                 switch (orientation) {
>
> Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
> charts/XSSFDateAxis.java
> URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/
> apache/poi/xssf/usermodel/charts/XSSFDateAxis.java?rev=
> 1800341&r1=1800340&r2=1800341&view=diff
> ============================================================
> ==================
> ---
> poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFDateAxis.java
> (original)
> +++
> poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFDateAxis.java
> Thu Jun 29 23:06:27 2017
> @@ -34,6 +34,7 @@ import org.openxmlformats.schemas.drawin
>  import org.openxmlformats.schemas.drawingml.x2006.chart.CTScaling;
>  import org.openxmlformats.schemas.drawingml.x2006.chart.CTTickMark;
>  import org.openxmlformats.schemas.drawingml.x2006.chart.STTickLblPos;
> +import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties;
>
>  /**
>   * Date axis type.  Currently only implements the same values as {@link
> XSSFCategoryAxis}, since the two are nearly identical.
> @@ -66,6 +67,10 @@ public class XSSFDateAxis extends XSSFCh
>                 return ctDateAx.getAxId().getVal();
>         }
>
> +    public CTShapeProperties getLine() {
> +        return ctDateAx.getSpPr();
> +    }
> +
>         protected CTAxPos getCTAxPos() {
>                 return ctDateAx.getAxPos();
>         }
>
> Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/
> charts/XSSFValueAxis.java
> URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/
> apache/poi/xssf/usermodel/charts/XSSFValueAxis.java?rev=
> 1800341&r1=1800340&r2=1800341&view=diff
> ============================================================
> ==================
> ---
> poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFValueAxis.java
> (original)
> +++
> poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/charts/XSSFValueAxis.java
> Thu Jun 29 23:06:27 2017
> @@ -36,6 +36,7 @@ import org.openxmlformats.schemas.drawin
>  import org.openxmlformats.schemas.drawingml.x2006.chart.CTValAx;
>  import org.openxmlformats.schemas.drawingml.x2006.chart.STCrossBetween;
>  import org.openxmlformats.schemas.drawingml.x2006.chart.STTickLblPos;
> +import org.openxmlformats.schemas.drawingml.x2006.main.CTShapeProperties;
>
>  /**
>   * Value axis type.
> @@ -61,6 +62,10 @@ public class XSSFValueAxis extends XSSFC
>                 return ctValAx.getAxId().getVal();
>         }
>
> +    public CTShapeProperties getLine() {
> +        return ctValAx.getSpPr();
> +    }
> +
>         public void setCrossBetween(AxisCrossBetween crossBetween) {
>                 ctValAx.getCrossBetween().setVal(fromCrossBetween(
> crossBetween));
>         }
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
> For additional commands, e-mail: commits-help@poi.apache.org
>