[Schmitzm-commits] r828 - trunk/src_junit/schmitzm/jfree/feature/style
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Wed May 5 16:53:08 CEST 2010
Author: alfonx
Date: 2010-05-05 16:53:08 +0200 (Wed, 05 May 2010)
New Revision: 828
Modified:
trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java
Log:
weighted attribute wird nicht korrekt gelesen oder geschrieben
Modified: trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java
===================================================================
--- trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java 2010-05-05 14:36:31 UTC (rev 827)
+++ trunk/src_junit/schmitzm/jfree/feature/style/FeatureChartStyleTest.java 2010-05-05 14:53:08 UTC (rev 828)
@@ -33,11 +33,129 @@
public class FeatureChartStyleTest {
private static Logger log = Logger.getLogger(FeatureChartStyleTest.class);
+
+ FeatureChartStyleXMLFactory xmlFactory = new FeatureChartStyleXMLFactory();
boolean INTERACTIVE = !GraphicsEnvironment.isHeadless();
String resLocation = "/schmitzm/jfree/feature/style/testLineChartShape/testKreiseLineChart2.shp";
+
+ @Test
+ public void saveAndLoadWeightedChart() throws IOException {
+ FeatureBasicChartStyle weightChartStyle = new FeatureBasicChartStyle(
+ "testLineChart", ChartType.BAR);
+ weightChartStyle.setAttributeName(0, "attX");
+ weightChartStyle.setAttributeName(1, "attY");
+ weightChartStyle.setAttributeAggregationWeightAttributeName(1, "weight");
+
+
+ // In XML schreiben
+ File testFile = File.createTempFile("testWeightChart", ".xml");
+ xmlFactory.writeStyleToFile(weightChartStyle, "testWeightedhart",
+ testFile);
+
+ // XML wieder einlesen
+ FeatureChartStyle weightChartAusXMLgelesen = xmlFactory.readStyleFromFile(testFile);
+ assertEquals("weight", weightChartAusXMLgelesen.getAttributeAggregationWeightAttributeName(1));
+ // Nochmal in XML schreiben
+ File testFile2 = File.createTempFile("testWeightChart", ".xml");
+ xmlFactory.writeStyleToFile(weightChartStyle, "testWeightedhart",
+ testFile2);
+
+ // XML wieder einlesen
+ FeatureChartStyle weightChartAusXMLgelesen2 = xmlFactory.readStyleFromFile(testFile2);
+ assertEquals("weight", weightChartAusXMLgelesen2.getAttributeAggregationWeightAttributeName(1));
+
+ assertEquals(
+ "Nachdem das Style geschrieben, gelesen und wieder geschrieben wurde ist das XML nicht gleich!",
+ IOUtil.readFileAsString(testFile), IOUtil.readFileAsString(testFile2));
+ }
+
@Test
+ public void testBarChart() throws IOException, InterruptedException {
+
+ // Testdatenshape einlesen
+ URL resourceUrl = FeatureChartStyleTest.class.getResource(
+ resLocation);
+ assertNotNull(resLocation+" wurde nicht gefunden!",
+ resourceUrl);
+
+ FeatureCollection<SimpleFeatureType, SimpleFeature> testFeatures = GeoImportUtil
+ .readFeaturesFromShapeURL(resourceUrl);
+
+ assertNotNull("Testfeatures konnten nicht aus " + resourceUrl
+ + " gelesen werden", testFeatures);
+
+ // Daten auf korrektheit überprüfen
+ assertEquals("Testfeatures muss 2x3 Features enthalten", 2 * 3,
+ testFeatures.size());
+ String groupAttribName = "kgs5"; // 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 = "krs_name"; // 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.BAR);
+ lineChartStyle.setAxisStyle(0, domainAxisStyle);
+ lineChartStyle.setAxisStyle(1, rangeAxisStyle);
+
+ // Jahreszahlen sollen nicht als zahlen interpretiert werden
+ lineChartStyle.setForceCategories(true);
+
+ lineChartStyle.setAttributeName(0, domainAttribName);
+ lineChartStyle.setAttributeName(1, variablenAttribName);
+
+ lineChartStyle.setTooltips(true);
+
+ lineChartStyle.setSeriesAttributeName(groupAttribName);
+
+ assertNull("Wenn nicht explizit gesetzt wird null geliefert",
+ lineChartStyle.getRendererStyle(0));
+
+ ChartRendererStyle chartRendererStyle = new ChartRendererStyle();
+
+ chartRendererStyle.setSeriesLegendLabel(0, new ChartLabelStyle(
+ "test 1. label"));
+
+ 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);
+
+ if (INTERACTIVE) {
+ ChartFrame chartFrame = new ChartFrame(
+ "test line chart: sollen drei Balken sein!", lineChart);
+ chartFrame.pack();
+ chartFrame.setVisible(true);
+ while (chartFrame.isVisible()) {
+ Thread.sleep(100);
+ }
+ }
+ }
+
+ @Test
public void testLineChart() throws IOException, CQLException, InterruptedException {
// Testdatenshape einlesen
@@ -137,7 +255,7 @@
}
}
- FeatureChartStyleXMLFactory xmlFactory = new FeatureChartStyleXMLFactory();
+
File testFile = File.createTempFile("testLineChart", ".xml");
xmlFactory.writeStyleToFile(lineChartStyle, "testLineChart", testFile);
More information about the Schmitzm-commits
mailing list