[Schmitzm-commits] r983 - trunk/src_junit/schmitzm/jfree/feature/style

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Mon Aug 23 13:51:40 CEST 2010


Author: alfonx
Date: 2010-08-23 13:51:39 +0200 (Mon, 23 Aug 2010)
New Revision: 983

Modified:
   trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java
Log:
test etwas mehr an die KECK bedingungen angepasst

Modified: trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java
===================================================================
--- trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java	2010-08-20 18:28:47 UTC (rev 982)
+++ trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java	2010-08-23 11:51:39 UTC (rev 983)
@@ -14,6 +14,7 @@
 import java.io.IOException;
 import java.text.NumberFormat;
 import java.util.ArrayList;
+import java.util.Iterator;
 import java.util.List;
 
 import org.apache.log4j.Logger;
@@ -27,7 +28,7 @@
 import org.jfree.chart.axis.NumberTickUnit;
 import org.jfree.chart.axis.TickUnits;
 import org.jfree.chart.axis.ValueTick;
-import org.jfree.chart.plot.CategoryPlot;
+import org.jfree.chart.renderer.category.BarRenderer;
 import org.jfree.data.category.CategoryDataset;
 import org.jfree.data.category.DefaultCategoryDataset;
 import org.jfree.ui.RectangleEdge;
@@ -42,6 +43,7 @@
 import schmitzm.jfree.chart.style.BasicChartStyle;
 import schmitzm.jfree.chart.style.ChartAxisStyle;
 import schmitzm.jfree.chart.style.ChartLabelStyle;
+import schmitzm.jfree.chart.style.ChartPlotStyle;
 import schmitzm.jfree.chart.style.ChartRendererStyle;
 import schmitzm.jfree.chart.style.ChartStyle;
 import schmitzm.jfree.chart.style.ChartStyleXMLFactory;
@@ -49,770 +51,888 @@
 import schmitzm.jfree.table.AggregationFunction;
 
 public class FeatureChartStyleTest {
-  private static Logger log = Logger.getLogger(FeatureChartStyleTest.class);
+	private static Logger log = Logger.getLogger(FeatureChartStyleTest.class);
 
-  FeatureChartStyleXMLFactory xmlFactoryFeature = new FeatureChartStyleXMLFactory();
-  ChartStyleXMLFactory xmlFactoryBasic = new ChartStyleXMLFactory();
-  
-  @Ignore
-  @Test
-  public void testLineChartDualAxis() throws IOException, CQLException,
-      InterruptedException {
+	FeatureChartStyleXMLFactory xmlFactoryFeature = new FeatureChartStyleXMLFactory();
+	ChartStyleXMLFactory xmlFactoryBasic = new ChartStyleXMLFactory();
 
-    FeatureCollection<SimpleFeatureType, SimpleFeature> testFeatures = TestingUtil2.getTestFeatures();
+	@Ignore
+	@Test
+	public void testLineChartDualAxis() throws IOException, CQLException,
+			InterruptedException {
 
-    // Daten auf korrektheit überprüfen
-    String groupAttribName = "code"; // KreisZahl
-    SimpleFeatureType testDatenSchema = testFeatures.getSchema();
-    assertNotNull(testDatenSchema.getDescriptor(groupAttribName));
-    String variablenAttribName = "dm_u3"; // Deutsche "Männer" unter 3 Jahren
-    assertNotNull(testDatenSchema.getDescriptor(variablenAttribName));
-    String labelAttribName = "title"; // Attribute mit Label für Series
-    assertNotNull(testDatenSchema.getDescriptor(labelAttribName));
-    String domainAttribName = "jahr"; // Diese Variable soll auf der X-Achse
-    assertNotNull(testDatenSchema.getDescriptor(domainAttribName));
-    String variablenAttribName2 = "w_bev"; // Frauen Bevölkerung
-    assertNotNull(testDatenSchema.getDescriptor(variablenAttribName2));
+		FeatureCollection<SimpleFeatureType, SimpleFeature> testFeatures = TestingUtil2
+				.getTestFeatures();
 
-    ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
-        Color.red, 0., 0.);
+		// Daten auf korrektheit überprüfen
+		String groupAttribName = "code"; // KreisZahl
+		SimpleFeatureType testDatenSchema = testFeatures.getSchema();
+		assertNotNull(testDatenSchema.getDescriptor(groupAttribName));
+		String variablenAttribName = "dm_u3"; // Deutsche "Männer" unter 3
+												// Jahren
+		assertNotNull(testDatenSchema.getDescriptor(variablenAttribName));
+		String labelAttribName = "title"; // Attribute mit Label für Series
+		assertNotNull(testDatenSchema.getDescriptor(labelAttribName));
+		String domainAttribName = "jahr"; // Diese Variable soll auf der X-Achse
+		assertNotNull(testDatenSchema.getDescriptor(domainAttribName));
+		String variablenAttribName2 = "w_bev"; // Frauen Bevölkerung
+		assertNotNull(testDatenSchema.getDescriptor(variablenAttribName2));
 
-    ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
-        Color.green, 0., 0.);
+		ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
+				Color.red, 0., 0.);
 
-    ChartAxisStyle rangeAxisStyle2 = new ChartAxisStyle("Weibl. Bevölkerung",
-        Color.blue, 0., 0.);
+		ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
+				Color.green, 0., 0.);
 
-    FeatureBasicChartStyle lineChartStyle = new FeatureBasicChartStyle(
-        "testDoubleLineChart", ChartType.LINE);
-    lineChartStyle.setAxisStyle(0, domainAxisStyle);
-    lineChartStyle.setAxisStyle(1, rangeAxisStyle);
-    lineChartStyle.setAxisStyle(2, rangeAxisStyle2);
+		ChartAxisStyle rangeAxisStyle2 = new ChartAxisStyle(
+				"Weibl. Bevölkerung", Color.blue, 0., 0.);
 
-    lineChartStyle.setAttributeName(0, domainAttribName);
-    lineChartStyle.setAttributeName(1, variablenAttribName);
-    lineChartStyle.setAttributeName(2, variablenAttribName2);
-    lineChartStyle.setAttributeAxis(2, ChartStyle.RANGE_AXIS2);
+		FeatureBasicChartStyle lineChartStyle = new FeatureBasicChartStyle(
+				"testDoubleLineChart", ChartType.LINE);
+		lineChartStyle.setAxisStyle(0, domainAxisStyle);
+		lineChartStyle.setAxisStyle(1, rangeAxisStyle);
+		lineChartStyle.setAxisStyle(2, rangeAxisStyle2);
 
-    lineChartStyle.setSeriesAttributeName(groupAttribName);
+		lineChartStyle.setAttributeName(0, domainAttribName);
+		lineChartStyle.setAttributeName(1, variablenAttribName);
+		lineChartStyle.setAttributeName(2, variablenAttribName2);
+		lineChartStyle.setAttributeAxis(2, ChartStyle.RANGE_AXIS2);
 
-    // lineChartStyle.setSeriesLegendTitleAttributeName(labelAttribName);
+		lineChartStyle.setSeriesAttributeName(groupAttribName);
 
-    assertNull("Wenn nicht explizit gesetzt wird null geliefert",
-        lineChartStyle.getRendererStyle(0));
+		// lineChartStyle.setSeriesLegendTitleAttributeName(labelAttribName);
 
-    ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
+		assertNull("Wenn nicht explizit gesetzt wird null geliefert",
+				lineChartStyle.getRendererStyle(0));
 
-    chartRendererStyle.setDefaultPaint(Color.blue);
+		ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
 
-    chartRendererStyle.setSeriesPaint(0, Color.green);
-    chartRendererStyle.setSeriesPaint(1, Color.red);
-    chartRendererStyle.setSeriesPaint(2, Color.GRAY);
-    lineChartStyle.setRendererStyle(0, chartRendererStyle);
+		chartRendererStyle.setDefaultPaint(Color.blue);
 
-    assertEquals(3, chartRendererStyle.getSeriesCount());
+		chartRendererStyle.setSeriesPaint(0, Color.green);
+		chartRendererStyle.setSeriesPaint(1, Color.red);
+		chartRendererStyle.setSeriesPaint(2, Color.GRAY);
+		lineChartStyle.setRendererStyle(0, chartRendererStyle);
 
-    // Renderer style for the series dealing with the
-    // secondary axis.
-    ChartRendererStyle chartRendererStyle2 = new ChartRendererStyle();
-    chartRendererStyle2.setDefaultLineDashAttributes(5.0f, 5.0f);
-    chartRendererStyle2.setSeriesLineWidth(1, 10);
-    chartRendererStyle2.setSeriesLineDashAttributes(1, 10f, 10f);
-    lineChartStyle.setRendererStyle(1, chartRendererStyle2);
+		assertEquals(3, chartRendererStyle.getSeriesCount());
 
-    JFreeChart lineChart = lineChartStyle.applyToFeatureCollection(testFeatures);
-    assertNotNull("applyToFeatureCollection lieferte null!", lineChart);
+		// Renderer style for the series dealing with the
+		// secondary axis.
+		ChartRendererStyle chartRendererStyle2 = new ChartRendererStyle();
+		chartRendererStyle2.setDefaultLineDashAttributes(5.0f, 5.0f);
+		chartRendererStyle2.setSeriesLineWidth(1, 10);
+		chartRendererStyle2.setSeriesLineDashAttributes(1, 10f, 10f);
+		lineChartStyle.setRendererStyle(1, chartRendererStyle2);
 
