Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libFMap_dataFile / src-test / org / gvsig / data / datastores / vectorial / file / dbf / DBFTest.java @ 20626

History | View | Annotate | Download (5.61 KB)

1
package org.gvsig.data.datastores.vectorial.file.dbf;
2

    
3
import java.io.File;
4
import java.util.Iterator;
5

    
6
import junit.framework.TestCase;
7

    
8
import org.gvsig.data.DataManager;
9
import org.gvsig.data.IDataCollection;
10
import org.gvsig.data.Resource;
11
import org.gvsig.data.ResourceManager;
12
import org.gvsig.data.datastores.vectorial.file.DataStoreTest;
13
import org.gvsig.data.exception.CloseException;
14
import org.gvsig.data.exception.InitializeException;
15
import org.gvsig.data.exception.OpenException;
16
import org.gvsig.data.exception.ReadException;
17
import org.gvsig.data.vectorial.IFeature;
18
import org.gvsig.data.vectorial.IFeatureAttributeDescriptor;
19
import org.gvsig.data.vectorial.IFeatureCollection;
20
import org.gvsig.data.vectorial.IFeatureType;
21

    
22
import com.iver.cit.gvsig.fmap.drivers.dbf.TestDbf;
23

    
24
public class DBFTest extends TestCase {
25
        private File file = new File(DataStoreTest.class.getResource("data/prueba.dbf").getFile());
26

    
27

    
28
        public static void main(String[] args) {
29
                junit.textui.TestRunner.run(TestDbf.class);
30
        }
31

    
32
        protected void setUp() throws Exception {
33
                super.setUp();
34
        }
35

    
36
        public void testInitialize() {
37
                DataManager manager = DataManager.getManager();
38
                Register.selfRegister();
39

    
40
                DBFStore store=null;
41
                DBFStoreParameters dbfParameters;
42

    
43
                dbfParameters=(DBFStoreParameters)manager.createDataStoreParameters(DBFStore.DATASTORE_NAME);
44
                dbfParameters.setFile(file);
45

    
46

    
47
                try {
48
                        store = (DBFStore)manager.createDataStore(dbfParameters);
49
                } catch (InitializeException e) {
50
                        // TODO Auto-generated catch block
51
                        e.printStackTrace();
52
                }
53
                try {
54
                        store.open();
55
                } catch (OpenException e2) {
56
                        // TODO Auto-generated catch block
57
                        e2.printStackTrace();
58
                }
59

    
60
                IFeatureType ft=store.getDefaultFeatureType();
61
                IFeatureCollection featureCollection=null;
62
                try {
63
                        featureCollection = (IFeatureCollection)store.getDataCollection(ft,null,null);
64
                } catch (ReadException e1) {
65
                        // TODO Auto-generated catch block
66
                        e1.printStackTrace();
67
                }
68
                Iterator iter = featureCollection.iterator();
69
                while (iter.hasNext()) {
70

    
71
                        IFeature feature = (IFeature)iter.next();
72
                        System.out.println("DBF Feature ------------------- ");
73
                        Iterator iterator=ft.iterator();
74
                        while (iterator.hasNext()) {
75
                                IFeatureAttributeDescriptor descriptor = (IFeatureAttributeDescriptor) iterator.next();
76
                                int i=descriptor.ordinal();
77
                                String type=descriptor.getDataType();
78
                                if (type.equals(IFeatureAttributeDescriptor.TYPE_BOOLEAN)){
79
                                        System.out.println("Boolean ----- "+ feature.getBoolean(i));
80
                                }else if (type.equals(IFeatureAttributeDescriptor.TYPE_BYTE)){
81
                                        System.out.println("Byte ----- "+ feature.getByte(i));
82
                                }else if (type.equals(IFeatureAttributeDescriptor.TYPE_DATE)){
83
                                        System.out.println("Date ----- "+ feature.getDate(i));
84
                                }else if (type.equals(IFeatureAttributeDescriptor.TYPE_DOUBLE)){
85
                                        System.out.println("Double ----- "+ feature.getDouble(i));
86
                                }else if (type.equals(IFeatureAttributeDescriptor.TYPE_FLOAT)){
87
                                        System.out.println("Float ----- "+ feature.getFloat(i));
88
                                }else if (type.equals(IFeatureAttributeDescriptor.TYPE_INT)){
89
                                        System.out.println("Integer ----- "+ feature.getInt(i));
90
                                }else if (type.equals(IFeatureAttributeDescriptor.TYPE_LONG)){
91
                                        System.out.println("Long ----- "+ feature.getLong(i));
92
                                }else if (type.equals(IFeatureAttributeDescriptor.TYPE_STRING)){
93
                                        System.out.println("String ----- "+ feature.getString(i));
94
                                }
95
                        }
96
                }
97
                iter = null;
98
                featureCollection.dispose();
99

    
100
                try {
101
                        store.close();
102
                        store.dispose();
103
                } catch (CloseException e) {
104
                        // TODO Auto-generated catch block
105
                        e.printStackTrace();
106
                }
107

    
108
        }
109

    
110
        public void test_Resources(){
111

    
112
                DataManager manager = DataManager.getManager();
113
                Register.selfRegister();
114

    
115
                ResourceManager resMan = ResourceManager.getResourceManager();
116

    
117
                DBFStore store=null;
118
                DBFStore store2=null;
119
                DBFStore store3=null;
120
                DBFStoreParameters dbfParameters;
121

    
122
                dbfParameters=(DBFStoreParameters)manager.createDataStoreParameters(DBFStore.DATASTORE_NAME);
123
                dbfParameters.setFile(file);
124

    
125
                try {
126
                        store = (DBFStore)manager.createDataStore(dbfParameters);
127
                        store2 = (DBFStore)manager.createDataStore(dbfParameters);
128
                        store3 = (DBFStore)manager.createDataStore(dbfParameters);
129
                } catch (InitializeException e) {
130
                        e.printStackTrace();fail();
131
                }
132

    
133
                int i=0;
134
                Resource res = null;
135
                Object obj = null;
136

    
137
                Iterator iter = resMan.iterator();
138
                while (iter.hasNext()){
139
                        obj = iter.next();
140
                        if (obj instanceof DBFResource){
141
                                i++;
142
                                res = (Resource)obj;
143
                        }
144
                }
145

    
146
                assertEquals(1, i);
147

    
148
                assertEquals(3, res.getRefencesCount());
149

    
150
                try {
151
                        store.close();
152
                } catch (CloseException e) {
153
                        e.printStackTrace();fail();
154
                }
155

    
156
                assertEquals(false, res.isOpen());
157

    
158
                IDataCollection coll = null;
159

    
160
                try {
161
                        coll =store.getDataCollection();
162
                } catch (ReadException e) {
163
                        e.printStackTrace();fail();
164
                }
165
                assertEquals(true, res.isOpen());
166

    
167
                coll.dispose();
168

    
169
                try {
170
                        store3.dispose();
171
                } catch (CloseException e) {
172
                        e.printStackTrace();fail();
173
                }
174

    
175
                assertEquals(2, res.getRefencesCount());
176

    
177
                try {
178
                        store2.dispose();
179
                } catch (CloseException e) {
180
                        e.printStackTrace();fail();
181
                }
182

    
183
                assertEquals(1, res.getRefencesCount());
184

    
185
                try {
186
                        store.dispose();
187
                } catch (CloseException e) {
188
                        e.printStackTrace();fail();
189
                }
190

    
191
                assertEquals(0, res.getRefencesCount());
192
                res = null;
193

    
194
                i=0;
195
                iter = resMan.iterator();
196
                while (iter.hasNext()){
197
                        obj = iter.next();
198
                        if (obj instanceof DBFResource){
199
                                i++;
200
                                res = (Resource)obj;
201
                        }
202
                }
203

    
204
                assertEquals(0, i);
205

    
206
        }
207
}