Revision 1691 trunk/applications/appgvSIG/src/com/iver/cit/gvsig/Abrir.java

View differences:

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