-    if (INTERACTIVE) {
-      ChartFrame chartFrame = new ChartFrame("Sechs Linien (3x2), Zwei Achsen",
-          lineChart);
-      chartFrame.pack();
-      chartFrame.setVisible(true);
-      while (chartFrame.isVisible()) {
-        Thread.sleep(100);
-      }
-    }
+		JFreeChart lineChart = lineChartStyle
+				.applyToFeatureCollection(testFeatures);
+		assertNotNull("applyToFeatureCollection lieferte null!", lineChart);
 
-    File testFile = File.createTempFile("testDoubleLineChart", ".xml");
-    xmlFactoryFeature.writeStyleToFile(lineChartStyle, "testDoubleLineChart", testFile);
+		if (INTERACTIVE) {
+			ChartFrame chartFrame = new ChartFrame(
+					"Sechs Linien (3x2), Zwei Achsen", lineChart);
+			chartFrame.pack();
+			chartFrame.setVisible(true);
+			while (chartFrame.isVisible()) {
+				Thread.sleep(100);
+			}
+		}
 
-    assertTrue(testFile.getAbsolutePath() + " wurde nicht geschrieben!",
-        testFile.exists());
+		File testFile = File.createTempFile("testDoubleLineChart", ".xml");
+		xmlFactoryFeature.writeStyleToFile(lineChartStyle,
+				"testDoubleLineChart", testFile);
 
-    String writtenXML = IOUtil.readFileAsString(testFile);
+		assertTrue(testFile.getAbsolutePath() + " wurde nicht geschrieben!",
+				testFile.exists());
 
-    // XML wieder einlesen
-    FeatureChartStyle lineChartAUsXMLgelesen = xmlFactoryFeature.readStyleFromFile(testFile);
+		String writtenXML = IOUtil.readFileAsString(testFile);
 
-    // Nochmal in XML schreiben
-    File testFile2 = File.createTempFile("testDoubleLineChart", ".xml");
-    xmlFactoryFeature.writeStyleToFile(lineChartAUsXMLgelesen, "testDoubleLineChart",
-        testFile2);
-    String readXML = IOUtil.readFileAsString(testFile2);
-    System.out.println(writtenXML);
-    System.out.println(readXML);
-    assertEquals(
-        "Nachdem das Style geschrieben, gelesen und wieder geschrieben wurde ist das XML nicht gleich!",
-        writtenXML, readXML);
-  }
+		// XML wieder einlesen
+		FeatureChartStyle lineChartAUsXMLgelesen = xmlFactoryFeature
+				.readStyleFromFile(testFile);
 
-  /**
-   * If tests are run on a system with head, we may theoretically open dialgs,
-   * frames etc.
-   **/
+		// Nochmal in XML schreiben
+		File testFile2 = File.createTempFile("testDoubleLineChart", ".xml");
+		xmlFactoryFeature.writeStyleToFile(lineChartAUsXMLgelesen,
+				"testDoubleLineChart", testFile2);
+		String readXML = IOUtil.readFileAsString(testFile2);
+		System.out.println(writtenXML);
+		System.out.println(readXML);
+		assertEquals(
+				"Nachdem das Style geschrieben, gelesen und wieder geschrieben wurde ist das XML nicht gleich!",
+				writtenXML, readXML);
+	}
 
-  boolean INTERACTIVE = !GraphicsEnvironment.isHeadless();
+	/**
+	 * If tests are run on a system with head, we may theoretically open dialgs,
+	 * frames etc.
+	 **/
 
-  public CategoryDataset createSampleCategoryDataset1(boolean nullSecondary) {
-    // row keys...
-    String series1 = "Series 1";
-    String series2 = "Dummy 1";
+	boolean INTERACTIVE = !GraphicsEnvironment.isHeadless();
 
-    // column keys...
-    String category1 = "Category 1";
-    String category2 = "Category 2";
-    String category3 = "Category 3";
-    String category4 = "Category 4";
+	public CategoryDataset createSampleCategoryDataset1(boolean nullSecondary) {
+		// row keys...
+		String series1 = "Series 1";
+		String series2 = "Dummy 1";
 
-    // create the dataset...
-    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
+		// column keys...
+		String category1 = "Category 1";
+		String category2 = "Category 2";
+		String category3 = "Category 3";
+		String category4 = "Category 4";
 
-    dataset.addValue(1.0, series1, category1);
-    dataset.addValue(4.0, series1, category2);
-    dataset.addValue(3.0, series1, category3);
-    dataset.addValue(5.0, series1, category4);
+		// create the dataset...
+		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
 
-    if (nullSecondary) {
-      dataset.addValue(null, series2, category1);
-      dataset.addValue(null, series2, category2);
-      dataset.addValue(null, series2, category3);
-      dataset.addValue(null, series2, category4);
-    }
-    return dataset;
-  }
-  
-  public CategoryDataset createSampleCategoryDataset2(boolean nullPrimary) {
-    // row keys...
-    String series1 = "Dummy 2";
-    String series2 = "Series 2";
+		dataset.addValue(1.0, series1, category1);
+		dataset.addValue(4.0, series1, category2);
+		dataset.addValue(3.0, series1, category3);
+		dataset.addValue(5.0, series1, category4);
 
-    // column keys...
-    String category1 = "Category 1";
-    String category2 = "Category 2";
-    String category3 = "Category 3";
-    String category4 = "Category 4";
+		if (nullSecondary) {
+			dataset.addValue(null, series2, category1);
+			dataset.addValue(null, series2, category2);
+			dataset.addValue(null, series2, category3);
+			dataset.addValue(null, series2, category4);
+		}
+		return dataset;
+	}
 
-    // create the dataset...
-    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
+	public CategoryDataset createSampleCategoryDataset2(boolean nullPrimary) {
+		// row keys...
+		String series1 = "Dummy 2";
+		String series2 = "Series 2";
 
-    if ( nullPrimary ) {
-      dataset.addValue(null, series1, category1);
-      dataset.addValue(null, series1, category2);
-      dataset.addValue(null, series1, category3);
-      dataset.addValue(null, series1, category4);
-    }
-    
-    dataset.addValue(75.0, series2, category1);
-    dataset.addValue(87.0, series2, category2);
-    dataset.addValue(96.0, series2, category3);
-    dataset.addValue(68.0, series2, category4);
+		// column keys...
+		String category1 = "Category 1";
+		String category2 = "Category 2";
+		String category3 = "Category 3";
+		String category4 = "Category 4";
 
-    return dataset;
+		// create the dataset...
+		DefaultCategoryDataset dataset = new DefaultCategoryDataset();
 
-  }
-  @Test
-  public void testBarChartDualAxisWithSampleData() throws IOException, InterruptedException {
-    ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
-        Color.red, 0., 0.);
-    ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
-        Color.green, 0., 0.);
-    ChartAxisStyle rangeAxisStyle2 = new ChartAxisStyle("Weibl. Bevölkerung",
-        Color.blue, 0., 0.);
+		if (nullPrimary) {
+			dataset.addValue(null, series1, category1);
+			dataset.addValue(null, series1, category2);
+			dataset.addValue(null, series1, category3);
+			dataset.addValue(null, series1, category4);
+		}
 
-    BasicChartStyle barChartStyle = new BasicChartStyle(
-        "testBarChartWith2Axis", ChartType.BAR);
-    
-    barChartStyle.setAxisStyle(0, domainAxisStyle);
-    barChartStyle.setAxisStyle(1, rangeAxisStyle);
-    barChartStyle.setAxisStyle(2, rangeAxisStyle2);
+		dataset.addValue(75.0, series2, category1);
+		dataset.addValue(87.0, series2, category2);
+		dataset.addValue(96.0, series2, category3);
+		dataset.addValue(68.0, series2, category4);
 
-    
-    assertNull("Wenn nicht explizit gesetzt wird null geliefert",
-        barChartStyle.getRendererStyle(0));
+		return dataset;
 
-    ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
-    chartRendererStyle.setDefaultPaint(Color.blue);
-    chartRendererStyle.setSeriesPaint(0, Color.green);
-    chartRendererStyle.setSeriesPaint(1, Color.red);
-    chartRendererStyle.setSeriesPaint(2, Color.GRAY);
-    barChartStyle.setRendererStyle(0, chartRendererStyle);
-    assertEquals(3, chartRendererStyle.getSeriesCount());
+	}
 
-    // Renderer style for the series dealing with the
-    // secondary axis.
-    ChartRendererStyle chartRendererStyle2 = new ChartRendererStyle();
-    chartRendererStyle2.setDefaultLineDashAttributes(5.0f, 5.0f);
-    chartRendererStyle2.setSeriesLineWidth(1, 10);
-    chartRendererStyle2.setSeriesLineDashAttributes(1, 10f, 10f);
-    barChartStyle.setRendererStyle(1, chartRendererStyle2);
+	@Test
+	@Ignore
+	public void testBarChartDualAxisWithSampleData() throws IOException,
+			InterruptedException {
+		ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
+				Color.red, 0., 0.);
+		ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
+				Color.green, 0., 0.);
+		ChartAxisStyle rangeAxisStyle2 = new ChartAxisStyle(
+				"Weibl. Bevölkerung", Color.blue, 0., 0.);
 
