Revision 37138 branches/v2_0_0_prep/extensions/extEditing/src/org/gvsig/editing/gui/cad/MyFinishAction.java
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