adams.flow.source
Class SpreadSheetDbReader

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.flow.core.AbstractActor
              extended by adams.flow.source.AbstractSource
                  extended by adams.flow.source.SpreadSheetDbReader
All Implemented Interfaces:
AdditionalInformationHandler, CleanUpHandler, Debuggable, DebugOutputHandler, Destroyable, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<AbstractActor>, SizeOfHandler, Stoppable, VariableChangeListener, Actor, ErrorHandler, OutputProducer, Serializable, Comparable

public class SpreadSheetDbReader
extends AbstractSource

Returns a spreadsheet object generated from an SQL query.
To optimize memory consumption, you can return the result of the query in chunks of a specified size.

Input/output:
- generates:
   adams.data.spreadsheet.SpreadSheet

Valid options are:

-D <int> (property: debugLevel)
    The greater the number the more additional info the scheme may output to 
    the console (0 = off).
    default: 0
    minimum: 0
 
-name <java.lang.String> (property: name)
    The name of the actor.
    default: SpreadSheetDbReader
 
-annotation <adams.core.base.BaseText> (property: annotations)
    The annotations to attach to this actor.
    default: 
 
-skip (property: skip)
    If set to true, transformation is skipped and the input token is just forwarded 
    as it is.
 
-stop-flow-on-error (property: stopFlowOnError)
    If set to true, the flow gets stopped in case this actor encounters an error;
     useful for critical actors.
 
-query <adams.db.SQLStatement> (property: query)
    The SQL query to use for generating the spreadsheet.
    default: select * from blah
 
-data-row-type <DENSE|SPARSE> (property: dataRowType)
    The type of row to use for the data.
    default: DENSE
 
-chunk-size <int> (property: chunkSize)
    The maximum number of rows per chunk; using -1 will read put all data into 
    a single spreadsheet object.
    default: -1
    minimum: -1
 

Version:
$Revision: 7087 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Field Summary
protected  int m_ChunkSize
          the chunk size to use.
protected  AbstractDatabaseConnection m_DatabaseConnection
          the database connection.
protected  DataRowType m_DataRowType
          the data row type to use.
protected  Token m_OutputToken
          the generated output token.
protected  SQLStatement m_Query
          the SQL query to execute.
protected  SqlUtils.Reader m_Reader
          for reading the data.
protected  ResultSet m_ResultSet
          the current result set.
 
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_Headless, m_Name, m_Parent, m_Root, m_ScopeHandler, m_Self, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
 
Constructor Summary
SpreadSheetDbReader()
           
 
Method Summary
 String chunkSizeTipText()
          Returns the tip text for this property.
 String dataRowTypeTipText()
          Returns the tip text for this property.
 void defineOptions()
          Adds options to the internal list of options.
protected  String doExecute()
          Executes the flow item.
 Class[] generates()
          Returns the class of objects that it generates.
 int getChunkSize()
          Returns the current chunk size.
protected  AbstractDatabaseConnection getDatabaseConnection()
          Determines the database connection in the flow.
 DataRowType getDataRowType()
          Returns the type of data row to use.
 SQLStatement getQuery()
          Returns the comma-separated list of column names.
 String getQuickInfo()
          Returns a quick info about the actor, which will be displayed in the GUI.
 String globalInfo()
          Returns a string describing the object.
 boolean hasPendingOutput()
          Checks whether there is pending output to be collected after executing the flow item.
 Token output()
          Returns the generated token.
 String queryTipText()
          Returns the tip text for this property.
protected  void reset()
          Resets the scheme.
 void setChunkSize(int value)
          Sets the maximum chunk size.
 void setDataRowType(DataRowType value)
          Sets the type of data row to use.
 void setQuery(SQLStatement value)
          Sets the comma-separated list of column names.
 String setUp()
          Initializes the item for flow execution.
 void stopExecution()
          Stops the execution.
 void wrapUp()
          Cleans up after the execution has finished.
 
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, backupState, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, debug, destroy, equals, execute, findVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, initialize, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, postExecute, preExecute, pruneBackup, pruneBackup, restoreState, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setVariables, shallowCopy, shallowCopy, sizeOf, skipTipText, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debugLevelTipText, finishInit, getDebugLevel, getOptionManager, isDebugOn, newOptionManager, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface adams.flow.core.Actor
cleanUp, compareTo, debug, destroy, equals, execute, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setVariables, sizeOf, stopExecution, variableChanged
 
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
 
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
 