-    CategoryDataset data1 = createSampleCategoryDataset1(true);
-    CategoryDataset data2 = createSampleCategoryDataset2(true);
-    
-    
-    
-    JFreeChart barChart = barChartStyle.applyToDataset(data1,data2);
-    assertNotNull("applyToDataset lieferte null!", barChart);
+		BasicChartStyle barChartStyle = new BasicChartStyle(
+				"testBarChartWith2Axis", ChartType.BAR);
 
-    if (INTERACTIVE) {
-      ChartFrame chartFrame = new ChartFrame("Sechs Linien (3x2), Zwei Achsen",
-          barChart);
-      chartFrame.pack();
-      chartFrame.setVisible(true);
-      while (chartFrame.isVisible()) {
-        Thread.sleep(100);
-      }
-    }
+		barChartStyle.setAxisStyle(0, domainAxisStyle);
+		barChartStyle.setAxisStyle(1, rangeAxisStyle);
+		barChartStyle.setAxisStyle(2, rangeAxisStyle2);
 
-    File testFile = File.createTempFile("testDoubleLineChart", ".xml");
-    xmlFactoryBasic.writeStyleToFile(barChartStyle, "testDoubleLineChart", testFile);
+		assertNull("Wenn nicht explizit gesetzt wird null geliefert",
+				barChartStyle.getRendererStyle(0));
 
-    assertTrue(testFile.getAbsolutePath() + " wurde nicht geschrieben!",
-        testFile.exists());
+		ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
+		chartRendererStyle.setDefaultPaint(Color.blue);
+		chartRendererStyle.setSeriesPaint(0, Color.green);
+		chartRendererStyle.setSeriesPaint(1, Color.red);
+		chartRendererStyle.setSeriesPaint(2, Color.GRAY);
+		barChartStyle.setRendererStyle(0, chartRendererStyle);
+		assertEquals(3, chartRendererStyle.getSeriesCount());
 
-    String writtenXML = IOUtil.readFileAsString(testFile);
+		// Renderer style for the series dealing with the
+		// secondary axis.
+		ChartRendererStyle chartRendererStyle2 = new ChartRendererStyle();
+		chartRendererStyle2.setDefaultLineDashAttributes(5.0f, 5.0f);
+		chartRendererStyle2.setSeriesLineWidth(1, 10);
+		chartRendererStyle2.setSeriesLineDashAttributes(1, 10f, 10f);
+		barChartStyle.setRendererStyle(1, chartRendererStyle2);
 
-    // XML wieder einlesen
-    ChartStyle lineChartAUsXMLgelesen = xmlFactoryBasic.readStyleFromFile(testFile);
+		CategoryDataset data1 = createSampleCategoryDataset1(true);
+		CategoryDataset data2 = createSampleCategoryDataset2(true);
 
-    // Nochmal in XML schreiben
-    File testFile2 = File.createTempFile("testDoubleLineChart", ".xml");
-    xmlFactoryBasic.writeStyleToFile(lineChartAUsXMLgelesen, "testDoubleLineChart",
-        testFile2);
-    String readXML = IOUtil.readFileAsString(testFile2);
-    System.out.println(writtenXML);
-    System.out.println(readXML);
-    assertEquals(
-        "Nachdem das Style geschrieben, gelesen und wieder geschrieben wurde ist das XML nicht gleich!",
-        writtenXML, readXML);
-  }
+		JFreeChart barChart = barChartStyle.applyToDataset(data1, data2);
+		assertNotNull("applyToDataset lieferte null!", barChart);
 
-  @Test
-  public void testBarChartDualAxis() throws IOException, CQLException,
-      InterruptedException {
+		if (INTERACTIVE) {
+			ChartFrame chartFrame = new ChartFrame(
+					"Sechs Linien (3x2), Zwei Achsen", barChart);
+			chartFrame.pack();
+			chartFrame.setVisible(true);
+			while (chartFrame.isVisible()) {
+				Thread.sleep(100);
+			}
+		}
 
-    FeatureCollection<SimpleFeatureType, SimpleFeature> testFeatures = TestingUtil2.getTestFeatures();
+		File testFile = File.createTempFile("testDoubleLineChart", ".xml");
+		xmlFactoryBasic.writeStyleToFile(barChartStyle, "testDoubleLineChart",
+				testFile);
 
-    // Daten auf korrektheit überprüfen
-    String groupAttribName = "code"; // KreisZahl
-    SimpleFeatureType testDatenSchema = testFeatures.getSchema();
-    assertNotNull(testDatenSchema.getDescriptor(groupAttribName));
-    String variablenAttribName = "dm_u3"; // Deutsche "Männer" unter 3 Jahren
-    assertNotNull(testDatenSchema.getDescriptor(variablenAttribName));
-    String labelAttribName = "title"; // Attribute mit Label für Series
-    assertNotNull(testDatenSchema.getDescriptor(labelAttribName));
-    String domainAttribName = "jahr"; // Diese Variable soll auf der X-Achse
-    assertNotNull(testDatenSchema.getDescriptor(domainAttribName));
-    String variablenAttribName2 = "w_bev"; // Frauen Bevölkerung
-    assertNotNull(testDatenSchema.getDescriptor(variablenAttribName2));
+		assertTrue(testFile.getAbsolutePath() + " wurde nicht geschrieben!",
+				testFile.exists());
 
-    ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
-        Color.red, 0., 0.);
+		String writtenXML = IOUtil.readFileAsString(testFile);
 
-    ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
-        Color.green, 0., 0.);
+		// XML wieder einlesen
+		ChartStyle lineChartAUsXMLgelesen = xmlFactoryBasic
+				.readStyleFromFile(testFile);
 
-    ChartAxisStyle rangeAxisStyle2 = new ChartAxisStyle("Weibl. Bevölkerung",
-        Color.blue, 0., 0.);
+		// Nochmal in XML schreiben
+		File testFile2 = File.createTempFile("testDoubleLineChart", ".xml");
+		xmlFactoryBasic.writeStyleToFile(lineChartAUsXMLgelesen,
+				"testDoubleLineChart", testFile2);
+		String readXML = IOUtil.readFileAsString(testFile2);
+		System.out.println(writtenXML);
+		System.out.println(readXML);
+		assertEquals(
+				"Nachdem das Style geschrieben, gelesen und wieder geschrieben wurde ist das XML nicht gleich!",
+				writtenXML, readXML);
+	}
 
