edu.udo.cs.miningmart.operator
Class TimeOperator

java.lang.Object
  extended byedu.udo.cs.miningmart.operator.ExecutableOperator
      extended byedu.udo.cs.miningmart.operator.ConceptOperator
          extended byedu.udo.cs.miningmart.operator.SingleCSOperator
              extended byedu.udo.cs.miningmart.operator.TimeOperator
Direct Known Subclasses:
ExponentialMovingFunction, SignalToSymbolProcessing, SimpleMovingFunction, WeightedMovingFunction, Windowing

public abstract class TimeOperator
extends SingleCSOperator

Abstract super class for all time operators creating a new table by calling a stored procedure of the database.

Version:
$Id: TimeOperator.java,v 1.5 2006/04/11 14:10:11 euler Exp $
Author:
Martin Scholz

Field Summary
 
Fields inherited from class edu.udo.cs.miningmart.operator.ExecutableOperator
generatedSQLDefinitions
 
Constructor Summary
TimeOperator()
           
 
Method Summary
protected  void baseattribHasColumns(BaseAttribute b, java.lang.String name)
           
protected abstract  void createJavaColumns(Columnset newColumnSet)
          This method needs to create the M4 JAVA objects for the new columns and has to link these objects to the base attributes (and vice versa).
protected  Column createM4Column(BaseAttribute outputBA, Columnset newCS, Column columnForType)
           
protected  Columnset createSingleColumnSet(int index)
          This method overrides the method in ConceptOperator!
protected  void executeDbProcedure(java.lang.String procedureName, java.lang.String[] parameters)
           
 java.lang.String generateSQLDefinition(java.lang.String selectPart)
          This method must return the SQL definition of the newly created ColumnSet.
protected abstract  java.lang.String getColumnSetSuffix()
           
protected static java.lang.String getQuotedColNameforInpBA(BaseAttribute ba)
           
protected static java.lang.String getQuotedColNameforOutBA(BaseAttribute ba)
           
protected static java.lang.String getQuotedColSetNameforCon(Concept c)
           
 java.lang.String getTypeOfNewColumnSet()
          This method must return the entry String for the M4 table "Columnset_t", indicating whether the new Columnset is a view or a table.
protected static java.lang.String getUnquotedIntFromValue(Value v)
           
protected  boolean mustCopyFeature(java.lang.String nameOfFeature)
          This method is for operators that do not copy all Features of the input concept to the output concept.
protected abstract  void runStoredProcedure(java.lang.String newColumnSetName)
          This method calls the stored procedure in the database.
protected static java.lang.String unquote(java.lang.String s)
           
protected  void valueIsDouble(Value v, java.lang.String name)
           
protected  void valueIsLong(Value v, java.lang.String name)
           
 
Methods inherited from class edu.udo.cs.miningmart.operator.SingleCSOperator
generateColumnSetsForOp, generateSQLDefinition, getNewCSName, getTypeOfNewColumnSet
 
Methods inherited from class edu.udo.cs.miningmart.operator.ConceptOperator
compileStatement, createMetadata, createMetadataForOneBA, createStatement, estimateStatistics, generateColumns, getInputConcept, getNewCSName, getOutputConcept, getStringForSelection, setNewCSMultiStepBranch
 
Methods inherited from class edu.udo.cs.miningmart.operator.ExecutableOperator
autoPrint, checkConditions, doPrint, doPrint, execute, executeBusinessSingleValueSqlRead, executeBusinessSingleValueSqlReadL, executeBusinessSqlRead, executeBusinessSqlWrite, executeM4SingleValueSqlRead, executeM4SingleValueSqlReadL, executeM4SqlRead, executeM4SqlWrite, getArtificalColumnName, getBusinessDbms, getHighestLoopNr, getM4Db, getM4Dbms, getM4ObjectFromCache, getName, getNextM4SequenceValue, getNumberOfLoops, getOperator, getOpParamsIterator, getParameter, getParameter, getSingleParameter, getSingleParameter, getStep, handleAssertions, isDeselectedParameter, isLoopable, isManual, isStepable, load, print, putM4ObjectToCache, showCreateStatement, storedProceduresAvailable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimeOperator

public TimeOperator()
Method Detail

getColumnSetSuffix

protected abstract java.lang.String getColumnSetSuffix()
Returns:
the suffix added to the concept name to get the name of the new column set

runStoredProcedure

protected abstract void runStoredProcedure(java.lang.String newColumnSetName)
                                    throws java.sql.SQLException,
                                           M4CompilerError,
                                           TimeOperatorException
This method calls the stored procedure in the database. It passes all the involved table and column names to the stored procedure, which creates a new table for the results.

Parameters:
newColumnSetName - the name of the table to be created for the results
Throws:
java.sql.SQLException
M4CompilerError
TimeOperatorException

createJavaColumns

protected abstract void createJavaColumns(Columnset newColumnSet)
                                   throws java.sql.SQLException,
                                          M4CompilerError
This method needs to create the M4 JAVA objects for the new columns and has to link these objects to the base attributes (and vice versa). Additionally the new columns need to be linked to the column set (and vice versa). If an operator creates base attributes by a kind of template mechanism, then the links of these objects to the concept should be set here, as well.

Parameters:
newColumnSet - the new column set generated by this operator
Throws:
java.sql.SQLException
M4CompilerError

generateSQLDefinition

public java.lang.String generateSQLDefinition(java.lang.String selectPart)
                                       throws M4CompilerError
Description copied from class: SingleCSOperator
This method must return the SQL definition of the newly created ColumnSet.

Specified by:
generateSQLDefinition in class SingleCSOperator
Parameters:
selectPart - The SQL string between "SELECT" and "FROM" for the SQL definition to be returned.
Returns:
The SQL definition for the new ColumnSet.
Throws:
M4CompilerError

getTypeOfNewColumnSet

public java.lang.String getTypeOfNewColumnSet()
Description copied from class: SingleCSOperator
This method must return the entry String for the M4 table "Columnset_t", indicating whether the new Columnset is a view or a table.

Specified by:
getTypeOfNewColumnSet in class SingleCSOperator
Returns:
the type of Columnset, a table in this case.
See Also:
edu.udo.cs.miningmart.m4.core.operator.ConceptOperator#getTypeOfNewColumnSet

mustCopyFeature

protected boolean mustCopyFeature(java.lang.String nameOfFeature)
Description copied from class: ConceptOperator
This method is for operators that do not copy all Features of the input concept to the output concept.

Specified by:
mustCopyFeature in class ConceptOperator
Parameters:
nameOfFeature - Name of the feature in question.
Returns:
TRUE if this feature should be copied to the output concept, FALSE if not.

createSingleColumnSet

protected Columnset createSingleColumnSet(int index)
                                   throws M4CompilerError
This method overrides the method in ConceptOperator! This method holds the control structure of the class TimeOperator. It generates the name of the new column set to be created, calls the method for running the stored procedure and registers the new column set linked to the output concept in the JAVA cache for M4 objects.

Overrides:
createSingleColumnSet in class ConceptOperator
Parameters:
index - Can be ignored as this is a SingleCSOperator.
Returns:
The new Columnset for the output concept.
Throws:
M4CompilerError

createM4Column

protected Column createM4Column(BaseAttribute outputBA,
                                Columnset newCS,
                                Column columnForType)
                         throws M4CompilerError
Throws:
M4CompilerError

executeDbProcedure

protected void executeDbProcedure(java.lang.String procedureName,
                                  java.lang.String[] parameters)
                           throws M4CompilerError
Throws:
M4CompilerError

getQuotedColNameforInpBA

protected static java.lang.String getQuotedColNameforInpBA(BaseAttribute ba)
                                                    throws M4CompilerError
Throws:
M4CompilerError

getQuotedColNameforOutBA

protected static java.lang.String getQuotedColNameforOutBA(BaseAttribute ba)

getQuotedColSetNameforCon

protected static java.lang.String getQuotedColSetNameforCon(Concept c)
                                                     throws M4CompilerError
Throws:
M4CompilerError

getUnquotedIntFromValue

protected static java.lang.String getUnquotedIntFromValue(Value v)

unquote

protected static java.lang.String unquote(java.lang.String s)

valueIsLong

protected void valueIsLong(Value v,
                           java.lang.String name)
                    throws M4CompilerError
Throws:
M4CompilerError

valueIsDouble

protected void valueIsDouble(Value v,
                             java.lang.String name)
                      throws M4CompilerError
Throws:
M4CompilerError

baseattribHasColumns

protected void baseattribHasColumns(BaseAttribute b,
                                    java.lang.String name)
                             throws M4CompilerError
Throws:
M4CompilerError


Copyright © 2001-2005