Revision: 5057
http://sourceforge.net/p/jump-pilot/code/5057
Author: michaudm
Date: 2016-10-08 17:19:35 +0000 (Sat, 08 Oct 2016)
Log Message:
-----------
Fix #432 Zipped datasource should be unmodifiable
Modified Paths:
--------------
core/trunk/ChangeLog
core/trunk/src/com/vividsolutions/jump/io/datasource/DataSource.java
core/trunk/src/com/vividsolutions/jump/workbench/driver/FMEFileInputDriver.java
core/trunk/src/com/vividsolutions/jump/workbench/driver/FMEFileOutputDriver.java
core/trunk/src/com/vividsolutions/jump/workbench/driver/GMLFileInputDriver.java
core/trunk/src/com/vividsolutions/jump/workbench/driver/GMLFileOutputDriver.java
core/trunk/src/com/vividsolutions/jump/workbench/driver/JMLFileInputDriver.java
core/trunk/src/com/vividsolutions/jump/workbench/driver/JMLFileOutputDriver.java
core/trunk/src/com/vividsolutions/jump/workbench/driver/ShapeFileInputDriver.java
core/trunk/src/com/vividsolutions/jump/workbench/driver/ShapefileOutputDriver.java
core/trunk/src/com/vividsolutions/jump/workbench/driver/WKTFileInputDriver.java
core/trunk/src/com/vividsolutions/jump/workbench/driver/WKTFileOutputDriver.java
core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/EditablePlugIn.java
Modified: core/trunk/ChangeLog
===================================================================
--- core/trunk/ChangeLog 2016-10-08 16:10:24 UTC (rev 5056)
+++ core/trunk/ChangeLog 2016-10-08 17:19:35 UTC (rev 5057)
@@ -3,9 +3,18 @@
# 2. make sure that lines break at 80 chars for constricted display situations
#<-------------------------------- 80 chars
---------------------------------->#
+2016-10-08
+ * Fix bug #433 throwing exception when applying scale limits in bad order
+ * Optimization : changeStyle was applying the new style two times
+ * Fix #432 Zipped datasource should be unmodifiable
+
2016-10-08 Giuseppe Aruta <[email protected]>
* Upgraded Sextante (Correct bug #410. Added Sextante Data Explorer)
+2016-10-07 mmichaud <[email protected]>
+ * Fix SaveLayersWithoutDataSourcePlugIn by using JFileChooser instead of
+ JFCWithEnterAction
+
2016-10-06 ede
* PLUS: update ImageIO-Ext to 1.1.15, GDAL binding to 2.1.0
Modified: core/trunk/src/com/vividsolutions/jump/io/datasource/DataSource.java
===================================================================
--- core/trunk/src/com/vividsolutions/jump/io/datasource/DataSource.java
2016-10-08 16:10:24 UTC (rev 5056)
+++ core/trunk/src/com/vividsolutions/jump/io/datasource/DataSource.java
2016-10-08 17:19:35 UTC (rev 5057)
@@ -84,6 +84,11 @@
public static final String URI_KEY = "Uri";
/**
+ * A property used when the datasource is wrapped into a compressed file
+ */
+ public static final String COMPRESSED_KEY = "CompressedFile";
+
+ /**
* Coordinate-system property, used for files and other DataSources that have
* a single CoordinateSystem
*/
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/driver/FMEFileInputDriver.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/driver/FMEFileInputDriver.java
2016-10-08 16:10:24 UTC (rev 5056)
+++
core/trunk/src/com/vividsolutions/jump/workbench/driver/FMEFileInputDriver.java
2016-10-08 17:19:35 UTC (rev 5057)
@@ -34,15 +34,11 @@
package com.vividsolutions.jump.workbench.driver;
import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
import com.vividsolutions.jump.feature.FeatureCollection;
import com.vividsolutions.jump.io.CompressedFile;
import com.vividsolutions.jump.io.DriverProperties;
import com.vividsolutions.jump.io.FMEGMLReader;
-import com.vividsolutions.jump.io.ParseException;
-import com.vividsolutions.jump.workbench.model.Layer;
import com.vividsolutions.jump.workbench.model.LayerManager;
import com.vividsolutions.jump.workbench.ui.AbstractDriverPanel;
import com.vividsolutions.jump.workbench.ui.BasicFileDriverPanel;
@@ -50,7 +46,10 @@
import com.vividsolutions.jump.workbench.ui.GUIUtil;
import com.vividsolutions.jump.workbench.ui.WorkbenchFileFilter;
+import static com.vividsolutions.jump.io.datasource.DataSource.*;
+
+
public class FMEFileInputDriver extends AbstractInputDriver {
private BasicFileDriverPanel panel;
private DriverProperties dp = new DriverProperties();
@@ -72,9 +71,7 @@
}
public void input(LayerManager layerManager, String categoryName)
- throws FileNotFoundException, IOException, ParseException,
- com.vividsolutions.jts.io.ParseException,
- com.vividsolutions.jump.io.IllegalParametersException, Exception {
+ throws Exception {
String extension;
File selectedFile = panel.getSelectedFile();
FeatureCollection featureCollection;
@@ -90,38 +87,34 @@
if (extension.equalsIgnoreCase("zip")) {
String internalName;
- dp.set("CompressedFile", name);
- internalName =
CompressedFile.getInternalZipFnameByExtension(".fme",
- name);
+ dp.set(COMPRESSED_KEY, name);
+ internalName =
CompressedFile.getInternalZipFnameByExtension(".fme", name);
if (internalName == null) {
- internalName =
CompressedFile.getInternalZipFnameByExtension(".xml",
- name);
+ internalName =
CompressedFile.getInternalZipFnameByExtension(".xml", name);
}
if (internalName == null) {
- internalName =
CompressedFile.getInternalZipFnameByExtension(".gml",
- name);
+ internalName =
CompressedFile.getInternalZipFnameByExtension(".gml", name);
}
if (internalName == null) {
throw new Exception(
- "Couldnt find a .fme, .xml, or .gml file inside the .zip
file: " +
- name);
+ "Couldnt find a .fme, .xml, or .gml file inside the .zip
file: " + name);
}
- dp.set("File", internalName);
+ dp.set(FILE_KEY, internalName);
} else if (extension.equalsIgnoreCase(".gz")) {
- dp.set("CompressedFile", name);
- dp.set("File", name); // not useed
+ dp.set(COMPRESSED_KEY, name);
+ dp.set(FILE_KEY, name); // not useed
} else {
- dp.set("File", name);
+ dp.set(FILE_KEY, name);
}
// no "TemplateFile" specified, so read it from the top of the "File"
featureCollection = fmeReader.read(dp);
- Layer layer = layerManager.addLayer(categoryName,
+ layerManager.addLayer(categoryName,
GUIUtil.nameWithoutExtension(selectedFile), featureCollection);
}
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/driver/FMEFileOutputDriver.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/driver/FMEFileOutputDriver.java
2016-10-08 16:10:24 UTC (rev 5056)
+++
core/trunk/src/com/vividsolutions/jump/workbench/driver/FMEFileOutputDriver.java
2016-10-08 17:19:35 UTC (rev 5057)
@@ -34,32 +34,28 @@
package com.vividsolutions.jump.workbench.driver;
import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
import com.vividsolutions.jump.io.DriverProperties;
-import com.vividsolutions.jump.io.FMEGMLReader;
import com.vividsolutions.jump.io.FMEGMLWriter;
-import com.vividsolutions.jump.io.ParseException;
import com.vividsolutions.jump.workbench.model.Layer;
import com.vividsolutions.jump.workbench.ui.GUIUtil;
+import static com.vividsolutions.jump.io.datasource.DataSource.*;
+
public class FMEFileOutputDriver extends AbstractOutputDriver {
private FMEGMLWriter fmeGmlWriter = new FMEGMLWriter();
public FMEFileOutputDriver() {
}
- public void output(Layer layer)
- throws FileNotFoundException, IOException, ParseException,
- com.vividsolutions.jts.io.ParseException, Exception {
+ public void output(Layer layer) throws Exception {
File selectedFile = driverManager.getSharedSaveBasicFileDriverPanel()
.getSelectedFile();
String fname = selectedFile.getAbsolutePath();
DriverProperties dp = new DriverProperties();
- dp.set("File", fname);
+ dp.set(FILE_KEY, fname);
fmeGmlWriter.write(layer.getFeatureCollectionWrapper(), dp);
}
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/driver/GMLFileInputDriver.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/driver/GMLFileInputDriver.java
2016-10-08 16:10:24 UTC (rev 5056)
+++
core/trunk/src/com/vividsolutions/jump/workbench/driver/GMLFileInputDriver.java
2016-10-08 17:19:35 UTC (rev 5057)
@@ -45,8 +45,8 @@
import com.vividsolutions.jump.workbench.ui.ErrorHandler;
import com.vividsolutions.jump.workbench.ui.GMLFileDriverPanel;
import com.vividsolutions.jump.workbench.ui.GUIUtil;
-import com.vividsolutions.jump.workbench.ui.WorkbenchFileFilter;
+import static com.vividsolutions.jump.io.datasource.DataSource.*;
public class GMLFileInputDriver extends AbstractInputDriver {
private GMLFileDriverPanel panel;
@@ -74,28 +74,25 @@
if (extension_gml.equalsIgnoreCase("zip")) {
String internalName;
- dp.set("CompressedFile", fname);
+ dp.set(COMPRESSED_KEY, fname);
- internalName =
CompressedFile.getInternalZipFnameByExtension(".gml",
- fname);
+ internalName =
CompressedFile.getInternalZipFnameByExtension(".gml", fname);
if (internalName == null) {
- internalName =
CompressedFile.getInternalZipFnameByExtension(".xml",
- fname);
+ internalName =
CompressedFile.getInternalZipFnameByExtension(".xml", fname);
}
if (internalName == null) {
throw new Exception(
- "Couldnt find a .xml or .gml file inside the .zip file: " +
- fname);
+ "Couldnt find a .xml or .gml file inside the .zip file: "
+ fname);
}
- dp.set("File", internalName);
+ dp.set(FILE_KEY, internalName);
} else if (extension_gml.equalsIgnoreCase(".gz")) {
- dp.set("CompressedFile", fname);
- dp.set("File", fname); // not useed
+ dp.set(COMPRESSED_KEY, fname);
+ dp.set(FILE_KEY, fname); // not useed
} else {
- dp.set("File", fname);
+ dp.set(FILE_KEY, fname);
}
if (extension_template.equalsIgnoreCase("zip")) {
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/driver/GMLFileOutputDriver.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/driver/GMLFileOutputDriver.java
2016-10-08 16:10:24 UTC (rev 5056)
+++
core/trunk/src/com/vividsolutions/jump/workbench/driver/GMLFileOutputDriver.java
2016-10-08 17:19:35 UTC (rev 5057)
@@ -42,7 +42,10 @@
import com.vividsolutions.jump.workbench.ui.ErrorHandler;
import com.vividsolutions.jump.workbench.ui.GMLFileDriverPanel;
+import static com.vividsolutions.jump.io.datasource.DataSource.*;
+
+
public class GMLFileOutputDriver extends AbstractOutputDriver {
private GMLFileDriverPanel panel;
private GMLWriter writer = new GMLWriter();
@@ -55,7 +58,7 @@
String fname = selectedFile.getAbsolutePath();
DriverProperties dp = new DriverProperties();
- dp.set("File", fname);
+ dp.set(FILE_KEY, fname);
dp.set("TemplateFile", panel.getTemplateFile().getAbsolutePath());
writer.write(layer.getFeatureCollectionWrapper(), dp);
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/driver/JMLFileInputDriver.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/driver/JMLFileInputDriver.java
2016-10-08 16:10:24 UTC (rev 5056)
+++
core/trunk/src/com/vividsolutions/jump/workbench/driver/JMLFileInputDriver.java
2016-10-08 17:19:35 UTC (rev 5057)
@@ -34,15 +34,11 @@
package com.vividsolutions.jump.workbench.driver;
import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
import com.vividsolutions.jump.feature.FeatureCollection;
import com.vividsolutions.jump.io.CompressedFile;
import com.vividsolutions.jump.io.DriverProperties;
import com.vividsolutions.jump.io.JMLReader;
-import com.vividsolutions.jump.io.ParseException;
-import com.vividsolutions.jump.workbench.model.Layer;
import com.vividsolutions.jump.workbench.model.LayerManager;
import com.vividsolutions.jump.workbench.ui.AbstractDriverPanel;
import com.vividsolutions.jump.workbench.ui.BasicFileDriverPanel;
@@ -50,7 +46,10 @@
import com.vividsolutions.jump.workbench.ui.GUIUtil;
import com.vividsolutions.jump.workbench.ui.WorkbenchFileFilter;
+import static com.vividsolutions.jump.io.datasource.DataSource.*;
+
+
/**
* @author Alan Chang
* @version 1.0
@@ -89,10 +88,7 @@
panel.setFileMustExist(true);
}
- public void input(LayerManager layerManager, String categoryName)
- throws FileNotFoundException, IOException, ParseException,
- com.vividsolutions.jts.io.ParseException,
- com.vividsolutions.jump.io.IllegalParametersException, Exception {
+ public void input(LayerManager layerManager, String categoryName) throws
Exception {
String extension;
File selectedFile = panel.getSelectedFile();
FeatureCollection featureCollection;
@@ -105,38 +101,34 @@
if (extension.equalsIgnoreCase("zip")) {
String internalName;
- dp.set("CompressedFile", name);
- internalName =
CompressedFile.getInternalZipFnameByExtension(".jml",
- name);
+ dp.set(COMPRESSED_KEY, name);
+ internalName =
CompressedFile.getInternalZipFnameByExtension(".jml", name);
if (internalName == null) {
- internalName =
CompressedFile.getInternalZipFnameByExtension(".gml",
- name);
+ internalName =
CompressedFile.getInternalZipFnameByExtension(".gml", name);
}
if (internalName == null) {
- internalName =
CompressedFile.getInternalZipFnameByExtension(".xml",
- name);
+ internalName =
CompressedFile.getInternalZipFnameByExtension(".xml", name);
}
if (internalName == null) {
throw new Exception(
- "Couldnt find a .jml, .xml, or .gml file inside the .zip
file: " +
- name);
+ "Couldnt find a .jml, .xml, or .gml file inside the .zip
file: " + name);
}
- dp.set("File", internalName);
+ dp.set(FILE_KEY, internalName);
} else if (extension.equalsIgnoreCase(".gz")) {
- dp.set("CompressedFile", name);
- dp.set("File", name); // not useed
+ dp.set(COMPRESSED_KEY, name);
+ dp.set(FILE_KEY, name); // not used
} else {
- dp.set("File", name);
+ dp.set(FILE_KEY, name);
}
// no "TemplateFile" specified, so read it from the top of the "File"
featureCollection = jmlReader.read(dp);
- Layer layer = layerManager.addLayer(categoryName,
+ layerManager.addLayer(categoryName,
GUIUtil.nameWithoutExtension(selectedFile), featureCollection);
}
}
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/driver/JMLFileOutputDriver.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/driver/JMLFileOutputDriver.java
2016-10-08 16:10:24 UTC (rev 5056)
+++
core/trunk/src/com/vividsolutions/jump/workbench/driver/JMLFileOutputDriver.java
2016-10-08 17:19:35 UTC (rev 5057)
@@ -34,16 +34,13 @@
package com.vividsolutions.jump.workbench.driver;
import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
import com.vividsolutions.jump.io.DriverProperties;
import com.vividsolutions.jump.io.GMLWriter;
-import com.vividsolutions.jump.io.JMLReader;
-import com.vividsolutions.jump.io.ParseException;
import com.vividsolutions.jump.workbench.model.Layer;
import com.vividsolutions.jump.workbench.ui.GUIUtil;
+import static com.vividsolutions.jump.io.datasource.DataSource.*;
public class JMLFileOutputDriver extends AbstractOutputDriver {
private GMLWriter gmlWriter = new GMLWriter();
@@ -51,15 +48,13 @@
public JMLFileOutputDriver() {
}
- public void output(Layer layer)
- throws FileNotFoundException, IOException, ParseException,
- com.vividsolutions.jts.io.ParseException, Exception {
+ public void output(Layer layer) throws Exception {
File selectedFile = driverManager.getSharedSaveBasicFileDriverPanel()
.getSelectedFile();
String fname = selectedFile.getAbsolutePath();
DriverProperties dp = new DriverProperties();
- dp.set("File", fname);
+ dp.set(FILE_KEY, fname);
gmlWriter.write(layer.getFeatureCollectionWrapper(), dp);
}
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/driver/ShapeFileInputDriver.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/driver/ShapeFileInputDriver.java
2016-10-08 16:10:24 UTC (rev 5056)
+++
core/trunk/src/com/vividsolutions/jump/workbench/driver/ShapeFileInputDriver.java
2016-10-08 17:19:35 UTC (rev 5057)
@@ -34,15 +34,11 @@
package com.vividsolutions.jump.workbench.driver;
import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
import com.vividsolutions.jump.feature.FeatureCollection;
import com.vividsolutions.jump.io.CompressedFile;
import com.vividsolutions.jump.io.DriverProperties;
-import com.vividsolutions.jump.io.ParseException;
import com.vividsolutions.jump.io.ShapefileReader;
-import com.vividsolutions.jump.workbench.model.Layer;
import com.vividsolutions.jump.workbench.model.LayerManager;
import com.vividsolutions.jump.workbench.ui.AbstractDriverPanel;
import com.vividsolutions.jump.workbench.ui.BasicFileDriverPanel;
@@ -50,7 +46,9 @@
import com.vividsolutions.jump.workbench.ui.GUIUtil;
import com.vividsolutions.jump.workbench.ui.WorkbenchFileFilter;
+import static com.vividsolutions.jump.io.datasource.DataSource.*;
+
public class ShapeFileInputDriver extends AbstractInputDriver {
private ShapefileReader reader = new ShapefileReader();
private BasicFileDriverPanel panel;
@@ -66,10 +64,7 @@
return panel;
}
- public void input(LayerManager layerManager, String categoryName)
- throws FileNotFoundException, IOException, ParseException,
- com.vividsolutions.jump.io.ParseException,
- com.vividsolutions.jump.io.IllegalParametersException, Exception {
+ public void input(LayerManager layerManager, String categoryName) throws
Exception {
String extension;
File selectedFile = panel.getSelectedFile();
String name = GUIUtil.nameWithoutExtension(selectedFile);
@@ -82,23 +77,21 @@
if (extension.equalsIgnoreCase("zip")) {
String internalName;
- dp.set("CompressedFile", fname);
- internalName =
CompressedFile.getInternalZipFnameByExtension(".shp",
- fname);
+ dp.set(COMPRESSED_KEY, fname);
+ internalName =
CompressedFile.getInternalZipFnameByExtension(".shp", fname);
if (internalName == null) {
throw new Exception(
"Couldnt find a .shp file inside the .zip file: " + fname);
}
- dp.set("File", internalName);
+ dp.set(FILE_KEY, internalName);
} else {
- dp.set("File", fname);
+ dp.set(FILE_KEY, fname);
}
FeatureCollection featureCollection = reader.read(dp);
- Layer layer = layerManager.addLayer(categoryName, name,
- featureCollection);
+ layerManager.addLayer(categoryName, name, featureCollection);
}
public void initialize(DriverManager driverManager,
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/driver/ShapefileOutputDriver.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/driver/ShapefileOutputDriver.java
2016-10-08 16:10:24 UTC (rev 5056)
+++
core/trunk/src/com/vividsolutions/jump/workbench/driver/ShapefileOutputDriver.java
2016-10-08 17:19:35 UTC (rev 5057)
@@ -34,32 +34,28 @@
package com.vividsolutions.jump.workbench.driver;
import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
import com.vividsolutions.jump.io.DriverProperties;
-import com.vividsolutions.jump.io.ParseException;
-import com.vividsolutions.jump.io.ShapefileReader;
import com.vividsolutions.jump.io.ShapefileWriter;
import com.vividsolutions.jump.workbench.model.Layer;
import com.vividsolutions.jump.workbench.ui.GUIUtil;
+import static com.vividsolutions.jump.io.datasource.DataSource.*;
+
public class ShapefileOutputDriver extends AbstractOutputDriver {
private ShapefileWriter shapeWriter = new ShapefileWriter();
public ShapefileOutputDriver() {
}
- public void output(Layer layer)
- throws FileNotFoundException, IOException, ParseException,
- com.vividsolutions.jts.io.ParseException, Exception {
+ public void output(Layer layer) throws Exception {
File selectedFile = driverManager.getSharedSaveBasicFileDriverPanel()
.getSelectedFile();
String fname = selectedFile.getAbsolutePath();
DriverProperties dp = new DriverProperties();
- dp.set("File", fname);
+ dp.set(FILE_KEY, fname);
shapeWriter.write(layer.getFeatureCollectionWrapper(), dp);
}
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/driver/WKTFileInputDriver.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/driver/WKTFileInputDriver.java
2016-10-08 16:10:24 UTC (rev 5056)
+++
core/trunk/src/com/vividsolutions/jump/workbench/driver/WKTFileInputDriver.java
2016-10-08 17:19:35 UTC (rev 5057)
@@ -34,15 +34,11 @@
package com.vividsolutions.jump.workbench.driver;
import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
import com.vividsolutions.jump.feature.FeatureCollection;
import com.vividsolutions.jump.io.CompressedFile;
import com.vividsolutions.jump.io.DriverProperties;
-import com.vividsolutions.jump.io.ParseException;
import com.vividsolutions.jump.io.WKTReader;
-import com.vividsolutions.jump.workbench.model.Layer;
import com.vividsolutions.jump.workbench.model.LayerManager;
import com.vividsolutions.jump.workbench.ui.AbstractDriverPanel;
import com.vividsolutions.jump.workbench.ui.BasicFileDriverPanel;
@@ -50,7 +46,9 @@
import com.vividsolutions.jump.workbench.ui.GUIUtil;
import com.vividsolutions.jump.workbench.ui.WorkbenchFileFilter;
+import static com.vividsolutions.jump.io.datasource.DataSource.*;
+
public class WKTFileInputDriver extends AbstractInputDriver {
private WKTReader reader = new WKTReader();
private BasicFileDriverPanel panel;
@@ -66,10 +64,7 @@
return panel;
}
- public void input(LayerManager layerManager, String categoryName)
- throws FileNotFoundException, IOException, ParseException,
- com.vividsolutions.jts.io.ParseException,
- com.vividsolutions.jump.io.IllegalParametersException, Exception {
+ public void input(LayerManager layerManager, String categoryName) throws
Exception {
String extension;
File selectedFile = panel.getSelectedFile();
String layerName = GUIUtil.nameWithoutExtension(selectedFile);
@@ -83,32 +78,28 @@
if (extension.equalsIgnoreCase("zip")) {
String internalName;
- dp.set("CompressedFile", fname);
- internalName =
CompressedFile.getInternalZipFnameByExtension(".wkt",
- fname);
+ dp.set(COMPRESSED_KEY, fname);
+ internalName =
CompressedFile.getInternalZipFnameByExtension(".wkt", fname);
if (internalName == null) {
- internalName =
CompressedFile.getInternalZipFnameByExtension(".txt",
- fname);
+ internalName =
CompressedFile.getInternalZipFnameByExtension(".txt", fname);
}
if (internalName == null) {
throw new Exception(
- "Couldnt find a .wkt, or .txt file inside the .zip file: "
+
- fname);
+ "Couldnt find a .wkt, or .txt file inside the .zip file: "
+ fname);
}
- dp.set("File", internalName);
+ dp.set(FILE_KEY, internalName);
} else if (extension.equalsIgnoreCase(".gz")) {
- dp.set("CompressedFile", fname);
- dp.set("File", fname); // not useed
+ dp.set(COMPRESSED_KEY, fname);
+ dp.set(FILE_KEY, fname); // not used
} else {
- dp.set("File", fname);
+ dp.set(FILE_KEY, fname);
}
FeatureCollection featureCollection = reader.read(dp);
- Layer layer = layerManager.addLayer(categoryName, layerName,
- featureCollection);
+ layerManager.addLayer(categoryName, layerName, featureCollection);
}
public void initialize(DriverManager driverManager,
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/driver/WKTFileOutputDriver.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/driver/WKTFileOutputDriver.java
2016-10-08 16:10:24 UTC (rev 5056)
+++
core/trunk/src/com/vividsolutions/jump/workbench/driver/WKTFileOutputDriver.java
2016-10-08 17:19:35 UTC (rev 5057)
@@ -35,13 +35,15 @@
import java.io.File;
import com.vividsolutions.jump.io.DriverProperties;
-import com.vividsolutions.jump.io.WKTReader;
import com.vividsolutions.jump.io.WKTWriter;
import com.vividsolutions.jump.workbench.model.Layer;
import com.vividsolutions.jump.workbench.ui.GUIUtil;
+import static com.vividsolutions.jump.io.datasource.DataSource.*;
+
public class WKTFileOutputDriver extends AbstractOutputDriver {
+
private WKTWriter writer = new WKTWriter();
public WKTFileOutputDriver() {
@@ -57,7 +59,7 @@
String fname = selectedFile.getAbsolutePath();
DriverProperties dp = new DriverProperties();
- dp.set("File", fname);
+ dp.set(FILE_KEY, fname);
writer.write(layer.getFeatureCollectionWrapper(), dp);
}
}
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/EditablePlugIn.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/EditablePlugIn.java
2016-10-08 16:10:24 UTC (rev 5056)
+++
core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/EditablePlugIn.java
2016-10-08 17:19:35 UTC (rev 5057)
@@ -38,7 +38,9 @@
import javax.swing.JInternalFrame;
import com.vividsolutions.jump.I18N;
+import com.vividsolutions.jump.io.datasource.DataSource;
import com.vividsolutions.jump.workbench.WorkbenchContext;
+import com.vividsolutions.jump.workbench.model.Layer;
import com.vividsolutions.jump.workbench.model.Layerable;
import com.vividsolutions.jump.workbench.plugin.AbstractPlugIn;
import com.vividsolutions.jump.workbench.plugin.CheckBoxed;
@@ -75,7 +77,9 @@
boolean makeEditable = !layers[0].isEditable();
// set states for each
for (Layerable layerable : layers) {
- layerable.setEditable(makeEditable);
+ if (isWritable(layerable)) {
+ layerable.setEditable(makeEditable);
+ }
}
// show EditToolBox if we switched to editable
@@ -86,6 +90,19 @@
return true;
}
+ private boolean isWritable(Layerable layerable) {
+ if (layerable instanceof Layer) {
+ Layer layer = (Layer)layerable;
+ if (layer.getDataSourceQuery() == null ||
+ layer.getDataSourceQuery().getDataSource() == null) {
+ return true;
+ } else {
+ DataSource source = layer.getDataSourceQuery().getDataSource();
+ return (source.isWritable() &&
source.getProperties().get("CompressedFile") == null);
+ }
+ } else return false;
+ }
+
public EnableCheck createEnableCheck(final WorkbenchContext
workbenchContext) {
EnableCheckFactory checkFactory = new EnableCheckFactory(workbenchContext);
MultiEnableCheck mec = new MultiEnableCheck();
@@ -126,12 +143,12 @@
JInternalFrame frame = wbc.getWorkbench().getFrame()
.getActiveInternalFrame();
if (frame instanceof LayerNamePanelProxy) {
- LayerNamePanel lnp = ((LayerNamePanelProxy) frame).getLayerNamePanel();
- if (lnp instanceof LayerableNamePanel)
- layers = ((LayerableNamePanel) lnp).getSelectedLayerables().toArray(
+ LayerNamePanel layerNamePanel = ((LayerNamePanelProxy)
frame).getLayerNamePanel();
+ if (layerNamePanel instanceof LayerableNamePanel)
+ layers = ((LayerableNamePanel)
layerNamePanel).getSelectedLayerables().toArray(
new Layerable[] {});
else
- layers = lnp.getSelectedLayers();
+ layers = layerNamePanel.getSelectedLayers();
}
return layers;
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel