From 8f6d7040f4071785cd1190ef8cf27417a8b30e73 Mon Sep 17 00:00:00 2001
From: Tim Molter <tim.molter@gmail.com>
Date: Wed, 2 Jul 2014 17:26:49 +0200
Subject: [PATCH] check for String x-axis value types and throw excpetion if it
 is NOT a bar chart type

---
 .../java/com/xeiam/xchart/internal/chartpart/AxisPair.java  | 6 +++++-
 .../main/java/com/xeiam/xchart/internal/package-info.java   | 1 +
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisPair.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisPair.java
index e3bc3a42..03eb1fae 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisPair.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisPair.java
@@ -26,6 +26,7 @@ import java.util.List;
 import java.util.Map;
 
 import com.xeiam.xchart.Series;
+import com.xeiam.xchart.StyleManager.ChartType;
 import com.xeiam.xchart.internal.chartpart.Axis.AxisType;
 import com.xeiam.xchart.internal.style.SeriesColorMarkerLineStyleCycler;
 
@@ -46,7 +47,7 @@ public class AxisPair implements ChartPart {
 
   /**
    * Constructor
-   * 
+   *
    * @param the parent chartPainter
    */
   public AxisPair(ChartPainter chartPainter) {
@@ -93,6 +94,9 @@ public class AxisPair implements ChartPart {
         xAxis.setAxisType(AxisType.Date);
       }
       else if (dataPoint instanceof String) {
+        if (getChartPainter().getStyleManager().getChartType() != ChartType.Bar) {
+          throw new RuntimeException("X-Axis data types of String can only be used for Bar Charts!!!");
+        }
         xAxis.setAxisType(AxisType.String);
       }
       else {
diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/package-info.java b/xchart/src/main/java/com/xeiam/xchart/internal/package-info.java
index 809acc0e..1db80f3d 100644
--- a/xchart/src/main/java/com/xeiam/xchart/internal/package-info.java
+++ b/xchart/src/main/java/com/xeiam/xchart/internal/package-info.java
@@ -13,6 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 /**
  * Classes in this package are internal and are not intended to be accessed directly. Therefore, they are not included in the JavaDocs.
  */
-- 
GitLab