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

History | View | Annotate | Download (6.57 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

    
25
package org.gvsig.fmap.dal.store.jdbc;
26

    
27
import org.gvsig.fmap.dal.DataStoreParameters;
28
import org.gvsig.fmap.dal.exception.DataException;
29
import org.gvsig.fmap.dal.feature.BaseTestEditableFeatureStore;
30
import org.gvsig.fmap.dal.feature.EditableFeature;
31
import org.gvsig.fmap.dal.feature.EditableFeatureType;
32
import org.gvsig.fmap.dal.feature.FeatureStore;
33
import org.gvsig.fmap.dal.feature.FeatureType;
34
import org.gvsig.fmap.dal.feature.NewFeatureStoreParameters;
35

    
36
import com.mysql.jdbc.Driver;
37

    
38

    
39
public class JDBCTestWrite extends BaseTestEditableFeatureStore {
40
        private JDBCNewStoreParameters newParams;
41
        private JDBCServerExplorer myExplorer;
42
        private int newId = 50000;
43

    
44
        public void fillPrimaryKeyInserFeature(EditableFeature feature) {
45
                feature.set("id", newId);
46
                newId++;
47
        }
48

    
49
        @Override
50
        protected void doSetUp() throws Exception {
51
                // Nothing to do        
52
        }
53

    
54
        public DataStoreParameters getDefaultDataStoreParameters()
55
                        throws DataException {
56
                JDBCStoreParameters parameters = null;
57
                parameters = (JDBCStoreParameters) dataManager
58
                                .createStoreParameters(JDBCStoreProvider.NAME);
59

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

    
70
                return parameters;
71
        }
72

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

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

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

101
                assertTrue(myExplorer.add(newParasm, true));
102

103
                FeatureStore store = (FeatureStore) dataManager
104
                                .createStore(getDefaultDataStoreParameters());
105

106
                FeatureStore newstore = (FeatureStore) dataManager
107
                                .createStore(newParasm);
108

109

110

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

130
                iter.dispose();
131
                set.dispose();
132
                store.dispose();
133
                newstore.dispose();
134

135

136
        }
137
        */
138

    
139
        @Override
140
        public NewFeatureStoreParameters getDefaultNewDataStoreParameters()
141
                        throws Exception {
142

    
143

    
144
                JDBCStoreParameters params = (JDBCStoreParameters) getDefaultDataStoreParameters();
145

    
146
                if (this.myExplorer == null) {
147

    
148
                        JDBCServerExplorerParameters seParameters = null;
149
                        seParameters = (JDBCServerExplorerParameters) dataManager
150
                                        .createServerExplorerParameters(JDBCServerExplorer.NAME);
151

    
152
                        seParameters.setHost("localhost");
153
                        seParameters.setPort(3306);
154
                        seParameters.setUser("test");
155
                        seParameters.setPassword("test");
156
                        seParameters.setDBName("gis");
157

    
158
                        seParameters.setUrl("jdbc:mysql://" + seParameters.getHost() + ":"
159
                                        + seParameters.getPort() + "/" + seParameters.getDBName());
160
                        seParameters.setJDBCDriverClassName(Driver.class.getName());
161

    
162

    
163
                        myExplorer = (JDBCServerExplorer) dataManager
164
                                        .createServerExplorer(seParameters);
165
                }
166
                if (this.newParams == null) {
167
                        FeatureStore store = (FeatureStore) dataManager.createStore(params);
168

    
169
                        newParams = (JDBCNewStoreParameters) myExplorer
170
                                        .getAddParameters();
171

    
172

    
173
                        newParams.setTable(params.getTable() + "_test");
174
                        FeatureType ftOrg = store.getDefaultFeatureType();
175
                        EditableFeatureType ftTrg = ftOrg.getEditable();
176

    
177
//                        EditableFeatureType ftTrg = (EditableFeatureType) newParams
178
//                                        .getDefaultFeatureType();
179
                        newParams.setDefaultFeatureType(ftTrg);
180

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

    
209
                        store.dispose();
210
                }
211

    
212
                return this.newParams;
213
        }
214

    
215
        @Override
216
        public boolean resourcesNotifyChanges() {
217
                // TODO Auto-generated method stub
218
                return false;
219
        }
220

    
221
}