package com.ximple.eofms.jobs.context.orasdo; import java.io.IOException; import java.sql.Connection; import org.geotools.data.DataStore; import org.geotools.data.SchemaNotFoundException; import org.geotools.data.Transaction; import org.geotools.data.oracle.OracleDataStore; import org.geotools.feature.FeatureType; import com.ximple.eofms.jobs.context.AbstractDgnFileJobContext; public abstract class AbstractDgnToOraSDOJobContext extends AbstractDgnFileJobContext { protected OracleDataStore targetDataStore; public AbstractDgnToOraSDOJobContext(String dataPath, DataStore targetDataStore, boolean profileMode, boolean useTransform, boolean useEPSG3826) { super(dataPath, profileMode, useTransform, useEPSG3826); this.targetDataStore = (OracleDataStore) targetDataStore; } public OracleDataStore getTargetDataStore() { return targetDataStore; } public void setTargetDataStore(OracleDataStore targetDataStore) { this.targetDataStore = targetDataStore; } public Connection getConnection() { if (targetDataStore != null) { try { return targetDataStore.getConnection(Transaction.AUTO_COMMIT); } catch (IOException e) { getLogger().warn(e.getMessage(), e); } } return null; } protected boolean isExistFeature(FeatureType featureType) { try { FeatureType existFeatureType = targetDataStore.getSchema(featureType.getTypeName()); return existFeatureType != null && existFeatureType.equals(featureType); } catch (SchemaNotFoundException e) { return false; } catch (IOException e) { getLogger().info(e.getMessage(), e); return false; } } }