Revision 32880 branches/v2_0_0_prep/libraries/libFMap_daldb/src/org/gvsig/fmap/dal/store/mysql/MySQLStoreProvider.java

View differences:

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