Revision 3095 trunk/extensions/extJDBC/src/com/iver/cit/gvsig/jdbc_spatial/gui/jdbcwizard/WizardJDBC.java
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