Statistics
| Revision:

root / trunk / extensions / extSDE / src / com / iver / cit / gvsig / fmap / layers / VectorialSDEAdapter.java @ 11971

History | View | Annotate | Download (3.43 KB)

1
package com.iver.cit.gvsig.fmap.layers;
2

    
3
import java.awt.geom.Rectangle2D;
4
import java.io.IOException;
5

    
6
import com.iver.andami.messages.NotificationManager;
7
import com.iver.cit.gvsig.fmap.DriverException;
8
import com.iver.cit.gvsig.fmap.core.IFeature;
9
import com.iver.cit.gvsig.fmap.core.IGeometry;
10
import com.iver.cit.gvsig.fmap.drivers.DBLayerDefinition;
11
import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
12
import com.iver.cit.gvsig.fmap.drivers.IFeatureIterator;
13
import com.iver.cit.gvsig.fmap.drivers.sde.IVectorialSDEDriver;
14
import com.iver.cit.gvsig.fmap.layers.VectorialDBAdapter;
15

    
16
public class VectorialSDEAdapter extends VectorialDBAdapter{
17
        /**
18
         * incrementa el contador de las veces que se ha abierto el fichero.
19
         * Solamente cuando el contador est? a cero pide al driver que conecte con
20
         * la base de datos
21
         */
22
        public void start() {
23
            try {
24
                    //System.out.println("====" +this.hashCode()+" Abrir tabla: " + ((VectorialSDEDriver)driver).getTableName());
25
                ((IVectorialSDEDriver)driver).open();
26
            } catch (DriverException e) {
27

    
28
                    NotificationManager.addError(e);
29
            }
30
        }
31

    
32
        /**
33
         * decrementa el contador de n?mero de aperturas y cuando llega a cero pide
34
         * al driver que cierre la conexion con el servidor de base de datos
35
         */
36
        public void stop() {
37
                //System.out.println("====" +this.hashCode()+" Cerrar tabla: " + ((VectorialSDEDriver)driver).getTableName());
38
            ((IVectorialSDEDriver)driver).close();
39
        }
40
        public IFeatureIterator getFeatureIterator(Rectangle2D r, String strEPSG) throws DriverException
41
        {
42
            return ((IVectorialSDEDriver)driver).getFeatureIterator(r, strEPSG);
43
        }
44

    
45
    /* (non-Javadoc)
46
         * @see com.iver.cit.gvsig.fmap.layers.ISpatialDB#getFeatureIterator(java.awt.geom.Rectangle2D, java.lang.String, java.lang.String[])
47
         */
48
    public IFeatureIterator getFeatureIterator(Rectangle2D r, String strEPSG, String[] alphaNumericFieldsNeeded) throws DriverException
49
    {
50
        return ((IVectorialSDEDriver)driver).getFeatureIterator(r, strEPSG, alphaNumericFieldsNeeded);
51
    }
52

    
53
        /* (non-Javadoc)
54
         * @see com.iver.cit.gvsig.fmap.layers.ISpatialDB#getFields()
55
         */
56
        public String[] getFields()
57
        {
58
            return ((IVectorialSDEDriver)driver).getFields();
59
        }
60
        /* (non-Javadoc)
61
         * @see com.iver.cit.gvsig.fmap.layers.ISpatialDB#getWhereClause()
62
         */
63
        public String getWhereClause()
64
        {
65
            return ((IVectorialSDEDriver)driver).getWhereClause();
66
        }
67
        /* (non-Javadoc)
68
         * @see com.iver.cit.gvsig.fmap.layers.ISpatialDB#getTableName()
69
         */
70
        public String getTableName()
71
        {
72
            return ((IVectorialSDEDriver)driver).getTableName();
73
        }
74

    
75

    
76
        /**
77
         * @see com.iver.cit.gvsig.fmap.layers.ReadableVectorial#getShape(int)
78
         */
79
        public IGeometry getShape(int index) throws DriverIOException {
80
            IGeometry geom = null;
81
            try {
82
            geom = ((IVectorialSDEDriver)driver).getShape(index);
83
        } catch (IOException e) {
84
            throw new DriverIOException(e);
85
        }
86
            return geom;
87
        }
88

    
89
        /**
90
         * @see com.iver.cit.gvsig.fmap.layers.ReadableVectorial#getShapeType()
91
         */
92
        public int getShapeType() throws DriverIOException {
93
                return ((IVectorialSDEDriver)driver).getShapeType();
94
        }
95
         /* (non-Javadoc)
96
         * @see com.iver.cit.gvsig.fmap.layers.ISpatialDB#getLyrDef()
97
         */
98
    public DBLayerDefinition getLyrDef()
99
    {
100
        return ((IVectorialSDEDriver)driver).getLyrDef();
101
    }
102

    
103
        public int getRowIndexByFID(IFeature feat) {
104
                return ((IVectorialSDEDriver) driver).getRowIndexByFID(feat);
105
        }
106
}