Statistics
| Revision:

root / branches / v2_0_0_prep / libraries / libFMap_dataFile / src-test / org / gvsig / fmap / data / feature / file / dbf / DBFTest.java @ 22958

History | View | Annotate | Download (5.21 KB)

1
package org.gvsig.fmap.data.feature.file.dbf;
2

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

    
6
import junit.framework.TestCase;
7

    
8
import org.gvsig.exceptions.BaseException;
9
import org.gvsig.fmap.data.CloseException;
10
import org.gvsig.fmap.data.DataManager;
11
import org.gvsig.fmap.data.InitializeException;
12
import org.gvsig.fmap.data.ReadException;
13
import org.gvsig.fmap.data.feature.Feature;
14
import org.gvsig.fmap.data.feature.FeatureAttributeDescriptor;
15
import org.gvsig.fmap.data.feature.FeatureCollection;
16
import org.gvsig.fmap.data.feature.FeatureStore;
17
import org.gvsig.fmap.data.feature.FeatureType;
18
import org.gvsig.fmap.data.feature.file.DataStoreTest;
19
import org.gvsig.fmap.data.feature.visitor.PrintlnFeaturesVisitor;
20

    
21
public class DBFTest extends TestCase {
22
        public static final File file = new File(DataStoreTest.class.getResource(
23
                        "data/prueba.dbf").getFile());
24

    
25

    
26
        public static void main(String[] args) {
27
                junit.textui.TestRunner.run(DBFTest.class);
28
        }
29

    
30
        protected void setUp() throws Exception {
31
                super.setUp();
32
        }
33

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

    
38
                FeatureStore store=null;
39
                DBFStoreParameters dbfParameters=null;
40

    
41
                try {
42
                        dbfParameters=(DBFStoreParameters)manager.createDataStoreParameters(DBFStore.DATASTORE_NAME);
43
                } catch (InitializeException e3) {
44
                        e3.printStackTrace();
45
                        fail();
46
                }
47
                dbfParameters.setFile(file);
48

    
49

    
50
                try {
51
                        store = (FeatureStore)manager.createDataStore(dbfParameters);
52
                } catch (InitializeException e) {
53
                        // TODO Auto-generated catch block
54
                        e.printStackTrace();
55
                }
56

    
57
                FeatureType ft=store.getDefaultFeatureType();
58
                FeatureCollection featureCollection=null;
59
                try {
60
                        featureCollection = (FeatureCollection)store.getDataCollection(ft,null,null);
61
                } catch (ReadException e1) {
62
                        // TODO Auto-generated catch block
63
                        e1.printStackTrace();
64
                }
65
                Iterator iter = featureCollection.iterator();
66
                while (iter.hasNext()) {
67

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

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

    
105
        }
106

    
107
        public void test_2() {
108
                DataManager manager = DataManager.getManager();
109

    
110
                FeatureStore store = null;
111
                DBFStoreParameters dbfParameters = null;
112

    
113
                try {
114
                        dbfParameters = getParams(file);
115
                } catch (InitializeException e3) {
116
                        e3.printStackTrace();
117
                        fail();
118
                }
119

    
120
                try {
121
                        store = (FeatureStore) manager.createDataStore(dbfParameters);
122
                } catch (InitializeException e) {
123
                        // TODO Auto-generated catch block
124
                        e.printStackTrace();
125
                }
126

    
127
                FeatureCollection featureCollection = null;
128
                try {
129
                        featureCollection = (FeatureCollection) store.getDataCollection(
130
                                        new String[] { "NOMBRE", "TIPO" },
131
                                        null, null);
132
                } catch (ReadException e1) {
133
                        e1.printStackTrace();
134
                        fail();
135
                }
136

    
137
                assertEquals(featureCollection.getFeatureType().size(), 2);
138

    
139
                try {
140
                        featureCollection.accept(new PrintlnFeaturesVisitor(
141
                                        featureCollection.getFeatureType()));
142
                } catch (BaseException e1) {
143
                        e1.printStackTrace();
144
                        fail();
145
                }
146

    
147

    
148
                featureCollection.dispose();
149

    
150
                try {
151
                        store.dispose();
152
                } catch (CloseException e) {
153
                        // TODO Auto-generated catch block
154
                        e.printStackTrace();
155
                }
156

    
157
        }
158

    
159
        public void test_Resources(){
160

    
161
                DBFStoreParameters dbfParameters=null;
162

    
163
                try {
164
                        dbfParameters = getParams(file);
165
                } catch (InitializeException e) {
166
                        e.printStackTrace();
167
                        fail();
168
                }
169

    
170
                DataStoreTest.doFileResourceTest(dbfParameters);
171
        }
172

    
173
        public static DBFStoreParameters getParams(File file2)
174
                        throws InitializeException {
175
                DataManager manager = DataManager.getManager();
176
                Register.selfRegister();
177

    
178
                DBFStoreParameters dbfParameters = null;
179

    
180
                dbfParameters = (DBFStoreParameters) manager
181
                                .createDataStoreParameters(DBFStore.DATASTORE_NAME);
182
                dbfParameters.setFile(file2);
183
                return dbfParameters;
184
        }
185
}