Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.joone.io
Class JDBCOutputSynapse  view JDBCOutputSynapse download JDBCOutputSynapse.java

java.lang.Object
  extended byorg.joone.engine.Synapse
      extended byorg.joone.io.StreamOutputSynapse
          extended byorg.joone.io.JDBCOutputSynapse
All Implemented Interfaces:
org.joone.engine.InputPatternListener, org.joone.inspection.Inspectable, org.joone.engine.Learnable, org.joone.engine.LearnableSynapse, org.joone.engine.NeuralElement, org.joone.engine.OutputPatternListener, org.joone.util.PlugInListener, java.io.Serializable

public class JDBCOutputSynapse
extends StreamOutputSynapse

The JDBCOutputSynapse provides support for data input to a database. To use this synapse the user should ensure a JDBC Type 4 Driver is in the class path. It is possible to use other JDBC driver types though you will have to refer to the vendors documentation, it may require extra software insallation and this may limit your distributtion to certain Operating Systems.

The properties required by this JDBCOutputSynapse Plugin are the following

Database Driver Name - e.g sun.jdbc.odbc.JdbcOdbcDriver

Database URL - e.g jdbc:mysql://localhost/MyDb?user=myuser&password=mypass

SQLAmendment - e.g "INSERT INTO MY_RESULT_TABLE (RESULT1,RESULT2) VALUES(JOONE[1],JOONE[2])" where JOONE[1] is the first value of the current output.

Note : The database URL uses specific protocol after the "jdbc:" section check with the jdbc driver vendor for specific info.

Some commonly used Driver protocols shown below ...


Driver {com.mysql.jdbc.Driver}

Protocol {jdbc:mysql://[hostname][,failoverhost...][:port]/[dbname][?param1=value1][¶m2=value2].....} MySQL Protool

Example {jdbc:mysql://localhost/test?user=blah&password=blah}

Web Site {http://www.mysql.com}


Driver {sun.jdbc.odbc.JdbcOdbcDriver}

Protocol { jdbc:odbc:[;=]* } ODBC Protocol

Example {jdbc:odbc:mydb;UID=me;PWD=secret}

Web Site {http://www.java.sun.com}


Data Types


Any fields receiving a value should be able to contain a single double. The data type is not so important it can be text or a number field so long as can hold a double value.


Field Summary
private  java.sql.Connection con
           
private  java.lang.String dbURL
          The URL of the database.
private  java.lang.String driverName
          The name of the JDBC Database driver.
private static org.joone.log.ILogger log
          The object used when logging debug,errors,warnings and info.
private static long serialVersionUID
           
private  java.lang.String SQLAmendment
          The database query to use in order to obtain the input data.
private  java.sql.Statement stmt
           
 
Fields inherited from class org.joone.io.StreamOutputSynapse
fifo, nextPlugIn
 
Fields inherited from class org.joone.engine.Synapse
array, b_pattern, bitems, bouts, count, enabled, fwdLock, inps, items, learnable, m_batch, m_pattern, myLearner, notFirstTime, notFirstTimeB, outs, revLock
 
Constructor Summary
JDBCOutputSynapse()
          Constructor for the JDBCOutputSynapse object
JDBCOutputSynapse(java.lang.String newDrivername, java.lang.String newdbURL, java.lang.String newSQLAmendment, boolean buffered)
          Constructor for the JDBCInputSynapse object that allows all options.
 
Method Summary
 java.util.TreeSet check()
          Check that parameters are set correctly for the this JDBCInputSynapse object.
 java.lang.String getdbURL()
          Gets the name of the database Universal Resource Location (URL)
 java.lang.String getdriverName()
          Gets the name of the database jdbc driver used by this JDBC input syanpse.
 java.lang.String getSQLAmendment()
          Gets the SQL Query used to select data from the database.
protected  void initStream()
          Connects to the database using Driver name and db URL and selects data using the SQLAmendment.
 void setdbURL(java.lang.String newdbURL)
          Gets the name of the database Universal Resource Location (URL)
 void setdriverName(java.lang.String newDriverName)
          Sets the name of the database jdbc driver.
 void setSQLAmendment(java.lang.String newSQLAmendment)
          Sets the SQLAmendment attribute of the JDBCInputSynapse object
 void write(org.joone.engine.Pattern pattern)
          Writes the pattern data to the database specified in the dbURL.
 
Methods inherited from class org.joone.io.StreamOutputSynapse
addPlugIn, backward, dataChanged, forward, fwdPut, getFifo, getPlugIn, getSeparator, isBuffered, removeAllPlugIns, revGet, setArrays, setBuffered, setDimensions, setPlugIn, setSeparator
 
Methods inherited from class org.joone.engine.Synapse
addNoise, canCountSteps, fwdGet, getFwdLock, getIgnoreBefore, getInputDimension, getLearner, getLearningRate, getMomentum, getMonitor, getName, getOutputDimension, getRevLock, getWeights, init, initLearner, InspectableTitle, Inspections, isEnabled, isInputFull, isLoopBack, isOutputFull, randomize, readResolve, reset, revPut, setEnabled, setIgnoreBefore, setInputDimension, setInputFull, setLearningRate, setLoopBack, setMomentum, setMonitor, setName, setOutputDimension, setOutputFull, setWeights
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static final org.joone.log.ILogger log
The object used when logging debug,errors,warnings and info.


driverName

private java.lang.String driverName
The name of the JDBC Database driver.


dbURL

private java.lang.String dbURL
The URL of the database.


SQLAmendment

private java.lang.String SQLAmendment
The database query to use in order to obtain the input data.


con

private transient java.sql.Connection con

stmt

private transient java.sql.Statement stmt

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

JDBCOutputSynapse

public JDBCOutputSynapse()
Constructor for the JDBCOutputSynapse object


JDBCOutputSynapse

public JDBCOutputSynapse(java.lang.String newDrivername,
                         java.lang.String newdbURL,
                         java.lang.String newSQLAmendment,
                         boolean buffered)

Constructor for the JDBCInputSynapse object that allows all options. Allows the user to construct a JDBCInputSynapse in one call.

Method Detail

getdriverName

public java.lang.String getdriverName()
Gets the name of the database jdbc driver used by this JDBC input syanpse.


getdbURL

public java.lang.String getdbURL()
Gets the name of the database Universal Resource Location (URL)


getSQLAmendment

public java.lang.String getSQLAmendment()
Gets the SQL Query used to select data from the database.


setdriverName

public void setdriverName(java.lang.String newDriverName)
Sets the name of the database jdbc driver.


setdbURL

public void setdbURL(java.lang.String newdbURL)
Gets the name of the database Universal Resource Location (URL)


setSQLAmendment

public void setSQLAmendment(java.lang.String newSQLAmendment)
Sets the SQLAmendment attribute of the JDBCInputSynapse object


initStream

protected void initStream()
                   throws org.joone.exception.JooneRuntimeException
Connects to the database using Driver name and db URL and selects data using the SQLAmendment.


check

public java.util.TreeSet check()
Check that parameters are set correctly for the this JDBCInputSynapse object.

Specified by:
check in interface org.joone.engine.NeuralElement
Overrides:
check in class StreamOutputSynapse

write

public void write(org.joone.engine.Pattern pattern)
           throws org.joone.exception.JooneRuntimeException
Writes the pattern data to the database specified in the dbURL. The SQLAmendment proprty should contain an SQL amendment using JOONE[X] to obtain the Xth pattern value where X=1 is the first value. E.g. "INSERT INTO MY_RESULTS (RESULT1,RESULT2) VALUES('JOONE[1]','JOONE[2]')"

Specified by:
write in class StreamOutputSynapse