-    FeatureBasicChartStyle barChartStyle = new FeatureBasicChartStyle(
-        "testDoubleBarChart", ChartType.BAR);
-    barChartStyle.setForceCategories(true);
-    barChartStyle.setSortDomainAxis(true);
-    barChartStyle.setAxisStyle(0, domainAxisStyle);
-    barChartStyle.setAxisStyle(1, rangeAxisStyle);
-    barChartStyle.setAxisStyle(2, rangeAxisStyle2);
+	@Test
+	public void testKRECKbarChart() throws IOException, InterruptedException {
+		String titleAttName = "title";
+		String xAxisAttName = "code";
+		String yAxisAttName = "dm_u3";
+		String yAxisAttName2 = "w_bev";
+		String groupAttName = "jahr";
 
-    barChartStyle.setAttributeName(0, domainAttribName);
-    barChartStyle.setAttributeName(1, variablenAttribName);
-    barChartStyle.setAttributeName(2, variablenAttribName2);
-    barChartStyle.setAttributeAxis(2, ChartStyle.RANGE_AXIS2);
+		FeatureCollection<SimpleFeatureType, SimpleFeature> features = TestingUtil2
+				.getTestFeatures();
 
-    barChartStyle.setSeriesAttributeName(groupAttribName);
+		log.info("BarChart für " + features.size() + " Features wird erstellt");
 
-    // barChartStyle.setSeriesLegendTitleAttributeName(labelAttribName);
+		// Fürs testing ausgeben, wie die Werteder featurecollection sind.
+		{
+			Iterator<SimpleFeature> iterator = features.iterator();
+			while (iterator.hasNext()) {
+				SimpleFeature next = iterator.next();
+				System.out.println(next);
+			}
+			features.close(iterator);
+			// Hässiche Ausgabe, aber man sieht, dass es keine nULLS gibt.
+		}
 
-    assertNull("Wenn nicht explizit gesetzt wird null geliefert",
-        barChartStyle.getRendererStyle(0));
+		ChartAxisStyle xAxisStyle = new ChartAxisStyle();
+		ChartAxisStyle yAxisStyle = new ChartAxisStyle();
+		ChartAxisStyle yAxisStyle2 = new ChartAxisStyle();
 
-    ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
+		FeatureBasicChartStyle chartStyle = new FeatureBasicChartStyle(
+				"keckBarChart", ChartType.BAR);
 
-    chartRendererStyle.setDefaultPaint(Color.blue);
+		chartStyle.setAttributeName(0, xAxisAttName);
+		chartStyle.setAttributeName(1, yAxisAttName);
+		chartStyle.setSeriesAttributeName(groupAttName);
 
-    chartRendererStyle.setSeriesPaint(0, Color.green);
-    chartRendererStyle.setSeriesPaint(1, Color.red);
-    chartRendererStyle.setSeriesPaint(2, Color.GRAY);
-    barChartStyle.setRendererStyle(0, chartRendererStyle);
+		chartStyle.setAxisStyle(0, xAxisStyle);
+		chartStyle.setAxisStyle(1, yAxisStyle);
 
-    assertEquals(3, chartRendererStyle.getSeriesCount());
 
-    // Renderer style for the series dealing with the
-    // secondary axis.
-    ChartRendererStyle chartRendererStyle2 = new ChartRendererStyle();
-    chartRendererStyle2.setDefaultLineDashAttributes(5.0f, 5.0f);
-    chartRendererStyle2.setSeriesLineWidth(1, 10);
-    chartRendererStyle2.setSeriesLineDashAttributes(1, 10f, 10f);
-    barChartStyle.setRendererStyle(1, chartRendererStyle2);
+		chartStyle.setAxisStyle(2, yAxisStyle2);
+		chartStyle.setAttributeName(2, yAxisAttName2);
+		chartStyle.setAttributeAxis(2, ChartStyle.RANGE_AXIS2);
 
-    JFreeChart barChart = barChartStyle.applyToFeatureCollection(testFeatures);
-    assertNotNull("applyToFeatureCollection lieferte null!", barChart);
+		chartStyle.setSeriesLegendTitleAttributeName(titleAttName);
+		chartStyle.setSortDomainAxis(true);
+		chartStyle.setForceCategories(true);
 
-    if (INTERACTIVE) {
-      ChartFrame chartFrame = new ChartFrame("Sechs Linien (3x2), Zwei Achsen",
-          barChart);
-      chartFrame.pack();
-      chartFrame.setVisible(true);
-      while (chartFrame.isVisible()) {
-        Thread.sleep(100);
-      }
-    }
+		// Farben aus Palette zuweisen
+		ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
 
-    File testFile = File.createTempFile("testDoubleLineChart", ".xml");
-    xmlFactoryFeature.writeStyleToFile(barChartStyle, "testDoubleLineChart", testFile);
+		chartStyle.setRendererStyle(0, chartRendererStyle);
 
-    assertTrue(testFile.getAbsolutePath() + " wurde nicht geschrieben!",
-        testFile.exists());
+		// Hintergrund auf weiss stellen
+		ChartPlotStyle chartPlotStyle = new ChartPlotStyle();
+		chartPlotStyle.setBackgroundPaint(Color.white);
+		chartPlotStyle.setRangeGridlineVisible(true);
+		chartPlotStyle.setRangeGridlinePaint(Color.darkGray);
+		chartStyle.setPlotStyle(chartPlotStyle);
 
-    String writtenXML = IOUtil.readFileAsString(testFile);
+		chartStyle.setLegend(false);
 
-    // XML wieder einlesen
-    FeatureChartStyle lineChartAUsXMLgelesen = xmlFactoryFeature.readStyleFromFile(testFile);
+		JFreeChart barChart = chartStyle.applyToFeatureCollection(features);
 
-    // Nochmal in XML schreiben
-    File testFile2 = File.createTempFile("testDoubleLineChart", ".xml");
-    xmlFactoryFeature.writeStyleToFile(lineChartAUsXMLgelesen, "testDoubleLineChart",
-        testFile2);
-    String readXML = IOUtil.readFileAsString(testFile2);
-    System.out.println(writtenXML);
-    System.out.println(readXML);
-    assertEquals(
-        "Nachdem das Style geschrieben, gelesen und wieder geschrieben wurde ist das XML nicht gleich!",
-        writtenXML, readXML);
-  }
+		// Maximale Breite der Bars einstellen
+		BarRenderer renderer = (BarRenderer) barChart.getCategoryPlot()
+				.getRenderer();
+		renderer.setMaximumBarWidth(0.1);
 
-  @Ignore
-  @Test
-  public void testBarChartSortedSeries() throws IOException,
-      InterruptedException {
+		if (INTERACTIVE) {
+			ChartFrame chartFrame = new ChartFrame(
+					"KECK, 4 Vergelichregionen, 2 Variablen", barChart);
+			chartFrame.pack();
+			chartFrame.setVisible(true);
+			while (chartFrame.isVisible()) {
+				Thread.sleep(100);
+			}
+		}
+	}
 
-    FeatureCollection<SimpleFeatureType, SimpleFeature> testFeatures = TestingUtil2.getTestFeatures();
+	@Test
+	@Ignore
+	public void testBarChartDualAxis() throws IOException, CQLException,
+			InterruptedException {
 
-    // Daten auf korrektheit überprüfen
-    String groupAttribName = "jahr"; // KreisZahl
-    SimpleFeatureType testDatenSchema = testFeatures.getSchema();
-    assertNotNull(testDatenSchema.getDescriptor(groupAttribName));
-    String variablenAttribName = "dm_u3"; // Deutsche "Männer" unter 3
-    // Jahren
-    assertNotNull(testDatenSchema.getDescriptor(variablenAttribName));
-    String labelAttribName = "title"; // Attribute mit Label für Series
-    assertNotNull(testDatenSchema.getDescriptor(labelAttribName));
-    String domainAttribName = "code"; // Diese Variable soll auf der X-Achse
-    // angezeigt werden
-    assertNotNull(testDatenSchema.getDescriptor(domainAttribName));
+		FeatureCollection<SimpleFeatureType, SimpleFeature> testFeatures = TestingUtil2
+				.getTestFeatures();
 
-    ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
-        Color.red, 0., 0.);
-    ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
-        Color.green, 0., 0.);
+		// Daten auf korrektheit überprüfen
+		String groupAttribName = "code"; // KreisZahl
+		SimpleFeatureType testDatenSchema = testFeatures.getSchema();
+		assertNotNull(testDatenSchema.getDescriptor(groupAttribName));
+		String variablenAttribName = "dm_u3"; // Deutsche "Männer" unter 3
+												// Jahren
+		assertNotNull(testDatenSchema.getDescriptor(variablenAttribName));
+		String labelAttribName = "title"; // Attribute mit Label für Series
+		assertNotNull(testDatenSchema.getDescriptor(labelAttribName));
+		String domainAttribName = "jahr"; // Diese Variable soll auf der X-Achse
+		assertNotNull(testDatenSchema.getDescriptor(domainAttribName));
+		String variablenAttribName2 = "w_bev"; // Frauen Bevölkerung
+		assertNotNull(testDatenSchema.getDescriptor(variablenAttribName2));
 
-    FeatureBasicChartStyle barChartStyle = new FeatureBasicChartStyle(
-        "testLineChart", ChartType.BAR);
+		ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
+				Color.red, 0., 0.);
 
-    barChartStyle.setAxisStyle(0, domainAxisStyle);
-    barChartStyle.setAxisStyle(1, rangeAxisStyle);
+		ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
+				Color.green, 0., 0.);
 
-    // Jahreszahlen sollen nicht als zahlen interpretiert werden
-    barChartStyle.setForceCategories(true);
+		ChartAxisStyle rangeAxisStyle2 = new ChartAxisStyle(
+				"Weibl. Bevölkerung", Color.blue, 0., 0.);
 
-    barChartStyle.setAttributeName(0, domainAttribName);
-    barChartStyle.setAttributeName(1, variablenAttribName);
+		FeatureBasicChartStyle barChartStyle = new FeatureBasicChartStyle(
+				"testDoubleBarChart", ChartType.BAR);
+		barChartStyle.setForceCategories(true);
+		barChartStyle.setSortDomainAxis(true);
+		barChartStyle.setAxisStyle(0, domainAxisStyle);
+		barChartStyle.setAxisStyle(1, rangeAxisStyle);
+		barChartStyle.setAxisStyle(2, rangeAxisStyle2);
 
-    barChartStyle.setTooltips(true);
+		barChartStyle.setAttributeName(0, domainAttribName);
+		barChartStyle.setAttributeName(1, variablenAttribName);
+		barChartStyle.setAttributeName(2, variablenAttribName2);
+		barChartStyle.setAttributeAxis(2, ChartStyle.RANGE_AXIS2);
 
-    barChartStyle.setSeriesAttributeName(groupAttribName);
+		barChartStyle.setSeriesAttributeName(groupAttribName);
 
-    barChartStyle.setSortDomainAxis(true);
+		// barChartStyle.setSeriesLegendTitleAttributeName(labelAttribName);
 
-    assertNull("Wenn nicht explizit gesetzt wird null geliefert",
-        barChartStyle.getRendererStyle(0));
+		assertNull("Wenn nicht explizit gesetzt wird null geliefert",
+				barChartStyle.getRendererStyle(0));
 
-    JFreeChart chart = barChartStyle.applyToFeatureCollection(testFeatures);
-    assertNotNull("applyToFeatureCollection liefte null!", chart);
+		ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
 
-    BufferedImage chartpng = chart.createBufferedImage(600, 400);
-    assertNotNull("Es konnte kein PNG aus dem Chart erstellt werden!", chartpng);
+		chartRendererStyle.setDefaultPaint(Color.blue);
 
-    if (INTERACTIVE) {
-      ChartFrame chartFrame = new ChartFrame(
-          "Die Balken sollten ihren Jahreszahlen entsprechend sortiert sein",
-          chart);
-      chartFrame.pack();
-      chartFrame.setVisible(true);
-      while (chartFrame.isVisible()) {
-        Thread.sleep(100);
-      }
-    }
-  }
+		chartRendererStyle.setSeriesPaint(0, Color.green);
+		chartRendererStyle.setSeriesPaint(1, Color.red);
+		chartRendererStyle.setSeriesPaint(2, Color.GRAY);
+		barChartStyle.setRendererStyle(0, chartRendererStyle);
 
