forked from geodmms/xdgnjobs

?? ?
2008-08-25 6217eaaf64d69992c0d92acde640e44a2ac5d910
update for EOFM-152
2 files modified
75 ■■■■ changed files
xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml 8 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java 67 ●●●● patch | view | raw | blame | history
xdgnjobs/ximple-jobcarrier/src/main/resources/quartz_jobs.xml
@@ -18,7 +18,7 @@
      <job-data-map allows-transient-data="true">
        <entry>
          <key>JOBDATA_DIR</key>
          <value>g:\temp\JobData</value>
          <value>G:\Temp\JobData\tctpc</value>
        </entry>
        <entry>
          <key>PGHOST</key>
@@ -26,11 +26,11 @@
        </entry>
        <entry>
          <key>PGDDATBASE</key>
          <value>tytpc</value>
          <value>tctpc</value>
        </entry>
        <entry>
          <key>PGPORT</key>
          <value>5442</value>
          <value>5432</value>
        </entry>
        <entry>
          <key>PGSCHEMA</key>
@@ -50,7 +50,7 @@
        </entry>
        <entry>
          <key>ORAINST</key>
          <value>tytpc</value>
          <value>tctpc</value>
        </entry>
        <entry>
          <key>ORAPORT</key>
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java
@@ -64,7 +64,7 @@
{
    final static Log logger = LogFactory.getLog(OracleConvertDgn2PostGISJob.class);
    private static final String XGVERSION_NAME = "xgversion";
    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";
@@ -1175,19 +1175,19 @@
            rs = null;
            StringBuilder sbSQL = new StringBuilder("SELECT ");
            sbSQL.append("'vsschema', 'vsstatus' FROM ");
            sbSQL.append("vsschema, vsstatus FROM ");
            sbSQL.append(encodeSchemaTableName(_pgSchema, XGVERSION_NAME)).append(' ');
            sbSQL.append("ORDER BY vsid");
            stmt = connection.createStatement();
            rs = stmt.executeQuery(sbSQL.toString());
            ArrayList<Object[]> tmpSchemas = new ArrayList<Object[]>();
            int i = 0;
            int current = 0;
            int current = -1;
            while (rs.next())
            {
                Object[] values = new Object[2];
                values[0] = rs.getObject(1);
                values[1] = rs.getObject(2);
                values[0] = rs.getString("vsschema");
                values[1] = rs.getShort("vsstatus");
                tmpSchemas.add(values);
                if ((((Short)values[1]) & DataRepositoryStatus.VSSTATUS_USING) != 0)
                {
@@ -1196,7 +1196,11 @@
                i++;
            }
            if (current < (tmpSchemas.size() - 1))
            if (current == -1)
            {
                Object[] values = tmpSchemas.get(0);
                targetSchema = (String) values[0];
            } else if (current < (tmpSchemas.size() - 1))
            {
                Object[] values = tmpSchemas.get(current + 1);
                targetSchema = (String) values[0];
@@ -1207,10 +1211,10 @@
            sbSQL = new StringBuilder("UPDATE ");
            sbSQL.append(encodeSchemaTableName(_pgSchema, XGVERSION_NAME)).append(' ');
            sbSQL.append(" SET 'vsstatus' = ");
            sbSQL.append(" SET vsstatus = ");
            sbSQL.append(DataRepositoryStatus.VSSTATUS_COVERT);
            sbSQL.append(" WHERE 'vsschema' = ");
            sbSQL.append(targetSchema);
            sbSQL.append(" WHERE vsschema = '");
            sbSQL.append(targetSchema).append("'");
            int count = stmt.executeUpdate(sbSQL.toString());
            if (count != 1)
            {
@@ -1258,17 +1262,21 @@
            sql = new StringBuilder("INSERT INTO ");
            sql.append(encodeSchemaTableName(pgSchema, XGVERSION_NAME));
            sql.append(" ('vsschema', 'vsstatus' ) VALUES (");
            sql.append(" (vsschema, vsstatus) VALUES (");
            sql.append("'gisrepo1', ");
            sql.append(DataRepositoryStatus.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(" (vsschema, vsstatus) VALUES (");
            sql.append("'gisrepo2', ");
            sql.append(DataRepositoryStatus.VSSTATUS_UNKNOWN).append(" )");
            stmt.executeUpdate(sql.toString());
            createIfNotExistNewSchema(connection, "gisrepo1");
            createIfNotExistNewSchema(connection, "gisrepo2");
        } finally {
            if (stmt != null) stmt.close();
        }
@@ -1285,9 +1293,9 @@
        {
            StringBuilder sbSQL = new StringBuilder("UPDATE ");
            sbSQL.append(encodeSchemaTableName(_pgSchema, XGVERSION_NAME)).append(' ');
            sbSQL.append(" SET 'vsstatus' = ");
            sbSQL.append(" SET vsstatus = ");
            sbSQL.append(DataRepositoryStatus.VSSTATUS_READY);
            sbSQL.append(" WHERE 'vsschema' = ");
            sbSQL.append(" WHERE vsschema = ");
            sbSQL.append(targetSchema);
            connection = targetDataStore.getConnection(Transaction.AUTO_COMMIT);
@@ -1309,4 +1317,37 @@
            if (connection != null) try { connection.close(); } catch (SQLException e) {};
        }
    }
    private void createIfNotExistNewSchema(Connection connection, String s) throws SQLException
    {
        Statement stmt = null;
        ResultSet rs = null;
        try
        {
            /*
            rs = connection.getMetaData().getSchemas(null, s);
            if (rs.next()) return;
            rs.close();
            rs = null;
            */
            StringBuilder sbSQL = new StringBuilder("CREATE SCHEMA ");
            sbSQL.append(s).append(' ');
            sbSQL.append("AUTHORIZATION spatialdb");
            stmt = connection.createStatement();
            stmt.executeUpdate(sbSQL.toString());
            sbSQL = new StringBuilder("GRANT ALL ON SCHEMA ");
            sbSQL.append(s).append(' ');
            sbSQL.append("TO public");
            stmt.executeUpdate(sbSQL.toString());
        } catch (SQLException e)
        {
            logger.info("create schema:" + s + " has exception.");
            logger.info(e.getMessage(), e);
        } finally {
            if (rs != null) rs.close();
            if (stmt != null) stmt.close();
        }
    }
}