Revision 25068 branches/v2_0_0_prep/applications/appgvSIG/src/com/iver/cit/gvsig/TableOperations.java

View differences:

TableOperations.java
46 46

  
47 47
import javax.swing.JOptionPane;
48 48

  
49
import org.gvsig.fmap.dal.DALLocator;
49 50
import org.gvsig.fmap.dal.DataManager;
50 51
import org.gvsig.fmap.dal.exception.DataException;
51 52
import org.gvsig.fmap.dal.exception.ReadException;
52 53
import org.gvsig.fmap.dal.feature.Feature;
54
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor;
53 55
import org.gvsig.fmap.dal.feature.FeatureStore;
54 56
import org.gvsig.fmap.mapcontext.exceptions.LoadLayerException;
57
import org.gvsig.project.document.table.FeatureTableDocument;
58
import org.gvsig.project.document.table.FeatureTableDocumentFactory;
59
import org.gvsig.project.document.table.gui.FeatureTableDocumentPanel;
55 60
import org.opengis.feature.FeatureCollection;
56 61

  
57 62
import com.iver.andami.PluginServices;
......
62 67
import com.iver.cit.gvsig.project.Project;
63 68
import com.iver.cit.gvsig.project.documents.table.FieldSelectionModel;
64 69
import com.iver.cit.gvsig.project.documents.table.ObjectSelectionStep;
65
import com.iver.cit.gvsig.project.documents.table.ProjectTable;
66
import com.iver.cit.gvsig.project.documents.table.ProjectTableFactory;
67 70
import com.iver.cit.gvsig.project.documents.table.TableSelectionModel;
68 71
import com.iver.cit.gvsig.project.documents.table.gui.AndamiWizard;
69
import com.iver.cit.gvsig.project.documents.table.gui.Table;
70 72
import com.iver.utiles.swing.objectSelection.SelectionException;
71 73
import com.iver.utiles.swing.wizard.WizardControl;
72 74
import com.iver.utiles.swing.wizard.WizardEvent;
......
88 90
	public void execute(String actionCommand) {
89 91
		ProjectExtension pe = (ProjectExtension) PluginServices.getExtension(ProjectExtension.class);
90 92
		Project project=pe.getProject();
91
		ProjectTable[] pts = project.getDocumentsByType(ProjectTableFactory.registerName)
92
			.toArray(new ProjectTable[0]);
93
		FeatureTableDocument[] pts = project.getDocumentsByType(FeatureTableDocumentFactory.registerName)
94
			.toArray(new FeatureTableDocument[0]);
93 95
		if ("JOIN".equals(actionCommand)) {
94 96
			try {
95 97
				final ObjectSelectionStep sourceTable = new ObjectSelectionStep();
......
117 119
						public void finished(WizardEvent w) {
118 120
							PluginServices.getMDIManager().closeWindow(wiz);
119 121

  
120
							ProjectTable sourceProjectTable = (ProjectTable) sourceTable.getSelected();
121
							FeatureStore fs1 = sourceProjectTable.getModel();
122
							FeatureTableDocument sourceProjectTable = (FeatureTableDocument) sourceTable.getSelected();
123
							FeatureStore fs1 = sourceProjectTable.getStore();
122 124
							String tableName1 = fs1.getName();
123 125

  
124
							ProjectTable targetProjectTable = (ProjectTable) targetTable.getSelected();
125
							FeatureStore fs2 = targetProjectTable.getModel();
126
							FeatureTableDocument targetProjectTable = (FeatureTableDocument) targetTable.getSelected();
127
							FeatureStore fs2 = targetProjectTable.getStore();
126 128

  
127 129
							String tableName2 = fs2.getName();
128 130

  
......
136 138
							System.out.println(sql);
137 139

  
138 140
							try {
139
								DataManager dm=DataManager.getManager();
141
								DataManager dm=DALLocator.getDataManager();
140 142
								JoinFeatureStoreParameters jfsp=(JoinFeatureStoreParameters)dm.createDataStoreParameters(JoinFeatureStore.DATASTORE_NAME);
141 143
								jfsp.setStorePrimary(fs1.getParameters());
142 144
								jfsp.setStoreSecondary(fs2.getParameters());
......
147 149

  
148 150
								JoinFeatureStore jfs=(JoinFeatureStore)dm.createDataStore(jfsp);
149 151
								featureStore=jfs;
150
								ProjectTable projectTable = (ProjectTable) sourceTable.getSelected();
151
								FeatureStore original = projectTable.getModel();
152
								FeatureTableDocument projectTable = (FeatureTableDocument) sourceTable.getSelected();
153
								FeatureStore original = projectTable.getStore();
152 154
								projectTable.setModel(jfs);
153 155

  
154
								if (projectTable.getAssociatedTable() != null) {
155
								projectTable.getAssociatedTable().setDataStore(
156
								if (projectTable.getAssociatedLayer() != null) {
157
								projectTable.getAssociatedLayer().setDataStore(
156 158
										jfs);
157 159
							}
158 160

  
159 161
								original.dispose();
160 162

  
161 163
								IWindow[] windows=PluginServices.getMDIManager().getAllWindows();
162
								Table tableWindow;
164
								FeatureTableDocumentPanel tableWindow;
163 165
								for (int i = 0; i < windows.length; i++) {
164
									if (windows[i] instanceof Table){
165
										tableWindow = (Table) windows[i];
166
									if (windows[i] instanceof FeatureTableDocumentPanel){
167
										tableWindow = (FeatureTableDocumentPanel) windows[i];
166 168
									if (tableWindow.getModel().equals(
167 169
											projectTable)) {
168 170
										tableWindow.setModel(projectTable);
......
183 185
							wiz.enableNext(((ObjectSelectionStep) wiz.getCurrentStep()).getSelectedItem() != null);
184 186

  
185 187
							if (w.currentStep == 1) {
186
								ProjectTable pt = (ProjectTable) sourceTable.getSelected();
188
								FeatureTableDocument pt = (FeatureTableDocument) sourceTable.getSelected();
187 189

  
188 190
								try {
189 191
									firstTableField.setModel(new FieldSelectionModel(
190
											pt.getModel(),
192
											pt.getStore(),
191 193
											PluginServices.getText(this, "seleccione_campo_enlace"),
192 194
											null));
193 195
								} catch (SelectionException e) {
......
197 199
							} else if (w.currentStep == 3) {
198 200
								try {
199 201
									//tabla
200
									ProjectTable pt = (ProjectTable) sourceTable.getSelected();
202
									FeatureTableDocument pt = (FeatureTableDocument) sourceTable.getSelected();
201 203

  
202 204
									//?ndice del campo
203
									FeatureStore fs = pt.getModel();
205
									FeatureStore fs = pt.getStore();
204 206
									String fieldName = (String) firstTableField.getSelected();
205
									String type = fs.getDefaultFeatureType().get(fieldName).getDataType();
207
									int type = ((FeatureAttributeDescriptor)fs.getDefaultFeatureType().get(fieldName)).getDataType();
206 208

  
207 209

  
208 210
									secondTableField.setModel(new FieldSelectionModel(
209
											((ProjectTable) targetTable
211
											((FeatureTableDocument) targetTable
210 212
														.getSelected())
211
														.getModel(),
213
														.getStore(),
212 214
											PluginServices.getText(this, "seleccione_campo_enlace"),
213 215
											type));
214 216
								} catch (SelectionException e) {
......
256 258
						public void finished(WizardEvent w) {
257 259
							PluginServices.getMDIManager().closeWindow(wiz);
258 260

  
259
							ProjectTable sourceProjectTable = (ProjectTable) sourceTable.getSelected();
260
							FeatureStore sds1 = sourceProjectTable.getModel();
261
							FeatureTableDocument sourceProjectTable = (FeatureTableDocument) sourceTable.getSelected();
262
							FeatureStore sds1 = sourceProjectTable.getStore();
261 263

  
262
							ProjectTable targetProjectTable = (ProjectTable) targetTable.getSelected();
263
							FeatureStore sds2 = targetProjectTable.getModel();
264
							FeatureTableDocument targetProjectTable = (FeatureTableDocument) targetTable.getSelected();
265
							FeatureStore sds2 = targetProjectTable.getStore();
264 266

  
265 267
							String field1 = (String) firstTableField.getSelected();
266 268
							String field2 = (String) secondTableField.getSelected();
......
275 277
							wiz.enableNext(((ObjectSelectionStep) wiz.getCurrentStep()).getSelectedItem() != null);
276 278

  
277 279
							if (w.currentStep == 1) {
278
								ProjectTable pt = (ProjectTable) sourceTable.getSelected();
280
								FeatureTableDocument pt = (FeatureTableDocument) sourceTable.getSelected();
279 281

  
280 282
								try {
281 283
									firstTableField.setModel(new FieldSelectionModel(
282
											pt.getModel(),
284
											pt.getStore(),
283 285
											PluginServices.getText(this, "seleccione_campo_enlace"),
284 286
											null));
285 287
								} catch (SelectionException e) {
......
289 291
							} else if (w.currentStep == 3) {
290 292
								try {
291 293
									//tabla
292
									ProjectTable pt = (ProjectTable) sourceTable.getSelected();
294
									FeatureTableDocument pt = (FeatureTableDocument) sourceTable.getSelected();
293 295

  
294 296
									//?ndice del campo
295
									FeatureStore fs = pt.getModel();
297
									FeatureStore fs = pt.getStore();
296 298
									String fieldName = (String) firstTableField.getSelected();
297 299
									String type = fs.getDefaultFeatureType().get(fieldName).getDataType();
298 300

  
299 301
									secondTableField.setModel(new FieldSelectionModel(
300
											((ProjectTable) targetTable
302
											((FeatureTableDocument) targetTable
301 303
														.getSelected())
302
														.getModel(),
304
														.getStore(),
303 305
											PluginServices.getText(this, "seleccione_campo_enlace"),
304 306
											type));
305 307
								} catch (SelectionException e) {
......
359 361
		// By Pablo: if no filter expression -> don't add more elements to set
360 362
		if (! this.filterExpressionFromWhereIsEmpty(expression)) {
361 363
			FeatureCollection sel=null;
362
			try {
363
				sel = doSet(expression);
364
			} catch (ReadException e) {
365
				throw new DataException("Expression",e);
366
			}
364
			sel = doSet(expression);
367 365

  
368 366
			if (sel == null) {
369 367
				throw new RuntimeException("Not a 'where' clause?");
......
444 442
			return false;
445 443
		}
446 444

  
447
		if (v instanceof Table) {
445
		if (v instanceof FeatureTableDocumentPanel) {
448 446
			return true;
449 447
		} /*else {
450 448
			if (v instanceof com.iver.cit.gvsig.gui.View) {

Also available in: Unified diff