Maybe,

Did not have time to analyse your suggestion,

Just revert enough changes to make projects with zip load again

Still having a problem with SaveLayers without datasource

I'll let you know.

Anyway, having both properties is very error prone.

Michaël


Le 06/10/2016 à 13:04, [email protected] a écrit :
> do you agree with my assessment below?.. ede
>
> On 06.10.2016 13:00, Michaël Michaud wrote:
>> Hi,
>>
>> Yes, seems that I've broken something,
>>
>> Michaël
>>
>>
>> Le 06/10/2016 à 12:07, [email protected] a écrit :
>>> hey Mike,
>>>
>>> is it possible you broke zip reloading on project opening with your commit? 
>>> haven't downloaded it yet and am not sure i like the changes. many changes 
>>> always equals a higher probability to break something.
>>> why couldn't you simply create the "missing" property directly before the 
>>> file is read/written in ReaderWriterFileDataSource ?
>>>
>>> i can have a go at it, but maybe you had a good reason to touch all these 
>>> classes.
>>>
>>> ..ede
>>>
>>> On 06.10.2016 08:44, [email protected] wrote:
>>>> Revision: 5047
>>>>             http://sourceforge.net/p/jump-pilot/code/5047
>>>> Author:   michaudm
>>>> Date:     2016-10-06 06:44:39 +0000 (Thu, 06 Oct 2016)
>>>> Log Message:
>>>> -----------
>>>> Use URI_KEY and FILE_KEY properties for file based datasources in order to 
>>>> keep compatibility with legacy plugins
>>>>
>>>> Modified Paths:
>>>> --------------
>>>>       core/trunk/ChangeLog
>>>>       core/trunk/src/com/vividsolutions/jump/io/CompressedFile.java
>>>>       core/trunk/src/com/vividsolutions/jump/io/datasource/DataSource.java
>>>>       
>>>> core/trunk/src/com/vividsolutions/jump/io/datasource/ReaderWriterFileDataSource.java
>>>>       
>>>> core/trunk/src/com/vividsolutions/jump/workbench/datasource/FileDataSourceQueryChooser.java
>>>>       
>>>> core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/OpenProjectPlugIn.java
>>>>       core/trunk/src/jumptest/io/Playground.java
>>>>       core/trunk/src/language/jump.properties
>>>>       core/trunk/src/language/jump_cz.properties
>>>>       core/trunk/src/language/jump_de.properties
>>>>       core/trunk/src/language/jump_es.properties
>>>>       core/trunk/src/language/jump_fi.properties
>>>>       core/trunk/src/language/jump_fr.properties
>>>>       core/trunk/src/language/jump_hu.properties
>>>>       core/trunk/src/language/jump_it.properties
>>>>       core/trunk/src/language/jump_ja_JP.properties
>>>>       core/trunk/src/language/jump_ml.properties
>>>>       core/trunk/src/language/jump_pt.properties
>>>>       core/trunk/src/language/jump_pt_BR.properties
>>>>       core/trunk/src/language/jump_ta_IN.properties
>>>>       core/trunk/src/language/jump_te.properties
>>>>       core/trunk/src/language/jump_zh_CN.properties
>>>>       core/trunk/src/language/jump_zh_HK.properties
>>>>       core/trunk/src/org/openjump/core/ccordsys/utils/ProjUtils.java
>>>>       
>>>> core/trunk/src/org/openjump/core/ui/io/file/DataSourceFileLayerLoader.java
>>>>       
>>>> core/trunk/src/org/openjump/core/ui/plugin/file/SaveLayersWithoutDataSourcePlugIn.java
>>>>       
>>>> core/trunk/src/org/openjump/core/ui/plugin/file/open/OpenProjectWizard.java
>>>>       
>>>> core/trunk/src/org/openjump/core/ui/plugin/layer/NewLayerPropertiesPlugIn.java
>>>>       
>>>> core/trunk/src/org/openjump/core/ui/plugin/mousemenu/SaveDatasetsPlugIn.java
>>>>
>>>> Modified: core/trunk/ChangeLog
>>>> ===================================================================
>>>> --- core/trunk/ChangeLog   2016-10-05 14:15:10 UTC (rev 5046)
>>>> +++ core/trunk/ChangeLog   2016-10-06 06:44:39 UTC (rev 5047)
>>>> @@ -3,6 +3,10 @@
>>>>    # 2. make sure that lines break at 80 chars for constricted display 
>>>> situations
>>>>    #<-------------------------------- 80 chars 
>>>> ---------------------------------->#
>>>>    
>>>> +2016-10-06 mmichaud <[email protected]>
>>>> +  * Use URI_KEY and FILE_KEY properties for file based datasources
>>>> +    in order to keep compatibility with legacy plugins
>>>> +
>>>>    2016-10-05 mmichaud <[email protected]>
>>>>      * Fix #431 : Save project with unsaved layers
>>>>    
>>>>
>>>> Modified: core/trunk/src/com/vividsolutions/jump/io/CompressedFile.java
>>>> ===================================================================
>>>> --- core/trunk/src/com/vividsolutions/jump/io/CompressedFile.java  
>>>> 2016-10-05 14:15:10 UTC (rev 5046)
>>>> +++ core/trunk/src/com/vividsolutions/jump/io/CompressedFile.java  
>>>> 2016-10-06 06:44:39 UTC (rev 5047)
>>>> @@ -207,7 +207,7 @@
>>>>    
>>>>        String extractMsg = compressedEntry != null ? " extract '" + 
>>>> compressedEntry
>>>>            + "'" : "";
>>>> -    Logger.debug("open '" + filePath + "'" + extractMsg);
>>>> +    Logger.debug("Open '" + filePath + "'" + extractMsg);
>>>>    
>>>>        // check file accessibility beforehand
>>>>        File file = new File(filePath);
>>>>
>>>> Modified: 
>>>> core/trunk/src/com/vividsolutions/jump/io/datasource/DataSource.java
>>>> ===================================================================
>>>> --- core/trunk/src/com/vividsolutions/jump/io/datasource/DataSource.java   
>>>> 2016-10-05 14:15:10 UTC (rev 5046)
>>>> +++ core/trunk/src/com/vividsolutions/jump/io/datasource/DataSource.java   
>>>> 2016-10-06 06:44:39 UTC (rev 5047)
>>>> @@ -75,6 +75,7 @@
>>>>      /**
>>>>       * Filename property, used for file-based DataSources
>>>>       */
>>>> +  @Deprecated
>>>>      public static final String FILE_KEY = "File";
>>>>    
>>>>      /**
>>>>
>>>> Modified: 
>>>> core/trunk/src/com/vividsolutions/jump/io/datasource/ReaderWriterFileDataSource.java
>>>> ===================================================================
>>>> --- 
>>>> core/trunk/src/com/vividsolutions/jump/io/datasource/ReaderWriterFileDataSource.java
>>>>    2016-10-05 14:15:10 UTC (rev 5046)
>>>> +++ 
>>>> core/trunk/src/com/vividsolutions/jump/io/datasource/ReaderWriterFileDataSource.java
>>>>    2016-10-06 06:44:39 UTC (rev 5047)
>>>> @@ -31,6 +31,7 @@
>>>>     */
>>>>    package com.vividsolutions.jump.io.datasource;
>>>>    
>>>> +import java.io.File;
>>>>    import java.net.URI;
>>>>    import java.util.ArrayList;
>>>>    import java.util.Collection;
>>>> @@ -90,7 +91,7 @@
>>>>                    .setTitle(
>>>>                        monitor,
>>>>                        I18N.getMessage(
>>>> -                        
>>>> "com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open-{0}",
>>>> +                        
>>>> "com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open",
>>>>                            createDescriptiveName(uri)));
>>>>              }
>>>>    
>>>> @@ -115,14 +116,21 @@
>>>>            
>>>>            // make readers task monitor aware
>>>>            DriverProperties dp = getWriterDriverProperties();
>>>> -        URI uri = new URI(dp.getProperty(DataSource.URI_KEY));
>>>> +        URI uri = null;
>>>> +        if (dp.getProperty(DataSource.URI_KEY) != null) {
>>>> +          uri = new URI(dp.getProperty(DataSource.URI_KEY));
>>>> +        }
>>>> +        // for legacy plugins
>>>> +        else if (dp.getProperty(DataSource.FILE_KEY) != null) {
>>>> +          uri = new File(dp.getProperty(DataSource.FILE_KEY)).toURI();
>>>> +        }
>>>>            if (writer instanceof TaskMonitorSupport) {
>>>>              ((TaskMonitorSupport) writer).setTaskMonitor(monitor);
>>>>              TaskMonitorUtil
>>>>                  .setTitle(
>>>>                      monitor,
>>>>                      I18N.getMessage(
>>>> -                      
>>>> "com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write-{0}",
>>>> +                      
>>>> "com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write",
>>>>                          createDescriptiveName(uri)));
>>>>            }
>>>>    
>>>>
>>>> Modified: 
>>>> core/trunk/src/com/vividsolutions/jump/workbench/datasource/FileDataSourceQueryChooser.java
>>>> ===================================================================
>>>> --- 
>>>> core/trunk/src/com/vividsolutions/jump/workbench/datasource/FileDataSourceQueryChooser.java
>>>>     2016-10-05 14:15:10 UTC (rev 5046)
>>>> +++ 
>>>> core/trunk/src/com/vividsolutions/jump/workbench/datasource/FileDataSourceQueryChooser.java
>>>>     2016-10-06 06:44:39 UTC (rev 5047)
>>>> @@ -210,8 +210,8 @@
>>>>    
>>>>        protected Map<?,?> toProperties(File file) {
>>>>            HashMap<String,String> properties = new HashMap<>();
>>>> +        properties.put(DataSource.URI_KEY, file.toURI().toString());
>>>>            properties.put(DataSource.FILE_KEY, file.getPath());
>>>> -        properties.put(DataSource.URI_KEY, file.toURI().toString());
>>>>            properties.put(DataSource.COORDINATE_SYSTEM_KEY,
>>>>                
>>>> getFileChooserPanel().getSelectedCoordinateSystem().getName());
>>>>    
>>>>
>>>> Modified: 
>>>> core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/OpenProjectPlugIn.java
>>>> ===================================================================
>>>> --- 
>>>> core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/OpenProjectPlugIn.java
>>>>       2016-10-05 14:15:10 UTC (rev 5046)
>>>> +++ 
>>>> core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/OpenProjectPlugIn.java
>>>>       2016-10-06 06:44:39 UTC (rev 5047)
>>>> @@ -237,7 +237,8 @@
>>>>                            {
>>>>                                //set the new source for this layer
>>>>                                    Map properties = 
>>>> layer.getDataSourceQuery().getDataSource().getProperties();
>>>> -                          properties.put(DataSource.FILE_KEY, filename);
>>>> +                            properties.put(DataSource.URI_KEY, new 
>>>> File(filename).toURI().toString());
>>>> +                            properties.put(DataSource.FILE_KEY, filename);
>>>>                                    
>>>> layer.getDataSourceQuery().getDataSource().setProperties(properties);
>>>>                                    load(layer, registry, monitor);
>>>>                            }
>>>>
>>>> Modified: core/trunk/src/jumptest/io/Playground.java
>>>> ===================================================================
>>>> --- core/trunk/src/jumptest/io/Playground.java     2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/jumptest/io/Playground.java     2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -10,6 +10,7 @@
>>>>    import com.vividsolutions.jump.task.DummyTaskMonitor;
>>>>    
>>>>    
>>>> +import java.io.File;
>>>>    import java.util.ArrayList;
>>>>    import java.util.Collections;
>>>>    import java.util.Iterator;
>>>>
>>>> Modified: core/trunk/src/language/jump.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump.properties        2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump.properties        2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -22,12 +22,15 @@
>>>>    JUMPWorkbench.status.initialize-datasources = Initialize Datasources
>>>>    JUMPWorkbench.status.show-workbench = Show Workbench
>>>>    
>>>> +
>>>>    
>>>> com.vividsolutions.jump.datastore.spatialdatabases.AbstractSpatialDatabasesDSExtension.datastore-disabled
>>>>  = Datastore ''{0}'' disabled\: {1}
>>>>    
>>>> com.vividsolutions.jump.datastore.spatialdatabases.AbstractSpatialDatabasesDSExtension.missing-dependency-jars
>>>>  = Missing dependency jars {0}
>>>>    
>>>> com.vividsolutions.jump.datastore.spatialdatabases.AbstractSpatialDatabasesDSExtension.there-were-errors
>>>>  = There were errors\: {0}
>>>>    
>>>> com.vividsolutions.jump.datastore.spatialdatabases.SpatialDatabasesDSConnection.unsupported-query-type
>>>>  = Unsupported Query Type
>>>>    
>>>> com.vividsolutions.jump.datastore.spatialdatabases.SpatialDatabasesDSConnection.resultset-must-have-a-geometry-column
>>>>  = Result Set Must Have a Geometry Column
>>>>    
>>>> com.vividsolutions.jump.datastore.spatialdatabases.SpatialDatabasesDSConnection.SQL-error
>>>>  = SQL error\:
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open = 
>>>> Open {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write = 
>>>> Write {0}
>>>>    com.vividsolutions.jump.io.ShapefileReader.shp-gt-dbf = Error reading 
>>>> shapefile ''{0}'' \:\n\
>>>>            \ number of records in shp ({1}) > number of records in dbf 
>>>> ({2}).
>>>>    com.vividsolutions.jump.io.ShapefileReader.shp-lt-dbf = Error reading 
>>>> shapefile ''{0}'' \:\n\
>>>>
>>>> Modified: core/trunk/src/language/jump_cz.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_cz.properties     2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_cz.properties     2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -2710,4 +2710,6 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.DataStoreSaveDriverPanel.write-3d-geometries=#T:Write
>>>>  3D geometries
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=#T:Primary
>>>>  Key
>>>>    ui.EditOptionsPanel.select-geometry=#T:Select the geometry after it has 
>>>> been drawn
>>>> -ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> \ No newline at end of file
>>>> +ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=#T:Open
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=#T:Write
>>>>  {0}
>>>> \ No newline at end of file
>>>>
>>>> Modified: core/trunk/src/language/jump_de.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_de.properties     2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_de.properties     2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -2706,4 +2706,6 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.DataStoreSaveDriverPanel.write-3d-geometries=#T:Write
>>>>  3D geometries
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=#T:Primary
>>>>  Key
>>>>    ui.EditOptionsPanel.select-geometry=#T:Select the geometry after it has 
>>>> been drawn
>>>> -ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> \ No newline at end of file
>>>> +ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=#T:Open
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=#T:Write
>>>>  {0}
>>>> \ No newline at end of file
>>>>
>>>> Modified: core/trunk/src/language/jump_es.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_es.properties     2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_es.properties     2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -2689,4 +2689,6 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.DataStoreSaveDriverPanel.write-3d-geometries=#T:Write
>>>>  3D geometries
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=#T:Primary
>>>>  Key
>>>>    ui.EditOptionsPanel.select-geometry=#T:Select the geometry after it has 
>>>> been drawn
>>>> -ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> \ No newline at end of file
>>>> +ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=#T:Open
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=#T:Write
>>>>  {0}
>>>> \ No newline at end of file
>>>>
>>>> Modified: core/trunk/src/language/jump_fi.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_fi.properties     2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_fi.properties     2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -2683,4 +2683,6 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.DataStoreSaveDriverPanel.write-3d-geometries=#T:Write
>>>>  3D geometries
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=#T:Primary
>>>>  Key
>>>>    ui.EditOptionsPanel.select-geometry=#T:Select the geometry after it has 
>>>> been drawn
>>>> -ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> \ No newline at end of file
>>>> +ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=#T:Open
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=#T:Write
>>>>  {0}
>>>> \ No newline at end of file
>>>>
>>>> Modified: core/trunk/src/language/jump_fr.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_fr.properties     2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_fr.properties     2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -2713,4 +2713,6 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.DataStoreSaveDriverPanel.write-3d-geometries=Ecrire
>>>>  des geometries avec Z
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=Cl\xE9
>>>>  primaire
>>>>    ui.EditOptionsPanel.select-geometry=#T:Select the geometry after it has 
>>>> been drawn
>>>> -ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> \ No newline at end of file
>>>> +ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=Ouvrir
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=Enregistrer
>>>>  {0}
>>>> \ No newline at end of file
>>>>
>>>> Modified: core/trunk/src/language/jump_hu.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_hu.properties     2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_hu.properties     2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -2706,4 +2706,6 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.DataStoreSaveDriverPanel.write-3d-geometries=#T:Write
>>>>  3D geometries
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=#T:Primary
>>>>  Key
>>>>    ui.EditOptionsPanel.select-geometry=#T:Select the geometry after it has 
>>>> been drawn
>>>> -ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> \ No newline at end of file
>>>> +ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=#T:Open
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=#T:Write
>>>>  {0}
>>>> \ No newline at end of file
>>>>
>>>> Modified: core/trunk/src/language/jump_it.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_it.properties     2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_it.properties     2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -2690,3 +2690,5 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=Chiave
>>>>  primaria
>>>>    ui.EditOptionsPanel.select-geometry=Seleziona la geometria dopo che 
>>>> \xE8 stata disegnata
>>>>    ui.EditOptionsPanel.select-geometry-warning=Attenzione: questa opzione 
>>>> diseleziona geometrie selezionate precedentemente
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=#T:Open
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=#T:Write
>>>>  {0}
>>>>
>>>> Modified: core/trunk/src/language/jump_ja_JP.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_ja_JP.properties  2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_ja_JP.properties  2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -2708,4 +2708,6 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.DataStoreSaveDriverPanel.write-3d-geometries=#T:Write
>>>>  3D geometries
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=#T:Primary
>>>>  Key
>>>>    ui.EditOptionsPanel.select-geometry=#T:Select the geometry after it has 
>>>> been drawn
>>>> -ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> \ No newline at end of file
>>>> +ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=#T:Open
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=#T:Write
>>>>  {0}
>>>> \ No newline at end of file
>>>>
>>>> Modified: core/trunk/src/language/jump_ml.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_ml.properties     2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_ml.properties     2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -3979,4 +3979,6 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.DataStoreSaveDriverPanel.write-3d-geometries=#T:Write
>>>>  3D geometries
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=#T:Primary
>>>>  Key
>>>>    ui.EditOptionsPanel.select-geometry=#T:Select the geometry after it has 
>>>> been drawn
>>>> -ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> \ No newline at end of file
>>>> +ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=#T:Open
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=#T:Write
>>>>  {0}
>>>> \ No newline at end of file
>>>>
>>>> Modified: core/trunk/src/language/jump_pt.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_pt.properties     2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_pt.properties     2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -2704,4 +2704,6 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.DataStoreSaveDriverPanel.write-3d-geometries=#T:Write
>>>>  3D geometries
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=#T:Primary
>>>>  Key
>>>>    ui.EditOptionsPanel.select-geometry=#T:Select the geometry after it has 
>>>> been drawn
>>>> -ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> \ No newline at end of file
>>>> +ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=#T:Open
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=#T:Write
>>>>  {0}
>>>> \ No newline at end of file
>>>>
>>>> Modified: core/trunk/src/language/jump_pt_BR.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_pt_BR.properties  2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_pt_BR.properties  2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -2705,4 +2705,6 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.DataStoreSaveDriverPanel.write-3d-geometries=#T:Write
>>>>  3D geometries
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=#T:Primary
>>>>  Key
>>>>    ui.EditOptionsPanel.select-geometry=#T:Select the geometry after it has 
>>>> been drawn
>>>> -ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> \ No newline at end of file
>>>> +ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=#T:Open
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=#T:Write
>>>>  {0}
>>>> \ No newline at end of file
>>>>
>>>> Modified: core/trunk/src/language/jump_ta_IN.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_ta_IN.properties  2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_ta_IN.properties  2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -2707,4 +2707,6 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.DataStoreSaveDriverPanel.write-3d-geometries=#T:Write
>>>>  3D geometries
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=#T:Primary
>>>>  Key
>>>>    ui.EditOptionsPanel.select-geometry=#T:Select the geometry after it has 
>>>> been drawn
>>>> -ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> \ No newline at end of file
>>>> +ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=#T:Open
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=#T:Write
>>>>  {0}
>>>> \ No newline at end of file
>>>>
>>>> Modified: core/trunk/src/language/jump_te.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_te.properties     2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_te.properties     2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -3213,4 +3213,6 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.DataStoreSaveDriverPanel.write-3d-geometries=#T:Write
>>>>  3D geometries
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=#T:Primary
>>>>  Key
>>>>    ui.EditOptionsPanel.select-geometry=#T:Select the geometry after it has 
>>>> been drawn
>>>> -ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> \ No newline at end of file
>>>> +ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=#T:Open
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=#T:Write
>>>>  {0}
>>>> \ No newline at end of file
>>>>
>>>> Modified: core/trunk/src/language/jump_zh_CN.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_zh_CN.properties  2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_zh_CN.properties  2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -2868,4 +2868,6 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.DataStoreSaveDriverPanel.write-3d-geometries=#T:Write
>>>>  3D geometries
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=#T:Primary
>>>>  Key
>>>>    ui.EditOptionsPanel.select-geometry=#T:Select the geometry after it has 
>>>> been drawn
>>>> -ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> \ No newline at end of file
>>>> +ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=#T:Open
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=#T:Write
>>>>  {0}
>>>> \ No newline at end of file
>>>>
>>>> Modified: core/trunk/src/language/jump_zh_HK.properties
>>>> ===================================================================
>>>> --- core/trunk/src/language/jump_zh_HK.properties  2016-10-05 14:15:10 UTC 
>>>> (rev 5046)
>>>> +++ core/trunk/src/language/jump_zh_HK.properties  2016-10-06 06:44:39 UTC 
>>>> (rev 5047)
>>>> @@ -2869,4 +2869,6 @@
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.DataStoreSaveDriverPanel.write-3d-geometries=#T:Write
>>>>  3D geometries
>>>>    
>>>> org.openjump.core.ui.plugin.datastore.postgis2.PostGISSaveDriverPanel.primary-key=#T:Primary
>>>>  Key
>>>>    ui.EditOptionsPanel.select-geometry=#T:Select the geometry after it has 
>>>> been drawn
>>>> -ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> \ No newline at end of file
>>>> +ui.EditOptionsPanel.select-geometry-warning=#T:Warning: this option 
>>>> deselects previous geometries selection
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.open=#T:Open
>>>>  {0}
>>>> +com.vividsolutions.jump.io.datasource.ReaderWriterFileDataSource.write=#T:Write
>>>>  {0}
>>>> \ No newline at end of file
>>>>
>>>> Modified: core/trunk/src/org/openjump/core/ccordsys/utils/ProjUtils.java
>>>> ===================================================================
>>>> --- core/trunk/src/org/openjump/core/ccordsys/utils/ProjUtils.java 
>>>> 2016-10-05 14:15:10 UTC (rev 5046)
>>>> +++ core/trunk/src/org/openjump/core/ccordsys/utils/ProjUtils.java 
>>>> 2016-10-06 06:44:39 UTC (rev 5047)
>>>> @@ -18,8 +18,10 @@
>>>>    
>>>>    import java.io.File;
>>>>    import java.io.IOException;
>>>> +import java.net.URI;
>>>>    import java.net.URISyntaxException;
>>>>    import java.util.Iterator;
>>>> +import java.util.Map;
>>>>    import java.util.Scanner;
>>>>    
>>>>    /**
>>>> @@ -301,9 +303,14 @@
>>>>            else {
>>>>                if (!isDataBaseLayer(layer)) {
>>>>                    DataSourceQuery dsq = layer.getDataSourceQuery();
>>>> -                Object fnameObj = 
>>>> dsq.getDataSource().getProperties().get(DataSource.FILE_KEY);
>>>> -                fileSourcePath = fnameObj.toString();
>>>> -                srsInfo = getSRSInfoFromAuxiliaryFile(fileSourcePath);
>>>> +                Map properties = dsq.getDataSource().getProperties();
>>>> +                if (properties.get(DataSource.URI_KEY) != null) {
>>>> +                    fileSourcePath = new 
>>>> URI(properties.get(DataSource.URI_KEY).toString()).getPath();
>>>> +                    srsInfo = getSRSInfoFromAuxiliaryFile(fileSourcePath);
>>>> +                } else if (properties.get(DataSource.FILE_KEY) != null) {
>>>> +                    fileSourcePath = 
>>>> properties.get(DataSource.FILE_KEY).toString();
>>>> +                    srsInfo = getSRSInfoFromAuxiliaryFile(fileSourcePath);
>>>> +                }
>>>>                }
>>>>            }
>>>>            return srsInfo;
>>>>
>>>> Modified: 
>>>> core/trunk/src/org/openjump/core/ui/io/file/DataSourceFileLayerLoader.java
>>>> ===================================================================
>>>> --- 
>>>> core/trunk/src/org/openjump/core/ui/io/file/DataSourceFileLayerLoader.java 
>>>>     2016-10-05 14:15:10 UTC (rev 5046)
>>>> +++ 
>>>> core/trunk/src/org/openjump/core/ui/io/file/DataSourceFileLayerLoader.java 
>>>>     2016-10-06 06:44:39 UTC (rev 5047)
>>>> @@ -27,6 +27,7 @@
>>>>    package org.openjump.core.ui.io.file;
>>>>    
>>>>    import java.io.File;
>>>> +import java.net.MalformedURLException;
>>>>    import java.net.URI;
>>>>    import java.net.URISyntaxException;
>>>>    import java.util.ArrayList;
>>>> @@ -396,6 +397,7 @@
>>>>          file = new File(uri);
>>>>        }
>>>>        String filePath = file.getAbsolutePath();
>>>> +    properties.put(DataSource.URI_KEY, uri.toString());
>>>>        properties.put(DataSource.FILE_KEY, filePath);
>>>>        properties.putAll(options);
>>>>        return properties;
>>>>
>>>> Modified: 
>>>> core/trunk/src/org/openjump/core/ui/plugin/file/SaveLayersWithoutDataSourcePlugIn.java
>>>> ===================================================================
>>>> --- 
>>>> core/trunk/src/org/openjump/core/ui/plugin/file/SaveLayersWithoutDataSourcePlugIn.java
>>>>  2016-10-05 14:15:10 UTC (rev 5046)
>>>> +++ 
>>>> core/trunk/src/org/openjump/core/ui/plugin/file/SaveLayersWithoutDataSourcePlugIn.java
>>>>  2016-10-06 06:44:39 UTC (rev 5047)
>>>> @@ -166,8 +166,8 @@
>>>>            String path = new File(dir, 
>>>> fileName.getName()).getAbsolutePath();
>>>>            
>>>>            DriverProperties dp = new DriverProperties();
>>>> -        dp.set("File", path);
>>>> -        dp.set(DataSource.URI_KEY, new 
>>>> File(path).toURI().toURL().toExternalForm());
>>>> +        dp.set(DataSource.URI_KEY, new File(path).toURI().toString());
>>>> +        dp.set(DataSource.FILE_KEY, path);
>>>>            dataSource.setProperties(dp);
>>>>                    
>>>>            DataSourceQuery dsq = new DataSourceQuery(dataSource, path, 
>>>> path);
>>>>
>>>> Modified: 
>>>> core/trunk/src/org/openjump/core/ui/plugin/file/open/OpenProjectWizard.java
>>>> ===================================================================
>>>> --- 
>>>> core/trunk/src/org/openjump/core/ui/plugin/file/open/OpenProjectWizard.java
>>>>     2016-10-05 14:15:10 UTC (rev 5046)
>>>> +++ 
>>>> core/trunk/src/org/openjump/core/ui/plugin/file/open/OpenProjectWizard.java
>>>>     2016-10-06 06:44:39 UTC (rev 5047)
>>>> @@ -35,6 +35,8 @@
>>>>    import java.awt.*;
>>>>    import java.awt.geom.NoninvertibleTransformException;
>>>>    import java.io.*;
>>>> +import java.net.MalformedURLException;
>>>> +import java.net.URI;
>>>>    import java.util.ArrayList;
>>>>    import java.util.Collections;
>>>>    import java.util.List;
>>>> @@ -299,11 +301,18 @@
>>>>                                DataSourceQuery dataSourceQuery = 
>>>> layer.getDataSourceQuery();
>>>>                                DataSource dataSource = 
>>>> dataSourceQuery.getDataSource();
>>>>                                Map properties = dataSource.getProperties();
>>>> -                            String fname = 
>>>> properties.get(DataSource.FILE_KEY).toString();
>>>> +                            String fname = null;
>>>> +                            if (properties.get(DataSource.URI_KEY) != 
>>>> null && properties.get(DataSource.URI_KEY).toString().length()>0) {
>>>> +                                fname = new 
>>>> URI(properties.get(DataSource.URI_KEY).toString()).getPath();
>>>> +                            }
>>>> +                            //if (fname == null) {
>>>> +                            //    fname = 
>>>> properties.get(DataSource.FILE_KEY).toString();
>>>> +                            //}
>>>>                                String filename = 
>>>> findFile.getFileName(fname);
>>>>                                if (filename.length() > 0) {
>>>>                                    // set the new source for this layer
>>>> -                                properties.put(DataSource.FILE_KEY, 
>>>> filename);
>>>> +                                //properties.put(DataSource.FILE_KEY, 
>>>> filename);
>>>> +                                properties.put(DataSource.URI_KEY, new 
>>>> File(filename).toURI().toString());
>>>>                                    dataSource.setProperties(properties);
>>>>                                    load(layer, registry, monitor);
>>>>                                } else {
>>>> @@ -424,14 +433,16 @@
>>>>          return false;
>>>>      }
>>>>    
>>>> -    private File getLayerFileProperty(Layer layer) {
>>>> +    private File getLayerFileProperty(Layer layer) throws 
>>>> MalformedURLException {
>>>>          DataSourceQuery dataSourceQuery = layer.getDataSourceQuery();
>>>>          DataSource dataSource = dataSourceQuery.getDataSource();
>>>>          Map properties = dataSource.getProperties();
>>>> -      Object property = properties.get(DataSource.FILE_KEY);
>>>> -      if(property == null || property.toString().equals(""))
>>>> -          return null;
>>>> -      File layerFile = new File(property.toString());
>>>> +      File layerFile = null;
>>>> +      if (properties.get(DataSource.URI_KEY) != null && 
>>>> properties.get(DataSource.URI_KEY).toString().length() > 0) {
>>>> +          layerFile = new 
>>>> File(URI.create(properties.get(DataSource.URI_KEY).toString()).toURL().toExternalForm());
>>>> +      } else if (properties.get(DataSource.FILE_KEY) != null && 
>>>> properties.get(DataSource.FILE_KEY).toString().length() > 0) {
>>>> +          layerFile = new 
>>>> File(properties.get(DataSource.FILE_KEY).toString());
>>>> +      }
>>>>          return layerFile;
>>>>       }
>>>>    
>>>> @@ -439,6 +450,7 @@
>>>>          DataSourceQuery dataSourceQuery = layer.getDataSourceQuery();
>>>>          DataSource dataSource = dataSourceQuery.getDataSource();
>>>>          Map properties = dataSource.getProperties();
>>>> +      properties.put(DataSource.URI_KEY, file.toURI().toString());
>>>>          properties.put(DataSource.FILE_KEY, file.getAbsolutePath());
>>>>       }
>>>>      
>>>>
>>>> Modified: 
>>>> core/trunk/src/org/openjump/core/ui/plugin/layer/NewLayerPropertiesPlugIn.java
>>>> ===================================================================
>>>> --- 
>>>> core/trunk/src/org/openjump/core/ui/plugin/layer/NewLayerPropertiesPlugIn.java
>>>>  2016-10-05 14:15:10 UTC (rev 5046)
>>>> +++ 
>>>> core/trunk/src/org/openjump/core/ui/plugin/layer/NewLayerPropertiesPlugIn.java
>>>>  2016-10-06 06:44:39 UTC (rev 5047)
>>>> @@ -37,6 +37,8 @@
>>>>    import java.awt.event.ActionListener;
>>>>    import java.io.File;
>>>>    import java.io.IOException;
>>>> +import java.net.URI;
>>>> +import java.net.URISyntaxException;
>>>>    import java.nio.charset.Charset;
>>>>    import java.text.DecimalFormat;
>>>>    import java.text.NumberFormat;
>>>> @@ -440,8 +442,7 @@
>>>>                            info = info
>>>>                                    + property(SOURCE_PATH, label_Path_R, 
>>>> bgColor1);
>>>>                            // Add charset if selected vector layer is a 
>>>> shapefile
>>>> -                        if ((layers.length == 1)
>>>> -                                && (layers[0].getDataSourceQuery() != 
>>>> null)) {
>>>> +                        if (layers[0].getDataSourceQuery() != null) {
>>>>                                if (layers[0]
>>>>                                        .getDataSourceQuery()
>>>>                                        .getDataSource()
>>>> @@ -460,8 +461,7 @@
>>>>                    info = info + header("", COORDINATE_SYSTEM);
>>>>                    setInfoProjection(layers);
>>>>                    info = info + property(CRS, label_Coordinate, bgColor0);
>>>> -                info = info
>>>> -                        + property(SOURCE_PATH, label_Coordinate_file, 
>>>> bgColor1);
>>>> +                info = info + property(SOURCE_PATH, 
>>>> label_Coordinate_file, bgColor1);
>>>>                }
>>>>                // if more than one layer.class is selected
>>>>                else {
>>>> @@ -526,7 +526,7 @@
>>>>            }
>>>>    
>>>>            // Set Info layer (excluded projection)
>>>> -        private void setInfo(Layer[] layers) throws IOException {
>>>> +        private void setInfo(Layer[] layers) throws IOException, 
>>>> URISyntaxException {
>>>>                if (layers.length == 1) {
>>>>                    // If only one layer is selected
>>>>                    if (layers[0].getName().startsWith("wfs")) {
>>>> @@ -568,7 +568,7 @@
>>>>                            }
>>>>                            String geoClassName = geo.getClass().getName();
>>>>                            int count = geometryModes.get(geoClassName) == 
>>>> null ? 0
>>>> -                                : ((Integer) 
>>>> geometryModes.get(geoClassName))
>>>> +                                : (geometryModes.get(geoClassName))
>>>>                                            .intValue();
>>>>                            geometryModes.put(new String(geoClassName),
>>>>                                    new Integer(count + 1));
>>>> @@ -576,22 +576,20 @@
>>>>                    }
>>>>                    DataSourceQuery dsq = layers[l].getDataSourceQuery();
>>>>                    if (dsq != null) {
>>>> -                    String dsqSourceClass = dsq.getDataSource().getClass()
>>>> -                            .getName();
>>>> +                    String dsqSourceClass = 
>>>> dsq.getDataSource().getClass().getName();
>>>>                        if (sourceClass.equals("")) {
>>>>                            sourceClass = dsqSourceClass;
>>>>                        } else if (!sourceClass.equals(dsqSourceClass)) {
>>>>                            multipleSourceTypes = true;
>>>>                        }
>>>> -                    Object fnameObj = dsq.getDataSource().getProperties()
>>>> -                            .get(DataSource.FILE_KEY);
>>>> -                    if (fnameObj == null) {
>>>> -                        fnameObj = dsq.getDataSource().getProperties()
>>>> -                                
>>>> .get(DataStoreQueryDataSource.CONNECTION_DESCRIPTOR_KEY);
>>>> +                    Map properties = dsq.getDataSource().getProperties();
>>>> +                    if (properties.get(DataSource.URI_KEY) != null) {
>>>> +                        sourcePath = new 
>>>> URI(properties.get(DataSource.URI_KEY).toString()).getPath();
>>>> +                    } else if (properties.get(DataSource.FILE_KEY) != 
>>>> null) {
>>>> +                        sourcePath = 
>>>> properties.get(DataSource.FILE_KEY).toString();
>>>> +                    } else if 
>>>> (properties.get(DataStoreQueryDataSource.CONNECTION_DESCRIPTOR_KEY) != 
>>>> null) {
>>>> +                        sourcePath = 
>>>> properties.get(DataStoreQueryDataSource.CONNECTION_DESCRIPTOR_KEY).toString();
>>>>                        }
>>>> -                    if (fnameObj != null) {
>>>> -                        sourcePath = fnameObj.toString();
>>>> -                    }
>>>>                    }
>>>>                }
>>>>                if (numFeatures == 0) {
>>>>
>>>> Modified: 
>>>> core/trunk/src/org/openjump/core/ui/plugin/mousemenu/SaveDatasetsPlugIn.java
>>>> ===================================================================
>>>> --- 
>>>> core/trunk/src/org/openjump/core/ui/plugin/mousemenu/SaveDatasetsPlugIn.java
>>>>    2016-10-05 14:15:10 UTC (rev 5046)
>>>> +++ 
>>>> core/trunk/src/org/openjump/core/ui/plugin/mousemenu/SaveDatasetsPlugIn.java
>>>>    2016-10-06 06:44:39 UTC (rev 5047)
>>>> @@ -627,8 +627,9 @@
>>>>              String newFileName = path + newLayer.getName() + ".shp";
>>>>              HashMap properties = new HashMap();
>>>>              properties.put(DataSource.COORDINATE_SYSTEM_KEY, 
>>>> "Unspecified");
>>>> +          properties.put(DataSource.URI_KEY, new 
>>>> File(newFileName).toURI().toString());
>>>>              properties.put(DataSource.FILE_KEY, newFileName);
>>>> -          DataSource dataSource = (DataSource) 
>>>> StandardReaderWriterFileDataSource.Shapefile.class
>>>> +          DataSource dataSource = 
>>>> StandardReaderWriterFileDataSource.Shapefile.class
>>>>                  .newInstance();
>>>>              dataSource.setProperties(properties);
>>>>              DataSourceQuery dataSourceQuery = new 
>>>> DataSourceQuery(dataSource,
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> 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
>>>>
>>> ------------------------------------------------------------------------------
>>> 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
>>>
>>
>> ------------------------------------------------------------------------------
>> 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
>>
> ------------------------------------------------------------------------------
> 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
>


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

Reply via email to