-  @Ignore
-  @Test
-  public void saveAndLoadWeightedChart() throws IOException {
-    FeatureBasicChartStyle weightChartStyle = new FeatureBasicChartStyle(
-        "testLineChart", ChartType.BAR);
-    weightChartStyle.setAttributeName(0, "attX");
-    weightChartStyle.setAttributeName(1, "attY");
-    weightChartStyle.setAttributeAggregation(1,
-        AggregationFunction.AVG_WEIGHTED);
-    weightChartStyle.setAttributeAggregationWeightAttributeName(1, "weight");
+		assertEquals(3, chartRendererStyle.getSeriesCount());
 
-    // In XML schreiben
-    File testFile = File.createTempFile("testWeightChart", ".xml");
-    xmlFactoryFeature.writeStyleToFile(weightChartStyle, "testWeightedhart", testFile);
+		// Renderer style for the series dealing with the
+		// secondary axis.
+		ChartRendererStyle chartRendererStyle2 = new ChartRendererStyle();
+		chartRendererStyle2.setDefaultLineDashAttributes(5.0f, 5.0f);
+		chartRendererStyle2.setSeriesLineWidth(1, 10);
+		chartRendererStyle2.setSeriesLineDashAttributes(1, 10f, 10f);
+		barChartStyle.setRendererStyle(1, chartRendererStyle2);
 
-    System.out.println(IOUtil.readFileAsString(testFile));
+		JFreeChart barChart = barChartStyle
+				.applyToFeatureCollection(testFeatures);
+		assertNotNull("applyToFeatureCollection lieferte null!", barChart);
 
-    // XML wieder einlesen
-    FeatureChartStyle weightChartAusXMLgelesen = xmlFactoryFeature.readStyleFromFile(testFile);
-    assertEquals(AggregationFunction.AVG_WEIGHTED,
-        weightChartAusXMLgelesen.getAttributeAggregation(1));
-    assertEquals("weight",
-        weightChartAusXMLgelesen.getAttributeAggregationWeightAttributeName(1));
+		if (INTERACTIVE) {
+			ChartFrame chartFrame = new ChartFrame(
+					"Sechs Linien (3x2), Zwei Achsen", barChart);
+			chartFrame.pack();
+			chartFrame.setVisible(true);
+			while (chartFrame.isVisible()) {
+				Thread.sleep(100);
+			}
+		}
 
-    // Nochmal in XML schreiben
-    File testFile2 = File.createTempFile("testWeightChart", ".xml");
-    xmlFactoryFeature.writeStyleToFile(weightChartStyle, "testWeightedhart", testFile2);
+		File testFile = File.createTempFile("testDoubleLineChart", ".xml");
+		xmlFactoryFeature.writeStyleToFile(barChartStyle,
+				"testDoubleLineChart", testFile);
 
-    // XML wieder einlesen
-    FeatureChartStyle weightChartAusXMLgelesen2 = xmlFactoryFeature.readStyleFromFile(testFile2);
-    assertEquals("weight",
-        weightChartAusXMLgelesen2.getAttributeAggregationWeightAttributeName(1));
+		assertTrue(testFile.getAbsolutePath() + " wurde nicht geschrieben!",
+				testFile.exists());
 
-    assertEquals(
-        "Nachdem das Style geschrieben, gelesen und wieder geschrieben wurde ist das XML nicht gleich!",
-        IOUtil.readFileAsString(testFile), IOUtil.readFileAsString(testFile2));
-  }
+		String writtenXML = IOUtil.readFileAsString(testFile);
 
-  @Ignore
-  @Test
-  public void testBarChartForcedCategories() throws IOException,
-      InterruptedException {
+		// XML wieder einlesen
+		FeatureChartStyle lineChartAUsXMLgelesen = xmlFactoryFeature
+				.readStyleFromFile(testFile);
 
-    // Testdatenshape einlesen
-    FeatureCollection<SimpleFeatureType, SimpleFeature> testFeatures = TestingUtil2.getTestFeatures();
+		// Nochmal in XML schreiben
+		File testFile2 = File.createTempFile("testDoubleLineChart", ".xml");
+		xmlFactoryFeature.writeStyleToFile(lineChartAUsXMLgelesen,
+				"testDoubleLineChart", testFile2);
+		String readXML = IOUtil.readFileAsString(testFile2);
+		System.out.println(writtenXML);
+		System.out.println(readXML);
+		assertEquals(
+				"Nachdem das Style geschrieben, gelesen und wieder geschrieben wurde ist das XML nicht gleich!",
+				writtenXML, readXML);
+	}
 
-    // Daten auf korrektheit überprüfen
-    assertEquals("Testfeatures muss 3x3 Features enthalten", 3 * 3,
-        testFeatures.size());
-    String groupAttribName = "code"; // KreisZahl
-    SimpleFeatureType testDatenSchema = testFeatures.getSchema();
-    assertNotNull(testDatenSchema.getDescriptor(groupAttribName));
-    String variablenAttribName = "dm_u3"; // Deutsche "Männer" unter 3
-    // Jahren
-    assertNotNull(testDatenSchema.getDescriptor(variablenAttribName));
-    String labelAttribName = "title"; // Attribute mit Label für Series
-    assertNotNull(testDatenSchema.getDescriptor(labelAttribName));
-    String domainAttribName = "jahr"; // Diese Variable soll auf der X-Achse
-    // angezeigt werden
-    assertNotNull(testDatenSchema.getDescriptor(domainAttribName));
+	@Ignore
+	@Test
+	public void testBarChartSortedSeries() throws IOException,
+			InterruptedException {
 
-    ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
-        Color.red, 0., 0.);
-    ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
-        Color.green, 0., 0.);
+		FeatureCollection<SimpleFeatureType, SimpleFeature> testFeatures = TestingUtil2
+				.getTestFeatures();
 
-    FeatureBasicChartStyle barChartStyle = new FeatureBasicChartStyle(
-        "testLineChart", ChartType.BAR);
+		// Daten auf korrektheit überprüfen
+		String groupAttribName = "jahr"; // KreisZahl
+		SimpleFeatureType testDatenSchema = testFeatures.getSchema();
+		assertNotNull(testDatenSchema.getDescriptor(groupAttribName));
+		String variablenAttribName = "dm_u3"; // Deutsche "Männer" unter 3
+		// Jahren
+		assertNotNull(testDatenSchema.getDescriptor(variablenAttribName));
+		String labelAttribName = "title"; // Attribute mit Label für Series
+		assertNotNull(testDatenSchema.getDescriptor(labelAttribName));
+		String domainAttribName = "code"; // Diese Variable soll auf der X-Achse
+		// angezeigt werden
+		assertNotNull(testDatenSchema.getDescriptor(domainAttribName));
 
-    barChartStyle.setAxisStyle(0, domainAxisStyle);
-    barChartStyle.setAxisStyle(1, rangeAxisStyle);
+		ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
+				Color.red, 0., 0.);
+		ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
+				Color.green, 0., 0.);
 
-    // Jahreszahlen sollen nicht als zahlen interpretiert werden
-    barChartStyle.setForceCategories(true);
+		FeatureBasicChartStyle barChartStyle = new FeatureBasicChartStyle(
+				"testLineChart", ChartType.BAR);
 
-    barChartStyle.setAttributeName(0, domainAttribName);
-    barChartStyle.setAttributeName(1, variablenAttribName);
+		barChartStyle.setAxisStyle(0, domainAxisStyle);
+		barChartStyle.setAxisStyle(1, rangeAxisStyle);
 
-    barChartStyle.setTooltips(true);
+		// Jahreszahlen sollen nicht als zahlen interpretiert werden
+		barChartStyle.setForceCategories(true);
 
-    barChartStyle.setSeriesAttributeName(groupAttribName);
+		barChartStyle.setAttributeName(0, domainAttribName);
+		barChartStyle.setAttributeName(1, variablenAttribName);
 
-    assertNull("Wenn nicht explizit gesetzt wird null geliefert",
-        barChartStyle.getRendererStyle(0));
+		barChartStyle.setTooltips(true);
 
-    ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
+		barChartStyle.setSeriesAttributeName(groupAttribName);
 
-    chartRendererStyle.setSeriesLegendLabel(0, new ChartLabelStyle(
-        "test 1. label"));
+		barChartStyle.setSortDomainAxis(true);
 
-    chartRendererStyle.setSeriesPaint(0, Color.green);
-    chartRendererStyle.setSeriesPaint(1, Color.red);
-    chartRendererStyle.setSeriesPaint(2, Color.GRAY);
-    barChartStyle.setRendererStyle(0, chartRendererStyle);
+		assertNull("Wenn nicht explizit gesetzt wird null geliefert",
+				barChartStyle.getRendererStyle(0));
 
-    assertEquals(3, chartRendererStyle.getSeriesCount());
+		JFreeChart chart = barChartStyle.applyToFeatureCollection(testFeatures);
+		assertNotNull("applyToFeatureCollection liefte null!", chart);
 
-    JFreeChart lineChart = barChartStyle.applyToFeatureCollection(testFeatures);
-    assertNotNull("applyToFeatureCollection liefte null!", lineChart);
+		BufferedImage chartpng = chart.createBufferedImage(600, 400);
+		assertNotNull("Es konnte kein PNG aus dem Chart erstellt werden!",
+				chartpng);
 
-    BufferedImage chartpng = lineChart.createBufferedImage(600, 400);
-    assertNotNull("Es konnte kein PNG aus dem Chart erstellt werden!", chartpng);
+		if (INTERACTIVE) {
+			ChartFrame chartFrame = new ChartFrame(
+					"Die Balken sollten ihren Jahreszahlen entsprechend sortiert sein",
+					chart);
+			chartFrame.pack();
+			chartFrame.setVisible(true);
+			while (chartFrame.isVisible()) {
+				Thread.sleep(100);
+			}
+		}
+	}
 
