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 @ 40559

History | View | Annotate | Download (7.5 KB)

1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
/* gvSIG. Geographic Information System of the Valencian Government
25
*
26
* Copyright (C) 2007-2008 Infrastructures and Transports Department
27
* of the Valencian Government (CIT)
28
*
29
* This program is free software; you can redistribute it and/or
30
* modify it under the terms of the GNU General Public License
31
* as published by the Free Software Foundation; either version 2
32
* of the License, or (at your option) any later version.
33
*
34
* This program is distributed in the hope that it will be useful,
35
* but WITHOUT ANY WARRANTY; without even the implied warranty of
36
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
37
* GNU General Public License for more details.
38
*
39
* You should have received a copy of the GNU General Public License
40
* along with this program; if not, write to the Free Software
41
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
42
* MA  02110-1301, USA.
43
*
44
*/
45

    
46
/*
47
* AUTHORS (In addition to CIT):
48
* 2009 IVER T.I   {{Task}}
49
*/
50

    
51
package org.gvsig.fmap.dal.store.jdbc;
52

    
53
import org.gvsig.fmap.dal.DataStoreParameters;
54
import org.gvsig.fmap.dal.exception.DataException;
55
import org.gvsig.fmap.dal.feature.BaseTestEditableFeatureStore;
56
import org.gvsig.fmap.dal.feature.EditableFeature;
57
import org.gvsig.fmap.dal.feature.EditableFeatureType;
58
import org.gvsig.fmap.dal.feature.FeatureStore;
59
import org.gvsig.fmap.dal.feature.FeatureType;
60
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters;
61

    
62
import com.mysql.jdbc.Driver;
63

    
64

    
65
public class JDBCTestWrite extends BaseTestEditableFeatureStore {
66
        private JDBCNewStoreParameters newParams;
67
        private JDBCServerExplorer myExplorer;
68
        private int newId = 50000;
69

    
70
        public void fillPrimaryKeyInserFeature(EditableFeature feature) {
71
                feature.set("id", newId);
72
                newId++;
73
        }
74

    
75
        @Override
76
        protected void doSetUp() throws Exception {
77
                // Nothing to do        
78
        }
79

    
80
        public DataStoreParameters getDefaultDataStoreParameters()
81
                        throws DataException {
82
                JDBCStoreParameters parameters = null;
83
                parameters = (JDBCStoreParameters) dataManager
84
                                .createStoreParameters(JDBCStoreProvider.NAME);
85

    
86
                parameters.setHost("localhost");
87
                parameters.setPort(3306);
88
                parameters.setUser("test");
89
                parameters.setPassword("test");
90
                parameters.setDBName("gis");
91
                parameters.setTable("alfanum");
92
                parameters.setUrl("jdbc:mysql://" + parameters.getHost() + ":"
93
                                + parameters.getPort() + "/" + parameters.getDBName());
94
                parameters.setJDBCDriverClassName(Driver.class.getName());
95

    
96
                return parameters;
97
        }
98

    
99
        /*
100
         * (non-Javadoc)
101
         *
102
         * @see org.gvsig.fmap.dal.feature.BaseTestFeatureStore#hasExplorer()
103
         */
104
        @Override
105
        public boolean hasExplorer() {
106
                // TODO Auto-generated method stub
107
                return true;
108
        }
109

    
110
        /*
111
         * (non-Javadoc)
112
         *
113
         * @see org.gvsig.fmap.dal.feature.BaseTestFeatureStore#usesResources()
114
         */
115
        @Override
116
        public boolean usesResources() {
117
                // TODO Auto-generated method stub
118
                return true;
119
        }
120

    
121
        /*
122
        public void testImportDB() throws Exception {
123
                JDBCNewStoreParameters newParasm = (JDBCNewStoreParameters) getDefaultNewDataStoreParameters();
124
                JDBCServerExplorerParameters seParams = (JDBCServerExplorerParameters) dataManager
125
                                .createServerExplorerParameters(JDBCServerExplorer.NAME);
126

127
                assertTrue(myExplorer.add(newParasm, true));
128

129
                FeatureStore store = (FeatureStore) dataManager
130
                                .createStore(getDefaultDataStoreParameters());
131

132
                FeatureStore newstore = (FeatureStore) dataManager
133
                                .createStore(newParasm);
134

135

136

137
                newstore.edit(FeatureStore.MODE_APPEND);
138
                FeatureSet set = store.getFeatureSet();
139
                DisposableIterator iter = set.iterator();
140
                Feature org;
141
                EditableFeature trg;
142
                Iterator attrIter;
143
                FeatureAttributeDescriptor attr;
144
                while (iter.hasNext()) {
145
                        org = (Feature) iter.next();
146
                        trg = newstore.createNewFeature(false);
147
                        attrIter = trg.getType().iterator();
148
                        while (attrIter.hasNext()) {
149
                                attr = (FeatureAttributeDescriptor) attrIter.next();
150
                                trg.set(attr.getName(), org.get(attr.getName()));
151
                        }
152
                        newstore.insert(trg);
153
                }
154
                newstore.finishEditing();
155

156
                iter.dispose();
157
                set.dispose();
158
                store.dispose();
159
                newstore.dispose();
160

161

162
        }
163
        */
164

    
165
        @Override
166
        public NewFeatureStoreParameters getDefaultNewDataStoreParameters()
167
                        throws Exception {
168

    
169

    
170
                JDBCStoreParameters params = (JDBCStoreParameters) getDefaultDataStoreParameters();
171

    
172
                if (this.myExplorer == null) {
173

    
174
                        JDBCServerExplorerParameters seParameters = null;
175
                        seParameters = (JDBCServerExplorerParameters) dataManager
176
                                        .createServerExplorerParameters(JDBCServerExplorer.NAME);
177

    
178
                        seParameters.setHost("localhost");
179
                        seParameters.setPort(3306);
180
                        seParameters.setUser("test");
181
                        seParameters.setPassword("test");
182
                        seParameters.setDBName("gis");
183

    
184
                        seParameters.setUrl("jdbc:mysql://" + seParameters.getHost() + ":"
185
                                        + seParameters.getPort() + "/" + seParameters.getDBName());
186
                        seParameters.setJDBCDriverClassName(Driver.class.getName());
187

    
188

    
189
                        myExplorer = (JDBCServerExplorer) dataManager
190
                                        .createServerExplorer(seParameters);
191
                }
192
                if (this.newParams == null) {
193
                        FeatureStore store = (FeatureStore) dataManager.createStore(params);
194

    
195
                        newParams = (JDBCNewStoreParameters) myExplorer
196
                                        .getAddParameters();
197

    
198

    
199
                        newParams.setTable(params.getTable() + "_test");
200
                        FeatureType ftOrg = store.getDefaultFeatureType();
201
                        EditableFeatureType ftTrg = ftOrg.getEditable();
202

    
203
//                        EditableFeatureType ftTrg = (EditableFeatureType) newParams
204
//                                        .getDefaultFeatureType();
205
                        newParams.setDefaultFeatureType(ftTrg);
206

    
207
//                        FeatureAttributeDescriptor org;
208
//                        EditableFeatureAttributeDescriptor trg;
209
//                        Iterator iter = ftOrg.iterator();
210
//                        while (iter.hasNext()) {
211
//                                org = (FeatureAttributeDescriptor) iter.next();
212
//                                trg = ftTrg.add(org.getName(), org.getDataType());
213
//                                trg.setAllowNull(org.allowNull());
214
//                                trg.setDefaultValue(org.getDefaultValue());
215
//                                trg.setGeometrySubType(org.getGeometrySubType());
216
//                                trg.setGeometryType(org.getGeometryType());
217
//                                trg.setIsAutomatic(org.isAutomatic());
218
//                                trg.setIsPrimaryKey(org.isPrimaryKey());
219
//                                trg.setIsReadOnly(org.isReadOnly());
220
//                                trg.setMaximumOccurrences(org.getMaximumOccurrences());
221
//                                trg.setMinimumOccurrences(org.getMinimumOccurrences());
222
//                                trg.setPrecision(org.getPrecision());
223
//                                trg.setSize(org.getSize());
224
//                                trg.setSRS(org.getSRS());
225
//                                trg.setAdditionalInfo("SQLType", org
226
//                                                .getAdditionalInfo("SQLType"));
227
//                                trg.setAdditionalInfo("SQLTypeName", org
228
//                                                .getAdditionalInfo("SQLTypeName"));
229
//
230
//                        }
231
//                        ftTrg.setDefaultGeometryAttributeName(ftOrg
232
//                                        .getDefaultGeometryAttributeName());
233
//                        ftTrg.setHasOID(ftOrg.hasOID());
234

    
235
                        store.dispose();
236
                }
237

    
238
                return this.newParams;
239
        }
240

    
241
        @Override
242
        public boolean resourcesNotifyChanges() {
243
                // TODO Auto-generated method stub
244
                return false;
245
        }
246

    
247
}