Revision: 5727
          http://sourceforge.net/p/jump-pilot/code/5727
Author:   ma15569
Date:     2018-04-04 11:52:58 +0000 (Wed, 04 Apr 2018)
Log Message:
-----------
Upgraded Style framework. Execute() according to actual implementation in 
OpenJUMP

Modified Paths:
--------------
    plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/Chart.java
    plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/JumpChartPlugIn.java

Added Paths:
-----------
    plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/charticon.gif

Modified: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/Chart.java
===================================================================
--- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/Chart.java    
2018-04-03 11:36:21 UTC (rev 5726)
+++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/Chart.java    
2018-04-04 11:52:58 UTC (rev 5727)
@@ -22,207 +22,215 @@
 
 package com.cadplan.jump;
 
-import com.vividsolutions.jump.workbench.plugin.PlugInContext;
+import java.awt.Color;
+import java.util.HashMap;
+import java.util.Map;
+
+import com.vividsolutions.jts.geom.Coordinate;
+import com.vividsolutions.jts.geom.Geometry;
+import com.vividsolutions.jts.geom.GeometryFactory;
+import com.vividsolutions.jts.geom.LinearRing;
+import com.vividsolutions.jump.feature.AttributeType;
+import com.vividsolutions.jump.feature.BasicFeature;
+import com.vividsolutions.jump.feature.Feature;
+import com.vividsolutions.jump.feature.FeatureCollection;
+import com.vividsolutions.jump.feature.FeatureDataset;
+import com.vividsolutions.jump.feature.FeatureSchema;
 import com.vividsolutions.jump.workbench.model.Category;
 import com.vividsolutions.jump.workbench.model.Layer;
+import com.vividsolutions.jump.workbench.plugin.PlugInContext;
+import com.vividsolutions.jump.workbench.ui.renderer.style.BasicStyle;
+import com.vividsolutions.jump.workbench.ui.renderer.style.ColorThemingStyle;
 import com.vividsolutions.jump.workbench.ui.renderer.style.LabelStyle;
-import com.vividsolutions.jump.workbench.ui.renderer.style.ColorThemingStyle;
-import com.vividsolutions.jump.workbench.ui.renderer.style.BasicStyle;
-import com.vividsolutions.jump.workbench.ui.renderer.style.ColorScheme;
-import com.vividsolutions.jump.feature.*;
-import com.vividsolutions.jts.geom.Geometry;
-import com.vividsolutions.jts.geom.Coordinate;
-import com.vividsolutions.jts.geom.LinearRing;
-import com.vividsolutions.jts.geom.GeometryFactory;
-import com.vividsolutions.jts.util.Assert;
 
-import java.util.*;
-import java.util.List;
-import java.awt.*;
-import java.text.DecimalFormat;
-
 /**
- * User: geoff
- * Date: 28/04/2007
- * Time: 10:04:38
- * Copyright 2007 Geoffrey G Roy.
+ * User: geoff Date: 28/04/2007 Time: 10:04:38 Copyright 2007 Geoffrey G Roy.
  */
