| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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 |
| | | { |
| | |
| | | _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"); |
| | | } |
| | | |
| | |
| | | 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."); |
| | | } |
| | | } |
| | | |
| | |
| | | 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 |
| | | { |
| | |
| | | |
| | | return raw; |
| | | } |
| | | |
| | | |
| | | } |