Revision 39670
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/buildNumber.properties | ||
---|---|---|
1 |
#maven.buildNumber.plugin properties file |
|
2 |
#Fri Jan 25 13:05:12 CET 2013 |
|
3 |
buildNumber=2075 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/resources/org/gvsig/daltransform/i18n/text.properties | ||
---|---|---|
1 |
transform_wizard=Aplicar una transformaci?n |
|
2 |
transform_selection=Selecciona una transformaci?n |
|
3 |
transform_datastore_selection=Selecciona un origen de datos |
|
4 |
transform_parameters=Selecciona los par?metros de la transformaci?n |
|
5 |
feature_transform=Transformaciones |
|
6 |
transform_apply=Aplicar la transformaci?n |
|
7 |
transform_load_layer_query=Cargar el resultado de la transformaci?n como una capa |
|
8 |
transform_layer=Ha aplicado una transformaci?n sobre una capa. Si contin?a, el resultado de la transformaci?n de aplicar? sobre la capa. |
|
9 |
transform_layout_geometry=Ha aplicado una transformaci?n sobre una tabla. La transformaci?n resultante tiene un atributo de tipo geometr?a, por lo que se podr? cargar en una vista. |
|
10 |
transform_layout_no_geometry=Ha aplicado una transformaci?n sobre una tabla. La transformaci?n resultante NO tiene un atributo de tipo geometr?a, por lo que NO se podr? cargar en la vista activa. |
|
11 |
transform_layout_not_view_to_load=Ha aplicado una transformaci?n sobre una tabla. La transformaci?n resultante tiene un atributo de tipo geometr?a pero no hay ninguna vista creada por lo que no se podr? cargar. Si quiere visualizarla, cree una vista y vuelva a aplicar la transformaci?n. |
|
12 |
transform_view_to_load=Selecciona la vista en la que quiere cargar la transformaci?n |
|
13 |
transform_second_datastore_selection=Selecciona el segundo origen de datos |
|
14 |
transform_create_wizard_exception=Excepci?n creando el wizard para aplicar trasnformaciones. |
|
15 |
create=Crear |
|
16 |
view=Ver |
|
17 |
select_transform=Selecciona una transformaci?n |
|
18 |
select_layer=Selecciona una capa |
|
19 |
view_transforms=Ver transformaciones |
|
20 |
not_featurestore_loaded=No hay ning?n almac?n de datos vectorial cargado |
|
0 | 21 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/resources/org/gvsig/daltransform/i18n/text_en.properties | ||
---|---|---|
1 |
transform_wizard=Apply a transform |
|
2 |
transform_selection=Select a transform |
|
3 |
transform_datastore_selection=Select a data store |
|
4 |
transform_parameters=Select the transformation parameters |
|
5 |
feature_transform=Transforms |
|
6 |
transform_apply=Apply the transform |
|
7 |
transform_load_layer_query=Load the transformation output like a layer |
|
8 |
transform_layer=You have applied the transformation in a layer. If you continue, the result will be applied in the layer. |
|
9 |
transform_layout_geometry=You have applied the transformation in a table. The result of the transformation has a geometric attribute and it is possible to load it like a layer. |
|
10 |
transform_layout_no_geometry==You have applied the transformation in a table The result of the transformation DOESN'T have a geometric attribute and it can NOT be loaded like a layer. |
|
11 |
transform_layout_not_view_to_load=You have applied the transformation in a table.The result of the transformation has a geometric attribute and it is possible to load it like a layer but there is not a view created. If you want to visualize it, just create a view and apply other time the transformation. |
|
12 |
transform_view_to_load=Select the view to load the transformation. |
|
13 |
transform_second_datastore_selection=Select the second data store. |
|
14 |
transform_create_wizard_exception=Exception creating a wizard to apply transformations. |
|
15 |
create=Create |
|
16 |
view=View |
|
17 |
select_transform=Select a transform |
|
18 |
select_layer=Select a layer |
|
19 |
view_transforms=View transforms |
|
20 |
not_featurestore_loaded=There is not any feature store loaded |
|
0 | 21 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/resources/META-INF/services/org.gvsig.tools.library.Library | ||
---|---|---|
1 |
org.gvsig.daltransform.DataTransformLibrary |
|
2 |
org.gvsig.daltransform.impl.DefaultDataTransformLibrary |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/resources/config.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="ISO-8859-1"?> |
|
2 |
<plugin-config> |
|
3 |
<libraries library-dir="lib"/> |
|
4 |
<depends plugin-name="org.gvsig.app" /> |
|
5 |
<depends plugin-name="org.gvsig.app.document.table.app.mainplugin" /> |
|
6 |
<resourceBundle name="text"/> |
|
7 |
<extensions> |
|
8 |
<extension class-name="org.gvsig.daltransform.app.mainplugin.DataTransformExtension" |
|
9 |
description="Create a transform" |
|
10 |
active="true"> |
|
11 |
<menu text="tools/feature_transform/create" |
|
12 |
action-command="CREATE" /> |
|
13 |
</extension> |
|
14 |
<extension class-name="org.gvsig.daltransform.app.mainplugin.DataTransformExtension" |
|
15 |
description="View a transform" |
|
16 |
active="true"> |
|
17 |
<menu text="tools/feature_transform/view" |
|
18 |
action-command="VIEW" /> |
|
19 |
</extension> |
|
20 |
</extensions> |
|
21 |
</plugin-config> |
|
0 | 22 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/DataTransformManager.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 {Iver T.I.} {Task} |
|
26 |
*/ |
|
27 |
|
|
28 |
package org.gvsig.daltransform; |
|
29 |
|
|
30 |
import java.util.List; |
|
31 |
|
|
32 |
import org.gvsig.daltransform.swing.DataTransformGui; |
|
33 |
import org.gvsig.daltransform.swing.DataTransformWizard; |
|
34 |
import org.gvsig.daltransform.swing.JDataTransformList; |
|
35 |
import org.gvsig.daltransform.swing.JDialogDataTransformList; |
|
36 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
37 |
|
|
38 |
/** |
|
39 |
* This singleton provides a centralized access to register |
|
40 |
* {@link DataTransformGui} that is a class to establish |
|
41 |
* a relationship between a tranformation and a user interface. |
|
42 |
* |
|
43 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
|
44 |
*/ |
|
45 |
public interface DataTransformManager { |
|
46 |
|
|
47 |
/** |
|
48 |
* Register a data transformation |
|
49 |
* |
|
50 |
* @param name |
|
51 |
* the name used to register the transformation |
|
52 |
* @param featureTransformGui |
|
53 |
* the class that contains the relationship between a |
|
54 |
* transformation |
|
55 |
* and its user interface. This class has to be an instance of |
|
56 |
* {@link DataTransformGui} |
|
57 |
*/ |
|
58 |
public void registerDataTransform(String name, Class<?> dataTransformGui); |
|
59 |
|
|
60 |
/** |
|
61 |
* Register the GUI that is used to apply transformations. |
|
62 |
* |
|
63 |
* @param dataTransformWizard |
|
64 |
* the class that implements the GUI. This class has to be an |
|
65 |
* instance of {@link DataTransformWizard} |
|
66 |
*/ |
|
67 |
public void registerDataTransformWizard(Class<?> dataTransformWizard); |
|
68 |
|
|
69 |
/** |
|
70 |
* Returns a list of the registered data transformations. |
|
71 |
* |
|
72 |
* @return |
|
73 |
* A list of the registered data transformations. |
|
74 |
*/ |
|
75 |
public List<DataTransformGui> getDataTransforms(); |
|
76 |
|
|
77 |
/** |
|
78 |
* Creates a wizard that can be used to apply the transformations. |
|
79 |
* |
|
80 |
* @return |
|
81 |
* The wizard. |
|
82 |
*/ |
|
83 |
public DataTransformWizard createWizard() throws CreateWizardException; |
|
84 |
|
|
85 |
/** |
|
86 |
* It creates a wizard and selects the transformation specified |
|
87 |
* by the parameter. |
|
88 |
* |
|
89 |
* @param transformName |
|
90 |
* The name of the transformation to apply. |
|
91 |
* @return |
|
92 |
* The wizard. |
|
93 |
* @throws CreateWizardException |
|
94 |
*/ |
|
95 |
public DataTransformWizard createWizard(String transformName) |
|
96 |
throws CreateWizardException, NotRegisteredTransformException; |
|
97 |
|
|
98 |
public JDataTransformList createJDataTransformList(FeatureStore featureStore); |
|
99 |
|
|
100 |
// public JDialogDataTransformList createJDialogDataTransformList( |
|
101 |
// FeatureStore featureStore); |
|
102 |
|
|
103 |
public JDialogDataTransformList createJDialogDataTransformList(); |
|
104 |
|
|
105 |
} |
|
0 | 106 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/app/mainplugin/DataTransformExtension.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 {Iver T.I.} {Task} |
|
26 |
*/ |
|
27 |
|
|
28 |
package org.gvsig.daltransform.app.mainplugin; |
|
29 |
|
|
30 |
import java.awt.Component; |
|
31 |
import java.awt.GridBagConstraints; |
|
32 |
|
|
33 |
import javax.swing.JOptionPane; |
|
34 |
|
|
35 |
import org.gvsig.andami.IconThemeHelper; |
|
36 |
import org.gvsig.andami.PluginServices; |
|
37 |
import org.gvsig.andami.plugins.Extension; |
|
38 |
import org.gvsig.andami.ui.ToolsWindowManager; |
|
39 |
import org.gvsig.app.ApplicationLocator; |
|
40 |
import org.gvsig.app.ApplicationManager; |
|
41 |
import org.gvsig.daltransform.DataTransformLocator; |
|
42 |
import org.gvsig.daltransform.DataTransformManager; |
|
43 |
import org.gvsig.daltransform.swing.JDialogDataTransformList; |
|
44 |
import org.gvsig.i18n.Messages; |
|
45 |
import org.gvsig.tools.swing.api.windowmanager.WindowManager; |
|
46 |
|
|
47 |
/** |
|
48 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
|
49 |
*/ |
|
50 |
public class DataTransformExtension extends Extension { |
|
51 |
|
|
52 |
/* |
|
53 |
* (non-Javadoc) |
|
54 |
* |
|
55 |
* @see com.iver.andami.plugins.IExtension#execute(java.lang.String) |
|
56 |
*/ |
|
57 |
public void execute(String actionCommand) { |
|
58 |
ApplicationManager application = ApplicationLocator.getManager(); |
|
59 |
DataTransformManager manager = |
|
60 |
DataTransformLocator.getDataTransformManager(); |
|
61 |
|
|
62 |
if ("CREATE".equalsIgnoreCase(actionCommand)) { |
|
63 |
try { |
|
64 |
PluginServices.getMDIManager().addWindow( |
|
65 |
manager.createWizard().getWindow()); |
|
66 |
|
|
67 |
} catch (Exception e) { |
|
68 |
JOptionPane.showInternalMessageDialog( |
|
69 |
(Component) PluginServices.getMDIManager(), |
|
70 |
Messages.getText("transform_create_wizard_exception"), |
|
71 |
Messages.getText("feature_transform"), |
|
72 |
JOptionPane.ERROR_MESSAGE); |
|
73 |
} |
|
74 |
} else |
|
75 |
if ("VIEW".equalsIgnoreCase(actionCommand)) { |
|
76 |
|
|
77 |
// there is no layer loaded |
|
78 |
if (application.getActiveDocument() == null) { |
|
79 |
JOptionPane.showMessageDialog(null, |
|
80 |
Messages.getText("not_featurestore_loaded"), |
|
81 |
Messages.getText("view_transforms"), |
|
82 |
JOptionPane.OK_OPTION + JOptionPane.WARNING_MESSAGE); |
|
83 |
return; |
|
84 |
} |
|
85 |
|
|
86 |
JDialogDataTransformList dialog = |
|
87 |
manager.createJDialogDataTransformList(); |
|
88 |
|
|
89 |
ToolsWindowManager wm = new ToolsWindowManager(); |
|
90 |
wm.showWindow(dialog, Messages.getText("view_transforms"), |
|
91 |
WindowManager.MODE.WINDOW, GridBagConstraints.CENTER); |
|
92 |
} |
|
93 |
|
|
94 |
} |
|
95 |
|
|
96 |
/* |
|
97 |
* (non-Javadoc) |
|
98 |
* |
|
99 |
* @see com.iver.andami.plugins.IExtension#initialize() |
|
100 |
*/ |
|
101 |
public void initialize() { |
|
102 |
IconThemeHelper.registerIcon("feature-transform-tools", "feature-transform-wizard", this); |
|
103 |
} |
|
104 |
|
|
105 |
/* |
|
106 |
* (non-Javadoc) |
|
107 |
* |
|
108 |
* @see com.iver.andami.plugins.Extension#postInitialize() |
|
109 |
*/ |
|
110 |
@Override |
|
111 |
public void postInitialize() { |
|
112 |
super.postInitialize(); |
|
113 |
} |
|
114 |
|
|
115 |
/* |
|
116 |
* (non-Javadoc) |
|
117 |
* |
|
118 |
* @see com.iver.andami.plugins.IExtension#isEnabled() |
|
119 |
*/ |
|
120 |
public boolean isEnabled() { |
|
121 |
return true; |
|
122 |
} |
|
123 |
|
|
124 |
/* |
|
125 |
* (non-Javadoc) |
|
126 |
* |
|
127 |
* @see com.iver.andami.plugins.IExtension#isVisible() |
|
128 |
*/ |
|
129 |
public boolean isVisible() { |
|
130 |
return true; |
|
131 |
} |
|
132 |
} |
|
0 | 133 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/impl/DefaultDataTransformLibrary.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 {Iver T.I.} {Task} |
|
26 |
*/ |
|
27 |
|
|
28 |
package org.gvsig.daltransform.impl; |
|
29 |
|
|
30 |
import org.gvsig.app.ApplicationLibrary; |
|
31 |
import org.gvsig.daltransform.DataTransformLibrary; |
|
32 |
import org.gvsig.daltransform.DataTransformLocator; |
|
33 |
import org.gvsig.daltransform.DataTransformManager; |
|
34 |
import org.gvsig.daltransform.swing.impl.DefaultDataTransformWizard; |
|
35 |
import org.gvsig.fmap.dal.DALLibrary; |
|
36 |
import org.gvsig.tools.library.AbstractLibrary; |
|
37 |
import org.gvsig.tools.library.LibraryException; |
|
38 |
|
|
39 |
/** |
|
40 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
|
41 |
*/ |
|
42 |
public class DefaultDataTransformLibrary extends AbstractLibrary { |
|
43 |
|
|
44 |
@Override |
|
45 |
public void doRegistration() { |
|
46 |
registerAsImplementationOf(DataTransformLibrary.class); |
|
47 |
require(DALLibrary.class); |
|
48 |
require(ApplicationLibrary.class); |
|
49 |
} |
|
50 |
|
|
51 |
@Override |
|
52 |
protected void doInitialize() throws LibraryException { |
|
53 |
//Register the default DataTransformManager |
|
54 |
DataTransformLocator.registerDataTransformManager(DefaultDataTransformManager.class); |
|
55 |
} |
|
56 |
|
|
57 |
@Override |
|
58 |
protected void doPostInitialize() throws LibraryException { |
|
59 |
DataTransformManager dataTransformManager = DataTransformLocator.getDataTransformManager(); |
|
60 |
|
|
61 |
//Register the default wizard to apply transformations |
|
62 |
dataTransformManager.registerDataTransformWizard(DefaultDataTransformWizard.class); |
|
63 |
} |
|
64 |
} |
|
65 |
|
|
0 | 66 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/impl/DefaultDataTransformManager.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 {Iver T.I.} {Task} |
|
26 |
*/ |
|
27 |
|
|
28 |
package org.gvsig.daltransform.impl; |
|
29 |
|
|
30 |
import java.util.ArrayList; |
|
31 |
import java.util.Iterator; |
|
32 |
import java.util.List; |
|
33 |
|
|
34 |
import org.slf4j.Logger; |
|
35 |
import org.slf4j.LoggerFactory; |
|
36 |
|
|
37 |
import org.gvsig.daltransform.CreateWizardException; |
|
38 |
import org.gvsig.daltransform.DataTransformManager; |
|
39 |
import org.gvsig.daltransform.NotRegisteredTransformException; |
|
40 |
import org.gvsig.daltransform.swing.DataTransformGui; |
|
41 |
import org.gvsig.daltransform.swing.DataTransformWizard; |
|
42 |
import org.gvsig.daltransform.swing.JDataTransformList; |
|
43 |
import org.gvsig.daltransform.swing.JDialogDataTransformList; |
|
44 |
import org.gvsig.daltransform.swing.impl.DefaultJDataTransformList; |
|
45 |
import org.gvsig.daltransform.swing.impl.DefaultJDialogDataTransformList; |
|
46 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
47 |
import org.gvsig.tools.ToolsLocator; |
|
48 |
import org.gvsig.tools.extensionpoint.ExtensionPoint; |
|
49 |
import org.gvsig.tools.extensionpoint.ExtensionPointManager; |
|
50 |
|
|
51 |
/** |
|
52 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
|
53 |
*/ |
|
54 |
public class DefaultDataTransformManager implements DataTransformManager{ |
|
55 |
private static final String TRANSFORM_GUI_EXTENSION_POINT = "TransformGuiExtensionPoint"; |
|
56 |
private static final String TRANSFORM_WIZARD_EXTENSION_POINT = "TransformWizardExtensionPoint"; |
|
57 |
private static final String TRANSFORM_WIZARD_NAME = "Wizard"; |
|
58 |
private static final Logger logger = LoggerFactory.getLogger(DefaultDataTransformManager.class); |
|
59 |
private ExtensionPointManager extensionPoints = ToolsLocator.getExtensionPointManager(); |
|
60 |
|
|
61 |
/* |
|
62 |
* (non-Javadoc) |
|
63 |
* @see org.gvsig.feature.transform.FeatureTransformManager#registerFeatureTransform(java.lang.String, java.lang.Class) |
|
64 |
*/ |
|
65 |
public void registerDataTransform(String name, |
|
66 |
Class<?> featureTransformPage) { |
|
67 |
if (!DataTransformGui.class.isAssignableFrom(featureTransformPage)) { |
|
68 |
throw new IllegalArgumentException(featureTransformPage.getName() |
|
69 |
+ " must implement the DataTransformGui interface"); |
|
70 |
} |
|
71 |
|
|
72 |
ExtensionPoint extensionPoint = extensionPoints.add(TRANSFORM_GUI_EXTENSION_POINT, ""); |
|
73 |
extensionPoint.append(name, name, featureTransformPage); |
|
74 |
} |
|
75 |
|
|
76 |
/* |
|
77 |
* (non-Javadoc) |
|
78 |
* @see org.gvsig.feature.transform.FeatureTransformManager#getFeatureTransforms() |
|
79 |
*/ |
|
80 |
@SuppressWarnings("unchecked") |
|
81 |
public List<DataTransformGui> getDataTransforms() { |
|
82 |
List<DataTransformGui> transformArray = new ArrayList<DataTransformGui>(); |
|
83 |
|
|
84 |
ExtensionPoint ep = extensionPoints.add(TRANSFORM_GUI_EXTENSION_POINT); |
|
85 |
Iterator<ExtensionPoint.Extension> iterator = ep.iterator(); |
|
86 |
while (iterator.hasNext()) { |
|
87 |
try { |
|
88 |
transformArray.add((DataTransformGui)((ExtensionPoint.Extension) iterator |
|
89 |
.next()).create()); |
|
90 |
} catch (Exception e) { |
|
91 |
logger.error("Error creating a FeatureTranformationGui", e); |
|
92 |
} |
|
93 |
} |
|
94 |
return transformArray; |
|
95 |
} |
|
96 |
|
|
97 |
/* |
|
98 |
* (non-Javadoc) |
|
99 |
* @see org.gvsig.app.daltransform.DataTransformManager#createWizard() |
|
100 |
*/ |
|
101 |
public DataTransformWizard createWizard() throws CreateWizardException { |
|
102 |
ExtensionPoint ep = extensionPoints.add(TRANSFORM_WIZARD_EXTENSION_POINT); |
|
103 |
try { |
|
104 |
return (DataTransformWizard)ep.create(TRANSFORM_WIZARD_NAME); |
|
105 |
} catch (Exception e) { |
|
106 |
throw new CreateWizardException(e); |
|
107 |
} |
|
108 |
} |
|
109 |
|
|
110 |
/* (non-Javadoc) |
|
111 |
* @see org.gvsig.app.daltransform.DataTransformManager#registerDataTransformWizard(java.lang.String, java.lang.Class) |
|
112 |
*/ |
|
113 |
public void registerDataTransformWizard(Class<?> dataTransformWizard) { |
|
114 |
if (!DataTransformWizard.class.isAssignableFrom(dataTransformWizard)) { |
|
115 |
throw new IllegalArgumentException(dataTransformWizard.getName() |
|
116 |
+ " must implement the DataTransformWizard interface"); |
|
117 |
} |
|
118 |
|
|
119 |
ExtensionPoint extensionPoint = extensionPoints.add(TRANSFORM_WIZARD_EXTENSION_POINT, ""); |
|
120 |
extensionPoint.append(TRANSFORM_WIZARD_NAME, "", dataTransformWizard); |
|
121 |
} |
|
122 |
|
|
123 |
/* (non-Javadoc) |
|
124 |
* @see org.gvsig.app.daltransform.DataTransformManager#createWizard(java.lang.String) |
|
125 |
*/ |
|
126 |
public DataTransformWizard createWizard(String transformName) |
|
127 |
throws CreateWizardException { |
|
128 |
ExtensionPoint ep = extensionPoints.add(TRANSFORM_GUI_EXTENSION_POINT); |
|
129 |
try { |
|
130 |
Object obj = ep.create(transformName); |
|
131 |
if (obj == null){ |
|
132 |
throw new NotRegisteredTransformException(transformName); |
|
133 |
} |
|
134 |
DataTransformGui dataTransformGui = (DataTransformGui)obj; |
|
135 |
DataTransformWizard wizard = createWizard(); |
|
136 |
wizard.setDataTransformGui(dataTransformGui); |
|
137 |
return wizard; |
|
138 |
} catch (Exception e) { |
|
139 |
throw new CreateWizardException(e); |
|
140 |
} |
|
141 |
} |
|
142 |
|
|
143 |
public JDataTransformList createJDataTransformList(FeatureStore featureStore) { |
|
144 |
return new DefaultJDataTransformList(featureStore); |
|
145 |
} |
|
146 |
|
|
147 |
public JDialogDataTransformList createJDialogDataTransformList() { |
|
148 |
return new DefaultJDialogDataTransformList(); |
|
149 |
} |
|
150 |
|
|
151 |
// public JDialogDataTransformList createJDialogDataTransformList( |
|
152 |
// FeatureStore featureStore) { |
|
153 |
// return new DefaultJDialogDataTransformList(featureStore); |
|
154 |
// } |
|
155 |
} |
|
156 |
|
|
0 | 157 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/CreateWizardException.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 {Iver T.I.} {Task} |
|
26 |
*/ |
|
27 |
|
|
28 |
package org.gvsig.daltransform; |
|
29 |
|
|
30 |
import org.gvsig.tools.exception.BaseException; |
|
31 |
|
|
32 |
/** |
|
33 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
|
34 |
*/ |
|
35 |
public class CreateWizardException extends BaseException{ |
|
36 |
private static final long serialVersionUID = 3062621423281216473L; |
|
37 |
|
|
38 |
/** |
|
39 |
* @param message |
|
40 |
* @param cause |
|
41 |
* @param key |
|
42 |
* @param code |
|
43 |
*/ |
|
44 |
public CreateWizardException(Throwable cause) { |
|
45 |
init(); |
|
46 |
initCause(cause); |
|
47 |
} |
|
48 |
|
|
49 |
private void init() { |
|
50 |
messageKey = "transform_create_wizard_exception"; |
|
51 |
formatString = "Can?t create the wizard to apply transformations."; |
|
52 |
} |
|
53 |
|
|
54 |
} |
|
55 |
|
|
0 | 56 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/swing/impl/components/FeatureTypeWrapper.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 {Iver T.I.} {Task} |
|
26 |
*/ |
|
27 |
|
|
28 |
package org.gvsig.daltransform.swing.impl.components; |
|
29 |
|
|
30 |
import org.gvsig.fmap.dal.feature.FeatureType; |
|
31 |
|
|
32 |
/** |
|
33 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
|
34 |
*/ |
|
35 |
public class FeatureTypeWrapper { |
|
36 |
private FeatureType featureType = null; |
|
37 |
|
|
38 |
/** |
|
39 |
* @param featureType |
|
40 |
*/ |
|
41 |
public FeatureTypeWrapper(FeatureType featureType) { |
|
42 |
super(); |
|
43 |
this.featureType = featureType; |
|
44 |
} |
|
45 |
|
|
46 |
/** |
|
47 |
* @return the featureType |
|
48 |
*/ |
|
49 |
public FeatureType getFeatureType() { |
|
50 |
return featureType; |
|
51 |
} |
|
52 |
|
|
53 |
/* (non-Javadoc) |
|
54 |
* @see java.lang.Object#toString() |
|
55 |
*/ |
|
56 |
public String toString() { |
|
57 |
return featureType.toString(); |
|
58 |
} |
|
59 |
} |
|
60 |
|
|
0 | 61 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/swing/impl/components/FeatureTypeAttributesList.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 {Iver T.I.} {Task} |
|
26 |
*/ |
|
27 |
|
|
28 |
package org.gvsig.daltransform.swing.impl.components; |
|
29 |
|
|
30 |
import java.util.ArrayList; |
|
31 |
|
|
32 |
import javax.swing.DefaultListModel; |
|
33 |
import javax.swing.JList; |
|
34 |
|
|
35 |
import org.gvsig.fmap.dal.exception.DataException; |
|
36 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
|
37 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
38 |
import org.gvsig.fmap.dal.feature.FeatureType; |
|
39 |
|
|
40 |
/** |
|
41 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
|
42 |
*/ |
|
43 |
public class FeatureTypeAttributesList extends JList { |
|
44 |
|
|
45 |
/** |
|
46 |
* |
|
47 |
*/ |
|
48 |
private static final long serialVersionUID = -3457322116557877761L; |
|
49 |
|
|
50 |
public FeatureTypeAttributesList() { |
|
51 |
super(); |
|
52 |
setModel(new DefaultListModel()); |
|
53 |
} |
|
54 |
|
|
55 |
public void addFeatureAttrubutes(FeatureStore featureStore) throws DataException{ |
|
56 |
addFeatureAttributes(featureStore.getDefaultFeatureType()); |
|
57 |
} |
|
58 |
|
|
59 |
public void addFeatureAttributes(FeatureType featureType){ |
|
60 |
removeAll(); |
|
61 |
FeatureAttributeDescriptor[] descriptors = featureType.getAttributeDescriptors(); |
|
62 |
for (int i=0 ; i<descriptors.length ; i++){ |
|
63 |
addFeatureAttributeDescriptor(descriptors[i]); |
|
64 |
} |
|
65 |
} |
|
66 |
|
|
67 |
public void addFeatureAttributeDescriptor(FeatureAttributeDescriptor featureAttributeDescriptor){ |
|
68 |
((DefaultListModel)getModel()).addElement(new FeatureTypeAttributeWrapper(featureAttributeDescriptor)); |
|
69 |
} |
|
70 |
|
|
71 |
public ArrayList<FeatureAttributeDescriptor> getSelectedFeatureTypes(){ |
|
72 |
ArrayList<FeatureAttributeDescriptor> featureTypes = new ArrayList<FeatureAttributeDescriptor>(); |
|
73 |
Object[] objects = getSelectedValues(); |
|
74 |
for (int i=0 ; i<objects.length ; i++){ |
|
75 |
featureTypes.add(((FeatureTypeAttributeWrapper)objects[i]).getFeatureAttributeDescriptor()); |
|
76 |
} |
|
77 |
return featureTypes; |
|
78 |
} |
|
79 |
|
|
80 |
public String[] getAttributesName(){ |
|
81 |
Object[] objects = getSelectedValues(); |
|
82 |
String[] featureTypes = new String[objects.length]; |
|
83 |
for (int i=0 ; i<objects.length ; i++){ |
|
84 |
featureTypes[i] = ((FeatureTypeAttributeWrapper)objects[i]).getFeatureAttributeDescriptor().getName(); |
|
85 |
} |
|
86 |
return featureTypes; |
|
87 |
} |
|
88 |
} |
|
89 |
|
|
0 | 90 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/swing/impl/components/FeatureTypeAttributeWrapper.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 {Iver T.I.} {Task} |
|
26 |
*/ |
|
27 |
|
|
28 |
package org.gvsig.daltransform.swing.impl.components; |
|
29 |
|
|
30 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
|
31 |
|
|
32 |
/** |
|
33 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
|
34 |
*/ |
|
35 |
public class FeatureTypeAttributeWrapper { |
|
36 |
private FeatureAttributeDescriptor attributeDescriptor = null; |
|
37 |
|
|
38 |
/** |
|
39 |
* @param featureType |
|
40 |
*/ |
|
41 |
public FeatureTypeAttributeWrapper(FeatureAttributeDescriptor attributeDescriptor) { |
|
42 |
super(); |
|
43 |
this.attributeDescriptor = attributeDescriptor; |
|
44 |
} |
|
45 |
|
|
46 |
/** |
|
47 |
* @return the featureType |
|
48 |
*/ |
|
49 |
public FeatureAttributeDescriptor getFeatureAttributeDescriptor() { |
|
50 |
return attributeDescriptor; |
|
51 |
} |
|
52 |
|
|
53 |
/* (non-Javadoc) |
|
54 |
* @see java.lang.Object#toString() |
|
55 |
*/ |
|
56 |
public String toString() { |
|
57 |
return attributeDescriptor.getName(); |
|
58 |
} |
|
59 |
} |
|
60 |
|
|
0 | 61 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/swing/impl/components/FeatureTypeAttributesCombo.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 {Iver T.I.} {Task} |
|
26 |
*/ |
|
27 |
|
|
28 |
package org.gvsig.daltransform.swing.impl.components; |
|
29 |
|
|
30 |
import java.util.ArrayList; |
|
31 |
|
|
32 |
import javax.swing.DefaultComboBoxModel; |
|
33 |
import javax.swing.JComboBox; |
|
34 |
|
|
35 |
import org.gvsig.fmap.dal.exception.DataException; |
|
36 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
|
37 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
38 |
import org.gvsig.fmap.dal.feature.FeatureType; |
|
39 |
import org.slf4j.Logger; |
|
40 |
import org.slf4j.LoggerFactory; |
|
41 |
|
|
42 |
/** |
|
43 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
|
44 |
*/ |
|
45 |
public class FeatureTypeAttributesCombo extends JComboBox { |
|
46 |
/** |
|
47 |
* |
|
48 |
*/ |
|
49 |
private static final long serialVersionUID = -8843843810490892699L; |
|
50 |
protected static final Logger logger = LoggerFactory.getLogger(FeatureTypeAttributesCombo.class); |
|
51 |
|
|
52 |
public FeatureTypeAttributesCombo() { |
|
53 |
super(); |
|
54 |
this.setModel(new DefaultComboBoxModel()); |
|
55 |
} |
|
56 |
|
|
57 |
/** |
|
58 |
* Removes all items then adds atts |
|
59 |
* |
|
60 |
* @param featureStore |
|
61 |
* @return the number of items added (equals total item count) |
|
62 |
* |
|
63 |
* @throws DataException |
|
64 |
*/ |
|
65 |
public int addFeatureAttrubutes(FeatureStore featureStore) throws DataException{ |
|
66 |
return addFeatureAttributes(featureStore.getDefaultFeatureType()); |
|
67 |
} |
|
68 |
|
|
69 |
/** |
|
70 |
* Removes all items then adds atts |
|
71 |
* |
|
72 |
* @param featureType |
|
73 |
* @return the number of items added (equals total item count) |
|
74 |
*/ |
|
75 |
public int addFeatureAttributes(FeatureType featureType){ |
|
76 |
removeAllItems(); |
|
77 |
FeatureAttributeDescriptor[] descriptors = featureType.getAttributeDescriptors(); |
|
78 |
for (int i=0 ; i<descriptors.length ; i++){ |
|
79 |
addFeatureAttributeDescriptor(descriptors[i]); |
|
80 |
} |
|
81 |
return descriptors.length; |
|
82 |
} |
|
83 |
|
|
84 |
|
|
85 |
/** |
|
86 |
* Removes all items then adds atts whose type is |
|
87 |
* contained by list |
|
88 |
* |
|
89 |
* @param featureType |
|
90 |
* @param type |
|
91 |
* @return the number of items added (equals total item count) |
|
92 |
*/ |
|
93 |
public int addFeatureAttributes( |
|
94 |
FeatureType featureType, |
|
95 |
ArrayList<Integer> types){ |
|
96 |
|
|
97 |
removeAllItems(); |
|
98 |
|
|
99 |
int count = 0; |
|
100 |
FeatureAttributeDescriptor[] descriptors = featureType.getAttributeDescriptors(); |
|
101 |
for (int i=0 ; i<descriptors.length ; i++){ |
|
102 |
if (isIn(descriptors[i].getType(), types)) { |
|
103 |
addFeatureAttributeDescriptor(descriptors[i]); |
|
104 |
count++; |
|
105 |
} |
|
106 |
} |
|
107 |
return count; |
|
108 |
} |
|
109 |
|
|
110 |
/** |
|
111 |
* @param type |
|
112 |
* @param types |
|
113 |
* @return |
|
114 |
*/ |
|
115 |
private boolean isIn(int t, ArrayList<Integer> list) { |
|
116 |
|
|
117 |
int len = list.size(); |
|
118 |
for (int i=0; i<len; i++) { |
|
119 |
if (list.get(i).intValue() == t) { |
|
120 |
return true; |
|
121 |
} |
|
122 |
} |
|
123 |
return false; |
|
124 |
} |
|
125 |
|
|
126 |
public void addFeatureAttributeDescriptor(FeatureAttributeDescriptor featureAttributeDescriptor){ |
|
127 |
((DefaultComboBoxModel)getModel()).addElement(new FeatureTypeAttributeWrapper(featureAttributeDescriptor)); |
|
128 |
} |
|
129 |
|
|
130 |
public FeatureAttributeDescriptor getSelectedFeatureAttributeDescriptor(){ |
|
131 |
return ((FeatureTypeAttributeWrapper)getSelectedItem()).getFeatureAttributeDescriptor(); |
|
132 |
} |
|
133 |
|
|
134 |
|
|
135 |
} |
|
136 |
|
|
0 | 137 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/swing/impl/components/NumericFeatureTypeAttributesCombo.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 {Iver T.I.} {Task} |
|
26 |
*/ |
|
27 |
|
|
28 |
package org.gvsig.daltransform.swing.impl.components; |
|
29 |
|
|
30 |
import org.gvsig.fmap.dal.DataTypes; |
|
31 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
|
32 |
|
|
33 |
/** |
|
34 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
|
35 |
*/ |
|
36 |
public class NumericFeatureTypeAttributesCombo extends FeatureTypeAttributesCombo{ |
|
37 |
|
|
38 |
/** |
|
39 |
* |
|
40 |
*/ |
|
41 |
private static final long serialVersionUID = -1694488470656611290L; |
|
42 |
|
|
43 |
/* (non-Javadoc) |
|
44 |
* @see org.gvsig.app.daltransform.gui.combos.FeatureTypeAttributesCombo#addFeatureAttributeDescriptor(org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor) |
|
45 |
*/ |
|
46 |
public void addFeatureAttributeDescriptor( |
|
47 |
FeatureAttributeDescriptor featureAttributeDescriptor) { |
|
48 |
int type = featureAttributeDescriptor.getType(); |
|
49 |
if ((type == DataTypes.DOUBLE) || |
|
50 |
(type == DataTypes.FLOAT) || |
|
51 |
(type == DataTypes.INT) || |
|
52 |
(type == DataTypes.LONG)){ |
|
53 |
super.addFeatureAttributeDescriptor(featureAttributeDescriptor); |
|
54 |
} |
|
55 |
} |
|
56 |
} |
|
57 |
|
|
0 | 58 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/swing/impl/components/FeatureTypeCombo.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 {Iver T.I.} {Task} |
|
26 |
*/ |
|
27 |
|
|
28 |
package org.gvsig.daltransform.swing.impl.components; |
|
29 |
|
|
30 |
import java.util.List; |
|
31 |
|
|
32 |
import javax.swing.DefaultComboBoxModel; |
|
33 |
import javax.swing.JComboBox; |
|
34 |
|
|
35 |
import org.gvsig.fmap.dal.exception.DataException; |
|
36 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
37 |
import org.gvsig.fmap.dal.feature.FeatureType; |
|
38 |
import org.slf4j.Logger; |
|
39 |
import org.slf4j.LoggerFactory; |
|
40 |
|
|
41 |
/** |
|
42 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
|
43 |
*/ |
|
44 |
public class FeatureTypeCombo extends JComboBox{ |
|
45 |
/** |
|
46 |
* |
|
47 |
*/ |
|
48 |
private static final long serialVersionUID = -3689986732982756932L; |
|
49 |
protected static final Logger logger = LoggerFactory.getLogger(FeatureTypeCombo.class); |
|
50 |
|
|
51 |
public FeatureTypeCombo() { |
|
52 |
super(); |
|
53 |
this.setModel(new DefaultComboBoxModel()); |
|
54 |
} |
|
55 |
|
|
56 |
@SuppressWarnings("unchecked") |
|
57 |
public void addFeatureStore(FeatureStore featureStore){ |
|
58 |
removeAllItems(); |
|
59 |
List<FeatureType> featureTypes; |
|
60 |
try { |
|
61 |
featureTypes = featureStore.getFeatureTypes(); |
|
62 |
for (int i=0 ; i<featureTypes.size() ; i++){ |
|
63 |
((DefaultComboBoxModel)getModel()).addElement(featureTypes.get(i)); |
|
64 |
} |
|
65 |
} catch (DataException e) { |
|
66 |
logger.error("Error updating the panel", e); |
|
67 |
} |
|
68 |
} |
|
69 |
|
|
70 |
public FeatureType getSelectedFeatureType(){ |
|
71 |
return (FeatureType)getSelectedItem(); |
|
72 |
} |
|
73 |
} |
|
74 |
|
|
0 | 75 |
tags/v2_0_0_Build_2063/extensions/org.gvsig.daltransform.app.mainplugin/src/main/java/org/gvsig/daltransform/swing/impl/SelectDataStoreWizardPanel.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
|
|
23 |
/* |
|
24 |
* AUTHORS (In addition to CIT): |
|
25 |
* 2009 {Iver T.I.} {Task} |
|
26 |
*/ |
|
27 |
|
|
28 |
package org.gvsig.daltransform.swing.impl; |
|
29 |
|
|
30 |
import java.util.List; |
|
31 |
|
|
32 |
import javax.swing.DefaultListModel; |
|
33 |
import javax.swing.JList; |
|
34 |
import javax.swing.JScrollPane; |
|
35 |
|
|
36 |
import org.gvsig.andami.PluginServices; |
|
37 |
import org.gvsig.andami.ui.mdiManager.IWindow; |
|
38 |
import org.gvsig.app.project.ProjectManager; |
|
39 |
import org.gvsig.app.project.documents.Document; |
|
40 |
import org.gvsig.app.project.documents.table.TableDocument; |
|
41 |
import org.gvsig.app.project.documents.table.TableManager; |
|
42 |
import org.gvsig.app.project.documents.view.gui.IView; |
|
43 |
import org.gvsig.daltransform.swing.DataTransformGui; |
|
44 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
45 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
|
46 |
import org.gvsig.fmap.mapcontext.layers.LayersIterator; |
|
47 |
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect; |
|
48 |
|
|
49 |
|
|
50 |
/** |
|
51 |
* @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a> |
|
52 |
*/ |
|
53 |
public class SelectDataStoreWizardPanel extends AbstractDataTransformWizardPanel{ |
|
54 |
private static final long serialVersionUID = -1841990357325903449L; |
|
55 |
private JList dataStoreList; |
|
56 |
private JScrollPane dataStoreScrollPane; |
|
57 |
|
|
58 |
/** |
|
59 |
* @param wizardComponents |
|
60 |
*/ |
|
61 |
public SelectDataStoreWizardPanel() { |
|
62 |
super(); |
|
63 |
initComponents(); |
|
64 |
} |
|
65 |
|
|
66 |
private void initComponents() { |
|
67 |
java.awt.GridBagConstraints gridBagConstraints; |
|
68 |
|
|
69 |
dataStoreScrollPane = new javax.swing.JScrollPane(); |
|
70 |
dataStoreList = new javax.swing.JList(); |
|
71 |
|
|
72 |
setLayout(new java.awt.GridBagLayout()); |
|
73 |
|
|
74 |
dataStoreScrollPane.setViewportView(dataStoreList); |
|
75 |
|
|
76 |
dataStoreList.setModel(new DefaultListModel()); |
|
77 |
|
|
78 |
gridBagConstraints = new java.awt.GridBagConstraints(); |
|
79 |
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; |
|
80 |
gridBagConstraints.weightx = 1.0; |
|
81 |
gridBagConstraints.weighty = 1.0; |
|
82 |
gridBagConstraints.insets = new java.awt.Insets(2, 2, 2, 2); |
|
83 |
add(dataStoreScrollPane, gridBagConstraints); |
|
84 |
} |
|
85 |
|
|
86 |
public void removeFeatureStore(FeatureStore featureStore){ |
|
87 |
DefaultListModel model =( DefaultListModel)dataStoreList.getModel(); |
|
88 |
for (int i=model.getSize()-1 ; i>=0 ; i--){ |
|
89 |
if (((FeatureStoreCombo)model.get(i)).getFeatureStore().equals(featureStore)){ |
|
90 |
model.remove(i); |
|
91 |
break; |
|
92 |
} |
|
93 |
} |
|
94 |
} |
|
95 |
|
|
96 |
/** |
|
97 |
* Adding the objects |
|
98 |
*/ |
|
99 |
private void addDataStores(){ |
|
100 |
((DefaultListModel)dataStoreList.getModel()).removeAllElements(); |
|
101 |
DataTransformGui dataTransformGui = |
|
102 |
getDataTransformWizard().getDataTransformGui(); |
|
103 |
|
|
104 |
//Add all the tables |
|
105 |
List<Document> tables = ProjectManager.getInstance().getCurrentProject() |
|
106 |
.getDocuments(TableManager.TYPENAME); |
|
107 |
for (Document table : tables) { |
|
108 |
if (dataTransformGui.accept(((TableDocument)table).getStore())){ |
|
109 |
((DefaultListModel)dataStoreList.getModel()).addElement( |
|
110 |
new FeatureStoreCombo( |
|
111 |
table.getName(), |
|
112 |
((TableDocument)table).getStore(), |
|
113 |
false |
|
114 |
) |
|
115 |
); |
|
116 |
} |
|
117 |
} |
|
118 |
|
|
119 |
//Add the layers from the current view |
|
120 |
IWindow window = PluginServices.getMDIManager().getActiveWindow(); |
|
121 |
if (window instanceof IView){ |
|
122 |
IView view = (IView)window; |
|
123 |
LayersIterator it = new LayersIterator( |
|
124 |
view.getMapControl().getMapContext().getLayers()); |
|
125 |
while(it.hasNext()){ |
|
126 |
FLayer layer = it.nextLayer(); |
|
127 |
if (layer instanceof FLyrVect){ |
|
128 |
FLyrVect layerVect = (FLyrVect)layer; |
|
129 |
FeatureStore featureStore = layerVect.getFeatureStore(); |
|
130 |
boolean found = false; |
|
131 |
for (int i=0 ; i<tables.size() ; i++){ |
|
132 |
TableDocument table = (TableDocument)tables.get(i); |
|
133 |
if (table.getStore().equals(featureStore)) { |
|
134 |
found = true; |
|
135 |
} |
|
136 |
} |
|
137 |
if (!found){ |
|
138 |
if (dataTransformGui.accept(featureStore)){ |
|
139 |
((DefaultListModel)dataStoreList.getModel()).addElement( |
|
140 |
new FeatureStoreCombo(layerVect.getName(), |
|
141 |
featureStore, |
|
142 |
true)); |
|
143 |
} |
|
144 |
} |
|
145 |
} |
|
146 |
} |
|
147 |
} |
|
148 |
} |
|
149 |
|
|
150 |
|
|
151 |
/** |
|
152 |
* @return the selected feature store |
|
153 |
*/ |
|
154 |
public FeatureStore getSelectedFeatureStore(){ |
|
155 |
Object obj = dataStoreList.getSelectedValue(); |
|
156 |
if (obj != null){ |
|
157 |
return ((FeatureStoreCombo)obj).getFeatureStore(); |
|
158 |
} |
|
159 |
return null; |
|
160 |
} |
|
161 |
|
|
162 |
/* (non-Javadoc) |
|
163 |
* @see org.gvsig.app.daltransform.impl.AbstractDataTransformWizardPanel#getFeatureStore() |
|
164 |
*/ |
|
165 |
@Override |
|
166 |
public FeatureStore getFeatureStore() { |
|
167 |
return getSelectedFeatureStore(); |
|
168 |
} |
|
169 |
|
|
170 |
/** |
|
171 |
* @return the selected feature store |
|
172 |
*/ |
|
173 |
public boolean isSelectedFeatureStoreLoaded(){ |
|
174 |
Object obj = dataStoreList.getSelectedValue(); |
|
175 |
if (obj != null){ |
|
176 |
return ((FeatureStoreCombo)obj).isLoaded(); |
|
177 |
} |
|
178 |
return false; |
|
179 |
} |
|
180 |
|
|
181 |
/** |
|
182 |
* Used to fill the combo |
|
183 |
* @author jpiera |
|
184 |
*/ |
|
185 |
private class FeatureStoreCombo{ |
|
186 |
private FeatureStore featureStore = null; |
|
187 |
private String name = null; |
|
188 |
private boolean isLoaded = false; |
|
189 |
|
|
190 |
public FeatureStoreCombo(String name, FeatureStore featureStore, boolean isLoaded) { |
|
191 |
super(); |
|
192 |
this.name = name; |
|
193 |
this.featureStore = featureStore; |
|
194 |
this.isLoaded = isLoaded; |
|
195 |
} |
|
196 |
|
|
197 |
/** |
|
198 |
* @return the isLoaded |
|
199 |
*/ |
|
200 |
public boolean isLoaded() { |
|
201 |
return isLoaded; |
|
202 |
} |
|
203 |
|
|
204 |
/** |
|
205 |
* @return the featureStore |
|
206 |
*/ |
|
207 |
public FeatureStore getFeatureStore() { |
|
208 |
return featureStore; |
|
209 |
} |
|
210 |
|
|
211 |
/* (non-Javadoc) |
|
212 |
* @see java.lang.Object#toString() |
|
213 |
*/ |
|
214 |
public String toString() { |
|
215 |
return name; |
|
216 |
} |
|
217 |
} |
|
218 |
|
|
219 |
/* |
|
220 |
* (non-Javadoc) |
|
221 |
* @see org.gvsig.app.daltransform.gui.FeatureTransformWizard#getPanelTitle() |
|
222 |
*/ |
|
223 |
public String getPanelTitle() { |
|
224 |
return PluginServices.getText(this, "transform_datastore_selection"); |
|
225 |
} |
|
226 |
|
|
227 |
/* (non-Javadoc) |
|
228 |
* @see org.gvsig.app.daltransform.DataTransformWizard#updatePanel() |
|
229 |
*/ |
|
230 |
public void updatePanel() { |
|
231 |
addDataStores(); |
|
232 |
if (dataStoreList.getSelectedIndex() == -1){ |
|
233 |
if (dataStoreList.getModel().getSize() > 0){ |
|
234 |
dataStoreList.setSelectedIndex(0); |
|
235 |
getDataTransformWizard().setApplicable(true); |
|
236 |
}else{ |
|
237 |
getDataTransformWizard().setApplicable(false); |
|
238 |
} |
|
239 |
} |
|
240 |
} |
|
241 |
|
|
242 |
/** |
|
243 |
* @return |
|
244 |
*/ |
|
245 |
public boolean isFeatureStoreLayer() { |
|
246 |
Object obj = dataStoreList.getSelectedValue(); |
|
247 |
if (obj != null){ |
|
248 |
return ((FeatureStoreCombo)obj).isLoaded; |
|
249 |
} |
|
250 |
return false; |
|
251 |
} |
|
252 |
|
|
253 |
/* (non-Javadoc) |
|
254 |
* @see org.gvsig.app.daltransform.impl.AbstractDataTransformWizardPanel#nextPanel() |
|
255 |
*/ |
|
256 |
@Override |
|
257 |
public void nextPanel() { |
|
258 |
getDataTransformWizard().updateGui(); |
|
259 |
} |
|
260 |
|
|
261 |
|
|
262 |
} |
|
263 |
|
|
0 | 264 |
Also available in: Unified diff