Revision 20058 trunk/libraries/libDataSourceDBBaseDrivers/src/org/gvsig/data/datastores/vectorial/db/jdbc/h2/H2FeaturesWriter.java
H2FeaturesWriter.java | ||
---|---|---|
20 | 20 |
import org.gvsig.data.datastores.vectorial.db.DBAttributeDescriptor; |
21 | 21 |
import org.gvsig.data.datastores.vectorial.db.DBFeatureType; |
22 | 22 |
import org.gvsig.data.datastores.vectorial.db.jdbc.JDBCAttributeDescriptor; |
23 |
import org.gvsig.data.datastores.vectorial.db.jdbc.JDBCFeature; |
|
23 | 24 |
import org.gvsig.data.datastores.vectorial.db.jdbc.JDBCFeaturesWriter; |
24 | 25 |
import org.gvsig.data.datastores.vectorial.db.jdbc.JDBCStore; |
25 | 26 |
import org.gvsig.data.datastores.vectorial.db.jdbc.JDBCTypes; |
... | ... | |
44 | 45 |
DBFeatureType featureType; |
45 | 46 |
boolean bCreateTable=false; |
46 | 47 |
private String toEncode; |
47 |
H2Store store;
|
|
48 |
JDBCStore store;
|
|
48 | 49 |
H2StoreParameters parameters; |
49 | 50 |
|
50 | 51 |
private PreparedStatement insertSt; |
... | ... | |
57 | 58 |
} |
58 | 59 |
|
59 | 60 |
public void init(IFeatureStore store) { |
60 |
this.store = (H2Store)store; |
|
61 |
H2Store h2Store = (H2Store)store; |
|
62 |
this.store = h2Store; |
|
63 |
|
|
61 | 64 |
this.parameters=(H2StoreParameters)store.getParameters(); |
62 | 65 |
|
63 | 66 |
this.featureType = (DBFeatureType)this.store.getDefaultFeatureType(); |
64 |
conex = this.store.getConnection();
|
|
67 |
conex = h2Store.getConnection();
|
|
65 | 68 |
} |
66 | 69 |
|
67 | 70 |
public void postProcess() throws OpenException, WriteException { |
... | ... | |
95 | 98 |
System.out.println("sqlCreate =" + sqlCreate); |
96 | 99 |
st.execute(sqlCreate); |
97 | 100 |
|
98 |
// conex.commit(); |
|
99 | 101 |
} |
100 | 102 |
|
101 |
// fieldManager = new JdbcFieldManager(((ConnectionJDBC)conex).getConnection(), lyrDef.getTableName()); |
|
102 | 103 |
|
103 | 104 |
} catch (SQLException e) { |
104 | 105 |
e.printStackTrace(); |
105 |
// throw new InitializeWriterException(getName(),e); |
|
106 | 106 |
} |
107 |
|
|
108 |
// ResultSet rsAux; |
|
109 |
// try { |
|
110 |
//// conex.setAutoCommit(false); |
|
111 |
//// alterTable(); |
|
112 |
// |
|
113 |
//// rsAux = st.executeQuery("SHOW server_encoding;"); |
|
114 |
//// rsAux.next(); |
|
115 |
//// String serverEncoding = rsAux.getString(1); |
|
116 |
//// System.out.println("Server encoding = " + serverEncoding); |
|
117 |
// // st.execute("SET CLIENT_ENCODING TO 'UNICODE';"); |
|
118 |
// // Intentamos convertir nuestras cadenas a ese encode. |
|
119 |
//// setEncoding(serverEncoding); |
|
120 |
// } catch (SQLException e) { |
|
121 |
// throw new InitializeWriterException("H2",e); |
|
122 |
// } |
|
123 | 107 |
} |
124 | 108 |
|
125 | 109 |
public void deleteFeature(IFeature feature) throws WriteException { |
126 | 110 |
Statement st; |
127 |
String sqlDelete = getSqlDeleteFeature(featureType, feature); |
|
111 |
String sqlDelete = getSqlDeleteFeature(featureType, (JDBCFeature)feature);
|
|
128 | 112 |
System.out.println("sql = " + sqlDelete); |
129 | 113 |
try { |
130 | 114 |
st = this.conex.createStatement(); |
... | ... | |
378 | 362 |
|
379 | 363 |
} |
380 | 364 |
|
381 |
public String getSqlDeleteFeature(DBFeatureType dbFeatureType, IFeature feature) {
|
|
365 |
public String getSqlDeleteFeature(DBFeatureType dbFeatureType, JDBCFeature feature) {
|
|
382 | 366 |
StringBuffer sqlBuf = new StringBuffer("DELETE FROM " |
383 | 367 |
+ this.parameters.tableID() + " WHERE "); |
384 | 368 |
String sql = null; |
385 |
sqlBuf.append(H2Utils.getFilterForID(dbFeatureType, feature));
|
|
369 |
sqlBuf.append(((JDBCFeature)feature).getFilterForID());
|
|
386 | 370 |
sql = sqlBuf.toString(); |
387 | 371 |
|
388 | 372 |
return sql; |
Also available in: Unified diff