From aa92e40672e9ea2a6b55f528d5b986314d652a40 Mon Sep 17 00:00:00 2001 From: ?? ? <ulysseskao@ximple.com.tw> Date: Mon, 16 Jun 2008 09:55:37 +0800 Subject: [PATCH] update for EOFM-122 --- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java | 109 ++++++++++++++++++++++++++---------------------------- 1 files changed, 53 insertions(+), 56 deletions(-) diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java index 0128a4a..d776562 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java @@ -9,12 +9,11 @@ import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.channels.FileChannel; +import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; -import java.sql.Connection; -import java.util.Calendar; import java.util.Date; import java.util.Map; import java.util.TreeMap; @@ -262,7 +261,7 @@ // public static final String DATE_FORMAT_NOW = "yyyy-MM-dd HH:mm:ss"; // SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT_NOW); logger.warn("use time = " + ((int) ((t2 - t1) / 60000.0)) + " min - " + - (((int) ((t2 - t1) % 60000.0)) / 1000) + " sec"); + (((int) ((t2 - t1) % 60000.0)) / 1000) + " sec"); } catch (SQLException e) { logger.warn(e.getMessage(), e); @@ -295,7 +294,7 @@ { int order = 0; OrderedMap map = getBlobStorageList(jobContext.getOracleConnection(), - querySchema, "SD$SPACENODES" , null); + querySchema, "SD$SPACENODES", null); logger.info("begin convert job:[" + map.size() + "]:testmode=" + _testMode); @@ -363,14 +362,13 @@ ResultSet rs = null; stmt.setFetchSize(FETCHSIZE); - + int size = rs.getMetaData().getColumnCount(); try { rs = stmt.executeQuery(fetchStmt); while (rs.next()) { - int size = rs.getMetaData().getColumnCount(); Object[] values = new Object[size]; for (int i = 0; i < size; i++) @@ -415,29 +413,29 @@ ResultSet rs = stmt.executeQuery(fetchStmt); try { - while (rs.next()) - { int size = rs.getMetaData().getColumnCount(); - Object[] values = new Object[size]; - - for (int i = 0; i < size; i++) + while (rs.next()) { - values[i] = rs.getObject(i + 1); + Object[] values = new Object[size]; + + for (int i = 0; i < size; i++) + { + values[i] = rs.getObject(i + 1); + } + + Integer key = ((BigDecimal) values[0]).intValue(); + String name = (String) values[1]; + + Pair pair = (Pair) orderedMap.get(key); + if (pair == null) + orderedMap.put(key, new Pair(null, name)); + else + pair.second = name; } - - Integer key = ((BigDecimal) values[0]).intValue(); - String name = (String) values[1]; - - Pair pair = (Pair) orderedMap.get(key); - if (pair == null) - orderedMap.put(key, new Pair(null, name)); - else - pair.second = name; - } } finally { - rs.close(); - stmt.close(); + rs.close(); + stmt.close(); } return orderedMap; } @@ -453,12 +451,11 @@ stmtSrc.setFetchSize(FETCHSIZE); ResultSet rsSrc = stmtSrc.executeQuery(fetchSrcStmt); - + int igdsMetaType = rsSrc.getMetaData().getColumnType(1); while (rsSrc.next()) { - byte[] raw = null; - - if (rsSrc.getMetaData().getColumnType(1) == Types.BLOB) + byte[] raw; + if (igdsMetaType == Types.BLOB) { BLOB blob = (BLOB) rsSrc.getBlob(1); @@ -497,39 +494,39 @@ try { - while (rsDest.next()) - { - ARRAY rawsValue = ((OracleResultSet) rsDest).getARRAY(1); - long[] rawData = rawsValue.getLongArray(); - byte[] comparessedValue; - - /* - if (dataMode == TransferTask.DataMode.Normal) + while (rsDest.next()) { + ARRAY rawsValue = ((OracleResultSet) rsDest).getARRAY(1); + long[] rawData = rawsValue.getLongArray(); + byte[] comparessedValue; + + /* + if (dataMode == TransferTask.DataMode.Normal) + { + comparessedValue = BinConverter.unmarshalByteArray(rawData, true); + } else + { + comparessedValue = BinConverter.unmarshalCompactByteArray(rawData); + } + */ comparessedValue = BinConverter.unmarshalByteArray(rawData, true); - } else - { - comparessedValue = BinConverter.unmarshalCompactByteArray(rawData); + + byte[] rawDest = ByteArrayCompressor.decompressByteArray(comparessedValue); + + + try + { + Element element = fetchBinaryElement(rawDest); + jobContext.putFeatureCollection(element); + } catch (Dgn7fileException e) + { + logger.warn("Dgn7Exception:" + e.getMessage(), e); + } } - */ - comparessedValue = BinConverter.unmarshalByteArray(rawData, true); - - byte[] rawDest = ByteArrayCompressor.decompressByteArray(comparessedValue); - - - try - { - Element element = fetchBinaryElement(rawDest); - jobContext.putFeatureCollection(element); - } catch (Dgn7fileException e) - { - logger.warn("Dgn7Exception:" + e.getMessage(), e); - } - } } finally { - rsDest.close(); - stmtDest.close(); + rsDest.close(); + stmtDest.close(); } } -- Gitblit v0.0.0-SNAPSHOT