Revision 11968

View differences:

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