Field Detail

m_Query

protected SQLStatement m_Query
the SQL query to execute.


m_DataRowType

protected DataRowType m_DataRowType
the data row type to use.


m_ChunkSize

protected int m_ChunkSize
the chunk size to use.


m_OutputToken

protected Token m_OutputToken
the generated output token.


m_DatabaseConnection

protected AbstractDatabaseConnection m_DatabaseConnection
the database connection.


m_Reader

protected SqlUtils.Reader m_Reader
for reading the data.


m_ResultSet

protected transient ResultSet m_ResultSet
the current result set.

Constructor Detail

SpreadSheetDbReader

public SpreadSheetDbReader()
Method Detail

globalInfo

public String globalInfo()
Returns a string describing the object.

Specified by:
globalInfo in class AbstractOptionHandler
Returns:
a description suitable for displaying in the gui

defineOptions

public void defineOptions()
Adds options to the internal list of options.

Specified by:
defineOptions in interface OptionHandler
Overrides:
defineOptions in class AbstractActor

reset

protected void reset()
Resets the scheme.

Overrides:
reset in class AbstractActor

getQuickInfo

public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.

Specified by:
getQuickInfo in interface QuickInfoSupporter
Specified by:
getQuickInfo in interface Actor
Overrides:
getQuickInfo in class AbstractActor
Returns:
null if no info available, otherwise short string

setQuery

public void setQuery(SQLStatement value)
Sets the comma-separated list of column names.

Parameters:
value - the list

getQuery

public SQLStatement getQuery()
Returns the comma-separated list of column names.

Returns:
the list

queryTipText

public String queryTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setDataRowType

public void setDataRowType(DataRowType value)
Sets the type of data row to use.

Parameters:
value - the type

getDataRowType

public DataRowType getDataRowType()
Returns the type of data row to use.

Returns:
the type

dataRowTypeTipText

public String dataRowTypeTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setChunkSize

public void setChunkSize(int value)
Sets the maximum chunk size.

Parameters:
value - the size of the chunks, < 1 denotes infinity

getChunkSize

public int getChunkSize()
Returns the current chunk size.

Parameters:
value - the size of the chunks, < 1 denotes infinity

chunkSizeTipText

public String chunkSizeTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the gui

getDatabaseConnection

protected AbstractDatabaseConnection getDatabaseConnection()
Determines the database connection in the flow.

Returns:
the database connection to use

setUp

public String setUp()
Initializes the item for flow execution.

Specified by:
setUp in interface Actor
Overrides:
setUp in class AbstractActor
Returns:
null if everything is fine, otherwise error message

generates

public Class[] generates()
Returns the class of objects that it generates.

Returns:
the Class of the generated tokens

doExecute

protected String doExecute()
Executes the flow item.

Specified by:
doExecute in class AbstractActor
Returns:
null if everything is fine, otherwise error message

hasPendingOutput

public boolean hasPendingOutput()
Checks whether there is pending output to be collected after executing the flow item.

Returns:
true if there is pending output

output

public Token output()
Returns the generated token.

Returns:
the generated token

stopExecution

public void stopExecution()
Stops the execution. No message set.

Specified by:
stopExecution in interface Stoppable
Specified by:
stopExecution in interface Actor
Overrides:
stopExecution in class AbstractActor

wrapUp

public void wrapUp()
Cleans up after the execution has finished. Graphical output is left untouched.

Specified by:
wrapUp in interface Actor
Overrides:
wrapUp in class AbstractActor


Copyright © 2013 University of Waikato, Hamilton, NZ. All Rights Reserved.