root / trunk / extensions / extJDBC / src-test / testPostGIS.java @ 11971
History | View | Annotate | Download (3.43 KB)
1 |
|
---|---|
2 |
|
3 |
import java.sql.Connection; |
4 |
import java.sql.DriverManager; |
5 |
import java.sql.ResultSet; |
6 |
import java.sql.SQLException; |
7 |
import java.sql.Statement; |
8 |
|
9 |
import junit.framework.TestCase; |
10 |
|
11 |
import com.hardcode.gdbms.engine.data.driver.DriverException; |
12 |
import com.hardcode.gdbms.engine.values.NumericValue; |
13 |
import com.iver.cit.gvsig.fmap.drivers.ConnectionFactory; |
14 |
import com.iver.cit.gvsig.fmap.drivers.ConnectionJDBC; |
15 |
import com.iver.cit.gvsig.fmap.drivers.DBLayerDefinition; |
16 |
import com.iver.cit.gvsig.fmap.drivers.IConnection; |
17 |
import com.iver.cit.gvsig.fmap.drivers.jdbc.postgis.PostGisDriver; |
18 |
|
19 |
public class testPostGIS extends TestCase { |
20 |
|
21 |
PostGisDriver driver = new PostGisDriver();
|
22 |
ResultSet rsGood = null; |
23 |
|
24 |
protected void setUp() throws Exception { |
25 |
super.setUp();
|
26 |
try {
|
27 |
String dburl = "jdbc:postgresql://localhost/latin1"; |
28 |
String dbuser = "postgres"; |
29 |
String dbpass = "aquilina"; |
30 |
|
31 |
// String dburl = "jdbc:postgresql://192.168.0.217/postgis";
|
32 |
// String dbuser = "gvsig";
|
33 |
// String dbpass = "";
|
34 |
|
35 |
// String dbtable = "carreteras_lin_5k_t10";
|
36 |
String dbtable = "provin"; // OJO CON LAS MAYUSCULAS!!!!!!! |
37 |
|
38 |
IConnection conn = null;
|
39 |
System.out.println("Creating JDBC connection..."); |
40 |
Class.forName("org.postgresql.Driver"); |
41 |
conn = ConnectionFactory.createConnection(dburl, dbuser, dbpass); |
42 |
|
43 |
((ConnectionJDBC)conn).getConnection().setAutoCommit(false);
|
44 |
|
45 |
DBLayerDefinition lyrDef = new DBLayerDefinition();
|
46 |
lyrDef.setName(dbtable); |
47 |
lyrDef.setTableName(dbtable); |
48 |
lyrDef.setWhereClause("");
|
49 |
String[] fields = {"nom_provin", "gid"}; |
50 |
lyrDef.setFieldNames(fields); |
51 |
lyrDef.setFieldGeometry("the_geom");
|
52 |
lyrDef.setFieldID("gid");
|
53 |
|
54 |
Statement st = ((ConnectionJDBC)conn).getConnection().createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); |
55 |
rsGood = st.executeQuery("SELECT NOM_PROVIN, GID FROM " + dbtable + " ORDER BY GID"); |
56 |
driver.setData(conn, lyrDef); |
57 |
} |
58 |
catch (Exception e){ |
59 |
e.printStackTrace(); |
60 |
} |
61 |
} |
62 |
|
63 |
protected void tearDown() throws Exception { |
64 |
super.tearDown();
|
65 |
driver.close(); |
66 |
} |
67 |
|
68 |
/*
|
69 |
* Test method for
|
70 |
* 'com.iver.cit.gvsig.fmap.drivers.jdbc.postgis.PostGisDriver.getFieldValue(long,
|
71 |
* int)'
|
72 |
*/
|
73 |
public void testGetFieldValue() { |
74 |
int pos1 = 1; |
75 |
int pos2 = 30; |
76 |
int pos3 = 15; |
77 |
|
78 |
try {
|
79 |
for (int i=0; i < 40; i++) |
80 |
{ |
81 |
rsGood.absolute(i+1);
|
82 |
System.out.println("GOOD:" + rsGood.getInt(2) + " " + rsGood.getString(1)); |
83 |
|
84 |
String aux = driver.getFieldValue(i, 0).toString(); |
85 |
int id = ((NumericValue) driver.getFieldValue(i, 1)).intValue(); |
86 |
System.out.println(id + " " + aux); |
87 |
} |
88 |
rsGood.absolute(pos1); |
89 |
String str2 = driver.getFieldValue(pos1-1, 0).toString(); |
90 |
String str1 = rsGood.getString(1); |
91 |
|
92 |
System.out.println(str1 + " - " + str2); |
93 |
|
94 |
assertEquals(str1, str2); |
95 |
|
96 |
|
97 |
rsGood.absolute(pos2); |
98 |
str2 = driver.getFieldValue(pos2-1, 0).toString(); |
99 |
str1 = rsGood.getString(1);
|
100 |
|
101 |
|
102 |
int id1 = rsGood.getInt(2); |
103 |
int id2 = ((NumericValue) driver.getFieldValue(pos2-1, 1)).intValue(); |
104 |
System.out.println(id1 + " " + str1 + " - " + id2 + " " + str2); |
105 |
assertEquals(id1, id2); |
106 |
|
107 |
|
108 |
rsGood.absolute(pos3); |
109 |
str2 = driver.getFieldValue(pos3-1, 0).toString(); |
110 |
str1 = rsGood.getString(1);
|
111 |
|
112 |
System.out.println(str1 + " - " + str2); |
113 |
|
114 |
assertEquals(str1, str2); |
115 |
|
116 |
} catch (SQLException e) { |
117 |
// TODO Auto-generated catch block
|
118 |
e.printStackTrace(); |
119 |
} catch (DriverException e) {
|
120 |
// TODO Auto-generated catch block
|
121 |
e.printStackTrace(); |
122 |
} |
123 |
|
124 |
} |
125 |
|
126 |
} |