Revision 11968
branches/v10/extensions/extSDE/src/com/iver/cit/gvsig/fmap/drivers/sde/IVectorialSDEDriver.java | ||
---|---|---|
1 |
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana |
|
2 |
* |
|
3 |
* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana. |
|
4 |
* |
|
5 |
* This program is free software; you can redistribute it and/or |
|
6 |
* modify it under the terms of the GNU General Public License |
|
7 |
* as published by the Free Software Foundation; either version 2 |
|
8 |
* of the License, or (at your option) any later version. |
|
9 |
* |
|
10 |
* This program is distributed in the hope that it will be useful, |
|
11 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
12 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
13 |
* GNU General Public License for more details. |
|
14 |
* |
|
15 |
* You should have received a copy of the GNU General Public License |
|
16 |
* along with this program; if not, write to the Free Software |
|
17 |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,USA. |
|
18 |
* |
|
19 |
* For more information, contact: |
|
20 |
* |
|
21 |
* Generalitat Valenciana |
|
22 |
* Conselleria d'Infraestructures i Transport |
|
23 |
* Av. Blasco Ib??ez, 50 |
|
24 |
* 46010 VALENCIA |
|
25 |
* SPAIN |
|
26 |
* |
|
27 |
* +34 963862235 |
|
28 |
* gvsig@gva.es |
|
29 |
* www.gvsig.gva.es |
|
30 |
* |
|
31 |
* or |
|
32 |
* |
|
33 |
* IVER T.I. S.A |
|
34 |
* Salamanca 50 |
|
35 |
* 46005 Valencia |
|
36 |
* Spain |
|
37 |
* |
|
38 |
* +34 963163400 |
|
39 |
* dac@iver.es |
|
40 |
*/ |
|
41 |
package com.iver.cit.gvsig.fmap.drivers.sde; |
|
42 |
|
|
43 |
import java.awt.geom.Rectangle2D; |
|
44 |
import java.sql.Connection; |
|
45 |
|
|
46 |
import com.iver.cit.gvsig.fmap.DriverException; |
|
47 |
import com.iver.cit.gvsig.fmap.core.IFeature; |
|
48 |
import com.iver.cit.gvsig.fmap.drivers.DBLayerDefinition; |
|
49 |
import com.iver.cit.gvsig.fmap.drivers.IFeatureIterator; |
|
50 |
import com.iver.cit.gvsig.fmap.drivers.IVectorialDatabaseDriver; |
|
51 |
import com.iver.cit.gvsig.fmap.layers.XMLException; |
|
52 |
import com.iver.utiles.XMLEntity; |
|
53 |
|
|
54 |
|
|
55 |
/** |
|
56 |
* DOCUMENT ME! |
|
57 |
* |
|
58 |
* @author Vicente Caballero Navarro |
|
59 |
*/ |
|
60 |
public interface IVectorialSDEDriver extends IVectorialDatabaseDriver { |
|
61 |
//public Connection getConnection(); |
|
62 |
public IFeatureIterator getFeatureIterator(String sql) |
|
63 |
throws DriverException; |
|
64 |
|
|
65 |
//public String getConnectionStringBeginning(); |
|
66 |
public void open() throws com.iver.cit.gvsig.fmap.DriverException; |
|
67 |
|
|
68 |
/** |
|
69 |
* DOCUMENT ME! |
|
70 |
* |
|
71 |
* @return DOCUMENT ME! |
|
72 |
*/ |
|
73 |
public int getDefaultPort(); |
|
74 |
|
|
75 |
/** |
|
76 |
* DOCUMENT ME! |
|
77 |
* |
|
78 |
* @param rect DOCUMENT ME! |
|
79 |
*/ |
|
80 |
public void setWorkingArea(Rectangle2D rect); |
|
81 |
|
|
82 |
/** |
|
83 |
* DOCUMENT ME! |
|
84 |
* |
|
85 |
* @return |
|
86 |
*/ |
|
87 |
public Rectangle2D getWorkingArea(); |
|
88 |
|
|
89 |
/** |
|
90 |
* DOCUMENT ME! |
|
91 |
* |
|
92 |
* @param _host DOCUMENT ME! |
|
93 |
* @param _port DOCUMENT ME! |
|
94 |
* @param _db DOCUMENT ME! |
|
95 |
* @param _user DOCUMENT ME! |
|
96 |
* @param _pw DOCUMENT ME! |
|
97 |
* |
|
98 |
* @return DOCUMENT ME! |
|
99 |
*/ |
|
100 |
public String getConnectionString(String _host, String _port, String _db, |
|
101 |
String _user, String _pw); |
|
102 |
|
|
103 |
public String getTableName(); |
|
104 |
|
|
105 |
public XMLEntity getXMLEntity(); |
|
106 |
|
|
107 |
public void setXMLEntity(XMLEntity entity) throws XMLException; |
|
108 |
|
|
109 |
public void close(); |
|
110 |
|
|
111 |
public int getRowIndexByFID(IFeature feat); |
|
112 |
|
|
113 |
public DBLayerDefinition getLyrDef(); |
|
114 |
|
|
115 |
public String getWhereClause(); |
|
116 |
|
|
117 |
public String[] getFields(); |
|
118 |
|
|
119 |
public IFeatureIterator getFeatureIterator(Rectangle2D r, String strEPSG, String[] alphaNumericFieldsNeeded) throws DriverException; |
|
120 |
|
|
121 |
public IFeatureIterator getFeatureIterator(Rectangle2D r, String strEPSG) throws DriverException; |
|
122 |
|
|
123 |
// public String[] getTableNames(Object conex, String dbName) throws SQLException; |
|
124 |
// public String[] getAllFields(Object conn, String tableName); |
|
125 |
// public String[] getAllFieldTypeNames(Object conn, String tableName); |
|
126 |
// public String[] getIdFieldsCandidates(Object conn, String tableName); |
|
127 |
// public String[] getGeometryFieldsCandidates(Object conn, String tableName); |
|
128 |
} |
|
0 | 129 |
branches/v10/extensions/extSDE/src/com/iver/cit/gvsig/fmap/drivers/sde/ConnectionSDE.java | ||
---|---|---|
1 |
|
|
2 |
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana |
|
3 |
* |
|
4 |
* Copyright (C) 2005 IVER T.I. and Generalitat Valenciana. |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,USA. |
|
19 |
* |
|
20 |
* For more information, contact: |
|
21 |
* |
|
22 |
* Generalitat Valenciana |
|
23 |
* Conselleria d'Infraestructures i Transport |
|
24 |
* Av. Blasco Ib??ez, 50 |
|
25 |
* 46010 VALENCIA |
|
26 |
* SPAIN |
|
27 |
* |
|
28 |
* +34 963862235 |
|
29 |
* gvsig@gva.es |
|
30 |
* www.gvsig.gva.es |
|
31 |
* |
|
32 |
* or |
|
33 |
* |
|
34 |
* IVER T.I. S.A |
|
35 |
* Salamanca 50 |
|
36 |
* 46005 Valencia |
|
37 |
* Spain |
|
38 |
* |
|
39 |
* +34 963163400 |
|
40 |
* dac@iver.es |
|
41 |
*/ |
|
42 |
|
|
43 |
package com.iver.cit.gvsig.fmap.drivers.sde; |
|
44 |
|
|
45 |
import java.sql.SQLException; |
|
46 |
import java.util.StringTokenizer; |
|
47 |
|
|
48 |
import com.esri.sde.sdk.client.SeConnection; |
|
49 |
import com.esri.sde.sdk.client.SeException; |
|
50 |
import com.iver.cit.gvsig.fmap.drivers.DBException; |
|
51 |
import com.iver.cit.gvsig.fmap.drivers.IConnection; |
|
52 |
|
|
53 |
|
|
54 |
/** |
|
55 |
* DOCUMENT ME! |
|
56 |
* |
|
57 |
* @author Vicente Caballero Navarro |
|
58 |
*/ |
|
59 |
public class ConnectionSDE implements IConnection { |
|
60 |
private SeConnection connection; |
|
61 |
|
|
62 |
public SeConnection getConnection() { |
|
63 |
return connection; |
|
64 |
} |
|
65 |
|
|
66 |
public void close() throws DBException { |
|
67 |
try { |
|
68 |
connection.close(); |
|
69 |
} catch (SeException e) { |
|
70 |
throw new DBException(e); |
|
71 |
} |
|
72 |
|
|
73 |
} |
|
74 |
|
|
75 |
public boolean isClosed() { |
|
76 |
return connection.isClosed(); |
|
77 |
} |
|
78 |
|
|
79 |
public String getCatalogName() throws DBException { |
|
80 |
try { |
|
81 |
return connection.getSdeDbaName(); |
|
82 |
} catch (SeException e) { |
|
83 |
throw new DBException(e); |
|
84 |
} |
|
85 |
} |
|
86 |
|
|
87 |
public String getNameServer() throws DBException { |
|
88 |
try { |
|
89 |
return connection.getDatabaseName(); |
|
90 |
} catch (SeException e) { |
|
91 |
throw new DBException(e); |
|
92 |
} |
|
93 |
} |
|
94 |
|
|
95 |
public String getURL() throws DBException { |
|
96 |
return connection.getServer(); |
|
97 |
} |
|
98 |
|
|
99 |
public void setDataConnection(String connectionStr, String user, String _pw) throws DBException { |
|
100 |
StringTokenizer st=new StringTokenizer(connectionStr,":"); |
|
101 |
st.nextToken(); |
|
102 |
String server=st.nextToken(); |
|
103 |
int instance=Integer.parseInt(st.nextToken()); |
|
104 |
String database=st.nextToken(); |
|
105 |
try { |
|
106 |
connection=new SeConnection(server, instance, database, user, _pw); |
|
107 |
} catch (SeException e) { |
|
108 |
throw new DBException(e); |
|
109 |
} |
|
110 |
} |
|
111 |
|
|
112 |
public String getTypeConnection() { |
|
113 |
return "sde"; |
|
114 |
} |
|
115 |
|
|
116 |
} |
|
0 | 117 |
Also available in: Unified diff