-    if (INTERACTIVE) {
-      ChartFrame chartFrame = new ChartFrame(
-          "Drei Balken sein, forcedCategory", lineChart);
-      chartFrame.pack();
-      chartFrame.setVisible(true);
-      while (chartFrame.isVisible()) {
-        Thread.sleep(100);
-      }
-    }
-  }
+	@Ignore
+	@Test
+	public void saveAndLoadWeightedChart() throws IOException {
+		FeatureBasicChartStyle weightChartStyle = new FeatureBasicChartStyle(
+				"testLineChart", ChartType.BAR);
+		weightChartStyle.setAttributeName(0, "attX");
+		weightChartStyle.setAttributeName(1, "attY");
+		weightChartStyle.setAttributeAggregation(1,
+				AggregationFunction.AVG_WEIGHTED);
+		weightChartStyle
+				.setAttributeAggregationWeightAttributeName(1, "weight");
 
-  @Ignore
-  @Test
-  public void testLineChartAsCategories() throws IOException, CQLException,
-      InterruptedException {
+		// In XML schreiben
+		File testFile = File.createTempFile("testWeightChart", ".xml");
+		xmlFactoryFeature.writeStyleToFile(weightChartStyle,
+				"testWeightedhart", testFile);
 
-    FeatureCollection<SimpleFeatureType, SimpleFeature> testFeatures = TestingUtil2.getTestFeatures();
+		System.out.println(IOUtil.readFileAsString(testFile));
 
-    // Daten auf korrektheit überprüfen
-    String groupAttribName = "code"; // KreisZahl
-    SimpleFeatureType testDatenSchema = testFeatures.getSchema();
-    assertNotNull(testDatenSchema.getDescriptor(groupAttribName));
-    String variablenAttribName = "dm_u3"; // Deutsche "Männer" unter 3
-    // Jahren
-    assertNotNull(testDatenSchema.getDescriptor(variablenAttribName));
-    String labelAttribName = "title"; // Attribute mit Label für Series
-    assertNotNull(testDatenSchema.getDescriptor(labelAttribName));
-    String domainAttribName = "jahr"; // Diese Variable soll auf der X-Achse
-    // angezeigt werden
-    assertNotNull(testDatenSchema.getDescriptor(domainAttribName));
+		// XML wieder einlesen
+		FeatureChartStyle weightChartAusXMLgelesen = xmlFactoryFeature
+				.readStyleFromFile(testFile);
+		assertEquals(AggregationFunction.AVG_WEIGHTED,
+				weightChartAusXMLgelesen.getAttributeAggregation(1));
+		assertEquals("weight",
+				weightChartAusXMLgelesen
+						.getAttributeAggregationWeightAttributeName(1));
 
-    ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
-        Color.red, 0., 0.);
-    ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
-        Color.green, 0., 0.);
+		// Nochmal in XML schreiben
+		File testFile2 = File.createTempFile("testWeightChart", ".xml");
+		xmlFactoryFeature.writeStyleToFile(weightChartStyle,
+				"testWeightedhart", testFile2);
 
-    FeatureBasicChartStyle lineChartStyle = new FeatureBasicChartStyle(
-        "testLineChart", ChartType.LINE);
-    lineChartStyle.setAxisStyle(0, domainAxisStyle);
-    lineChartStyle.setAxisStyle(1, rangeAxisStyle);
+		// XML wieder einlesen
+		FeatureChartStyle weightChartAusXMLgelesen2 = xmlFactoryFeature
+				.readStyleFromFile(testFile2);
+		assertEquals("weight",
+				weightChartAusXMLgelesen2
+						.getAttributeAggregationWeightAttributeName(1));
 
-    // Jahreszahlen sollen nicht als zahlen interpretiert werden
-    lineChartStyle.setForceCategories(true);
+		assertEquals(
+				"Nachdem das Style geschrieben, gelesen und wieder geschrieben wurde ist das XML nicht gleich!",
+				IOUtil.readFileAsString(testFile),
+				IOUtil.readFileAsString(testFile2));
+	}
 
-    lineChartStyle.setAttributeName(0, domainAttribName);
-    lineChartStyle.setAttributeName(1, variablenAttribName);
+	@Ignore
+	@Test
+	public void testBarChartForcedCategories() throws IOException,
+			InterruptedException {
 
-    lineChartStyle.setTooltips(true);
+		// Testdatenshape einlesen
+		FeatureCollection<SimpleFeatureType, SimpleFeature> testFeatures = TestingUtil2
+				.getTestFeatures();
 
-    lineChartStyle.setSeriesAttributeName(groupAttribName);
+		// Daten auf korrektheit überprüfen
+		assertEquals("Testfeatures muss 3x3 Features enthalten", 3 * 3,
+				testFeatures.size());
+		String groupAttribName = "code"; // KreisZahl
+		SimpleFeatureType testDatenSchema = testFeatures.getSchema();
+		assertNotNull(testDatenSchema.getDescriptor(groupAttribName));
+		String variablenAttribName = "dm_u3"; // Deutsche "Männer" unter 3
+		// Jahren
+		assertNotNull(testDatenSchema.getDescriptor(variablenAttribName));
+		String labelAttribName = "title"; // Attribute mit Label für Series
+		assertNotNull(testDatenSchema.getDescriptor(labelAttribName));
+		String domainAttribName = "jahr"; // Diese Variable soll auf der X-Achse
+		// angezeigt werden
+		assertNotNull(testDatenSchema.getDescriptor(domainAttribName));
 
-    lineChartStyle.setSeriesLegendTitleAttributeName(labelAttribName);
+		ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
+				Color.red, 0., 0.);
+		ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
+				Color.green, 0., 0.);
 
-    assertNull("Wenn nicht explizit gesetzt wird null geliefert",
-        lineChartStyle.getRendererStyle(0));
+		FeatureBasicChartStyle barChartStyle = new FeatureBasicChartStyle(
+				"testLineChart", ChartType.BAR);
 
-    ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
+		barChartStyle.setAxisStyle(0, domainAxisStyle);
+		barChartStyle.setAxisStyle(1, rangeAxisStyle);
 
-    // chartRendererStyle.setSeriesLegendLabel(0, new ChartLabelStyle(
-    // "test 1. label"));
+		// Jahreszahlen sollen nicht als zahlen interpretiert werden
+		barChartStyle.setForceCategories(true);
 
-    chartRendererStyle.setDefaultPaint(Color.blue);
+		barChartStyle.setAttributeName(0, domainAttribName);
+		barChartStyle.setAttributeName(1, variablenAttribName);
 
-    chartRendererStyle.setSeriesPaint(0, Color.green);
-    chartRendererStyle.setSeriesPaint(1, Color.red);
-    chartRendererStyle.setSeriesPaint(2, Color.GRAY);
-    lineChartStyle.setRendererStyle(0, chartRendererStyle);
+		barChartStyle.setTooltips(true);
 
-    assertEquals(3, chartRendererStyle.getSeriesCount());
+		barChartStyle.setSeriesAttributeName(groupAttribName);
 
-    JFreeChart lineChart = lineChartStyle.applyToFeatureCollection(testFeatures);
-    assertNotNull("applyToFeatureCollection liefte null!", lineChart);
+		assertNull("Wenn nicht explizit gesetzt wird null geliefert",
+				barChartStyle.getRendererStyle(0));
 
-    BufferedImage chartpng = lineChart.createBufferedImage(600, 400);
-    assertNotNull("Es konnte kein PNG aus dem Chart erstellt werden!", chartpng);
+		ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
 
-    if (INTERACTIVE) {
-      ChartFrame chartFrame = new ChartFrame(
-          "drei linien, forcedCategories, mit series title kreisname",
-          lineChart);
-      chartFrame.pack();
-      chartFrame.setVisible(true);
-      while (chartFrame.isVisible()) {
-        Thread.sleep(100);
-      }
-    }
+		chartRendererStyle.setSeriesLegendLabel(0, new ChartLabelStyle(
+				"test 1. label"));
 
-    // Jetzt nur soll noch eine Line kommen:
-    chartRendererStyle.setSeriesLegendLabel(0, null);
-    lineChartStyle.addSeriesAttributeNoDataValue("06532");
-    lineChartStyle.addSeriesAttributeNoDataValue("06531");
-    lineChart = lineChartStyle.applyToFeatureCollection(testFeatures);
-    assertNotNull("applyToFeatureCollection liefte null!", lineChart);
-    if (INTERACTIVE) {
-      ChartFrame chartFrame = new ChartFrame(
-          "test line chart: soll nur line 06533 existieren!", lineChart);
-      chartFrame.pack();
-      chartFrame.setVisible(true);
-      while (chartFrame.isVisible()) {
-        Thread.sleep(100);
-      }
-    }
+		chartRendererStyle.setSeriesPaint(0, Color.green);
+		chartRendererStyle.setSeriesPaint(1, Color.red);
+		chartRendererStyle.setSeriesPaint(2, Color.GRAY);
+		barChartStyle.setRendererStyle(0, chartRendererStyle);
 
-    File testFile = File.createTempFile("testLineChart", ".xml");
-    xmlFactoryFeature.writeStyleToFile(lineChartStyle, "testLineChart", testFile);
+		assertEquals(3, chartRendererStyle.getSeriesCount());
 
