Revision: 6552
http://sourceforge.net/p/jump-pilot/code/6552
Author: edso
Date: 2020-09-27 20:53:57 +0000 (Sun, 27 Sep 2020)
Log Message:
-----------
implement closing of opened db connections in adddatastorelayerwizard if it is
cancelled
add exitingToLeft() to wizard panels to notify that they got disabled/cancelled
added a new SpatialDSLayer class to differentiate spatial db datasource layers
from ordinary Layers, implement dispose() to close db connections on layer
removal
Modified Paths:
--------------
core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/datastore/ConnectionPanel.java
core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/wms/URLWizardPanel.java
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/AbstractWizardPanel.java
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardDialog.java
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardPanelV2.java
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddDataStoreLayerWizard.java
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddDataStoreLayerWizardPanel.java
core/trunk/src/org/openjump/core/ui/plugin/file/open/SelectFilesPanel.java
core/trunk/src/org/openjump/core/ui/plugin/file/save/SelectFilePanel.java
Added Paths:
-----------
core/trunk/src/com/vividsolutions/jump/datastore/spatialdatabases/SpatialDSLayer.java
Added:
core/trunk/src/com/vividsolutions/jump/datastore/spatialdatabases/SpatialDSLayer.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/datastore/spatialdatabases/SpatialDSLayer.java
(rev 0)
+++
core/trunk/src/com/vividsolutions/jump/datastore/spatialdatabases/SpatialDSLayer.java
2020-09-27 20:53:57 UTC (rev 6552)
@@ -0,0 +1,25 @@
+package com.vividsolutions.jump.datastore.spatialdatabases;
+
+import java.awt.Color;
+
+import com.vividsolutions.jump.feature.FeatureCollection;
+import com.vividsolutions.jump.workbench.JUMPWorkbench;
+import com.vividsolutions.jump.workbench.datastore.ConnectionManager;
+import com.vividsolutions.jump.workbench.model.Layer;
+import com.vividsolutions.jump.workbench.model.LayerManager;
+
+public class SpatialDSLayer extends Layer {
+
+ public SpatialDSLayer() {
+ super();
+ }
+
+ public SpatialDSLayer(String name, Color fillColor, FeatureCollection
featureCollection, LayerManager layerManager) {
+ super(name, fillColor, featureCollection, layerManager);
+ }
+
+ public void dispose() {
+ super.dispose();
+
ConnectionManager.instance(JUMPWorkbench.getInstance().getContext()).closeConnection(this);
+ }
+}
Property changes on:
core/trunk/src/com/vividsolutions/jump/datastore/spatialdatabases/SpatialDSLayer.java
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/datastore/ConnectionPanel.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/datastore/ConnectionPanel.java
2020-09-27 20:32:42 UTC (rev 6551)
+++
core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/datastore/ConnectionPanel.java
2020-09-27 20:53:57 UTC (rev 6552)
@@ -70,7 +70,6 @@
return context;
}
-
public void populateConnectionComboBox() {
ConnectionDescriptor selectedConnectionDescriptor =
getConnectionDescriptor();
connectionComboBox.setModel( new DefaultComboBoxModel(
@@ -81,6 +80,13 @@
connectionComboBox.setSelectedItem( selectedConnectionDescriptor );
}
+ /**
+ * close opened connectors not in use currently
+ */
+ public void closeConnectionsUnused() {
+ connectionManager().closeConnectionsUnused();
+ }
+
public String validateInput() {
if ( getConnectionDescriptor() == null ) {
return
I18N.get("com.vividsolutions.jump.workbench.ui.plugin.datastore.ConnectionPanel.Required-field-missing-Connection");
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/wms/URLWizardPanel.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/wms/URLWizardPanel.java
2020-09-27 20:32:42 UTC (rev 6551)
+++
core/trunk/src/com/vividsolutions/jump/workbench/ui/plugin/wms/URLWizardPanel.java
2020-09-27 20:53:57 UTC (rev 6552)
@@ -283,7 +283,6 @@
}
-
public static URLWizardPanel getInstance(){
if (instance == null) {
instance = new URLWizardPanel();
@@ -291,6 +290,11 @@
return instance;
}
+
+ @Override
+ public void exitingToLeft() {
+ // nothing to do
+ }
}
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/AbstractWizardPanel.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/AbstractWizardPanel.java
2020-09-27 20:32:42 UTC (rev 6551)
+++
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/AbstractWizardPanel.java
2020-09-27 20:53:57 UTC (rev 6552)
@@ -71,6 +71,9 @@
public void exitingToRight() throws Exception {
}
+ public void exitingToLeft() {
+ }
+
public String getID() {
return id;
}
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardDialog.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardDialog.java
2020-09-27 20:32:42 UTC (rev 6551)
+++
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardDialog.java
2020-09-27 20:53:57 UTC (rev 6552)
@@ -118,7 +118,11 @@
private void setCurrentWizardPanel(WizardPanel wizardPanel) {
if (currentWizardPanel != null) {
+ // remove actionlistener
currentWizardPanel.remove(this);
+ // inform panel that we left it
+ if (currentWizardPanel instanceof WizardPanelV2)
+ ((WizardPanelV2)currentWizardPanel).exitingToLeft();
}
titleLabel.setText(wizardPanel.getTitle());
Modified:
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardPanelV2.java
===================================================================
---
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardPanelV2.java
2020-09-27 20:32:42 UTC (rev 6551)
+++
core/trunk/src/com/vividsolutions/jump/workbench/ui/wizard/WizardPanelV2.java
2020-09-27 20:53:57 UTC (rev 6552)
@@ -11,4 +11,10 @@
* next panel to (re)initialize this panel, see e.g. {@link
org.openjump.core.ui.plugin.file.open.SelectFilesPanel}
*/
void enteredFromRight() throws Exception;
+
+ /**
+ * Called in WizardDialog when the user leaves this panel without taking
action
+ * @throws Exception
+ */
+ void exitingToLeft();
}
Modified:
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddDataStoreLayerWizard.java
===================================================================
---
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddDataStoreLayerWizard.java
2020-09-27 20:32:42 UTC (rev 6551)
+++
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddDataStoreLayerWizard.java
2020-09-27 20:53:57 UTC (rev 6552)
@@ -1,11 +1,12 @@
package org.openjump.core.ui.plugin.datastore;
import java.awt.Color;
+import java.util.ArrayList;
import java.util.Collection;
+import java.util.List;
import javax.swing.SwingUtilities;
-import com.vividsolutions.jump.workbench.Logger;
import org.openjump.core.ccordsys.srid.SRIDStyle;
import org.openjump.core.ui.plugin.file.open.ChooseProjectPanel;
import org.openjump.core.ui.swing.wizard.AbstractWizardGroup;
@@ -13,11 +14,13 @@
import com.vividsolutions.jump.I18N;
import com.vividsolutions.jump.coordsys.CoordinateSystemRegistry;
import com.vividsolutions.jump.datastore.DataStoreLayer;
+import com.vividsolutions.jump.datastore.spatialdatabases.SpatialDSLayer;
import com.vividsolutions.jump.feature.FeatureCollection;
import com.vividsolutions.jump.io.datasource.Connection;
import com.vividsolutions.jump.io.datasource.DataSource;
import com.vividsolutions.jump.io.datasource.DataSourceQuery;
import com.vividsolutions.jump.task.TaskMonitor;
+import com.vividsolutions.jump.workbench.Logger;
import com.vividsolutions.jump.workbench.WorkbenchContext;
import com.vividsolutions.jump.workbench.datastore.ConnectionDescriptor;
import com.vividsolutions.jump.workbench.model.Category;
@@ -29,8 +32,6 @@
import
com.vividsolutions.jump.workbench.ui.plugin.datastore.AddDatastoreLayerPanel;
import
com.vividsolutions.jump.workbench.ui.plugin.datastore.DataStoreDataSource;
import com.vividsolutions.jump.workbench.ui.wizard.WizardDialog;
-import java.util.ArrayList;
-import java.util.List;
public class AddDataStoreLayerWizard extends AbstractWizardGroup {
@@ -113,7 +114,7 @@
LayerManager layerManager = workbenchContext.getLayerManager();
Color fillColor = layerManager.generateLayerFillColor();
FeatureCollection featureCollection =
AddNewLayerPlugIn.createBlankFeatureCollection();
- Layer layer = new Layer(dsLayer.getFullName(), fillColor,
featureCollection,
+ Layer layer = new SpatialDSLayer(dsLayer.getFullName(), fillColor,
featureCollection,
layerManager);
String geometryAttributeName = dsLayer.getGeoCol().getName();
Modified:
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddDataStoreLayerWizardPanel.java
===================================================================
---
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddDataStoreLayerWizardPanel.java
2020-09-27 20:32:42 UTC (rev 6551)
+++
core/trunk/src/org/openjump/core/ui/plugin/datastore/AddDataStoreLayerWizardPanel.java
2020-09-27 20:53:57 UTC (rev 6552)
@@ -32,6 +32,11 @@
dataStorePanel.populateConnectionComboBox();
}
+ public void exitingToLeft() {
+ // remove established connection
+ dataStorePanel.closeConnectionsUnused();
+ }
+
public String getID() {
return KEY;
}
Modified:
core/trunk/src/org/openjump/core/ui/plugin/file/open/SelectFilesPanel.java
===================================================================
--- core/trunk/src/org/openjump/core/ui/plugin/file/open/SelectFilesPanel.java
2020-09-27 20:32:42 UTC (rev 6551)
+++ core/trunk/src/org/openjump/core/ui/plugin/file/open/SelectFilesPanel.java
2020-09-27 20:53:57 UTC (rev 6552)
@@ -286,5 +286,10 @@
listener.inputChanged();
}
}
+
+ @Override
+ public void exitingToLeft() {
+ // nothing to do
+ }
}
\ No newline at end of file
Modified:
core/trunk/src/org/openjump/core/ui/plugin/file/save/SelectFilePanel.java
===================================================================
--- core/trunk/src/org/openjump/core/ui/plugin/file/save/SelectFilePanel.java
2020-09-27 20:32:42 UTC (rev 6551)
+++ core/trunk/src/org/openjump/core/ui/plugin/file/save/SelectFilePanel.java
2020-09-27 20:53:57 UTC (rev 6552)
@@ -275,4 +275,9 @@
return dialog.getData(key);
return null;
}
+
+ @Override
+ public void exitingToLeft() {
+ // nothing to do
+ }
}
_______________________________________________
Jump-pilot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel