Revision 3095 trunk/extensions/extJDBC/src/com/iver/cit/gvsig/jdbc_spatial/gui/jdbcwizard/WizardJDBC.java

View differences:

WizardJDBC.java
18 18
import javax.swing.JOptionPane;
19 19
import javax.swing.JPanel;
20 20

  
21
import org.cresques.cts.IProjection;
22
import org.cresques.cts.ProjectionPool;
23

  
21 24
import com.hardcode.driverManager.DriverLoadException;
22 25
import com.hardcode.gdbms.engine.data.NoSuchTableException;
23 26
import com.iver.andami.PluginServices;
24 27
import com.iver.andami.messages.NotificationManager;
28
import com.iver.cit.gvsig.fmap.core.ICanReproject;
25 29
import com.iver.cit.gvsig.fmap.drivers.DefaultDBDriver;
26 30
import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
27 31
import com.iver.cit.gvsig.fmap.drivers.VectorialJDBCDriver;
......
217 221
							else if (step == 1) {
218 222
								fieldSelection.setFields(getTableFields());
219 223
							}else if (step == 2) {
220
								geomFieldSelection.setFields(getFields());
224
								geomFieldSelection.setFields(getTableFields());
221 225
							}else if (step == 3) {
222 226
								uniqueFieldSelection.setFields(getTableFields());
223 227
							}
......
453 457
	public FLayer getLayer() {
454 458
		WizardJDBC wiz = this;
455 459
	    //true -> Modo desconectado. Por ahora, no se usa
460
        IProjection proj = null;
456 461
	    if (false){
457 462
			try {
458 463
				String dbURL = wiz.getConnectionString();
......
472 477
                conn.setAutoCommit(false);
473 478

  
474 479
                VectorialJDBCDriver driver = wiz.getDriver();
475
                driver.setData(conn, tableName, fields, whereClause, fidField);
476 480
                if (dbLayerDefinition.getWorkingArea() != null){
477 481
                    driver.setWorkingArea(dbLayerDefinition.getWorkingArea());
478 482
                }
483
                String strEPSG = getMapCtrl().getViewPort()
484
                            .getProjection().getAbrev()
485
                            .substring(5);                
486
                if (driver instanceof ICanReproject)
487
                {                    
488
                    ((ICanReproject)driver).setDestProjection(strEPSG);
489
                }
490
                driver.setData(conn, tableName, fields, whereClause, fidField);
491
                if (driver instanceof ICanReproject)
492
                {                                        
493
                    proj = ProjectionPool.get("EPSG:" + ((ICanReproject)driver).getSourceProjection()); 
494
                }
495
                
479 496
/*	                    Disconnected d = new Disconnected(driver, layerName);
480 497
                PluginServices.backgroundExecution(d);
481 498
                lyr = d.getLayer();
482 499
*/
483
                FLayer lyr = LayerFactory.createDisconnectedDBLayer(driver, layerName, null, null);
500
                FLayer lyr = LayerFactory.createDisconnectedDBLayer(driver, layerName, proj, null);
484 501
				if (lyr != null) {
485 502
					lyr.setVisible(true);
486 503
				}
......
526 543
	            if (driver instanceof DefaultDBDriver)
527 544
	            {
528 545
	                DefaultDBDriver dbDriver = (DefaultDBDriver) driver;
529
	                dbDriver.setData(conn, tableName, fields, whereClause, fidField);
530
	                if (dbLayerDefinition.getWorkingArea() != null){
531
	                    driver.setWorkingArea(dbLayerDefinition.getWorkingArea());
532
	                }
546
                    String strEPSG = getMapCtrl().getViewPort()
547
                            .getProjection().getAbrev()
548
                            .substring(5);
549
                    if (driver instanceof ICanReproject)
550
                    {                    
551
                        ((ICanReproject)driver).setDestProjection(strEPSG);
552
                    }
553

  
554
                    if (dbLayerDefinition.getWorkingArea() != null){
555
                        driver.setWorkingArea(dbLayerDefinition.getWorkingArea());
556
                    }
557
                    dbDriver.setData(conn, tableName, fields, whereClause, fidField);
558
                    if (driver instanceof ICanReproject)
559
                    {                                        
560
                        proj = ProjectionPool.get("EPSG:" + ((ICanReproject)driver).getSourceProjection()); 
561
                    }
562
                    
533 563
	            }
534 564
	            
535
	            return LayerFactory.createDBLayer(driver, layerName, null);
565
	            return LayerFactory.createDBLayer(driver, layerName, proj);
536 566
	        } catch (SQLException e) {
537 567
	            // TODO Auto-generated catch block
538 568
	            e.printStackTrace();

Also available in: Unified diff