Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.db / org.gvsig.fmap.dal.db.jdbc / src / test / java / org / gvsig / fmap / dal / store / jdbc / JDBCTestWrite.java @ 40435

History | View | Annotate | Download (6.56 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
*
3
* Copyright (C) 2007-2008 Infrastructures and Transports Department
4
* of the Valencian Government (CIT)
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., 51 Franklin Street, Fifth Floor, Boston,
19
* MA  02110-1301, USA.
20
*
21
*/
22

    
23
/*
24
* AUTHORS (In addition to CIT):
25
* 2009 IVER T.I   {{Task}}
26
*/
27

    
28
package org.gvsig.fmap.dal.store.jdbc;
29

    
30
import org.gvsig.fmap.dal.DataStoreParameters;
31
import org.gvsig.fmap.dal.exception.DataException;
32
import org.gvsig.fmap.dal.feature.BaseTestEditableFeatureStore;
33
import org.gvsig.fmap.dal.feature.EditableFeature;
34
import org.gvsig.fmap.dal.feature.EditableFeatureType;
35
import org.gvsig.fmap.dal.feature.FeatureStore;
36
import org.gvsig.fmap.dal.feature.FeatureType;
37
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters;
38

    
39
import com.mysql.jdbc.Driver;
40

    
41

    
42
public class JDBCTestWrite extends BaseTestEditableFeatureStore {
43
        private JDBCNewStoreParameters newParams;
44
        private JDBCServerExplorer myExplorer;
45
        private int newId = 50000;
46

    
47
        public void fillPrimaryKeyInserFeature(EditableFeature feature) {
48
                feature.set("id", newId);
49
                newId++;
50
        }
51

    
52
        @Override
53
        protected void doSetUp() throws Exception {
54
                // Nothing to do        
55
        }
56

    
57
        public DataStoreParameters getDefaultDataStoreParameters()
58
                        throws DataException {
59
                JDBCStoreParameters parameters = null;
60
                parameters = (JDBCStoreParameters) dataManager
61
                                .createStoreParameters(JDBCStoreProvider.NAME);
62

    
63
                parameters.setHost("localhost");
64
                parameters.setPort(3306);
65
                parameters.setUser("test");
66
                parameters.setPassword("test");
67
                parameters.setDBName("gis");
68
                parameters.setTable("alfanum");
69
                parameters.setUrl("jdbc:mysql://" + parameters.getHost() + ":"
70
                                + parameters.getPort() + "/" + parameters.getDBName());
71
                parameters.setJDBCDriverClassName(Driver.class.getName());
72

    
73
                return parameters;
74
        }
75

    
76
        /*
77
         * (non-Javadoc)
78
         *
79
         * @see org.gvsig.fmap.dal.feature.BaseTestFeatureStore#hasExplorer()
80
         */
81
        @Override
82
        public boolean hasExplorer() {
83
                // TODO Auto-generated method stub
84
                return true;
85
        }
86

    
87
        /*
88
         * (non-Javadoc)
89
         *
90
         * @see org.gvsig.fmap.dal.feature.BaseTestFeatureStore#usesResources()
91
         */
92
        @Override
93
        public boolean usesResources() {
94
                // TODO Auto-generated method stub
95
                return true;
96
        }
97

    
98
        /*
99
        public void testImportDB() throws Exception {
100
                JDBCNewStoreParameters newParasm = (JDBCNewStoreParameters) getDefaultNewDataStoreParameters();
101
                JDBCServerExplorerParameters seParams = (JDBCServerExplorerParameters) dataManager
102
                                .createServerExplorerParameters(JDBCServerExplorer.NAME);
103

104
                assertTrue(myExplorer.add(newParasm, true));
105

106
                FeatureStore store = (FeatureStore) dataManager
107
                                .createStore(getDefaultDataStoreParameters());
108

109
                FeatureStore newstore = (FeatureStore) dataManager
110
                                .createStore(newParasm);
111

112

113

114
                newstore.edit(FeatureStore.MODE_APPEND);
115
                FeatureSet set = store.getFeatureSet();
116
                DisposableIterator iter = set.iterator();
117
                Feature org;
118
                EditableFeature trg;
119
                Iterator attrIter;
120
                FeatureAttributeDescriptor attr;
121
                while (iter.hasNext()) {
122
                        org = (Feature) iter.next();
123
                        trg = newstore.createNewFeature(false);
124
                        attrIter = trg.getType().iterator();
125
                        while (attrIter.hasNext()) {
126
                                attr = (FeatureAttributeDescriptor) attrIter.next();
127
                                trg.set(attr.getName(), org.get(attr.getName()));
128
                        }
129
                        newstore.insert(trg);
130
                }
131
                newstore.finishEditing();
132

133
                iter.dispose();
134
                set.dispose();
135
                store.dispose();
136
                newstore.dispose();
137

138

139
        }
140
        */
141

    
142
        @Override
143
        public NewFeatureStoreParameters getDefaultNewDataStoreParameters()
144
                        throws Exception {
145

    
146

    
147
                JDBCStoreParameters params = (JDBCStoreParameters) getDefaultDataStoreParameters();
148

    
149
                if (this.myExplorer == null) {
150

    
151
                        JDBCServerExplorerParameters seParameters = null;
152
                        seParameters = (JDBCServerExplorerParameters) dataManager
153
                                        .createServerExplorerParameters(JDBCServerExplorer.NAME);
154

    
155
                        seParameters.setHost("localhost");
156
                        seParameters.setPort(3306);
157
                        seParameters.setUser("test");
158
                        seParameters.setPassword("test");
159
                        seParameters.setDBName("gis");
160

    
161
                        seParameters.setUrl("jdbc:mysql://" + seParameters.getHost() + ":"
162
                                        + seParameters.getPort() + "/" + seParameters.getDBName());
163
                        seParameters.setJDBCDriverClassName(Driver.class.getName());
164

    
165

    
166
                        myExplorer = (JDBCServerExplorer) dataManager
167
                                        .createServerExplorer(seParameters);
168
                }
169
                if (this.newParams == null) {
170
                        FeatureStore store = (FeatureStore) dataManager.createStore(params);
171

    
172
                        newParams = (JDBCNewStoreParameters) myExplorer
173
                                        .getAddParameters();
174

    
175

    
176
                        newParams.setTable(params.getTable() + "_test");
177
                        FeatureType ftOrg = store.getDefaultFeatureType();
178
                        EditableFeatureType ftTrg = ftOrg.getEditable();
179

    
180
//                        EditableFeatureType ftTrg = (EditableFeatureType) newParams
181
//                                        .getDefaultFeatureType();
182
                        newParams.setDefaultFeatureType(ftTrg);
183

    
184
//                        FeatureAttributeDescriptor org;
185
//                        EditableFeatureAttributeDescriptor trg;
186
//                        Iterator iter = ftOrg.iterator();
187
//                        while (iter.hasNext()) {
188
//                                org = (FeatureAttributeDescriptor) iter.next();
189
//                                trg = ftTrg.add(org.getName(), org.getDataType());
190
//                                trg.setAllowNull(org.allowNull());
191
//                                trg.setDefaultValue(org.getDefaultValue());
192
//                                trg.setGeometrySubType(org.getGeometrySubType());
193
//                                trg.setGeometryType(org.getGeometryType());
194
//                                trg.setIsAutomatic(org.isAutomatic());
195
//                                trg.setIsPrimaryKey(org.isPrimaryKey());
196
//                                trg.setIsReadOnly(org.isReadOnly());
197
//                                trg.setMaximumOccurrences(org.getMaximumOccurrences());
198
//                                trg.setMinimumOccurrences(org.getMinimumOccurrences());
199
//                                trg.setPrecision(org.getPrecision());
200
//                                trg.setSize(org.getSize());
201
//                                trg.setSRS(org.getSRS());
202
//                                trg.setAdditionalInfo("SQLType", org
203
//                                                .getAdditionalInfo("SQLType"));
204
//                                trg.setAdditionalInfo("SQLTypeName", org
205
//                                                .getAdditionalInfo("SQLTypeName"));
206
//
207
//                        }
208
//                        ftTrg.setDefaultGeometryAttributeName(ftOrg
209
//                                        .getDefaultGeometryAttributeName());
210
//                        ftTrg.setHasOID(ftOrg.hasOID());
211

    
212
                        store.dispose();
213
                }
214

    
215
                return this.newParams;
216
        }
217

    
218
        @Override
219
        public boolean resourcesNotifyChanges() {
220
                // TODO Auto-generated method stub
221
                return false;
222
        }
223

    
224
}