Revision 37138 branches/v2_0_0_prep/extensions/extEditing/src/org/gvsig/editing/gui/cad/MyFinishAction.java

View differences:

MyFinishAction.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
 */
1 22
package org.gvsig.editing.gui.cad;
2 23

  
3 24
import java.awt.Component;
......
8 29
import jwizardcomponent.FinishAction;
9 30
import jwizardcomponent.JWizardComponents;
10 31

  
32
import org.slf4j.Logger;
33
import org.slf4j.LoggerFactory;
34

  
11 35
import org.gvsig.andami.PluginServices;
12 36
import org.gvsig.andami.messages.NotificationManager;
13 37
import org.gvsig.app.project.documents.view.gui.DefaultViewPanel;
14
import org.gvsig.app.project.documents.view.legend.gui.VectorialUniqueValue;
15 38
import org.gvsig.editing.CADExtension;
16 39
import org.gvsig.editing.EditionManager;
17 40
import org.gvsig.editing.gui.cad.panels.ChooseGeometryType;
......
33 56
import org.gvsig.fmap.mapcontext.MapContextManager;
34 57
import org.gvsig.fmap.mapcontext.layers.LayerFactory;
35 58
import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
36
import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend;
37 59
import org.gvsig.fmap.mapcontrol.MapControl;
38
import org.slf4j.Logger;
39
import org.slf4j.LoggerFactory;
40 60

  
61
public class MyFinishAction extends FinishAction {
41 62

  
42

  
43
public class MyFinishAction extends FinishAction {
44
	
45 63
    private static final Logger logger = LoggerFactory
46
    .getLogger(MyFinishAction.class);
64
        .getLogger(MyFinishAction.class);
47 65

  
48
	JWizardComponents myWizardComponents;
49
	FinishAction oldAction;
50
	FeatureType featureType = null;
51
	DefaultViewPanel view;
52
	String actionComand;
53
	public MyFinishAction(JWizardComponents wizardComponents, DefaultViewPanel view, String actionComand) {
54
		super(wizardComponents);
55
		oldAction = wizardComponents.getFinishAction();
56
		myWizardComponents = wizardComponents;
57
		this.view = view;
58
		this.actionComand = actionComand;
59
		// TODO Auto-generated constructor stub
60
	}
66
    JWizardComponents myWizardComponents;
67
    FinishAction oldAction;
68
    FeatureType featureType = null;
69
    DefaultViewPanel view;
70
    String actionComand;
61 71

  
62
	public void performAction() {
63
		FLyrVect lyr = null;
64
		MapControl mapCtrl = view.getMapControl();
65
		try {
66
			mapCtrl.getMapContext().beginAtomicEvent();
67
			if (actionComand.equals("SHP")){
68
				FileBasedPanel shpPanel = (FileBasedPanel) myWizardComponents.getWizardPanel(2);
69
				String path=shpPanel.getPath();
70
				if (!path.toLowerCase().endsWith(".shp")){
71
					path+=".shp";
72
				}
73
				File newFile = new File(path);
74
				if( newFile.exists()){
75
					int resp = JOptionPane
76
                            .showConfirmDialog(
77
                                    (Component) PluginServices.getMainFrame(),PluginServices.getText(this,"fichero_ya_existe_seguro_desea_guardarlo"),
78
							PluginServices.getText(this,"guardar"), JOptionPane.YES_NO_OPTION);
79
					if (resp != JOptionPane.YES_OPTION) {
80
						return;
81
					}
82
				}
83
				ChooseGeometryType geometryTypePanel = (ChooseGeometryType) myWizardComponents.getWizardPanel(0);
84
				JPanelFieldDefinition fieldDefinitionPanel = (JPanelFieldDefinition) myWizardComponents.getWizardPanel(1);
72
    public MyFinishAction(JWizardComponents wizardComponents,
73
        DefaultViewPanel view, String actionComand) {
74
        super(wizardComponents);
75
        oldAction = wizardComponents.getFinishAction();
76
        myWizardComponents = wizardComponents;
77
        this.view = view;
78
        this.actionComand = actionComand;
79
        // TODO Auto-generated constructor stub
80
    }
85 81

  
82
    public void performAction() {
83
        FLyrVect lyr = null;
84
        MapControl mapCtrl = view.getMapControl();
85
        try {
86
            mapCtrl.getMapContext().beginAtomicEvent();
87
            if (actionComand.equals("SHP")) {
88
                FileBasedPanel shpPanel =
89
                    (FileBasedPanel) myWizardComponents.getWizardPanel(2);
90
                String path = shpPanel.getPath();
91
                if (!path.toLowerCase().endsWith(".shp")) {
92
                    path += ".shp";
93
                }
94
                File newFile = new File(path);
95
                if (newFile.exists()) {
96
                    int resp =
97
                        JOptionPane.showConfirmDialog(
98
                            (Component) PluginServices.getMainFrame(),
99
                            PluginServices.getText(this,
100
                                "fichero_ya_existe_seguro_desea_guardarlo"),
101
                            PluginServices.getText(this, "guardar"),
102
                            JOptionPane.YES_NO_OPTION);
103
                    if (resp != JOptionPane.YES_OPTION) {
104
                        return;
105
                    }
106
                }
107
                ChooseGeometryType geometryTypePanel =
108
                    (ChooseGeometryType) myWizardComponents.getWizardPanel(0);
109
                JPanelFieldDefinition fieldDefinitionPanel =
110
                    (JPanelFieldDefinition) myWizardComponents
111
                        .getWizardPanel(1);
86 112

  
87
				String layerName = geometryTypePanel.getLayerName();
88
				String selectedDriver = geometryTypePanel.getSelectedDriver();
89
				int geometryType = geometryTypePanel.getSelectedGeometryType();
90
				EditableFeatureType featureType = fieldDefinitionPanel.getFeatureType();
113
                String layerName = geometryTypePanel.getLayerName();
114
                String selectedDriver = geometryTypePanel.getSelectedDriver();
115
                int geometryType = geometryTypePanel.getSelectedGeometryType();
116
                EditableFeatureType featureType =
117
                    fieldDefinitionPanel.getFeatureType();
91 118

  
92
				EditableFeatureAttributeDescriptor efad=featureType.add("GEOMETRY", DataTypes.GEOMETRY);
93
				efad.setGeometryType(geometryType);
94
				featureType.setDefaultGeometryAttributeName("GEOMETRY");
119
                EditableFeatureAttributeDescriptor efad =
120
                    featureType.add("GEOMETRY", DataTypes.GEOMETRY);
121
                efad.setGeometryType(geometryType);
122
                featureType.setDefaultGeometryAttributeName("GEOMETRY");
95 123

  
96
				DataManager datamanager=DALLocator.getDataManager();
97
				FilesystemServerExplorerParameters explorerParams;
98
				explorerParams = (FilesystemServerExplorerParameters) datamanager.createServerExplorerParameters(FilesystemServerExplorer.NAME);
99
				explorerParams.setRoot(newFile.getParent());
100
				FilesystemServerExplorer explorer=(FilesystemServerExplorer) datamanager.createServerExplorer(explorerParams);
101
				NewFeatureStoreParameters newParams = (NewFeatureStoreParameters) explorer.getAddParameters(newFile);
102
				newParams.setDefaultFeatureType(featureType);
103
				((SHPNewStoreParameters)newParams).setCRS( mapCtrl.getProjection());
104
				((SHPNewStoreParameters)newParams).setGeometryType(geometryType);
105
				explorer.add(newParams.getDataStoreName(),newParams, true);
106
				FeatureStore target = (FeatureStore) datamanager
107
				.openStore(newParams.getDataStoreName(), newParams);
108
				target.edit(FeatureStore.MODE_APPEND);
109
				target.finishEditing();
110
				target.dispose();
124
                DataManager datamanager = DALLocator.getDataManager();
125
                FilesystemServerExplorerParameters explorerParams;
126
                explorerParams =
127
                    (FilesystemServerExplorerParameters) datamanager
128
                        .createServerExplorerParameters(FilesystemServerExplorer.NAME);
129
                explorerParams.setRoot(newFile.getParent());
130
                FilesystemServerExplorer explorer =
131
                    (FilesystemServerExplorer) datamanager
132
                        .createServerExplorer(explorerParams);
133
                NewFeatureStoreParameters newParams =
134
                    (NewFeatureStoreParameters) explorer
135
                        .getAddParameters(newFile);
136
                newParams.setDefaultFeatureType(featureType);
137
                ((SHPNewStoreParameters) newParams).setCRS(mapCtrl
138
                    .getProjection());
139
                ((SHPNewStoreParameters) newParams)
140
                    .setGeometryType(geometryType);
141
                explorer.add(newParams.getDataStoreName(), newParams, true);
142
                FeatureStore target =
143
                    (FeatureStore) datamanager.openStore(
144
                        newParams.getDataStoreName(), newParams);
145
                target.edit(FeatureStore.MODE_APPEND);
146
                target.finishEditing();
147
                target.dispose();
111 148

  
112
				lyr=(FLyrVect)LayerFactory.getInstance().createLayer(layerName, newParams);
113
				lyr.setActive(true);
114
				lyr.setVisible(true);
115
				mapCtrl.getMapContext().getLayers().addLayer(lyr);
116
				mapCtrl.getMapContext().endAtomicEvent();
117
				EditionManager em = CADExtension.getEditionManager();
118
				em.setMapControl(mapCtrl);
119
				lyr.addLayerListener(em);
120
				lyr.setEditing(true);
121
				lyr.dispose();
122
				view.showConsole();
123
			}
149
                lyr =
150
                    (FLyrVect) LayerFactory.getInstance().createLayer(
151
                        layerName, newParams);
152
                lyr.setActive(true);
153
                lyr.setVisible(true);
154
                mapCtrl.getMapContext().getLayers().addLayer(lyr);
155
                mapCtrl.getMapContext().endAtomicEvent();
156
                EditionManager em = CADExtension.getEditionManager();
157
                em.setMapControl(mapCtrl);
158
                lyr.addLayerListener(em);
159
                lyr.setEditing(true);
160
                lyr.dispose();
161
                view.showConsole();
162
            }
124 163

  
125
			if (actionComand.equals("DXF")){
126
				FileBasedPanel filePanel = (FileBasedPanel) myWizardComponents.getWizardPanel(0);
127
				String path=filePanel.getPath();
128
				if (!path.toLowerCase().endsWith(".dxf")){
129
					path+=".dxf";
130
				}
131
				File newFile = new File(path);
132
				if( newFile.exists()){
133
					int resp = JOptionPane
134
                            .showConfirmDialog(
135
                                    (Component) PluginServices.getMainFrame(),PluginServices.getText(this,"fichero_ya_existe_seguro_desea_guardarlo"),
136
							PluginServices.getText(this,"guardar"), JOptionPane.YES_NO_OPTION);
137
					if (resp != JOptionPane.YES_OPTION) {
138
						return;
139
					}
140
				}
141
				String filename = newFile.getName(); 
164
            if (actionComand.equals("DXF")) {
165
                FileBasedPanel filePanel =
166
                    (FileBasedPanel) myWizardComponents.getWizardPanel(0);
167
                String path = filePanel.getPath();
168
                if (!path.toLowerCase().endsWith(".dxf")) {
169
                    path += ".dxf";
170
                }
171
                File newFile = new File(path);
172
                if (newFile.exists()) {
173
                    int resp =
174
                        JOptionPane.showConfirmDialog(
175
                            (Component) PluginServices.getMainFrame(),
176
                            PluginServices.getText(this,
177
                                "fichero_ya_existe_seguro_desea_guardarlo"),
178
                            PluginServices.getText(this, "guardar"),
179
                            JOptionPane.YES_NO_OPTION);
180
                    if (resp != JOptionPane.YES_OPTION) {
181
                        return;
182
                    }
183
                }
184
                String filename = newFile.getName();
142 185

  
143
				DataManager datamanager=DALLocator.getDataManager();
144
				
145
				
146
				FilesystemServerExplorerParameters explorerParams=(FilesystemServerExplorerParameters) datamanager.createServerExplorerParameters(FilesystemServerExplorer.NAME);
147
				explorerParams.setRoot(newFile.getParent());
148
				FilesystemServerExplorer explorer=(FilesystemServerExplorer) datamanager.openServerExplorer(FilesystemServerExplorer.NAME, explorerParams);
149
				
150
				NewFeatureStoreParameters newParams = (NewFeatureStoreParameters) explorer.getAddParameters(newFile);
151
				newParams.setDynValue("File", newFile);
152
				newParams.setDynValue("CRS",  mapCtrl.getProjection());
153
				explorer.add(newParams.getDataStoreName(),newParams, true);
186
                DataManager datamanager = DALLocator.getDataManager();
154 187

  
155
				DataStoreParameters parameters = null;
156
				parameters = datamanager.createStoreParameters("DXF");
157
				parameters.setDynValue("File", newFile);
158
				parameters.setDynValue("CRS",  mapCtrl.getProjection());
159
				
160
				MapContextManager mcm = MapContextLocator.getMapContextManager();
161
				lyr = (FLyrVect)mcm.createLayer(filename, parameters);
162
				
163
				lyr.setActive(true);
164
				lyr.setVisible(true);
165
				mapCtrl.getMapContext().getLayers().addLayer(lyr);
166
				mapCtrl.getMapContext().endAtomicEvent();
167
				EditionManager em = CADExtension.getEditionManager();
168
				em.setMapControl(mapCtrl);
169
				lyr.addLayerListener(em);
170
				lyr.setEditing(true);
171
				lyr.dispose();
172
				view.showConsole();
173
			}
188
                FilesystemServerExplorerParameters explorerParams =
189
                    (FilesystemServerExplorerParameters) datamanager
190
                        .createServerExplorerParameters(FilesystemServerExplorer.NAME);
191
                explorerParams.setRoot(newFile.getParent());
192
                FilesystemServerExplorer explorer =
193
                    (FilesystemServerExplorer) datamanager.openServerExplorer(
194
                        FilesystemServerExplorer.NAME, explorerParams);
174 195

  
175
//			else if (actionComand.equals("POSTGIS"))
176
//			{
177
//				ChooseGeometryType geometryTypePanel = (ChooseGeometryType) myWizardComponents.getWizardPanel(0);
178
//				JPanelFieldDefinition fieldDefinitionPanel = (JPanelFieldDefinition) myWizardComponents.getWizardPanel(1);
179
//
180
//
181
//				String layerName = geometryTypePanel.getLayerName();
182
//				String selectedDriver = geometryTypePanel.getSelectedDriver();
183
//				int geometryType = geometryTypePanel.getSelectedGeometryType();
184
//				FieldDescription[] fieldsDesc = fieldDefinitionPanel.getFieldsDescription();
185
//
186
//				Driver drv = LayerFactory.getDM().getDriver(selectedDriver);
187
//
188
//				IVectorialJDBCDriver dbDriver = (IVectorialJDBCDriver) drv;
189
//	    		PostGISpanel postgisPanel = (PostGISpanel) myWizardComponents.getWizardPanel(2);
190
//				ConnectionSettings cs = postgisPanel.getConnSettings();
191
//				if (cs == null)
192
//					return;
193
//				IConnection conex = ConnectionFactory.createConnection(cs.getConnectionString(),
194
//						cs.getUser(), cs.getPassw());
195
//
196
//				DBLayerDefinition dbLayerDef = new DBLayerDefinition();
197
//				dbLayerDef.setCatalogName(cs.getDb());
198
//				dbLayerDef.setSchema(cs.getSchema());
199
//				dbLayerDef.setTableName(layerName);
200
//				dbLayerDef.setShapeType(geometryType);
201
//				dbLayerDef.setFieldsDesc(fieldsDesc);
202
//				dbLayerDef.setFieldGeometry("the_geom");
203
//				dbLayerDef.setFieldID("gid");
204
//
205
//				dbLayerDef.setWhereClause("");
206
//				String strSRID = mapCtrl.getProjection().getAbrev()
207
//						.substring(5);
208
//				dbLayerDef.setSRID_EPSG(strSRID);
209
//				dbLayerDef.setConnection(conex);
210
//
211
//    			PostGISWriter writer= new PostGISWriter(); //(PostGISWriter)LayerFactory.getWM().getWriter("PostGIS Writer");
212
//    			writer.setWriteAll(true);
213
//    			writer.setCreateTable(true);
214
//    			writer.initialize(dbLayerDef);
215
//
216
//    			// Creamos la tabla.
217
//    			writer.preProcess();
218
//    			writer.postProcess();
219
//
220
//    	        if (dbDriver instanceof ICanReproject)
221
//    	        {
222
//    	            ((ICanReproject)dbDriver).setDestProjection(strSRID);
223
//    	        }
224
//
225
//    	        // Creamos el driver. OJO: Hay que a�adir el campo ID a la
226
//    	        // definici�n de campos.
227
//
228
//    	        boolean bFound = false;
229
//    	        for (int i=0; i < dbLayerDef.getFieldsDesc().length; i++)
230
//    	        {
231
//    	        	FieldDescription f = dbLayerDef.getFieldsDesc()[i];
232
//    	        	if (f.getFieldName().equalsIgnoreCase(dbLayerDef.getFieldID()))
233
//    	        	{
234
//    	        		bFound = true;
235
//    	        		break;
236
//    	        	}
237
//    	        }
238
//    	        // Si no est�, lo a�adimos
239
//    	        if (!bFound)
240
//    	        {
241
//    	        	int numFieldsAnt = dbLayerDef.getFieldsDesc().length;
242
//    	        	FieldDescription[] newFields = new FieldDescription[dbLayerDef.getFieldsDesc().length + 1];
243
//    	            for (int i=0; i < numFieldsAnt; i++)
244
//    	            {
245
//    	            	newFields[i] = dbLayerDef.getFieldsDesc()[i];
246
//    	            }
247
//    	            newFields[numFieldsAnt] = new FieldDescription();
248
//    	            newFields[numFieldsAnt].setFieldDecimalCount(0);
249
//    	            newFields[numFieldsAnt].setFieldType(Types.INTEGER);
250
//    	            newFields[numFieldsAnt].setFieldLength(7);
251
//    	            newFields[numFieldsAnt].setFieldName(dbLayerDef.getFieldID());
252
//    	            dbLayerDef.setFieldsDesc(newFields);
253
//
254
//    	        }
255
//
256
//    	        dbDriver.setData(conex, dbLayerDef);
257
//    	        IProjection proj = null;
258
//    	        if (drv instanceof ICanReproject)
259
//    	        {
260
//    	        	 proj = CRSFactory.getCRS("EPSG:" + ((ICanReproject)dbDriver).getSourceProjection(null,null));
261
//    	        }
262
//
263
//    			lyr = (FLyrVect) LayerFactory.createDBLayer(dbDriver, layerName, proj);
264
//
265
//			}
266
//			else // Si no es ni lo uno ni lo otro,
267
//			{
268
//
269
//
270
//			}
271
			
272
		} catch (Exception e) {
273
			logger.error("Can't create the layer", e);
274
			NotificationManager.showMessageError(e.getLocalizedMessage(),e);
275
			return;
276
		}
196
                NewFeatureStoreParameters newParams =
197
                    (NewFeatureStoreParameters) explorer
198
                        .getAddParameters(newFile);
199
                newParams.setDynValue("File", newFile);
200
                newParams.setDynValue("CRS", mapCtrl.getProjection());
201
                explorer.add(newParams.getDataStoreName(), newParams, true);
277 202

  
203
                DataStoreParameters parameters = null;
204
                parameters = datamanager.createStoreParameters("DXF");
205
                parameters.setDynValue("File", newFile);
206
                parameters.setDynValue("CRS", mapCtrl.getProjection());
278 207

  
208
                MapContextManager mcm =
209
                    MapContextLocator.getMapContextManager();
210
                lyr = (FLyrVect) mcm.createLayer(filename, parameters);
279 211

  
212
                lyr.setActive(true);
213
                lyr.setVisible(true);
214
                mapCtrl.getMapContext().getLayers().addLayer(lyr);
215
                mapCtrl.getMapContext().endAtomicEvent();
216
                EditionManager em = CADExtension.getEditionManager();
217
                em.setMapControl(mapCtrl);
218
                lyr.addLayerListener(em);
219
                lyr.setEditing(true);
220
                lyr.dispose();
221
                view.showConsole();
222
            }
280 223

  
281
//		try {
282
//			lyr.setEditing(true);
283
//	        VectorialEditableAdapter vea = (VectorialEditableAdapter) lyr.getSource();
284
//			vea.getRules().clear();
285
//			// TODO: ESTO ES PROVISIONAL, DESCOMENTAR LUEGO
286
//			if (vea.getShapeType() == FShape.POLYGON)
287
//			{
288
//				IRule rulePol = new RulePolygon();
289
//				vea.getRules().add(rulePol, false);
290
//			}
291
//			StartEditing.startCommandsApplicable(view,lyr);
292
//	        vea.getCommandRecord().addCommandListener(mapCtrl);
293
//	        view.showConsole();
224
            // else if (actionComand.equals("POSTGIS"))
225
            // {
226
            // ChooseGeometryType geometryTypePanel = (ChooseGeometryType)
227
            // myWizardComponents.getWizardPanel(0);
228
            // JPanelFieldDefinition fieldDefinitionPanel =
229
            // (JPanelFieldDefinition) myWizardComponents.getWizardPanel(1);
230
            //
231
            //
232
            // String layerName = geometryTypePanel.getLayerName();
233
            // String selectedDriver = geometryTypePanel.getSelectedDriver();
234
            // int geometryType = geometryTypePanel.getSelectedGeometryType();
235
            // FieldDescription[] fieldsDesc =
236
            // fieldDefinitionPanel.getFieldsDescription();
237
            //
238
            // Driver drv = LayerFactory.getDM().getDriver(selectedDriver);
239
            //
240
            // IVectorialJDBCDriver dbDriver = (IVectorialJDBCDriver) drv;
241
            // PostGISpanel postgisPanel = (PostGISpanel)
242
            // myWizardComponents.getWizardPanel(2);
243
            // ConnectionSettings cs = postgisPanel.getConnSettings();
244
            // if (cs == null)
245
            // return;
246
            // IConnection conex =
247
            // ConnectionFactory.createConnection(cs.getConnectionString(),
248
            // cs.getUser(), cs.getPassw());
249
            //
250
            // DBLayerDefinition dbLayerDef = new DBLayerDefinition();
251
            // dbLayerDef.setCatalogName(cs.getDb());
252
            // dbLayerDef.setSchema(cs.getSchema());
253
            // dbLayerDef.setTableName(layerName);
254
            // dbLayerDef.setShapeType(geometryType);
255
            // dbLayerDef.setFieldsDesc(fieldsDesc);
256
            // dbLayerDef.setFieldGeometry("the_geom");
257
            // dbLayerDef.setFieldID("gid");
258
            //
259
            // dbLayerDef.setWhereClause("");
260
            // String strSRID = mapCtrl.getProjection().getAbrev()
261
            // .substring(5);
262
            // dbLayerDef.setSRID_EPSG(strSRID);
263
            // dbLayerDef.setConnection(conex);
264
            //
265
            // PostGISWriter writer= new PostGISWriter();
266
            // //(PostGISWriter)LayerFactory.getWM().getWriter("PostGIS Writer");
267
            // writer.setWriteAll(true);
268
            // writer.setCreateTable(true);
269
            // writer.initialize(dbLayerDef);
270
            //
271
            // // Creamos la tabla.
272
            // writer.preProcess();
273
            // writer.postProcess();
274
            //
275
            // if (dbDriver instanceof ICanReproject)
276
            // {
277
            // ((ICanReproject)dbDriver).setDestProjection(strSRID);
278
            // }
279
            //
280
            // // Creamos el driver. OJO: Hay que a�adir el campo ID a la
281
            // // definici�n de campos.
282
            //
283
            // boolean bFound = false;
284
            // for (int i=0; i < dbLayerDef.getFieldsDesc().length; i++)
285
            // {
286
            // FieldDescription f = dbLayerDef.getFieldsDesc()[i];
287
            // if (f.getFieldName().equalsIgnoreCase(dbLayerDef.getFieldID()))
288
            // {
289
            // bFound = true;
290
            // break;
291
            // }
292
            // }
293
            // // Si no est�, lo a�adimos
294
            // if (!bFound)
295
            // {
296
            // int numFieldsAnt = dbLayerDef.getFieldsDesc().length;
297
            // FieldDescription[] newFields = new
298
            // FieldDescription[dbLayerDef.getFieldsDesc().length + 1];
299
            // for (int i=0; i < numFieldsAnt; i++)
300
            // {
301
            // newFields[i] = dbLayerDef.getFieldsDesc()[i];
302
            // }
303
            // newFields[numFieldsAnt] = new FieldDescription();
304
            // newFields[numFieldsAnt].setFieldDecimalCount(0);
305
            // newFields[numFieldsAnt].setFieldType(Types.INTEGER);
306
            // newFields[numFieldsAnt].setFieldLength(7);
307
            // newFields[numFieldsAnt].setFieldName(dbLayerDef.getFieldID());
308
            // dbLayerDef.setFieldsDesc(newFields);
309
            //
310
            // }
311
            //
312
            // dbDriver.setData(conex, dbLayerDef);
313
            // IProjection proj = null;
314
            // if (drv instanceof ICanReproject)
315
            // {
316
            // proj = CRSFactory.getCRS("EPSG:" +
317
            // ((ICanReproject)dbDriver).getSourceProjection(null,null));
318
            // }
319
            //
320
            // lyr = (FLyrVect) LayerFactory.createDBLayer(dbDriver, layerName,
321
            // proj);
322
            //
323
            // }
324
            // else // Si no es ni lo uno ni lo otro,
325
            // {
326
            //
327
            //
328
            // }
294 329

  
295
			// Para cerrar el cuadro de di�logo.
296
			oldAction.performAction();
297
//		} catch (ReadException e) {
298
//			NotificationManager.showMessageError(e.getMessage(),e);
299
//		} catch (StartEditionLayerException e) {
300
//			NotificationManager.showMessageError(e.getMessage(),e);
301
//		}
330
        } catch (Exception e) {
331
            logger.error("Can't create the layer", e);
332
            NotificationManager.showMessageError(e.getLocalizedMessage(), e);
333
            return;
334
        }
302 335

  
336
        // try {
337
        // lyr.setEditing(true);
338
        // VectorialEditableAdapter vea = (VectorialEditableAdapter)
339
        // lyr.getSource();
340
        // vea.getRules().clear();
341
        // // TODO: ESTO ES PROVISIONAL, DESCOMENTAR LUEGO
342
        // if (vea.getShapeType() == FShape.POLYGON)
343
        // {
344
        // IRule rulePol = new RulePolygon();
345
        // vea.getRules().add(rulePol, false);
346
        // }
347
        // StartEditing.startCommandsApplicable(view,lyr);
348
        // vea.getCommandRecord().addCommandListener(mapCtrl);
349
        // view.showConsole();
303 350

  
304
	}
351
        // Para cerrar el cuadro de di�logo.
352
        oldAction.performAction();
353
        // } catch (ReadException e) {
354
        // NotificationManager.showMessageError(e.getMessage(),e);
355
        // } catch (StartEditionLayerException e) {
356
        // NotificationManager.showMessageError(e.getMessage(),e);
357
        // }
305 358

  
359
    }
360

  
306 361
}
307

  

Also available in: Unified diff