From 7315f507c6dae697f11c4c36d17b159959163148 Mon Sep 17 00:00:00 2001
From: ?? ? <ulysseskao@ximple.com.tw>
Date: Mon, 17 Mar 2008 12:49:45 +0800
Subject: [PATCH] update for EOFM-20

---
 ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java |   51 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 44 insertions(+), 7 deletions(-)

diff --git a/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java b/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java
index 1699047..cc6fd7a 100644
--- a/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java
+++ b/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/AbstractOracleDatabaseJob.java
@@ -1,11 +1,12 @@
 package com.ximple.eofms.jobs;
 
 import java.io.File;
-import java.io.InputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.nio.ByteBuffer;
 import java.sql.SQLException;
 
+import org.apache.commons.logging.Log;
 import org.quartz.Job;
 import org.quartz.JobDataMap;
 import org.quartz.JobDetail;
@@ -25,6 +26,7 @@
     private static final String ORAPORT = "ORAPORT";
     private static final String ORAUSER = "ORAUSER";
     private static final String ORAPASS = "ORAPASS";
+    private static final String TESTMODE = "TESTMODE";
 
     protected String _dataPath;
     protected String _oracleHost;
@@ -33,8 +35,11 @@
     protected String _username;
     protected String _password;
     protected String _orgSchema;
+    protected boolean _testMode = false;
 
     public abstract void execute(JobExecutionContext context) throws JobExecutionException;
+
+    public Log getLogger() { return null; }
 
     protected void extractJobConfiguration(JobDetail jobDetail) throws JobExecutionException
     {
@@ -47,10 +52,16 @@
         _username = dataMap.getString(ORAUSER);
         _password = dataMap.getString(ORAPASS);
         _orgSchema = dataMap.getString(SPATAILSCHEMA);
+        _testMode = dataMap.getBooleanFromString(TESTMODE);
 
         // Validate the required input
         if (_dataPath == null)
         {
+            Log logger = getLogger();
+            if (logger != null)
+            {
+                logger.warn("Cannot found data directory in configarion.");
+            }
             throw new JobExecutionException("Directory not configured");
         }
 
@@ -58,7 +69,33 @@
         File dir = new File(_dataPath);
         if (!dir.exists())
         {
+            Log logger = getLogger();
+            if (logger != null)
+            {
+                logger.warn("Cannot found data directory in file system.[" + _dataPath + "]");
+            }
             throw new JobExecutionException("Invalid Dir " + _dataPath);
+        }
+
+        if (_oracleHost == null)
+        {
+            throw new JobExecutionException("Unknown Oracle Host.");
+        }
+        if (_oracleInstance == null)
+        {
+            throw new JobExecutionException("Unknown Oracle Instance.");
+        }
+        if (_username == null)
+        {
+            throw new JobExecutionException("Unknown Oracle Username.");
+        }
+        if (_password == null)
+        {
+            throw new JobExecutionException("Unknown Oracle Password.");
+        }
+        if (_orgSchema == null)
+        {
+            throw new JobExecutionException("Unknown Spatial Database Schema.");
         }
     }
 
@@ -72,11 +109,11 @@
         byte[] raw = null;
 
         // BLOB        blob        = (BLOB) rs.getBlob(1);
-        int         optimalSize = blob.getChunkSize();
-        byte[]      chunk       = new byte[optimalSize];
-        InputStream is          = blob.getBinaryStream(0);
-        ByteBuffer buffer      = null;    // ByteBuffer.allocate(optimalSize);
-        int         len         = 0;
+        int optimalSize = blob.getChunkSize();
+        byte[] chunk = new byte[optimalSize];
+        InputStream is = blob.getBinaryStream(0);
+        ByteBuffer buffer = null;    // ByteBuffer.allocate(optimalSize);
+        int len = 0;
 
         try
         {
@@ -104,5 +141,5 @@
 
         return raw;
     }
-    
+
 }

--
Gitblit v0.0.0-SNAPSHOT