Revision 1691 trunk/applications/appgvSIG/src/com/iver/cit/gvsig/Abrir.java
Abrir.java | ||
---|---|---|
46 | 46 |
|
47 | 47 |
import com.iver.cit.gvsig.fmap.DriverException; |
48 | 48 |
import com.iver.cit.gvsig.fmap.drivers.RasterDriver; |
49 |
import com.iver.cit.gvsig.fmap.drivers.VectorialDatabaseDriver; |
|
49 | 50 |
import com.iver.cit.gvsig.fmap.drivers.VectorialFileDriver; |
51 |
import com.iver.cit.gvsig.fmap.drivers.postgis.PostGisDriver; |
|
50 | 52 |
import com.iver.cit.gvsig.fmap.layers.FLayer; |
51 | 53 |
import com.iver.cit.gvsig.fmap.layers.LayerFactory; |
52 | 54 |
import com.iver.cit.gvsig.gui.FOpenDialog; |
53 | 55 |
import com.iver.cit.gvsig.gui.FileOpenDialog; |
54 | 56 |
import com.iver.cit.gvsig.gui.View; |
55 | 57 |
import com.iver.cit.gvsig.gui.WMSDataSourceAdapter; |
58 |
import com.iver.cit.gvsig.gui.wizards.JDBCWizard; |
|
56 | 59 |
import com.iver.cit.gvsig.gui.wms.WMSWizard; |
57 | 60 |
|
58 | 61 |
import org.cresques.cts.ICoordTrans; |
... | ... | |
63 | 66 |
import java.awt.geom.Rectangle2D; |
64 | 67 |
|
65 | 68 |
import java.io.File; |
69 |
import java.sql.Connection; |
|
70 |
import java.sql.DriverManager; |
|
71 |
import java.sql.SQLException; |
|
66 | 72 |
|
67 | 73 |
import javax.swing.JOptionPane; |
68 | 74 |
|
... | ... | |
108 | 114 |
}); |
109 | 115 |
WMSWizard wms = new WMSWizard(); |
110 | 116 |
wms.setDataSource(new WMSDataSourceAdapter()); |
117 |
|
|
118 |
JDBCWizard dbWiz = new JDBCWizard(); |
|
111 | 119 |
|
112 | 120 |
// DataBaseOpenDialog dbop = new DataBaseOpenDialog(); |
113 | 121 |
// dbop.setClasses(new Class[] { DBDriver.class }); |
114 | 122 |
fopen.addTab("Fichero", fileDlg); |
115 | 123 |
fopen.addWizardTab("WMS", wms); |
124 |
fopen.addWizardTab("JDBC", dbWiz); |
|
116 | 125 |
|
117 | 126 |
// fopen.addTab("Base de datos", dbop); |
118 | 127 |
PluginServices.getMDIManager().addView(fopen); |
... | ... | |
216 | 225 |
.addLayer(lyr); |
217 | 226 |
theView.getMapControl().getMapContext().endAtomicEvent(); |
218 | 227 |
} |
228 |
} else if (fopen.getSelectedTab() == dbWiz) { |
|
229 |
String layerName = dbWiz.getLayerName(); |
|
230 |
String user = dbWiz.getUser(); |
|
231 |
String pwd = dbWiz.getPassword(); |
|
232 |
String dbUrl = dbWiz.getUrlConnect(); |
|
233 |
String fields = dbWiz.getSqlFields(); |
|
234 |
String whereClause = dbWiz.getSqlWhere(); |
|
235 |
|
|
236 |
try { |
|
237 |
|
|
238 |
// TODO: ?C?mo se hace esto para que sea gen?rico?. |
|
239 |
// Supongo que el wizard te tiene que decir qu? driver |
|
240 |
// quieres usar.... |
|
241 |
Class.forName("org.postgresql.Driver"); |
|
242 |
Connection conn = DriverManager.getConnection(dbUrl, user, pwd); |
|
243 |
conn.setAutoCommit(false); |
|
244 |
|
|
245 |
VectorialDatabaseDriver driver = new PostGisDriver(); |
|
246 |
driver.setData(conn, layerName, fields, whereClause); |
|
247 |
lyr = LayerFactory.createDBLayer(driver, layerName, null); |
|
248 |
|
|
249 |
if (lyr != null) { |
|
250 |
lyr.setVisible(true); |
|
251 |
theView.getMapControl().getMapContext().beginAtomicEvent(); |
|
252 |
theView.getMapControl().getMapContext().getLayers() |
|
253 |
.addLayer(lyr); |
|
254 |
theView.getMapControl().getMapContext().endAtomicEvent(); |
|
255 |
} |
|
256 |
|
|
257 |
} catch (SQLException e) { |
|
258 |
// TODO Auto-generated catch block |
|
259 |
e.printStackTrace(); |
|
260 |
} catch (ClassNotFoundException e) { |
|
261 |
// TODO Auto-generated catch block |
|
262 |
e.printStackTrace(); |
|
263 |
} |
|
264 |
|
|
219 | 265 |
} // for |
266 |
|
|
220 | 267 |
} |
221 | 268 |
} |
222 | 269 |
|
Also available in: Unified diff