-public class Chart
-{
+public class Chart {
     boolean debug = false;
     PlugInContext context;
     String categoryName = "Jump Charts";
     ChartData chartData;
-    ChartValues [] chartValues;
-    ChartAttribute [] chartAttributes;
+    ChartValues[] chartValues;
+    ChartAttribute[] chartAttributes;
     FeatureDataset dataset;
     double screenScale;
     I18NPlug iPlug;
 
-    public Chart(PlugInContext context, I18NPlug iPlug)
-    {
+    public Chart(PlugInContext context, I18NPlug iPlug) {
         this.context = context;
         this.iPlug = iPlug;
         ChartParams.cancelled = false;
         chartData = new ChartData(context, iPlug);
 
-        if(!ChartParams.cancelled)
-        {
-            
+        if (!ChartParams.cancelled) {
+
             getData();
-            
-            for(int i=0; i < chartValues.length; i++)
-            {
-               //System.out.println("Att i="+i+ "  value="+ 
chartValues[i].toString());
-               
+
+            for (final ChartValues chartValue : chartValues) {
+                // System.out.println("Att i="+i+ "  value="+
+                // chartValues[i].toString());
+
             }
-            
+
             createContext();
             createFeatures();
-            Layer layer = context.addLayer(categoryName, "Chart", dataset);
-            String actualName = layer.getName();
-            BasicStyle layerStyle = layer.getBasicStyle();
+            final Layer layer = context
+                    .addLayer(categoryName, "Chart", dataset);
+            final ColorThemingStyle colorThemingStyle = ColorThemingStyle
+                    .get(layer);
+            final String actualName = layer.getName();
+            final BasicStyle layerStyle = layer.getBasicStyle();
             layerStyle.setAlpha(255);
-            
-           
-            
-            LabelStyle newLabelStyle =layer.getLabelStyle();
+
+            final LabelStyle newLabelStyle = layer.getLabelStyle();
             newLabelStyle.setEnabled(true);
             newLabelStyle.setAttribute("Name");
             newLabelStyle.setEnabled(true); // to show labels in legends
-            
+
             newLabelStyle.setVerticalAlignment(LabelStyle.ON_LINE);
-           
-            //System.out.println("Vert 
Align:"+newLabelStyle.verticalAlignment);
+
+            // System.out.println("Vert 
Align:"+newLabelStyle.verticalAlignment);
             layer.removeStyle(layer.getLabelStyle());
             layer.addStyle(newLabelStyle);
 
-            Map<Integer,BasicStyle> themeMap = new 
HashMap<Integer,BasicStyle>(); ;
-            Map<Integer,String> labelMap = new HashMap<Integer,String>();
-            
-            
-            int numElements = chartAttributes.length;
+            final Map<Object, BasicStyle> themeMap = new HashMap<Object, 
BasicStyle>();
+            ;
+            final Map<Object, String> labelMap = new HashMap<Object, String>();
 
-            for(int i=0; i < numElements; i++)
-            {
-                BasicStyle style = new BasicStyle();
-                int alpha = 128;
-                Color color = new 
Color(Color.HSBtoRGB((float)i/(float)numElements, 1.0f,1.0f), true);
+            final int numElements = chartAttributes.length;
+
+            for (int i = 0; i < numElements; i++) {
+                final BasicStyle style = new BasicStyle();
+                final int alpha = 128;
+                final Color color = new Color(Color.HSBtoRGB((float) i
+                        / (float) numElements, 1.0f, 1.0f), true);
                 style.setFillColor(color);
-                //themeMap.put(i,style);
-                //labelMap.put(i,String.valueOf(i));
-                themeMap.put(i,style);
-                labelMap.put(i,String.valueOf(i));
-                
+                // themeMap.put(i,style);
+                // labelMap.put(i,String.valueOf(i));
+                themeMap.put(i, style);
+                // [Giuseppe Aruta 2018-04-04] Added Attribute names to layer
+                // legend
+                labelMap.put(i, chartAttributes[i].name);
+
             }
-            
layer.removeStyle((ColorThemingStyle)layer.getStyle(ColorThemingStyle.class));
-            BasicStyle basicStyle = new BasicStyle();
-            basicStyle.setFillColor(new Color(230,230,230));
+            layer.removeStyle(layer.getStyle(ColorThemingStyle.class));
+            final BasicStyle basicStyle = new BasicStyle();
+            basicStyle.setFillColor(new Color(230, 230, 230));
             basicStyle.setLineColor(Color.BLACK);
-            ColorThemingStyle themingStyle = new ColorThemingStyle("Index", 
themeMap, labelMap, basicStyle);
-            themingStyle.setEnabled(true);
-            layer.addStyle(themingStyle);
+            colorThemingStyle.setAttributeName("Index");
+            colorThemingStyle.setAttributeValueToBasicStyleMap(themeMap);
+            colorThemingStyle.setAttributeValueToLabelMap(labelMap);
+            // [Giuseppe Aruta 2018-04-04] Uncomment as it does not work since
+            // OpenJUMP 1.6
+            // ColorThemingStyle themingStyle = new ColorThemingStyle("Index",
+            // themeMap, labelMap, basicStyle);
+            colorThemingStyle.setEnabled(true);
+            layer.addStyle(colorThemingStyle);
 
-
         }
     }
 
+    private void createContext() {
 
-    private void createContext()
-    {
+        if (debug) {
+            System.out.println("Creating new catagory");
+        }
+        final Category category = new Category();
+        category.setName(categoryName);
+        final FeatureSchema featureSchema = new FeatureSchema();
+        if (ChartParams.chartType == ChartParams.LABELS) {
+            // featureSchema.addAttribute("$FID", AttributeType.INTEGER);
+            featureSchema.addAttribute("Geometry", AttributeType.GEOMETRY);
+            // featureSchema.addAttribute("Index", AttributeType.INTEGER);
 
-        if(debug) System.out.println("Creating new catagory");
-        Category category = new Category();
-        category.setName(categoryName);
-        FeatureSchema featureSchema = new FeatureSchema();
-        if(ChartParams.chartType == ChartParams.LABELS)
-        {
-               //featureSchema.addAttribute("$FID", AttributeType.INTEGER);
-               featureSchema.addAttribute("Geometry",AttributeType.GEOMETRY);
-               //featureSchema.addAttribute("Index", AttributeType.INTEGER);
-               
-               featureSchema.addAttribute("Name",AttributeType.STRING);
-               for (int i=0; i < chartAttributes.length; i++)
-               {
-                       
featureSchema.addAttribute(chartAttributes[i].toString(), AttributeType.STRING);
-               }
+            featureSchema.addAttribute("Name", AttributeType.STRING);
+            for (final ChartAttribute chartAttribute : chartAttributes) {
+                featureSchema.addAttribute(chartAttribute.toString(),
+                        AttributeType.STRING);
+            }
+        } else {
+            featureSchema.addAttribute("Geometry", AttributeType.GEOMETRY);
+            featureSchema.addAttribute("Index", AttributeType.INTEGER);
+            featureSchema.addAttribute("iValue", AttributeType.INTEGER);
+            featureSchema.addAttribute("dValue", AttributeType.DOUBLE);
+            featureSchema.addAttribute("Name", AttributeType.STRING);
+
         }
-        else
-        {
-               featureSchema.addAttribute("Geometry",AttributeType.GEOMETRY);
-               featureSchema.addAttribute("Index", AttributeType.INTEGER);
-               featureSchema.addAttribute("iValue", AttributeType.INTEGER);
-               featureSchema.addAttribute("dValue", AttributeType.DOUBLE);
-               featureSchema.addAttribute("Name",AttributeType.STRING);
-               
-        }
-        
+
         dataset = new FeatureDataset(featureSchema);
 
-
-        screenScale = 1.0/context.getLayerViewPanel().getViewport().getScale();
-        if(debug) System.out.println("Screen scale= "+screenScale);
+        screenScale = 1.0 / context.getLayerViewPanel().getViewport()
+                .getScale();
+        if (debug) {
+            System.out.println("Screen scale= " + screenScale);
+        }
     }
 
-    private void getData()
-    {
+    private void getData() {
         chartValues = chartData.getValues();
         chartAttributes = chartData.getAttributes();
     }
 
-    private void createFeatures()
-    {
+    private void createFeatures() {
         double maxValue = 0.0;
         double maxSize = 0.0;
 
-         switch (ChartParams.chartType)
-         {
-             case ChartParams.PIE_EAST:
-                        PieChart pieChart = new PieChart(chartAttributes, 
chartValues, screenScale, 0.0);
-                        pieChart.addFeatures(dataset);
-                        maxValue = pieChart.getMaxValue();
-                        maxSize = pieChart.getMaxSize();
-                        break;
-             case ChartParams.PIE_NORTH:
-                        pieChart = new PieChart(chartAttributes, chartValues, 
screenScale, Math.PI/2.0);
-                        pieChart.addFeatures(dataset);
-                        maxValue = pieChart.getMaxValue();
-                        maxSize = pieChart.getMaxSize();
-                        break;
-             case ChartParams.BAR:
-                        BarChart barChart = new BarChart(chartAttributes, 
chartValues, screenScale);
-                        barChart.addFeatures(dataset);
-                        maxValue = barChart.getMaxValue();
-                        maxSize = barChart.getMaxSize();
-                        
-                        break;
-             case ChartParams.COLUMN:
-                         ColumnChart columnChart = new 
ColumnChart(chartAttributes, chartValues, screenScale);
-                         columnChart.addFeatures(dataset);
-                         maxValue = columnChart.getMaxValue();
-                         maxSize = columnChart.getMaxSize();
-                         break;
-             case ChartParams.LABELS:
-                                LabelsChart labelsChart = new 
LabelsChart(chartAttributes, chartValues, screenScale);
-                                labelsChart.addFeatures(dataset);
-                                
-                        break;
-         }
-         if(ChartParams.includeLegend && ChartParams.chartType != 
ChartParams.LABELS)   createLegend(dataset);
-         if(ChartParams.showScale && !ChartParams.uniformSize)
-         {
-               double interval = ChartParams.scaleInterval(maxValue);
-               double scale = maxSize/maxValue;
-               if(debug) System.out.println("maxValue="+maxValue+"  
maxSize="+maxSize+"  scale="+scale);
-               createScale(ChartParams.chartType, dataset,  interval, scale);
-         }
+        switch (ChartParams.chartType) {
+        case ChartParams.PIE_EAST:
+            PieChart pieChart = new PieChart(chartAttributes, chartValues,
+                    screenScale, 0.0);
+            pieChart.addFeatures(dataset);
+            maxValue = pieChart.getMaxValue();
+            maxSize = pieChart.getMaxSize();
+            break;
+        case ChartParams.PIE_NORTH:
+            pieChart = new PieChart(chartAttributes, chartValues, screenScale,
+                    Math.PI / 2.0);
+            pieChart.addFeatures(dataset);
+            maxValue = pieChart.getMaxValue();
+            maxSize = pieChart.getMaxSize();
+            break;
+        case ChartParams.BAR:
+            final BarChart barChart = new BarChart(chartAttributes,
+                    chartValues, screenScale);
+            barChart.addFeatures(dataset);
+            maxValue = barChart.getMaxValue();
+            maxSize = barChart.getMaxSize();
+
+            break;
+        case ChartParams.COLUMN:
+            final ColumnChart columnChart = new ColumnChart(chartAttributes,
+                    chartValues, screenScale);
+            columnChart.addFeatures(dataset);
+            maxValue = columnChart.getMaxValue();
+            maxSize = columnChart.getMaxSize();
+            break;
+        case ChartParams.LABELS:
+            final LabelsChart labelsChart = new LabelsChart(chartAttributes,
+                    chartValues, screenScale);
+            labelsChart.addFeatures(dataset);
+
+            break;
+        }
+        if (ChartParams.includeLegend
+                && ChartParams.chartType != ChartParams.LABELS) {
+            createLegend(dataset);
+        }
+        if (ChartParams.showScale && !ChartParams.uniformSize) {
+            final double interval = ChartParams.scaleInterval(maxValue);
+            final double scale = maxSize / maxValue;
+            if (debug) {
+                System.out.println("maxValue=" + maxValue + "  maxSize="
+                        + maxSize + "  scale=" + scale);
+            }
+            createScale(ChartParams.chartType, dataset, interval, scale);
+        }
     }
-    
-    
 
-    private void createScale(int type, FeatureCollection dataset, double 
interval, double scale)
-    {
-        FeatureSchema featureSchema = new FeatureSchema();
+    private void createScale(int type, FeatureCollection dataset,
+            double interval, double scale) {
+        final FeatureSchema featureSchema = new FeatureSchema();
         featureSchema.addAttribute("Geometry", AttributeType.GEOMETRY);
         featureSchema.addAttribute("dValue", AttributeType.DOUBLE);
         featureSchema.addAttribute("iValue", AttributeType.INTEGER);
@@ -229,178 +237,219 @@
         featureSchema.addAttribute("Index", AttributeType.INTEGER);
         featureSchema.addAttribute("Name", AttributeType.STRING);
 
-        double x0 = 
context.getLayerViewPanel().getViewport().getEnvelopeInModelCoordinates().getMinX();
-        double y0 = 
context.getLayerViewPanel().getViewport().getEnvelopeInModelCoordinates().getMinY();
+        final double x0 = context.getLayerViewPanel().getViewport()
+                .getEnvelopeInModelCoordinates().getMinX();
+        final double y0 = context.getLayerViewPanel().getViewport()
+                .getEnvelopeInModelCoordinates().getMinY();
 
-        double w = 100*screenScale;
-        double h = 15*screenScale;
-        double s = 5*screenScale;
-        double x = x0 + 100*screenScale*2;
-        double y = y0;
+        final double w = 100 * screenScale;
+        final double h = 15 * screenScale;
+        final double s = 5 * screenScale;
+        final double x = x0 + 100 * screenScale * 2;
+        final double y = y0;
 
-        switch (type)
-        {
-            case ChartParams.PIE_EAST:
-            case ChartParams.PIE_NORTH:
-                    double rad = 5*scale*interval;
-                    double radMax = ChartParams.maxValue*scale;
-                    //System.out.println("Chart: 
maxValue="+ChartParams.maxValue+"  radMax="+radMax+"  rad="+rad);
-                    double rada = rad;
-                        
-                    int nsides = 32;
-                    for(int i=4; i >= 0; i--)
-                    {
-                       rada = rad;
-                       if(!ChartParams.linearScale)
-                       {
-                               rada = radMax*Math.sqrt(rad/radMax);
-                       }
-                        if(debug) System.out.println("rada="+rada);
-                        Coordinate [] circlePoints = new Coordinate[nsides+1];
-                        for(int k=0; k < 32; k++)
-                        {
-                            double xp = x + 
rada*Math.cos((double)k*2.0*Math.PI/(double)nsides);
-                            double yp = y + rada + 
rada*Math.sin((double)k*2.0*Math.PI/(double)nsides);
+        switch (type) {
+        case ChartParams.PIE_EAST:
+        case ChartParams.PIE_NORTH:
+            double rad = 5 * scale * interval;
+            final double radMax = ChartParams.maxValue * scale;
+            // System.out.println("Chart: maxValue="+ChartParams.maxValue+"  
radMax="+radMax+"  rad="+rad);
+            double rada = rad;
 
-                            circlePoints[k] = new Coordinate(xp,yp);
-                        }
-                        circlePoints[nsides] = circlePoints[0];
-                        //Geometry geometry = new 
GeometryFactory().createLineString(circlePoints);
-                        LinearRing lr = new 
GeometryFactory().createLinearRing(circlePoints);
-                        Geometry geometry = new 
GeometryFactory().createPolygon(lr, null);
-                        if(debug) System.out.println("Geometry: "+geometry);
-                        Feature feature = new BasicFeature(featureSchema);
+            final int nsides = 32;
+            for (int i = 4; i >= 0; i--) {
+                rada = rad;
+                if (!ChartParams.linearScale) {
+                    rada = radMax * Math.sqrt(rad / radMax);
+                }
+                if (debug) {
+                    System.out.println("rada=" + rada);
+                }
+                final Coordinate[] circlePoints = new Coordinate[nsides + 1];
+                for (int k = 0; k < 32; k++) {
+                    final double xp = x + rada
+                            * Math.cos(k * 2.0 * Math.PI / nsides);
+                    final double yp = y + rada + rada
+                            * Math.sin(k * 2.0 * Math.PI / nsides);
 
-                        if(debug) System.out.println("Geometry: "+geometry);
-                        feature.setGeometry(geometry);
-                        feature.setAttribute("dValue",0.0);
-                        feature.setAttribute("iValue",0);
-                        feature.setAttribute("Index",-1);
-                        feature.setAttribute("Name","");
-                        dataset.add(feature);
+                    circlePoints[k] = new Coordinate(xp, yp);
+                }
+                circlePoints[nsides] = circlePoints[0];
+                // Geometry geometry = new
+                // GeometryFactory().createLineString(circlePoints);
+                final LinearRing lr = new GeometryFactory()
+                        .createLinearRing(circlePoints);
+                final Geometry geometry = new GeometryFactory().createPolygon(
+                        lr, null);
+                if (debug) {
+                    System.out.println("Geometry: " + geometry);
+                }
+                final Feature feature = new BasicFeature(featureSchema);
 
-                        Coordinate [] linePoints = new Coordinate[2];
-                        linePoints[0] = new Coordinate(x,y+rada*2.0);
-                        linePoints[1] = new Coordinate(x+scale*5.2*interval, 
y+rada*2.0);
+                if (debug) {
+                    System.out.println("Geometry: " + geometry);
+                }
+                feature.setGeometry(geometry);
+                feature.setAttribute("dValue", 0.0);
+                feature.setAttribute("iValue", 0);
+                feature.setAttribute("Index", -1);
+                feature.setAttribute("Name", "");
+                dataset.add(feature);
 
-                       Geometry linegeometry = new 
GeometryFactory().createLineString(linePoints);
+                final Coordinate[] linePoints = new Coordinate[2];
+                linePoints[0] = new Coordinate(x, y + rada * 2.0);
+                linePoints[1] = new Coordinate(x + scale * 5.2 * interval, y
+                        + rada * 2.0);
 
+                final Geometry linegeometry = new GeometryFactory()
+                        .createLineString(linePoints);
 
-                        if(debug) System.out.println("Geometry: "+geometry);
-                        Feature linefeature = new BasicFeature(featureSchema);
+                if (debug) {
+                    System.out.println("Geometry: " + geometry);
+                }
+                final Feature linefeature = new BasicFeature(featureSchema);
 
-                        if(debug) System.out.println("Geometry: 
"+linegeometry);
-                        linefeature.setGeometry(linegeometry);
-                        linefeature.setAttribute("dValue",-1.0);
-                        linefeature.setAttribute("iValue",-1);
-                        linefeature.setAttribute("Index", -1);
-                        linefeature.setAttribute("Name","");
-                        dataset.add(linefeature);
+                if (debug) {
+                    System.out.println("Geometry: " + linegeometry);
+                }
+                linefeature.setGeometry(linegeometry);
+                linefeature.setAttribute("dValue", -1.0);
+                linefeature.setAttribute("iValue", -1);
+                linefeature.setAttribute("Index", -1);
+                linefeature.setAttribute("Name", "");
+                dataset.add(linefeature);
 
-                        //Coordinate [] pointPoints = new Coordinate[1];
-                        //pointPoints[0] = new 
Coordinate(x+scale*8.0*interval, y+rad*2.0);
-                        //Geometry pointgeometry = new 
GeometryFactory().createMultiPoint(pointPoints);
-                        
-                        Coordinate [] pointPoints = new Coordinate[2];
-                        pointPoints[0] = new 
Coordinate(x+scale*5.2*interval,y+rada*2.0);
-                        pointPoints[1] = new Coordinate(x+scale*8.0*interval, 
y+rada*2.0);
-                        //Geometry pointgeometry = new 
GeometryFactory().createLineString(pointPoints);
-                        Coordinate position = new 
Coordinate(x+scale*6.2*interval,y+rada*2.0);
-                        Geometry pointgeometry = new 
GeometryFactory().createPoint(position);
-                        
-                        if(debug) System.out.println("Geometry: "+geometry);
-                        Feature pointfeature = new BasicFeature(featureSchema);
+                // Coordinate [] pointPoints = new Coordinate[1];
+                // pointPoints[0] = new Coordinate(x+scale*8.0*interval,
+                // y+rad*2.0);
+                // Geometry pointgeometry = new
+                // GeometryFactory().createMultiPoint(pointPoints);
 
-                        if(debug) System.out.println("Geometry: 
"+pointgeometry);
-                        pointfeature.setGeometry(pointgeometry);
-                        pointfeature.setAttribute("dValue",-1.0);
-                        pointfeature.setAttribute("iValue",-1);
-                        pointfeature.setAttribute("Index", -1);
-                        
pointfeature.setAttribute("Name",format(interval*(i+1)));
-                        dataset.add(pointfeature);
+                final Coordinate[] pointPoints = new Coordinate[2];
+                pointPoints[0] = new Coordinate(x + scale * 5.2 * interval, y
+                        + rada * 2.0);
+                pointPoints[1] = new Coordinate(x + scale * 8.0 * interval, y
+                        + rada * 2.0);
+                // Geometry pointgeometry = new
+                // GeometryFactory().createLineString(pointPoints);
+                final Coordinate position = new Coordinate(x + scale * 6.2
+                        * interval, y + rada * 2.0);
+                final Geometry pointgeometry = new GeometryFactory()
+                        .createPoint(position);
 
-                        rad = rad - interval*scale;
-                    }
+                if (debug) {
+                    System.out.println("Geometry: " + geometry);
+                }
+                final Feature pointfeature = new BasicFeature(featureSchema);
 
-                    break;
-            case ChartParams.BAR:
-            case ChartParams.COLUMN:
-                    double width = 10*screenScale;
-                    double yp = y+ 5*interval*scale;
-                    for(int i=4; i >= 0; i--)
-                    {
-                        Coordinate [] points = new Coordinate[5];
-                        points[0] = new Coordinate(x,yp);
-                        points[1] = new Coordinate(x+width,yp);
-                        points[2] = new Coordinate(x+width,yp+interval*scale);
-                        points[3] = new Coordinate(x,yp+interval*scale);
-                        points[4] = points[0];
-                        //Geometry geometry = new 
GeometryFactory().createLineString(points);
-                        LinearRing lr = new 
GeometryFactory().createLinearRing(points);
-                        Geometry geometry = new 
GeometryFactory().createPolygon(lr, null);
+                if (debug) {
+                    System.out.println("Geometry: " + pointgeometry);
+                }
+                pointfeature.setGeometry(pointgeometry);
+                pointfeature.setAttribute("dValue", -1.0);
+                pointfeature.setAttribute("iValue", -1);
+                pointfeature.setAttribute("Index", -1);
+                pointfeature.setAttribute("Name", format(interval * (i + 1)));
+                dataset.add(pointfeature);
 
-                        if(debug) System.out.println("Geometry: "+geometry);
-                        Feature feature = new BasicFeature(featureSchema);
+                rad = rad - interval * scale;
+            }
 
-                        if(debug) System.out.println("Geometry: "+geometry);
-                        feature.setGeometry(geometry);
-                        feature.setAttribute("iValue",-1);
-                        feature.setAttribute("dValue",-1.0);
-                        feature.setAttribute("Name","");
-                        dataset.add(feature);
+            break;
+        case ChartParams.BAR:
+        case ChartParams.COLUMN:
+            final double width = 10 * screenScale;
+            double yp = y + 5 * interval * scale;
+            for (int i = 4; i >= 0; i--) {
+                final Coordinate[] points = new Coordinate[5];
+                points[0] = new Coordinate(x, yp);
+                points[1] = new Coordinate(x + width, yp);
+                points[2] = new Coordinate(x + width, yp + interval * scale);
+                points[3] = new Coordinate(x, yp + interval * scale);
+                points[4] = points[0];
+                // Geometry geometry = new
+                // GeometryFactory().createLineString(points);
+                final LinearRing lr = new GeometryFactory()
+                        .createLinearRing(points);
+                final Geometry geometry = new GeometryFactory().createPolygon(
+                        lr, null);
 
-                        Coordinate [] linePoints = new Coordinate[2];
-                        linePoints[0] = new 
Coordinate(x+width,yp+interval*scale);
-                        linePoints[1] = new Coordinate(x+2.0*width, 
yp+interval*scale);
+                if (debug) {
+                    System.out.println("Geometry: " + geometry);
+                }
+                final Feature feature = new BasicFeature(featureSchema);
 
-                        Geometry linegeometry = new 
GeometryFactory().createLineString(linePoints);
-                        if(debug) System.out.println("Geometry: "+geometry);
-                        Feature linefeature = new BasicFeature(featureSchema);
+                if (debug) {
+                    System.out.println("Geometry: " + geometry);
+                }
+                feature.setGeometry(geometry);
+                feature.setAttribute("iValue", -1);
+                feature.setAttribute("dValue", -1.0);
+                feature.setAttribute("Name", "");
+                dataset.add(feature);
 
-                        if(debug) System.out.println("Geometry: 
"+linegeometry);
-                        linefeature.setGeometry(linegeometry);
-                        linefeature.setAttribute("dValue",-1.0);
-                        linefeature.setAttribute("iValue",-1);
-                        linefeature.setAttribute("Index",-1);
-                        linefeature.setAttribute("Name","");
-                        dataset.add(linefeature);
+                final Coordinate[] linePoints = new Coordinate[2];
+                linePoints[0] = new Coordinate(x + width, yp + interval * 
scale);
+                linePoints[1] = new Coordinate(x + 2.0 * width, yp + interval
+                        * scale);
 
-                        //Coordinate [] pointPoints = new Coordinate[1];
-                        //pointPoints[0] = new Coordinate(x+4*width, 
yp+interval*scale);                      
-                        //Geometry pointgeometry = new 
GeometryFactory().createMultiPoint(pointPoints);
-                        
-                        Coordinate [] pointPoints = new Coordinate[2];
-                        pointPoints[0] = new 
Coordinate(x+2.0*width,yp+interval*scale);
-                        pointPoints[1] = new Coordinate(x+6.0*width, 
yp+interval*scale);
-                        Geometry pointgeometry = new 
GeometryFactory().createLineString(pointPoints);
-                        
-                        if(debug) System.out.println("Geometry: "+geometry);
-                        Feature pointfeature = new BasicFeature(featureSchema);
+                final Geometry linegeometry = new GeometryFactory()
+                        .createLineString(linePoints);
+                if (debug) {
+                    System.out.println("Geometry: " + geometry);
+                }
+                final Feature linefeature = new BasicFeature(featureSchema);
 
-                        if(debug) System.out.println("Geometry: 
"+pointgeometry);
-                        pointfeature.setGeometry(pointgeometry);
-                        pointfeature.setAttribute("dValue",-1.0);
-                        pointfeature.setAttribute("iValue",-1);
-                        pointfeature.setAttribute("Index",1);
-                        
pointfeature.setAttribute("Name",format(interval*(i+1)));
-                        
-                        
-                        
-                        dataset.add(pointfeature);
+                if (debug) {
+                    System.out.println("Geometry: " + linegeometry);
+                }
+                linefeature.setGeometry(linegeometry);
+                linefeature.setAttribute("dValue", -1.0);
+                linefeature.setAttribute("iValue", -1);
+                linefeature.setAttribute("Index", -1);
+                linefeature.setAttribute("Name", "");
+                dataset.add(linefeature);
 
-                        yp = yp - interval*scale;
-                    }
+                // Coordinate [] pointPoints = new Coordinate[1];
+                // pointPoints[0] = new Coordinate(x+4*width,
+                // yp+interval*scale);
+                // Geometry pointgeometry = new
+                // GeometryFactory().createMultiPoint(pointPoints);
 
-                
-                break;
+                final Coordinate[] pointPoints = new Coordinate[2];
+                pointPoints[0] = new Coordinate(x + 2.0 * width, yp + interval
+                        * scale);
+                pointPoints[1] = new Coordinate(x + 6.0 * width, yp + interval
+                        * scale);
+                final Geometry pointgeometry = new GeometryFactory()
+                        .createLineString(pointPoints);
+
+                if (debug) {
+                    System.out.println("Geometry: " + geometry);
+                }
+                final Feature pointfeature = new BasicFeature(featureSchema);
+
+                if (debug) {
+                    System.out.println("Geometry: " + pointgeometry);
+                }
+                pointfeature.setGeometry(pointgeometry);
+                pointfeature.setAttribute("dValue", -1.0);
+                pointfeature.setAttribute("iValue", -1);
+                pointfeature.setAttribute("Index", 1);
+                pointfeature.setAttribute("Name", format(interval * (i + 1)));
+
+                dataset.add(pointfeature);
+
+                yp = yp - interval * scale;
+            }
+
+            break;
         }
 
-
     }
 
-    private void createLegend(FeatureCollection dataset)
-    {
-        FeatureSchema featureSchema = new FeatureSchema();
+    private void createLegend(FeatureCollection dataset) {
+        final FeatureSchema featureSchema = new FeatureSchema();
         featureSchema.addAttribute("Geometry", AttributeType.GEOMETRY);
         featureSchema.addAttribute("dValue", AttributeType.DOUBLE);
         featureSchema.addAttribute("iValue", AttributeType.INTEGER);
@@ -407,106 +456,105 @@
         featureSchema.addAttribute("Index", AttributeType.INTEGER);
         featureSchema.addAttribute("Name", AttributeType.STRING);
 
-        double x0 = 
context.getLayerViewPanel().getViewport().getEnvelopeInModelCoordinates().getMinX();
-        double y0 = 
context.getLayerViewPanel().getViewport().getEnvelopeInModelCoordinates().getMinY();
+        final double x0 = context.getLayerViewPanel().getViewport()
+                .getEnvelopeInModelCoordinates().getMinX();
+        final double y0 = context.getLayerViewPanel().getViewport()
+                .getEnvelopeInModelCoordinates().getMinY();
 
-        double w = 100*screenScale;
-        double h = 15*screenScale;
-        double s = 5*screenScale;
+        double w = 100 * screenScale;
+        final double h = 15 * screenScale;
+        final double s = 5 * screenScale;
         double x = x0 + h;
         double y = y0 + h;
-        for (int i = chartAttributes.length-1; i >= 0; i--)
-        {
-                Coordinate[] pointArray = new Coordinate[5];
-                pointArray[0] = new Coordinate(x,y);
-                pointArray[1]= new Coordinate(x+w,y);
-                pointArray[2] = new Coordinate(x+w,y+h);
-                pointArray[3] = new Coordinate(x,y+h);
-                pointArray[4] = new Coordinate(x,y);
-                for (int j=0; j < pointArray.length; j++)
-                {
-                    //System.out.println("Point "+j+":"+pointArray[j]);
-                }
+        for (int i = chartAttributes.length - 1; i >= 0; i--) {
+            final Coordinate[] pointArray = new Coordinate[5];
+            pointArray[0] = new Coordinate(x, y);
+            pointArray[1] = new Coordinate(x + w, y);
+            pointArray[2] = new Coordinate(x + w, y + h);
+            pointArray[3] = new Coordinate(x, y + h);
+            pointArray[4] = new Coordinate(x, y);
+            for (final Coordinate element : pointArray) {
+                // System.out.println("Point "+j+":"+pointArray[j]);
+            }
 
-                LinearRing lr = new 
GeometryFactory().createLinearRing(pointArray);
-                Geometry geometry = new GeometryFactory().createPolygon(lr, 
null);
+            final LinearRing lr = new GeometryFactory()
+                    .createLinearRing(pointArray);
+            final Geometry geometry = new GeometryFactory().createPolygon(lr,
+                    null);
 
-                Feature feature = new BasicFeature(featureSchema);
+            final Feature feature = new BasicFeature(featureSchema);
 
-                if(debug) System.out.println("Geometry: "+geometry);
-                feature.setGeometry(geometry);
-                feature.setAttribute("dValue", -1.0);
-                feature.setAttribute("iValue", -1);
-                feature.setAttribute("Index", i);
-                feature.setAttribute("Name",chartAttributes[i].name);
-                dataset.add(feature);
-                y = y + h + s;
+            if (debug) {
+                System.out.println("Geometry: " + geometry);
+            }
+            feature.setGeometry(geometry);
+            feature.setAttribute("dValue", -1.0);
+            feature.setAttribute("iValue", -1);
+            feature.setAttribute("Index", i);
+            feature.setAttribute("Name", chartAttributes[i].name);
+            dataset.add(feature);
+            y = y + h + s;
 
         }
-        x = x0 - 5*screenScale + h;
-        y = y0 - 5*screenScale + h;
-        w = w + 10*screenScale;
+        x = x0 - 5 * screenScale + h;
+        y = y0 - 5 * screenScale + h;
+        w = w + 10 * screenScale;
         double th = 0;
-        for (int i=0; i < chartAttributes.length; i++)
-        {
+        for (final ChartAttribute chartAttribute : chartAttributes) {
             th = th + h + s;
         }
-        th = th - s + 10*screenScale;
-        Coordinate[] borderArray = new Coordinate[5];
-        borderArray[0] = new Coordinate(x,y);
-        borderArray[1]= new Coordinate(x+w,y);
-        borderArray[2] = new Coordinate(x+w,y+th);
-        borderArray[3] = new Coordinate(x,y+th);
-        borderArray[4] = new Coordinate(x,y);
+        th = th - s + 10 * screenScale;
+        final Coordinate[] borderArray = new Coordinate[5];
+        borderArray[0] = new Coordinate(x, y);
+        borderArray[1] = new Coordinate(x + w, y);
+        borderArray[2] = new Coordinate(x + w, y + th);
+        borderArray[3] = new Coordinate(x, y + th);
+        borderArray[4] = new Coordinate(x, y);
 
-        Geometry geometry = new 
GeometryFactory().createLineString(borderArray);
-        Feature feature = new BasicFeature(featureSchema);
+        final Geometry geometry = new GeometryFactory()
+                .createLineString(borderArray);
+        final Feature feature = new BasicFeature(featureSchema);
         feature.setGeometry(geometry);
-        
-        feature.setAttribute("Name","");
-        feature.setAttribute("dValue",0.0);
-        feature.setAttribute("iValue",0);
+
+        feature.setAttribute("Name", "");
+        feature.setAttribute("dValue", 0.0);
+        feature.setAttribute("iValue", 0);
         feature.setAttribute("Index", 0);
-        LabelStyle labelStyle = new LabelStyle();
-        
-        
-        
+        final LabelStyle labelStyle = new LabelStyle();
+
         dataset.add(feature);
 
-        if(!ChartParams.uniformSize)
-        {
-            Coordinate[] labelArray = new Coordinate[5];
-            labelArray[0] = new Coordinate(x,y+th);
-            labelArray[1] = new Coordinate(x+w,y+th);
-            labelArray[2] = new Coordinate(x+w,y+th+h);
-            labelArray[3] = new Coordinate(x,y+th+h);
-            labelArray[4] = new Coordinate(x,y+th);
+        if (!ChartParams.uniformSize) {
+            final Coordinate[] labelArray = new Coordinate[5];
+            labelArray[0] = new Coordinate(x, y + th);
+            labelArray[1] = new Coordinate(x + w, y + th);
+            labelArray[2] = new Coordinate(x + w, y + th + h);
+            labelArray[3] = new Coordinate(x, y + th + h);
+            labelArray[4] = new Coordinate(x, y + th);
 
-            LinearRing lr = new GeometryFactory().createLinearRing(labelArray);
-            Geometry labelGeometry = new GeometryFactory().createPolygon(lr, 
null);
+            final LinearRing lr = new GeometryFactory()
+                    .createLinearRing(labelArray);
+            final Geometry labelGeometry = new GeometryFactory().createPolygon(
+                    lr, null);
 
-            //Geometry labelGeometry = new 
GeometryFactory().createLineString(labelArray);
-            //System.out.println("labelGeom: "+labelGeometry.toString());
-            Feature labelFeature = new BasicFeature(featureSchema);
+            // Geometry labelGeometry = new
+            // GeometryFactory().createLineString(labelArray);
+            // System.out.println("labelGeom: "+labelGeometry.toString());
+            final Feature labelFeature = new BasicFeature(featureSchema);
             labelFeature.setGeometry(labelGeometry);
-            labelFeature.setAttribute("Name", 
iPlug.get("JumpChart.Legend.ChartType"));
-            labelFeature.setAttribute("dValue",-1.0);
-            labelFeature.setAttribute("iValue",-1);
+            labelFeature.setAttribute("Name",
+                    iPlug.get("JumpChart.Legend.ChartType"));
+            labelFeature.setAttribute("dValue", -1.0);
+            labelFeature.setAttribute("iValue", -1);
             labelFeature.setAttribute("Index", -1);
             dataset.add(labelFeature);
         }
 
-
     }
 
+    private String format(double val) {
+        return NumberFormatter.format(val);
 
-   
+    }
 
-    private String format(double val)
-    {
-       return NumberFormatter.format(val);
-        
-    }
-    
-    
 }

Modified: 
plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/JumpChartPlugIn.java
===================================================================
--- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/JumpChartPlugIn.java  
2018-04-03 11:36:21 UTC (rev 5726)
+++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/JumpChartPlugIn.java  
2018-04-04 11:52:58 UTC (rev 5727)
@@ -22,46 +22,50 @@
 
 package com.cadplan.jump;
 
+import javax.swing.Icon;
+import javax.swing.ImageIcon;
+
 import com.vividsolutions.jump.workbench.plugin.AbstractPlugIn;
 import com.vividsolutions.jump.workbench.plugin.PlugInContext;
 import com.vividsolutions.jump.workbench.ui.MenuNames;
-import com.vividsolutions.jump.workbench.ui.WorkbenchToolBar;
-import com.cadplan.fileio.IconLoader;
 
-import javax.swing.*;
-import java.awt.*;
-
 /**
- * User: geoff
- * Date: 28/04/2007
- * Time: 09:40:22
- * Copyright 2007 Geoffrey G Roy.
+ * User: geoff Date: 28/04/2007 Time: 09:40:22 Copyright 2007 Geoffrey G Roy.
  */
-public class JumpChartPlugIn extends AbstractPlugIn
-{
+public class JumpChartPlugIn extends AbstractPlugIn {
     private I18NPlug iPlug;
 
-    public void initialize(PlugInContext context) throws Exception
-    {
-        iPlug = new I18NPlug("JumpChart","language.JumpChartPlugin");
+    @Override
+    public void initialize(PlugInContext context) throws Exception {
+        iPlug = new I18NPlug("JumpChart", "language.JumpChartPlugin");
         ChartParams.setNames(iPlug);
 
-        String menuName = MenuNames.PLUGINS; //iPlug.get("JumpChart.MenuName");
-        String menuItem = iPlug.get("JumpChart.MenuItem");
-        context.getFeatureInstaller().addMainMenuItem(this, new String[] 
{menuName},
-                     menuItem, false, null, null);
-        String dirName = 
context.getWorkbenchContext().getWorkbench().getPlugInManager().getPlugInDirectory().getAbsolutePath();
-        IconLoader loader = new IconLoader(dirName,"JumpChart");
-        Image image = loader.loadImage("charticon.gif");
-        WorkbenchToolBar toolBar = context.getWorkbenchFrame().getToolBar();
-        
+        final String menuName = MenuNames.PLUGINS; // 
iPlug.get("JumpChart.MenuName");
+        final String menuItem = iPlug.get("JumpChart.MenuItem");
+        context.getFeatureInstaller().addMainMenuPlugin(this,
+                new String[] { menuName }, menuItem, false, getIcon(), null);
+        context.getWorkbenchFrame()
+                .getToolBar()
+                .addPlugIn(getIcon(), this, null, 
context.getWorkbenchContext());
 
-        JButton button = toolBar.addPlugIn(new 
ImageIcon(image),this,null,context.getWorkbenchContext());
     }
 
-    public boolean execute(PlugInContext context) throws Exception
-    {
-        Chart chart = new Chart(context, iPlug);
+    public Icon getIcon() {
+        return new ImageIcon(getClass().getResource("charticon.gif"));
+    }
+
+    @Override
+    public String getName() {
+        iPlug = new I18NPlug("JumpChart", "language.JumpChartPlugin");
+        return iPlug.get("JumpChart.MenuItem");
+    }
+
+    @Override
+    public boolean execute(PlugInContext context) throws Exception {
+        final Chart chart = new Chart(context, iPlug);
+
         return true;
+
     }
+
 }

Added: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/charticon.gif
===================================================================
(Binary files differ)

Index: plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/charticon.gif
===================================================================
--- plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/charticon.gif 
2018-04-03 11:36:21 UTC (rev 5726)
+++ plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/charticon.gif 
2018-04-04 11:52:58 UTC (rev 5727)

Property changes on: 
plug-ins/CadPlan_JumpChart/trunk/src/com/cadplan/jump/charticon.gif
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to