-    assertTrue(testFile.getAbsolutePath() + " wurde nicht geschrieben!",
-        testFile.exists());
+		JFreeChart lineChart = barChartStyle
+				.applyToFeatureCollection(testFeatures);
+		assertNotNull("applyToFeatureCollection liefte null!", lineChart);
 
-    String writtenXML = IOUtil.readFileAsString(testFile);
-    System.out.println(writtenXML);
-    assertTrue(
-        "<seriesAttr name=\"code\" nullAliases=\"06531;06532\" fehlt!",
-        writtenXML.contains("<seriesAttr name=\"code\" nullAliases=\"06531;06532\""));
+		BufferedImage chartpng = lineChart.createBufferedImage(600, 400);
+		assertNotNull("Es konnte kein PNG aus dem Chart erstellt werden!",
+				chartpng);
 
-    assertTrue(
-        "Nodatawerte wurden mehr als einmal in das XML geschrieben",
-        writtenXML.indexOf("06531;06532") == writtenXML.lastIndexOf("06531;06532"));
+		if (INTERACTIVE) {
+			ChartFrame chartFrame = new ChartFrame(
+					"Drei Balken sein, forcedCategory", lineChart);
+			chartFrame.pack();
+			chartFrame.setVisible(true);
+			while (chartFrame.isVisible()) {
+				Thread.sleep(100);
+			}
+		}
+	}
 
-    // XML wieder einlesen
-    FeatureChartStyle lineChartAUsXMLgelesen = xmlFactoryFeature.readStyleFromFile(testFile);
+	@Ignore
+	@Test
+	public void testLineChartAsCategories() throws IOException, CQLException,
+			InterruptedException {
 
-    // Nochmal in XML schreiben
-    File testFile2 = File.createTempFile("testLineChart", ".xml");
-    xmlFactoryFeature.writeStyleToFile(lineChartAUsXMLgelesen, "testLineChart",
-        testFile2);
-    assertEquals(
-        "Nachdem das Style geschrieben, gelesen und wieder geschrieben wurde ist das XML nicht gleich!",
-        writtenXML, IOUtil.readFileAsString(testFile2));
-  }
+		FeatureCollection<SimpleFeatureType, SimpleFeature> testFeatures = TestingUtil2
+				.getTestFeatures();
 
-  @Ignore
-  @Test
-  public void testLineChartNOTCategories() throws IOException, CQLException,
-      InterruptedException {
+		// Daten auf korrektheit überprüfen
+		String groupAttribName = "code"; // KreisZahl
+		SimpleFeatureType testDatenSchema = testFeatures.getSchema();
+		assertNotNull(testDatenSchema.getDescriptor(groupAttribName));
+		String variablenAttribName = "dm_u3"; // Deutsche "Männer" unter 3
+		// Jahren
+		assertNotNull(testDatenSchema.getDescriptor(variablenAttribName));
+		String labelAttribName = "title"; // Attribute mit Label für Series
+		assertNotNull(testDatenSchema.getDescriptor(labelAttribName));
+		String domainAttribName = "jahr"; // Diese Variable soll auf der X-Achse
+		// angezeigt werden
+		assertNotNull(testDatenSchema.getDescriptor(domainAttribName));
 
-    FeatureCollection<SimpleFeatureType, SimpleFeature> testFeatures = TestingUtil2.getTestFeatures();
+		ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
+				Color.red, 0., 0.);
+		ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
+				Color.green, 0., 0.);
 
-    // Daten auf korrektheit überprüfen
-    String groupAttribName = "code"; // KreisZahl
-    SimpleFeatureType testDatenSchema = testFeatures.getSchema();
-    assertNotNull(testDatenSchema.getDescriptor(groupAttribName));
-    String variablenAttribName = "dm_u3"; // Deutsche "Männer" unter 3
-    // Jahren
-    assertNotNull(testDatenSchema.getDescriptor(variablenAttribName));
-    String labelAttribName = "title"; // Attribute mit Label für Series
-    assertNotNull(testDatenSchema.getDescriptor(labelAttribName));
-    String domainAttribName = "jahr"; // Diese Variable soll auf der X-Achse
-    // angezeigt werden
-    assertNotNull(testDatenSchema.getDescriptor(domainAttribName));
+		FeatureBasicChartStyle lineChartStyle = new FeatureBasicChartStyle(
+				"testLineChart", ChartType.LINE);
+		lineChartStyle.setAxisStyle(0, domainAxisStyle);
+		lineChartStyle.setAxisStyle(1, rangeAxisStyle);
 
-    ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
-        Color.red, 0., 0.);
+		// Jahreszahlen sollen nicht als zahlen interpretiert werden
+		lineChartStyle.setForceCategories(true);
 
-    ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
-        Color.green, 0., 0.);
+		lineChartStyle.setAttributeName(0, domainAttribName);
+		lineChartStyle.setAttributeName(1, variablenAttribName);
 
-    FeatureBasicChartStyle lineChartStyle = new FeatureBasicChartStyle(
-        "testLineChart", ChartType.LINE);
-    lineChartStyle.setAxisStyle(0, domainAxisStyle);
-    lineChartStyle.setAxisStyle(1, rangeAxisStyle);
+		lineChartStyle.setTooltips(true);
 
-    lineChartStyle.setAttributeName(0, domainAttribName);
-    lineChartStyle.setAttributeName(1, variablenAttribName);
+		lineChartStyle.setSeriesAttributeName(groupAttribName);
 
-    lineChartStyle.setSeriesLegendTitleAttributeName(labelAttribName);
+		lineChartStyle.setSeriesLegendTitleAttributeName(labelAttribName);
 
-    lineChartStyle.setTooltips(true);
+		assertNull("Wenn nicht explizit gesetzt wird null geliefert",
+				lineChartStyle.getRendererStyle(0));
 
-    lineChartStyle.setSeriesAttributeName(groupAttribName);
+		ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
 
-    assertNull("Wenn nicht explizit gesetzt wird null geliefert",
-        lineChartStyle.getRendererStyle(0));
+		// chartRendererStyle.setSeriesLegendLabel(0, new ChartLabelStyle(
+		// "test 1. label"));
 
-    ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
+		chartRendererStyle.setDefaultPaint(Color.blue);
 
-    chartRendererStyle.setDefaultPaint(Color.blue);
+		chartRendererStyle.setSeriesPaint(0, Color.green);
+		chartRendererStyle.setSeriesPaint(1, Color.red);
+		chartRendererStyle.setSeriesPaint(2, Color.GRAY);
+		lineChartStyle.setRendererStyle(0, chartRendererStyle);
 
-    chartRendererStyle.setSeriesPaint(0, Color.green);
-    chartRendererStyle.setSeriesPaint(1, Color.red);
-    chartRendererStyle.setSeriesPaint(2, Color.GRAY);
-    lineChartStyle.setRendererStyle(0, chartRendererStyle);
+		assertEquals(3, chartRendererStyle.getSeriesCount());
 
-    assertEquals(3, chartRendererStyle.getSeriesCount());
+		JFreeChart lineChart = lineChartStyle
+				.applyToFeatureCollection(testFeatures);
+		assertNotNull("applyToFeatureCollection liefte null!", lineChart);
 
-    JFreeChart lineChart = lineChartStyle.applyToFeatureCollection(testFeatures);
-    assertNotNull("applyToFeatureCollection liefte null!", lineChart);
+		BufferedImage chartpng = lineChart.createBufferedImage(600, 400);
+		assertNotNull("Es konnte kein PNG aus dem Chart erstellt werden!",
+				chartpng);
 
-    BufferedImage chartpng = lineChart.createBufferedImage(600, 400);
-    assertNotNull("Es konnte kein PNG aus dem Chart erstellt werden!", chartpng);
+		if (INTERACTIVE) {
+			ChartFrame chartFrame = new ChartFrame(
+					"drei linien, forcedCategories, mit series title kreisname",
+					lineChart);
+			chartFrame.pack();
+			chartFrame.setVisible(true);
+			while (chartFrame.isVisible()) {
+				Thread.sleep(100);
+			}
+		}
 
