Revision 11971 trunk/extensions/extJDBC/src/com/iver/cit/gvsig/jdbc_spatial/JDBCLayerBuilder.java
JDBCLayerBuilder.java | ||
---|---|---|
5 | 5 |
import java.sql.SQLException; |
6 | 6 |
import java.util.Map; |
7 | 7 |
|
8 |
import com.iver.cit.gvsig.fmap.drivers.ConnectionFactory; |
|
9 |
import com.iver.cit.gvsig.fmap.drivers.DBException; |
|
8 | 10 |
import com.iver.cit.gvsig.fmap.drivers.DBLayerDefinition; |
11 |
import com.iver.cit.gvsig.fmap.drivers.IConnection; |
|
9 | 12 |
import com.iver.cit.gvsig.fmap.drivers.jdbc.postgis.PostGisDriver; |
10 | 13 |
import com.iver.cit.gvsig.fmap.layers.LayerFactory; |
11 | 14 |
import com.iver.utiles.extensionPoints.IExtensionBuilder; |
... | ... | |
54 | 57 |
* |
55 | 58 |
* $Id$ |
56 | 59 |
* $Log$ |
57 |
* Revision 1.2 2006-04-18 06:19:06 jorpiell |
|
60 |
* Revision 1.3 2007-06-04 07:10:07 caballero |
|
61 |
* connections refactoring |
|
62 |
* |
|
63 |
* Revision 1.2.4.4 2007/05/31 12:07:58 caballero |
|
64 |
* connections |
|
65 |
* |
|
66 |
* Revision 1.2.4.3 2007/02/12 14:35:52 jmvivo |
|
67 |
* Quitado el soporte para Oracle spacial |
|
68 |
* |
|
69 |
* Revision 1.2 2006/04/18 06:19:06 jorpiell |
|
58 | 70 |
* Modificada la forma en la que se a?ade la clase que implementa la factor?a. Se tiene que pasar una instancia, y no una clase. Adem?s se la ha a?adido un constructor sin par?metros a la factoria. |
59 | 71 |
* |
60 | 72 |
* Revision 1.1 2006/04/11 11:54:38 jorpiell |
... | ... | |
66 | 78 |
* Creates a Postgis FLyrVect from a set of params |
67 | 79 |
* (URL, user name, password, ...). The catalog |
68 | 80 |
* extension uses this class to load a new layer |
69 |
* from a metadata.
|
|
81 |
* from a metadata. |
|
70 | 82 |
* @author Jorge Piera Llodr? (piera_jor@gva.es) |
71 | 83 |
*/ |
72 | 84 |
public class JDBCLayerBuilder implements IExtensionBuilder{ |
73 |
|
|
85 |
|
|
74 | 86 |
public JDBCLayerBuilder(){ |
75 | 87 |
super(); |
76 | 88 |
} |
77 |
|
|
89 |
|
|
78 | 90 |
public Object create() { |
79 | 91 |
// TODO Auto-generated method stub |
80 | 92 |
return null; |
81 | 93 |
} |
82 |
|
|
94 |
|
|
83 | 95 |
public Object create(Object[] args) { |
84 | 96 |
// TODO Auto-generated method stub |
85 | 97 |
return null; |
86 | 98 |
} |
87 |
|
|
99 |
|
|
88 | 100 |
public Object create(Map args) { |
89 | 101 |
String dbURL = (String) args.get("DBURL"); |
90 | 102 |
String user = (String) args.get((String) "USER"); |
... | ... | |
96 | 108 |
String geomField = (String) args.get((String) "GEOMFIELD"); |
97 | 109 |
String tableName = (String) args.get((String) "TABLENAME"); |
98 | 110 |
String whereClause = (String) args.get((String) "WHERECLAUSE"); |
99 |
|
|
100 |
|
|
101 |
Connection conn; |
|
111 |
|
|
112 |
|
|
113 |
IConnection conn;
|
|
102 | 114 |
try { |
103 |
conn = DriverManager.getConnection(dbURL, user, pwd); |
|
104 |
conn.setAutoCommit(false); |
|
105 |
} catch (SQLException e) { |
|
106 |
// TODO Auto-generated catch block |
|
115 |
conn = ConnectionFactory.createConnection(dbURL, user, pwd); |
|
116 |
} catch (DBException e) { |
|
107 | 117 |
e.printStackTrace(); |
108 | 118 |
return null; |
109 | 119 |
} |
110 |
|
|
111 |
|
|
112 |
DBLayerDefinition lyrDef = new DBLayerDefinition();
|
|
120 |
|
|
121 |
|
|
122 |
DBLayerDefinition lyrDef = new DBLayerDefinition(); |
|
113 | 123 |
lyrDef.setName(layerName); |
114 | 124 |
lyrDef.setTableName(tableName); |
115 | 125 |
lyrDef.setWhereClause(whereClause); |
116 | 126 |
lyrDef.setFieldNames(fields); |
117 | 127 |
lyrDef.setFieldGeometry(geomField); |
118 | 128 |
lyrDef.setFieldID(fidField); |
119 |
|
|
129 |
|
|
120 | 130 |
PostGisDriver pgd = new PostGisDriver(); |
121 | 131 |
pgd.setData(conn, lyrDef); |
122 |
|
|
132 |
|
|
123 | 133 |
return LayerFactory.createDBLayer(pgd, layerName, null); |
124 |
|
|
134 |
|
|
125 | 135 |
} |
126 |
|
|
136 |
|
|
127 | 137 |
} |
Also available in: Unified diff