isc.sensor.outputadaptor.oaextensions
Class SimpleSinkSQLGenerator

java.lang.Object
  extended by isc.sensor.outputadaptor.oaextensions.SimpleSinkSQLGenerator
All Implemented Interfaces:
org.openadaptor.adaptor.jdbc.SinkSQLGenerator

public class SimpleSinkSQLGenerator
extends java.lang.Object
implements org.openadaptor.adaptor.jdbc.SinkSQLGenerator

This SimpleSinkSQLGenerator works with SQLSink to provide support for non-stored procedure databases like MySQL. Unfortunilty Open Adaptor 1.7.1 has a brain dead support for MySql via SQLSink and SimpleSinkSQLGenerator. This file has been copied and modified from the original 1.7.1 code.

Author:
fred, chris kimpton, John Casey
See Also:

Interface that defines a class that can generate SQL for inserting/updating a database, org.openadaptor.adaptor.sql.SimpleSQLGenerator


Nested Class Summary
(package private)  class SimpleSinkSQLGenerator.SQLTemplate
          helper class to hold parameterised SQL statement and to generate actual SQL given a DataObject
(package private)  class SimpleSinkSQLGenerator.TypeTransformer
           
 
Field Summary
(package private)  java.util.Hashtable _attn_transformers
           
(package private)  org.openadaptor.dataobjects.DOPredicate[] _predicates
          array of predicates to check
(package private)  java.util.Hashtable _sql_templates
          maping between predicate and SQL string arrays
(package private) static java.lang.String NO_TYPE
           
 
Constructor Summary
SimpleSinkSQLGenerator()
           
 
Method Summary
 java.lang.String[] getSQL(org.openadaptor.dataobjects.DataObject dob)
           
 void init(java.util.Properties props, java.lang.String prefix)
          Called at init time
 boolean isAddAutoQuotes()
           
static boolean isSDOTypeNumeric(org.openadaptor.dataobjects.SDOType type)
          Deprecated.  
 void setAutoAddQuotes(java.lang.String bool_str)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NO_TYPE

static java.lang.String NO_TYPE

_predicates

org.openadaptor.dataobjects.DOPredicate[] _predicates
array of predicates to check


_sql_templates

java.util.Hashtable _sql_templates
maping between predicate and SQL string arrays


_attn_transformers

java.util.Hashtable _attn_transformers
Constructor Detail

SimpleSinkSQLGenerator

public SimpleSinkSQLGenerator()
Method Detail

setAutoAddQuotes

public void setAutoAddQuotes(java.lang.String bool_str)
                      throws org.openadaptor.adaptor.IbafException
Parameters:
bool_str -
Throws:
org.openadaptor.adaptor.IbafException

isSDOTypeNumeric

public static boolean isSDOTypeNumeric(org.openadaptor.dataobjects.SDOType type)
                                throws java.lang.NullPointerException
Deprecated. 

Workaround method so that we don't need to add a isNumeric() method into the DOType interface Ultimately, this should happen, but not until the next release.

Parameters:
type - SDO type to evaluate
Returns:
returns true if the supplied type is numeric, false otherwise
Throws:
java.lang.NullPointerException

init

public void init(java.util.Properties props,
                 java.lang.String prefix)
          throws org.openadaptor.adaptor.IbafException
Called at init time

Specified by:
init in interface org.openadaptor.adaptor.jdbc.SinkSQLGenerator
Throws:
org.openadaptor.adaptor.IbafException

getSQL

public java.lang.String[] getSQL(org.openadaptor.dataobjects.DataObject dob)
                          throws org.openadaptor.dataobjects.DataObjectException
Specified by:
getSQL in interface org.openadaptor.adaptor.jdbc.SinkSQLGenerator
Throws:
org.openadaptor.dataobjects.DataObjectException

isAddAutoQuotes

public boolean isAddAutoQuotes()
Returns: