From 0d0e3da78dfdb4cd34b0e85ee22d2de61c0863a7 Mon Sep 17 00:00:00 2001 From: ?? ? <ulysseskao@ximple.com.tw> Date: Tue, 12 Aug 2008 14:56:16 +0800 Subject: [PATCH] update for EOFM-146 --- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleElementLogger.java | 38 +++++++++++++++++++++++++++++++++++++- 1 files changed, 37 insertions(+), 1 deletions(-) diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleElementLogger.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleElementLogger.java index 2b146b3..49e2b19 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleElementLogger.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/OracleElementLogger.java @@ -49,6 +49,9 @@ private FileOutputStream fos = null; private FileChannel fch = null; private int logCount = 0; + private int elmCount = 0; + private int maxElmCount = 3000; + private boolean useElementCount = true; private ArrayList<byte[]> dgnFileHeader = null; private String elmOutPath; @@ -249,6 +252,7 @@ } } + elmCount++; if ((subBuffers.size() != 0) && (fch != null)) { for (ByteBuffer buf : subBuffers) @@ -290,9 +294,9 @@ logger.warn("Create Dgn Logging File:" + logFile.toString()); fos = new FileOutputStream(logFile); fch = fos.getChannel(); - prepareOutputElementStream(); schemaChanged = false; + elmCount = 0; } private void putEndOfFileElement() throws IOException @@ -399,10 +403,16 @@ public void flashLogging() { + if ((useElementCount) && (elmCount < maxElmCount)) + { + return; + } + if (fos != null) { try { + putEndOfFileElement(); fos.close(); } catch (IOException e) { @@ -410,6 +420,7 @@ } fos = null; fch = null; + elmCount = 0; } } @@ -417,4 +428,29 @@ { return schemaChanged; } + + public boolean isUseElementCount() + { + return useElementCount; + } + + public void setUseElementCount(boolean useElementCount) + { + this.useElementCount = useElementCount; + } + + public int getElmCount() + { + return elmCount; + } + + public int getMaxElmCount() + { + return maxElmCount; + } + + public void setMaxElmCount(int maxElmCount) + { + this.maxElmCount = maxElmCount; + } } -- Gitblit v0.0.0-SNAPSHOT