Revision: 5786
          http://sourceforge.net/p/jump-pilot/code/5786
Author:   ma15569
Date:     2018-05-04 05:43:18 +0000 (Fri, 04 May 2018)
Log Message:
-----------
Simplified AdditionalResultFrame.class code. Correct a bug on saving table to 
.csv.

Modified Paths:
--------------
    core/trunk/src/org/openjump/core/apitools/IOTools.java
    
core/trunk/src/org/openjump/sextante/gui/additionalResults/AdditionalResultsFrame.java

Modified: core/trunk/src/org/openjump/core/apitools/IOTools.java
===================================================================
--- core/trunk/src/org/openjump/core/apitools/IOTools.java      2018-05-01 
06:04:09 UTC (rev 5785)
+++ core/trunk/src/org/openjump/core/apitools/IOTools.java      2018-05-04 
05:43:18 UTC (rev 5786)
@@ -14,6 +14,7 @@
 
 package org.openjump.core.apitools;
 
+import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
@@ -25,6 +26,8 @@
 import java.util.List;
 import java.util.Vector;
 
+import javax.swing.JTable;
+
 import org.geotools.dbffile.DbfFieldDef;
 import org.geotools.dbffile.DbfFile;
 import org.geotools.dbffile.DbfFileWriter;
@@ -59,33 +62,37 @@
             .getContext().getLayerManager();
 
     private static String getExtension(String filename) {
-        int len = filename.length();
+        final int len = filename.length();
         return filename.substring(len - 3, len);
     }
 
     public static FeatureCollection load(String filename) throws Exception {
-        String extension = getExtension(filename);
-        if (extension.equalsIgnoreCase("SHP"))
+        final String extension = getExtension(filename);
+        if (extension.equalsIgnoreCase("SHP")) {
             return loadShapefile(filename);
-        if (extension.equalsIgnoreCase("JML"))
+        }
+        if (extension.equalsIgnoreCase("JML")) {
             return loadJMLFile(filename);
-        if (extension.equalsIgnoreCase("WKT"))
+        }
+        if (extension.equalsIgnoreCase("WKT")) {
             return loadWKT(filename);
+        }
         throw new Exception("Unknown file type: " + extension);
     }
 
     public static FeatureCollection load(String filename, String zipFileName)
             throws Exception {
-        String extension = getExtension(filename);
-        if (extension.equalsIgnoreCase("SHP"))
+        final String extension = getExtension(filename);
+        if (extension.equalsIgnoreCase("SHP")) {
             return loadShapefile(filename, zipFileName);
+        }
         throw new Exception("Unknown file type: " + extension);
     }
 
     public static FeatureCollection loadJMLFile(String filename)
             throws Exception {
-        JMLReader rdr = new JMLReader();
-        DriverProperties dp = new DriverProperties();
+        final JMLReader rdr = new JMLReader();
+        final DriverProperties dp = new DriverProperties();
         dp.set(DataSource.FILE_KEY, filename);
         return rdr.read(dp);
     }
@@ -92,8 +99,8 @@
 
     public static FeatureCollection loadShapefile(String filename)
             throws Exception {
-        ShapefileReader rdr = new ShapefileReader();
-        DriverProperties dp = new DriverProperties();
+        final ShapefileReader rdr = new ShapefileReader();
+        final DriverProperties dp = new DriverProperties();
         dp.set(DataSource.FILE_KEY, filename);
         return rdr.read(dp);
     }
