Revision 32880 branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/store/mysql/MySQLStoreProvider.java
MySQLStoreProvider.java | ||
---|---|---|
41 | 41 |
import org.gvsig.fmap.dal.exception.ValidateDataParametersException; |
42 | 42 |
import org.gvsig.fmap.dal.feature.FeatureAttributeDescriptor; |
43 | 43 |
import org.gvsig.fmap.dal.feature.FeatureQuery; |
44 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
|
45 | 44 |
import org.gvsig.fmap.dal.feature.FeatureType; |
46 | 45 |
import org.gvsig.fmap.dal.feature.spi.FeatureSetProvider; |
47 | 46 |
import org.gvsig.fmap.dal.spi.DataStoreProviderServices; |
47 |
import org.gvsig.fmap.dal.store.db.DBHelper; |
|
48 | 48 |
import org.gvsig.fmap.dal.store.jdbc.JDBCHelper; |
49 | 49 |
import org.gvsig.fmap.dal.store.jdbc.JDBCStoreProviderWriter; |
50 | 50 |
import org.gvsig.fmap.geom.Geometry; |
51 |
import org.gvsig.tools.ToolsLocator; |
|
52 |
import org.gvsig.tools.dynobject.DynClass; |
|
53 |
import org.gvsig.tools.dynobject.DynObjectManager; |
|
54 | 51 |
import org.slf4j.Logger; |
55 | 52 |
import org.slf4j.LoggerFactory; |
56 | 53 |
|
... | ... | |
61 | 58 |
|
62 | 59 |
public static String NAME = "MySQL"; |
63 | 60 |
public static String DESCRIPTION = "MySQL source"; |
64 |
private static final String DYNCLASS_NAME = "MySQLStore"; |
|
65 |
private static DynClass DYNCLASS = null;
|
|
61 |
|
|
62 |
public static final String METADATA_DEFINITION_NAME = NAME;
|
|
66 | 63 |
|
67 |
|
|
68 |
protected static void registerDynClass() { |
|
69 |
DynObjectManager dynman = ToolsLocator.getDynObjectManager(); |
|
70 |
DynClass dynClass; |
|
71 |
if (DYNCLASS == null) { |
|
72 |
dynClass = dynman.add(DYNCLASS_NAME, DESCRIPTION); |
|
73 |
|
|
74 |
dynClass.extend(dynman.get(FeatureStore.DYNCLASS_NAME)); |
|
75 |
DYNCLASS = dynClass; |
|
76 |
} |
|
77 |
} |
|
78 |
|
|
79 |
|
|
80 | 64 |
public MySQLStoreProvider(MySQLStoreParameters params, |
81 | 65 |
DataStoreProviderServices storeServices) |
82 | 66 |
throws InitializeException { |
83 |
super(params, storeServices, ToolsLocator.getDynObjectManager() |
|
84 |
.createDynObject(DYNCLASS)); |
|
85 |
|
|
67 |
super( |
|
68 |
params, |
|
69 |
storeServices, |
|
70 |
DBHelper.newMetadataContainer(METADATA_DEFINITION_NAME) |
|
71 |
); |
|
86 | 72 |
} |
87 | 73 |
|
88 | 74 |
private MySQLStoreParameters getMySQLParamters() { |
... | ... | |
154 | 140 |
exParams.setJDBCDriverClassName(params.getJDBCDriverClassName()); |
155 | 141 |
exParams.setUseSSL(params.getUseSSL()); |
156 | 142 |
|
157 |
return manager.createServerExplorer(exParams);
|
|
143 |
return manager.openServerExplorer(MySQLServerExplorer.NAME,exParams);
|
|
158 | 144 |
} catch (DataException e) { |
159 | 145 |
throw new ReadException(this.getName(), e); |
160 | 146 |
} catch (ValidateDataParametersException e) { |
161 |
// TODO Auto-generated catch block |
|
162 | 147 |
throw new ReadException(this.getName(), e); |
163 | 148 |
} |
164 | 149 |
} |
... | ... | |
229 | 214 |
|
230 | 215 |
|
231 | 216 |
protected void prepareAttributeForInsert( |
232 |
FeatureAttributeDescriptor attr, List fields, List values) {
|
|
217 |
FeatureAttributeDescriptor attr, List<String> fields, List<String> values) {
|
|
233 | 218 |
|
234 | 219 |
if (attr.getDataType() == DataTypes.GEOMETRY) { |
235 | 220 |
fields.add(helper.escapeFieldName(attr.getName())); |
... | ... | |
241 | 226 |
} |
242 | 227 |
|
243 | 228 |
protected void prepareAttributeForUpdate(FeatureAttributeDescriptor attr, |
244 |
List values) { |
|
229 |
List<String> values) {
|
|
245 | 230 |
if (attr.getDataType() == DataTypes.GEOMETRY) { |
246 | 231 |
values.add(helper.escapeFieldName(attr.getName()) |
247 | 232 |
+ " = GeomFromWKB(?)"); |
... | ... | |
250 | 235 |
} |
251 | 236 |
} |
252 | 237 |
|
253 |
protected List getSqlStatementAlterField( |
|
238 |
protected List<String> getSqlStatementAlterField(
|
|
254 | 239 |
FeatureAttributeDescriptor attrOrg, |
255 |
FeatureAttributeDescriptor attrTrg, List additionalStatement) |
|
240 |
FeatureAttributeDescriptor attrTrg, List<String> additionalStatement)
|
|
256 | 241 |
throws DataException { |
257 | 242 |
// |
258 |
List actions = super.getSqlStatementAlterField(attrOrg, attrTrg, |
|
243 |
List<String> actions = super.getSqlStatementAlterField(attrOrg, attrTrg,
|
|
259 | 244 |
additionalStatement); |
260 |
StringBuilder strb; |
|
245 |
//StringBuilder strb;
|
|
261 | 246 |
if (attrOrg.getDataType() != attrTrg.getDataType()) { |
262 | 247 |
if (attrOrg.getDataType() == DataTypes.GEOMETRY) { |
263 | 248 |
// FIXME |
Also available in: Unified diff