-    lineChart.getXYPlot().getDomainAxis().setAutoTickUnitSelection(false);
-    TickUnits units = new TickUnits();
-    NumberFormat myNumberFormat = NumberFormat.getNumberInstance();
-    units.add(new NumberTickUnit(2005, myNumberFormat));
-    units.add(new NumberTickUnit(2007, myNumberFormat));
-    units.add(new NumberTickUnit(2008, myNumberFormat));
-    // da = lineChart.getXYPlot().getDomainAxis();
-    NumberAxis numberAxis = new NumberAxis() {
-      @Override
-      public List refreshTicks(Graphics2D g2, AxisState state,
-          Rectangle2D dataArea, RectangleEdge edge) {
+		// Jetzt nur soll noch eine Line kommen:
+		chartRendererStyle.setSeriesLegendLabel(0, null);
+		lineChartStyle.addSeriesAttributeNoDataValue("06532");
+		lineChartStyle.addSeriesAttributeNoDataValue("06531");
+		lineChart = lineChartStyle.applyToFeatureCollection(testFeatures);
+		assertNotNull("applyToFeatureCollection liefte null!", lineChart);
+		if (INTERACTIVE) {
+			ChartFrame chartFrame = new ChartFrame(
+					"test line chart: soll nur line 06533 existieren!",
+					lineChart);
+			chartFrame.pack();
+			chartFrame.setVisible(true);
+			while (chartFrame.isVisible()) {
+				Thread.sleep(100);
+			}
+		}
 
-        List<ValueTick> ticks = new ArrayList<ValueTick>();
-        TextAnchor ra = TextAnchor.CENTER;
-        TextAnchor ta = TextAnchor.CENTER;
-        ticks.add(new NumberTick(2005, "2005", ta, ra, 0.));
-        ticks.add(new NumberTick(2006, "2006", ta, ra, 0.));
-        ticks.add(new NumberTick(2007, "2007", ta, ra, 0.));
-        ticks.add(new NumberTick(2008, "2008", ta, ra, 0.));
+		File testFile = File.createTempFile("testLineChart", ".xml");
+		xmlFactoryFeature.writeStyleToFile(lineChartStyle, "testLineChart",
+				testFile);
 
-        return ticks;
+		assertTrue(testFile.getAbsolutePath() + " wurde nicht geschrieben!",
+				testFile.exists());
 
-      }
-    };
-    lineChart.getXYPlot().setDomainAxis(numberAxis);
-    lineChartStyle.applyToChart(lineChart);
+		String writtenXML = IOUtil.readFileAsString(testFile);
+		System.out.println(writtenXML);
+		assertTrue(
+				"<seriesAttr name=\"code\" nullAliases=\"06531;06532\" fehlt!",
+				writtenXML
+						.contains("<seriesAttr name=\"code\" nullAliases=\"06531;06532\""));
 
-    if (INTERACTIVE) {
-      ChartFrame chartFrame = new ChartFrame(
-          "drei linien, NOT categories, KreisNamen series titles", lineChart);
-      chartFrame.pack();
-      chartFrame.setVisible(true);
-      while (chartFrame.isVisible()) {
-        Thread.sleep(100);
-      }
-    }
+		assertTrue("Nodatawerte wurden mehr als einmal in das XML geschrieben",
+				writtenXML.indexOf("06531;06532") == writtenXML
+						.lastIndexOf("06531;06532"));
 
-    File testFile = File.createTempFile("testLineChart", ".xml");
-    xmlFactoryFeature.writeStyleToFile(lineChartStyle, "testLineChart", testFile);
+		// XML wieder einlesen
+		FeatureChartStyle lineChartAUsXMLgelesen = xmlFactoryFeature
+				.readStyleFromFile(testFile);
 
-    assertTrue(testFile.getAbsolutePath() + " wurde nicht geschrieben!",
-        testFile.exists());
+		// Nochmal in XML schreiben
+		File testFile2 = File.createTempFile("testLineChart", ".xml");
+		xmlFactoryFeature.writeStyleToFile(lineChartAUsXMLgelesen,
+				"testLineChart", testFile2);
+		assertEquals(
+				"Nachdem das Style geschrieben, gelesen und wieder geschrieben wurde ist das XML nicht gleich!",
+				writtenXML, IOUtil.readFileAsString(testFile2));
+	}
 
-    String writtenXML = IOUtil.readFileAsString(testFile);
+	@Ignore
+	@Test
+	public void testLineChartNOTCategories() throws IOException, CQLException,
+			InterruptedException {
 
-    // XML wieder einlesen
-    FeatureChartStyle lineChartAUsXMLgelesen = xmlFactoryFeature.readStyleFromFile(testFile);
+		FeatureCollection<SimpleFeatureType, SimpleFeature> testFeatures = TestingUtil2
+				.getTestFeatures();
 
-    // Nochmal in XML schreiben
-    File testFile2 = File.createTempFile("testLineChart", ".xml");
-    xmlFactoryFeature.writeStyleToFile(lineChartAUsXMLgelesen, "testLineChart",
-        testFile2);
-    assertEquals(
-        "Nachdem das Style geschrieben, gelesen und wieder geschrieben wurde ist das XML nicht gleich!",
-        writtenXML, IOUtil.readFileAsString(testFile2));
-  }
+		// Daten auf korrektheit überprüfen
+		String groupAttribName = "code"; // KreisZahl
+		SimpleFeatureType testDatenSchema = testFeatures.getSchema();
+		assertNotNull(testDatenSchema.getDescriptor(groupAttribName));
+		String variablenAttribName = "dm_u3"; // Deutsche "Männer" unter 3
+		// Jahren
+		assertNotNull(testDatenSchema.getDescriptor(variablenAttribName));
+		String labelAttribName = "title"; // Attribute mit Label für Series
+		assertNotNull(testDatenSchema.getDescriptor(labelAttribName));
+		String domainAttribName = "jahr"; // Diese Variable soll auf der X-Achse
+		// angezeigt werden
+		assertNotNull(testDatenSchema.getDescriptor(domainAttribName));
 
+		ChartAxisStyle domainAxisStyle = new ChartAxisStyle("jahreszahlen",
+				Color.red, 0., 0.);
+
+		ChartAxisStyle rangeAxisStyle = new ChartAxisStyle("deut. maenner",
+				Color.green, 0., 0.);
+
+		FeatureBasicChartStyle lineChartStyle = new FeatureBasicChartStyle(
+				"testLineChart", ChartType.LINE);
+		lineChartStyle.setAxisStyle(0, domainAxisStyle);
+		lineChartStyle.setAxisStyle(1, rangeAxisStyle);
+
+		lineChartStyle.setAttributeName(0, domainAttribName);
+		lineChartStyle.setAttributeName(1, variablenAttribName);
+
+		lineChartStyle.setSeriesLegendTitleAttributeName(labelAttribName);
+
+		lineChartStyle.setTooltips(true);
+
+		lineChartStyle.setSeriesAttributeName(groupAttribName);
+
+		assertNull("Wenn nicht explizit gesetzt wird null geliefert",
+				lineChartStyle.getRendererStyle(0));
+
+		ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
+
+		chartRendererStyle.setDefaultPaint(Color.blue);
+
+		chartRendererStyle.setSeriesPaint(0, Color.green);
+		chartRendererStyle.setSeriesPaint(1, Color.red);
+		chartRendererStyle.setSeriesPaint(2, Color.GRAY);
+		lineChartStyle.setRendererStyle(0, chartRendererStyle);
+
+		assertEquals(3, chartRendererStyle.getSeriesCount());
+
+		JFreeChart lineChart = lineChartStyle
+				.applyToFeatureCollection(testFeatures);
+		assertNotNull("applyToFeatureCollection liefte null!", lineChart);
+
+		BufferedImage chartpng = lineChart.createBufferedImage(600, 400);
+		assertNotNull("Es konnte kein PNG aus dem Chart erstellt werden!",
+				chartpng);
+
+		lineChart.getXYPlot().getDomainAxis().setAutoTickUnitSelection(false);
+		TickUnits units = new TickUnits();
+		NumberFormat myNumberFormat = NumberFormat.getNumberInstance();
+		units.add(new NumberTickUnit(2005, myNumberFormat));
+		units.add(new NumberTickUnit(2007, myNumberFormat));
+		units.add(new NumberTickUnit(2008, myNumberFormat));
+		// da = lineChart.getXYPlot().getDomainAxis();
+		NumberAxis numberAxis = new NumberAxis() {
+			@Override
+			public List refreshTicks(Graphics2D g2, AxisState state,
+					Rectangle2D dataArea, RectangleEdge edge) {
+
+				List<ValueTick> ticks = new ArrayList<ValueTick>();
+				TextAnchor ra = TextAnchor.CENTER;
+				TextAnchor ta = TextAnchor.CENTER;
+				ticks.add(new NumberTick(2005, "2005", ta, ra, 0.));
+				ticks.add(new NumberTick(2006, "2006", ta, ra, 0.));
+				ticks.add(new NumberTick(2007, "2007", ta, ra, 0.));
+				ticks.add(new NumberTick(2008, "2008", ta, ra, 0.));
+
+				return ticks;
+
+			}
+		};
+		lineChart.getXYPlot().setDomainAxis(numberAxis);
+		lineChartStyle.applyToChart(lineChart);
+
+		if (INTERACTIVE) {
+			ChartFrame chartFrame = new ChartFrame(
+					"drei linien, NOT categories, KreisNamen series titles",
+					lineChart);
+			chartFrame.pack();
+			chartFrame.setVisible(true);
+			while (chartFrame.isVisible()) {
+				Thread.sleep(100);
+			}
+		}
+
+		File testFile = File.createTempFile("testLineChart", ".xml");
+		xmlFactoryFeature.writeStyleToFile(lineChartStyle, "testLineChart",
+				testFile);
+
+		assertTrue(testFile.getAbsolutePath() + " wurde nicht geschrieben!",
+				testFile.exists());
+
+		String writtenXML = IOUtil.readFileAsString(testFile);
+
+		// XML wieder einlesen
+		FeatureChartStyle lineChartAUsXMLgelesen = xmlFactoryFeature
+				.readStyleFromFile(testFile);
+
+		// Nochmal in XML schreiben
+		File testFile2 = File.createTempFile("testLineChart", ".xml");
+		xmlFactoryFeature.writeStyleToFile(lineChartAUsXMLgelesen,
+				"testLineChart", testFile2);
+		assertEquals(
+				"Nachdem das Style geschrieben, gelesen und wieder geschrieben wurde ist das XML nicht gleich!",
+				writtenXML, IOUtil.readFileAsString(testFile2));
+	}
+
 }



More information about the Schmitzm-commits mailing list