From 0ffbdf76fc7743979915204d41faf46cae69f7a1 Mon Sep 17 00:00:00 2001 From: ulysseskao <ulysseskao@ximple.com.tw> Date: Mon, 06 Jan 2014 19:25:04 +0800 Subject: [PATCH] update for flow mark --- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleConvertDgn2PostGISJob.java | 44 +++++++++++++++++++++++++++++++++----------- 1 files changed, 33 insertions(+), 11 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 deaf389..71f89d3 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 @@ -25,7 +25,7 @@ import java.util.Map; import java.util.TreeMap; -import com.ximple.eofms.util.DefaultColorTable; +import com.ximple.eofms.util.*; import org.apache.commons.collections.OrderedMap; import org.apache.commons.collections.OrderedMapIterator; import org.apache.commons.collections.map.LinkedMap; @@ -58,10 +58,6 @@ import com.ximple.eofms.jobs.context.postgis.GeneralDgnConvertPostGISJobContext; import com.ximple.eofms.jobs.context.postgis.IndexDgnConvertPostGISJobContext; import com.ximple.eofms.jobs.context.postgis.OracleConvertPostGISJobContext; -import com.ximple.eofms.util.BinConverter; -import com.ximple.eofms.util.ByteArrayCompressor; -import com.ximple.eofms.util.FileUtils; -import com.ximple.eofms.util.StringUtils; import com.ximple.io.dgn7.ComplexElement; import com.ximple.io.dgn7.Dgn7fileException; import com.ximple.io.dgn7.Dgn7fileReader; @@ -89,7 +85,7 @@ private static final String INDEXPATHNAME = "index"; private static final String OTHERPATHNAME = "other"; - private static String FETCH_CONNFDR = "SELECT FSC, UFID, FDR1 FROM BASEDB.CONNECTIVITY ORDER BY FSC"; + private static String FETCH_CONNFDR = "SELECT FSC, UFID, FDR1, DIR FROM BASEDB.CONNECTIVITY ORDER BY FSC"; private static String FETCH_COLORTAB = "SELECT TAG_SFSC, TAG_LUFID, COLOR FROM OCSDB.COLOR ORDER BY TAG_SFSC"; private static String CREATE_OWNERTABLE = "CREATE TABLE s (tid smallint not null, oid int not null, owner smallint not null)"; @@ -1622,11 +1618,11 @@ rs.setFetchSize(50); createOrClearTargetTable(connectionPG, targetTableName, - "(tid smallint not null, oid int not null, fowner smallint not null)"); + "(tid smallint not null, oid int not null, fowner smallint not null, flow varchar(20) not null)"); pstmt = connectionPG.prepareStatement("INSERT INTO " + encodeSchemaTableName(_pgSchema, targetTableName) + - " (tid, oid, fowner) VALUES (?, ?, ?)" ); + " (tid, oid, fowner, flow) VALUES (?, ?, ?, ?)" ); final int MAX_BATCHSIZE = 50; int count = 0; @@ -1634,9 +1630,21 @@ int cid = rs.getInt(1); long oid = rs.getLong(2); int ownerId = rs.getInt(3); + short dirId = (short) rs.getInt(4); pstmt.setShort(1, (short) cid); pstmt.setInt(2, (int) oid); pstmt.setShort(3, (short) ownerId); + ConnectivityDirectionEnum dir = ConnectivityDirectionEnum.convertShort(dirId); + if ((ConnectivityDirectionEnum.ForwardflowON == dir) || + (ConnectivityDirectionEnum.ForwardFixflowON == dir)) { + pstmt.setString(4, "shape://ccarrow"); + + } else if ((ConnectivityDirectionEnum.BackflowON == dir) || + (ConnectivityDirectionEnum.BackFixflowON == dir)) { + pstmt.setString(4, "shape://rccarrow"); + } else { + pstmt.setString(4, "shape://backslash"); + } pstmt.addBatch(); if (count % MAX_BATCHSIZE == 0) { @@ -1735,7 +1743,7 @@ String colorText = colorTable.getColorCode(colorId); sb.append(cid).append(','); - sb.append(oid).append(","); + sb.append(oid).append(','); sb.append(colorText).append("\n"); if (count % MAX_BATCHSIZE == 0) { @@ -1791,7 +1799,7 @@ rs.setFetchSize(MAX_BATCHSIZE); createOrClearTempTargetTable(connectionPG, targetTempName, - "(tid smallint not null, oid int not null, fowner smallint not null)"); + "(tid smallint not null, oid int not null, fowner smallint not null, flow varchar(20) not null)"); StringBuilder sb = new StringBuilder(); @@ -1803,10 +1811,24 @@ int cid = rs.getInt(1); long oid = rs.getLong(2); int ownerId = rs.getInt(3); + short dirId = (short) rs.getInt(4); + String flowMark = null; + ConnectivityDirectionEnum dir = ConnectivityDirectionEnum.convertShort(dirId); + if ((ConnectivityDirectionEnum.ForwardflowON == dir) || + (ConnectivityDirectionEnum.ForwardFixflowON == dir)) { + flowMark = "shape://ccarrow"; + + } else if ((ConnectivityDirectionEnum.BackflowON == dir) || + (ConnectivityDirectionEnum.BackFixflowON == dir)) { + flowMark = "shape://rccarrow"; + } else { + flowMark = "shape://backslash"; + } sb.append(cid).append(','); sb.append(oid).append(','); - sb.append(ownerId).append('\n'); + sb.append(ownerId).append(','); + sb.append(flowMark).append('\n'); if (count % MAX_BATCHSIZE == 0) { reader.unread(sb.toString().toCharArray()); -- Gitblit v0.0.0-SNAPSHOT