forked from geodmms/xdgnjobs

?? ?
2008-03-27 6de5086ab3e8e7fa852b1e5d9a31aabade25e017
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2ShpJob.java
@@ -8,6 +8,7 @@
import java.sql.Statement;
import java.sql.Types;
import java.util.Date;
import java.io.IOException;
import org.apache.commons.collections.OrderedMap;
import org.apache.commons.collections.OrderedMapIterator;
@@ -106,10 +107,12 @@
                , null);
        logger.info("begin convert job:[" + map.size() + "]:testmode=" + _testMode);
        jobContext.startTransaction();
        int total = map.size();
        int total = map.size(); //spacenodes count
        int step = total / 100;
        int current = 0;
        //jobContext.startTransaction();
        jobContext.getExecutionContext().put("ConvertDgn2ShpJobProgress", 0);
        for (OrderedMapIterator it = map.orderedMapIterator(); it.hasNext();)
        {
@@ -134,6 +137,7 @@
                // OracleConnection connection = jobContext.getOracleConnection();
                // connection.commitTransaction();
                jobContext.commitTransaction();
                //jobContext.startTransaction();
                System.gc();
            }
@@ -142,11 +146,17 @@
            {
                current = now;
                jobContext.getExecutionContext().put("ConvertDgn2ShpJobProgress", current);
            }
        }
        jobContext.getExecutionContext().put("ConvertDgn2ShpJobProgress", 100);
        jobContext.commitTransaction();
        try {
            jobContext.closeFeatureWrite();
        } catch (IOException e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }
        logger.info("end convert job:[" + order + "]");
        System.gc();
    }
@@ -240,7 +250,7 @@
        String fetchSrcStmt = spf.sprintf(new Object[]{srcschema, srctable});
        Statement stmtSrc = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
        stmtSrc.setFetchSize(FETCHSIZE);
       stmtSrc.setFetchSize(FETCHSIZE);
        ResultSet rsSrc = stmtSrc.executeQuery(fetchSrcStmt);
@@ -268,6 +278,9 @@
                logger.warn("Dgn7Exception", e);
            }
        }
        rsSrc.close();
        stmtSrc.close();
    }
    protected void queryRawElement(OracleConvertJobContext jobContext,
@@ -312,6 +325,9 @@
                logger.warn("Dgn7Exception:" + e.getMessage(), e);
            }
        }
        rsDest.close();
        stmtDest.close();
    }
    private Element fetchBinaryElement(byte[] raws) throws Dgn7fileException