@@ -100,33 +107,34 @@
 
     public static FeatureCollection loadShapefile(String filename,
             String zipFileName) throws Exception {
-        ShapefileReader rdr = new ShapefileReader();
-        DriverProperties dp = new DriverProperties();
+        final ShapefileReader rdr = new ShapefileReader();
+        final DriverProperties dp = new DriverProperties();
         dp.set(DataSource.FILE_KEY, filename);
-        if (zipFileName != null)
+        if (zipFileName != null) {
             dp.set(DataSource.COMPRESSED_KEY, zipFileName);
+        }
         return rdr.read(dp);
     }
 
     public static FeatureCollection loadFMEGML(String filename)
             throws Exception {
-        FMEGMLReader rdr = new FMEGMLReader();
-        DriverProperties dp = new DriverProperties();
+        final FMEGMLReader rdr = new FMEGMLReader();
+        final DriverProperties dp = new DriverProperties();
         dp.set(DataSource.FILE_KEY, filename);
         return rdr.read(dp);
     }
 
     public static FeatureCollection loadWKT(String filename) throws Exception {
-        WKTReader rdr = new WKTReader();
-        DriverProperties dp = new DriverProperties();
+        final WKTReader rdr = new WKTReader();
+        final DriverProperties dp = new DriverProperties();
         dp.set(DataSource.FILE_KEY, filename);
-        FeatureCollection fc = rdr.read(dp);
+        final FeatureCollection fc = rdr.read(dp);
         return fc;
     }
 
     public static void save(FeatureCollection fc, String filename)
             throws Exception {
-        String extension = getExtension(filename);
+        final String extension = getExtension(filename);
         if (extension.equalsIgnoreCase("SHP")) {
             saveShapefile(fc, filename);
             return;
@@ -139,8 +147,8 @@
 
     public static void saveShapefile(FeatureCollection fc, String filename)
             throws Exception {
-        ShapefileWriter writer = new ShapefileWriter();
-        DriverProperties dp = new DriverProperties();
+        final ShapefileWriter writer = new ShapefileWriter();
+        final DriverProperties dp = new DriverProperties();
         dp.set(DataSource.FILE_KEY, filename);
         writer.write(fc, dp);
     }
@@ -147,8 +155,8 @@
 
     public static void saveJMLFile(FeatureCollection fc, String filename)
             throws Exception {
-        JMLWriter writer = new JMLWriter();
-        DriverProperties dp = new DriverProperties();
+        final JMLWriter writer = new JMLWriter();
+        final DriverProperties dp = new DriverProperties();
         dp.set(DataSource.FILE_KEY, filename);
         writer.write(fc, dp);
     }
@@ -290,13 +298,41 @@
 
     }
 
+    public static void saveCSV(JTable table, String filename) throws Exception 
{
+
+        try {
+            final File file = new File(filename);
+            final BufferedWriter bw = new BufferedWriter(
+                    new OutputStreamWriter(new FileOutputStream(
+                            file.getAbsoluteFile()), "UTF-8"));
+
+            for (int j = 0; j < table.getColumnCount(); j++) {
+                bw.write(table.getModel().getColumnName(j) + ",");
+            }
+            bw.newLine();
+            ;
+            for (int i = 0; i < table.getRowCount(); i++) {
+                for (int j = 0; j < table.getColumnCount(); j++) {
+                    bw.write(table.getModel().getValueAt(i, j) + ",");
+                }
+                bw.newLine();
+            }
+            bw.close();
+        } catch (final Exception e) {
+
+            //
+        }
+    }
+
     public static void saveShapefile(Layer layer, String filename)
             throws Exception {
-        DataSourceQuery dsq = layer.getDataSourceQuery();
-        DriverProperties dp = new DriverProperties();
-        Object charsetName = 
dsq.getDataSource().getProperties().get("charset");
-        if (charsetName != null)
+        final DataSourceQuery dsq = layer.getDataSourceQuery();
+        final DriverProperties dp = new DriverProperties();
+        final Object charsetName = dsq.getDataSource().getProperties()
+                .get("charset");
+        if (charsetName != null) {
             dp.set("charset", charsetName.toString());
+        }
         (new ShapefileWriter()).write(layer.getFeatureCollectionWrapper(), dp);
         dp.set("File", filename);
         (new ShapefileWriter()).write(layer.getFeatureCollectionWrapper(), dp);
@@ -304,11 +340,13 @@
 
     public static void saveJMLFile(Layer layer, String filename)
             throws Exception {
-        DataSourceQuery dsq = layer.getDataSourceQuery();
-        DriverProperties dp = new DriverProperties();
-        Object charsetName = 
dsq.getDataSource().getProperties().get("charset");
-        if (charsetName != null)
+        final DataSourceQuery dsq = layer.getDataSourceQuery();
+        final DriverProperties dp = new DriverProperties();
+        final Object charsetName = dsq.getDataSource().getProperties()
+                .get("charset");
+        if (charsetName != null) {
             dp.set("charset", charsetName.toString());
+        }
         (new JMLWriter()).write(layer.getFeatureCollectionWrapper(), dp);
         dp.set("File", filename);
         (new JMLWriter()).write(layer.getFeatureCollectionWrapper(), dp);
@@ -349,18 +387,20 @@
 
     public static void saveStyleToFile(Layer layer, String path)
             throws Exception {
-        double internalScale = 1d / JUMPWorkbench.getInstance().getFrame()
-                .getContext().getLayerViewPanel().getViewport().getScale();
-        double realScale = ScreenScale.getHorizontalMapScale(JUMPWorkbench
-                .getInstance().getFrame().getContext().getLayerViewPanel()
-                .getViewport());
-        double scaleFactor = internalScale / realScale;
-        String outSLD = manager.uniqueLayerName(layer.getName() + ".sld");
+        final double internalScale = 1d / JUMPWorkbench.getInstance()
+                .getFrame().getContext().getLayerViewPanel().getViewport()
+                .getScale();
+        final double realScale = ScreenScale
+                .getHorizontalMapScale(JUMPWorkbench.getInstance().getFrame()
+                        .getContext().getLayerViewPanel().getViewport());
+        final double scaleFactor = internalScale / realScale;
+        final String outSLD = manager.uniqueLayerName(layer.getName() + 
".sld");
 
-        File sld_outFile = new 
File(path.concat(File.separator).concat(outSLD));
-        File inputXML = File.createTempFile("temptask", ".xml");
+        final File sld_outFile = new File(path.concat(File.separator).concat(
+                outSLD));
+        final File inputXML = File.createTempFile("temptask", ".xml");
         inputXML.deleteOnExit();
-        String name = layer.getName();
+        final String name = layer.getName();
         // TODO don't assume has 1 item!!!
         // Should create this condition in EnableCheckFactory
         if (layer.getFeatureCollectionWrapper().getFeatures().size() == 0) {
@@ -367,18 +407,18 @@
             throw new Exception(
                     
I18N.get("org.openjump.core.ui.plugin.tools.statistics.StatisticOverViewPlugIn.Selected-layer-is-empty"));
         }
-        BasicFeature bf = (BasicFeature) layer.getFeatureCollectionWrapper()
-                .getFeatures().get(0);
-        Geometry geo = bf.getGeometry();
-        String geoType = geo.getGeometryType();
-        Java2XML java2Xml = new Java2XML();
+        final BasicFeature bf = (BasicFeature) layer
+                .getFeatureCollectionWrapper().getFeatures().get(0);
+        final Geometry geo = bf.getGeometry();
+        final String geoType = geo.getGeometryType();
+        final Java2XML java2Xml = new Java2XML();
         java2Xml.write(layer, "layer", inputXML);
-        FileInputStream input = new FileInputStream(inputXML);
+        final FileInputStream input = new FileInputStream(inputXML);
         // FileWriter fw = new FileWriter( outputXML );
-        OutputStreamWriter fw = new OutputStreamWriter(new FileOutputStream(
-                sld_outFile), Charset.defaultCharset());
+        final OutputStreamWriter fw = new OutputStreamWriter(
+                new FileOutputStream(sld_outFile), Charset.defaultCharset());
         // "UTF-8");
-        HashMap<String, String> map = new HashMap<String, String>(9);
+        final HashMap<String, String> map = new HashMap<String, String>(9);
         map.put("wmsLayerName", name);
         map.put("featureTypeStyle", name);
         map.put("styleName", name);
@@ -411,9 +451,9 @@
     }
 
     public static void print(FeatureCollection fc) {
-        List featList = fc.getFeatures();
-        for (Iterator i = featList.iterator(); i.hasNext();) {
-            Feature f = (Feature) i.next();
+        final List featList = fc.getFeatures();
+        for (final Iterator i = featList.iterator(); i.hasNext();) {
+            final Feature f = (Feature) i.next();
             System.out.println(f.getGeometry());
         }
     }

Modified: 
core/trunk/src/org/openjump/sextante/gui/additionalResults/AdditionalResultsFrame.java
===================================================================
--- 
core/trunk/src/org/openjump/sextante/gui/additionalResults/AdditionalResultsFrame.java
      2018-05-01 06:04:09 UTC (rev 5785)
+++ 
core/trunk/src/org/openjump/sextante/gui/additionalResults/AdditionalResultsFrame.java
      2018-05-04 05:43:18 UTC (rev 5786)
@@ -6,7 +6,6 @@
 import java.awt.Component;
 import java.awt.Cursor;
 import java.awt.Dimension;
-import java.awt.FlowLayout;
 import java.awt.Graphics2D;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
@@ -24,12 +23,9 @@
 import java.util.Locale;
 
 import javax.imageio.ImageIO;
-import javax.swing.Box;
-import javax.swing.BoxLayout;
 import javax.swing.Icon;
 import javax.swing.ImageIcon;
 import javax.swing.JButton;
-import javax.swing.JCheckBox;
 import javax.swing.JDialog;
 import javax.swing.JFileChooser;
 import javax.swing.JLabel;
@@ -385,7 +381,6 @@
                         .getUserObject();
                 final Component c = (Component) oad.getObject();
                 if (c instanceof FeatureCollectionPanel) {
-
                     final FeatureCollectionPanel panel = 
(FeatureCollectionPanel) c;
                     final FeatureCollection fcoll = panel
                             .getFeatureCollection();
@@ -393,11 +388,6 @@
                             "Comma-Separated Values (csv)", "csv");
                     final FileNameExtensionFilter filter3 = new 
FileNameExtensionFilter(
                             "JUMP Markup Language (JML)", "jml");
-                    // Deactivate as it still has some problems on saving.
-                    // Possibly on geometry->String (Giuseppe Aruta)
-                    // final FileNameExtensionFilter filter4 = new
-                    // FileNameExtensionFilter(
-                    // "dBase database file (DBF)", "dbf");
                     filter = new FileNameExtensionFilter(
                             "ESRI Shapefile (SHP)", "shp");
                     final JFileChooser fc = new 
GUIUtil.FileChooserWithOverwritePrompting();
@@ -404,17 +394,12 @@
                     if (!LayerableUtil.isMixedGeometryType(fcoll)) {
                         fc.setFileFilter(filter);
                     }
-                    // fc.setFileFilter(filter4);
                     fc.setFileFilter(filter3);
                     fc.setFileFilter(filter2);
                     fc.addChoosableFileFilter(filter2);
                     final int returnVal = fc
                             .showSaveDialog(AdditionalResultsFrame.this);
-
-                    // FILE_BROWSER_WIDTH = fc.getWidth();
-                    // FILE_BROWSER_HEIGHT = fc.getHeight();
                     if (returnVal == JFileChooser.APPROVE_OPTION) {
-
                         if (fc.getFileFilter().equals(filter3)) {
                             file = new File(fc.getSelectedFile() + ".jml");
                             IOTools.saveJMLFile(fcoll, file.getAbsolutePath());
@@ -423,49 +408,19 @@
                             file = new File(fc.getSelectedFile() + ".shp");
                             IOTools.saveShapefile(fcoll, 
file.getAbsolutePath());
                             saved(file);
-                        }
-                        // else if (fc.getFileFilter().equals(filter4)) {
-                        // file = new File(fc.getSelectedFile() + ".dbf");
-                        // IOTools.saveDbfFile(fcoll, file.getAbsolutePath());
-                        // saved(file);
-                        // }
-
-                        else if (fc.getFileFilter().equals(filter2)) {
+                        } else if (fc.getFileFilter().equals(filter2)) {
                             final JTable table = panel.getTable();
-                            try {
-                                file = new File(fc.getSelectedFile() + ".csv");
-                                LAST_DIR = file.getParent();
-                                final FileWriter fw = new FileWriter(
-                                        file.getAbsoluteFile());
-                                final BufferedWriter bw = new 
BufferedWriter(fw);
-
-                                for (int j = 0; j < table.getColumnCount(); 
j++) {
-                                    bw.write(table.getModel().getColumnName(j)
-                                            + ",");
-                                }
-                                bw.write("\n");
-                                for (int i = 0; i < table.getRowCount(); i++) {
-                                    for (int j = 0; j < 
table.getColumnCount(); j++) {
-                                        bw.write(table.getModel().getValueAt(i,
-                                                j)
-                                                + ",");
-                                    }
-                                    bw.write("\n");
-                                }
-                                bw.close();
-                                fw.close();
-                                saved(file);
-                            } catch (final Exception e) {
-                                notsaved();
-                                Logger(this.getClass(), e);
-                            }
+                            file = new File(fc.getSelectedFile() + ".csv");
+                            IOTools.saveCSV(table, file.getAbsolutePath());
+                            saved(file);
                         }
+                    }
 
-                    }
                 } else if (c instanceof JScrollPane) {
                     final JScrollPane pane = (JScrollPane) c;
                     final Component view = pane.getViewport().getView();
-                    if (view instanceof JTextPane) {
+                    if (view instanceof JTextPane || view instanceof JLabel
+                            || view instanceof JTextArea) {
                         final JTextPane text = (JTextPane) pane.getViewport()
                                 .getView();
                         final JFileChooser fc = new 
GUIUtil.FileChooserWithOverwritePrompting(
@@ -493,60 +448,7 @@
                                 Logger(this.getClass(), e);
                             }
                         }
-                    } else if (view instanceof JLabel) {
-                        final String text = ((JLabel) view).getText();
-                        filter = new FileNameExtensionFilter("HTML", "html");
-                        final JFileChooser fc = new 
GUIUtil.FileChooserWithOverwritePrompting(
-                                "html");
-                        fc.setFileFilter(filter);
-                        fc.addChoosableFileFilter(filter);
-                        final int returnVal = fc
-                                .showSaveDialog(AdditionalResultsFrame.this);
-                        fc.getWidth();
-                        fc.getHeight();
-                        if (returnVal == JFileChooser.APPROVE_OPTION) {
-                            try {
-                                file = new File(fc.getSelectedFile() + 
".html");
-                                LAST_DIR = file.getParent();
-                                final FileWriter fileWriter = new FileWriter(
-                                        file);
-                                final BufferedWriter bufferedWriter = new 
BufferedWriter(
-                                        fileWriter);
-                                bufferedWriter.write(text);
-                                bufferedWriter.close();
-                                saved(file);
-                            } catch (final Exception e) {
-                                notsaved();
-                                Logger(this.getClass(), e);
-                            }
-                        }
-                    } else if (view instanceof JTextArea) {
-                        final String text = ((JLabel) view).getText();
-                        filter = new FileNameExtensionFilter("HTML", "html");
-                        final JFileChooser fc = new 
GUIUtil.FileChooserWithOverwritePrompting(
-                                "html");
-                        fc.setFileFilter(filter);
-                        fc.addChoosableFileFilter(filter);
-                        final int returnVal = fc
-                                .showSaveDialog(AdditionalResultsFrame.this);
-                        fc.getWidth();
-                        fc.getHeight();
-                        if (returnVal == JFileChooser.APPROVE_OPTION) {
-                            try {
-                                file = new File(fc.getSelectedFile() + 
".html");
-                                LAST_DIR = file.getParent();
-                                final FileWriter fileWriter = new FileWriter(
-                                        file);
-                                final BufferedWriter bufferedWriter = new 
BufferedWriter(
-                                        fileWriter);
-                                bufferedWriter.write(text);
-                                bufferedWriter.close();
-                                saved(file);
-                            } catch (final Exception e) {
-                                notsaved();
-                                Logger(this.getClass(), e);
-                            }
-                        }
+
                     } else if (view instanceof JTable) {
                         final JTable table = (JTable) pane.getViewport()
                                 .getView();
@@ -561,40 +463,15 @@
                         fc.getWidth();
                         fc.getHeight();
                         if (returnVal == JFileChooser.APPROVE_OPTION) {
-                            try {
-                                file = new File(fc.getSelectedFile() + ".csv");
-                                LAST_DIR = file.getParent();
-                                final FileWriter fw = new FileWriter(
-                                        file.getAbsoluteFile());
-                                final BufferedWriter bw = new 
BufferedWriter(fw);
-
-                                for (int j = 0; j < table.getColumnCount(); 
j++) {
-                                    bw.write(table.getModel().getColumnName(j)
-                                            + ",");
-                                }
-                                bw.write("\n");
-                                for (int i = 0; i < table.getRowCount(); i++) {
-                                    for (int j = 0; j < 
table.getColumnCount(); j++) {
-                                        bw.write(table.getModel().getValueAt(i,
-                                                j)
-                                                + ",");
-                                    }
-                                    bw.write("\n");
-                                }
-                                bw.close();
-                                fw.close();
-                                saved(file);
-                            } catch (final Exception e) {
-                                notsaved();
-                                Logger(this.getClass(), e);
-                            }
+                            file = new File(fc.getSelectedFile() + ".csv");
+                            IOTools.saveCSV(table, file.getAbsolutePath());
                         } else if (returnVal == JFileChooser.CANCEL_OPTION) {
                             return;
                         }
                     }
+
                 } else if (c instanceof PlotPanel) {
                     final PlotPanel panel = (PlotPanel) c;
-
                     filter = new FileNameExtensionFilter(
                             "Portable Network Graphics (png)", "png");
                     final FileNameExtensionFilter filter2 = new 
FileNameExtensionFilter(
@@ -611,29 +488,6 @@
                             .showSaveDialog(AdditionalResultsFrame.this);
                     fc.getWidth();
                     fc.getHeight();
-                    final Box box = new Box(BoxLayout.Y_AXIS);
-                    box.add(Box.createRigidArea(new Dimension(5, 180)));
-                    final JPanel jPanelSize = new JPanel(new FlowLayout(
-                            FlowLayout.LEFT));
-                    final JCheckBox worldFileCheckBox = new 
javax.swing.JCheckBox();
-                    worldFileCheckBox
-                            .setText(I18N
-                                    
.get("ui.plugin.SaveImageAsPlugIn.write-world-file"));
-                    jPanelSize.add(worldFileCheckBox);
-                    box.add(jPanelSize);
-                    fc.setAccessory(box);
-                    if (fc.getFileFilter().equals(filter)) {
-                        worldFileCheckBox.setEnabled(false);
-                        ;
-                        ;
-                        fc.repaint();
-                    } else if (fc.getFileFilter().equals(filter2)) {
-                        worldFileCheckBox.setEnabled(true);
-                        ;
-                        ;
-                        fc.repaint();
-                    }
-
                     if (returnVal == JFileChooser.APPROVE_OPTION) {
                         if (fc.getFileFilter().equals(filter)) {
                             file = new File(fc.getSelectedFile() + ".png");
@@ -667,33 +521,8 @@
                     fc.getWidth();
                     fc.getHeight();
                     if (returnVal == JFileChooser.APPROVE_OPTION) {
-                        try {
-                            file = new File(fc.getSelectedFile() + ".csv");
-                            LAST_DIR = file.getParent();
-                            final FileWriter fw = new FileWriter(
-                                    file.getAbsoluteFile());
-                            final BufferedWriter bw = new BufferedWriter(fw);
-
-                            for (int j = 0; j < table.getColumnCount(); j++) {
-                                bw.write(table.getModel().getColumnName(j)
-                                        + ",");
-                            }
-                            bw.write("\n");
-                            for (int i = 0; i < table.getRowCount(); i++) {
-                                for (int j = 0; j < table.getColumnCount(); 
j++) {
-                                    bw.write(table.getModel().getValueAt(i, j)
-                                            + ",");
-                                }
-                                bw.write("\n");
-                            }
-                            bw.close();
-                            fw.close();
-                            saved(file);
-                        } catch (final Exception e) {
-                            notsaved();
-                            Logger(this.getClass(), e);
-                        }
-
+                        file = new File(fc.getSelectedFile() + ".csv");
+                        IOTools.saveCSV(table, file.getAbsolutePath());
                     } else if (returnVal == JFileChooser.CANCEL_OPTION) {
                         return;
                     }
@@ -753,7 +582,6 @@
                         }
                     }
                 }
-
             } catch (final Exception e) {
                 Logger(this.getClass(), e);
             }


------------------------------------------------------------------------------
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