| | |
| | | { |
| | | final static Log logger = LogFactory.getLog(OracleConvertDgn2PostGISJob.class); |
| | | |
| | | private static final String XGVERSION_NAME = "xgeos_vsversion"; |
| | | private static final String PGHOST = "PGHOST"; |
| | | private static final String PGDDATBASE = "PGDDATBASE"; |
| | | private static final String PGPORT = "PGPORT"; |
| | |
| | | try |
| | | { |
| | | connection = targetDataStore.getConnection(Transaction.AUTO_COMMIT); |
| | | rs = connection.getMetaData().getTables(null, _pgSchema, XGVERSION_NAME, new String[] {"TABLE"}); |
| | | rs = connection.getMetaData().getTables(null, _pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME, new String[] {"TABLE"}); |
| | | if (!rs.next()) needCreate = true; |
| | | if (needCreate) |
| | | createXGeosVersionTable(connection, _pgSchema); |
| | |
| | | |
| | | StringBuilder sbSQL = new StringBuilder("SELECT "); |
| | | sbSQL.append("vsschema, vsstatus FROM "); |
| | | sbSQL.append(encodeSchemaTableName(_pgSchema, XGVERSION_NAME)).append(' '); |
| | | sbSQL.append(encodeSchemaTableName(_pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME)).append(' '); |
| | | sbSQL.append("ORDER BY vsid"); |
| | | stmt = connection.createStatement(); |
| | | rs = stmt.executeQuery(sbSQL.toString()); |
| | |
| | | values[0] = rs.getString("vsschema"); |
| | | values[1] = rs.getShort("vsstatus"); |
| | | tmpSchemas.add(values); |
| | | if ((((Short)values[1]) & DataRepositoryStatus.VSSTATUS_USING) != 0) |
| | | if ((((Short)values[1]) & DataRepositoryVersionManger.VSSTATUS_USING) != 0) |
| | | { |
| | | current = i; |
| | | } |
| | |
| | | } |
| | | |
| | | sbSQL = new StringBuilder("UPDATE "); |
| | | sbSQL.append(encodeSchemaTableName(_pgSchema, XGVERSION_NAME)).append(' '); |
| | | sbSQL.append(encodeSchemaTableName(_pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME)).append(' '); |
| | | sbSQL.append(" SET vsstatus = "); |
| | | sbSQL.append(DataRepositoryStatus.VSSTATUS_COVERT); |
| | | sbSQL.append(DataRepositoryVersionManger.VSSTATUS_COVERT); |
| | | sbSQL.append(" WHERE vsschema = '"); |
| | | sbSQL.append(targetSchema).append("'"); |
| | | int count = stmt.executeUpdate(sbSQL.toString()); |
| | |
| | | { |
| | | Statement stmt = null; |
| | | StringBuilder sql = new StringBuilder("CREATE TABLE "); |
| | | sql.append(encodeSchemaTableName(pgSchema, XGVERSION_NAME)); |
| | | sql.append(encodeSchemaTableName(pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME)); |
| | | sql.append(" ( vsid serial PRIMARY KEY, "); |
| | | sql.append(" vsschema character varying(64) NOT NULL, "); |
| | | sql.append(" vsstatus smallint NOT NULL, "); |
| | |
| | | stmt.executeUpdate(sql.toString()); |
| | | |
| | | sql = new StringBuilder("ALTER TABLE "); |
| | | sql.append(encodeSchemaTableName(pgSchema, XGVERSION_NAME)); |
| | | sql.append(encodeSchemaTableName(pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME)); |
| | | sql.append(" OWNER TO spatialdb"); |
| | | stmt.executeUpdate(sql.toString()); |
| | | |
| | | sql = new StringBuilder("GRANT ALL ON TABLE "); |
| | | sql.append(encodeSchemaTableName(pgSchema, XGVERSION_NAME)); |
| | | sql.append(encodeSchemaTableName(pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME)); |
| | | sql.append(" TO public"); |
| | | stmt.executeUpdate(sql.toString()); |
| | | |
| | | sql = new StringBuilder("INSERT INTO "); |
| | | sql.append(encodeSchemaTableName(pgSchema, XGVERSION_NAME)); |
| | | sql.append(" (vsschema, vsstatus) VALUES ("); |
| | | sql.append("'gisrepo1', "); |
| | | sql.append(DataRepositoryStatus.VSSTATUS_UNKNOWN).append(" )"); |
| | | stmt.executeUpdate(sql.toString()); |
| | | for (String schemaName : DataRepositoryVersionManger.DEFAULTXGVERSIONSCHEMA_NAMES) |
| | | { |
| | | sql = new StringBuilder("INSERT INTO "); |
| | | sql.append(encodeSchemaTableName(pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME)); |
| | | sql.append(" (vsschema, vsstatus) VALUES ('"); |
| | | sql.append(schemaName).append("', "); |
| | | sql.append(DataRepositoryVersionManger.VSSTATUS_UNKNOWN).append(" )"); |
| | | stmt.executeUpdate(sql.toString()); |
| | | |
| | | sql = new StringBuilder("INSERT INTO "); |
| | | sql.append(encodeSchemaTableName(pgSchema, XGVERSION_NAME)); |
| | | sql.append(" (vsschema, vsstatus) VALUES ("); |
| | | sql.append("'gisrepo2', "); |
| | | sql.append(DataRepositoryStatus.VSSTATUS_UNKNOWN).append(" )"); |
| | | stmt.executeUpdate(sql.toString()); |
| | | |
| | | createIfNotExistNewSchema(connection, "gisrepo1"); |
| | | createIfNotExistNewSchema(connection, "gisrepo2"); |
| | | createIfNotExistNewSchema(connection, schemaName); |
| | | } |
| | | |
| | | } finally { |
| | | if (stmt != null) stmt.close(); |
| | |
| | | try |
| | | { |
| | | StringBuilder sbSQL = new StringBuilder("UPDATE "); |
| | | sbSQL.append(encodeSchemaTableName(_pgSchema, XGVERSION_NAME)).append(' '); |
| | | sbSQL.append(encodeSchemaTableName(_pgSchema, DataRepositoryVersionManger.XGVERSIONTABLE_NAME)).append(' '); |
| | | sbSQL.append(" SET vsstatus = "); |
| | | sbSQL.append(DataRepositoryStatus.VSSTATUS_READY); |
| | | sbSQL.append(DataRepositoryVersionManger.VSSTATUS_READY); |
| | | sbSQL.append(" WHERE vsschema = '"); |
| | | sbSQL.append(targetSchema).append("'"); |
| | | |