org.pentaho.di.trans.steps.excelinput
Class ExcelInputMeta

java.lang.Object
  extended by org.pentaho.di.trans.step.BaseStepMeta
      extended by org.pentaho.di.trans.steps.excelinput.ExcelInputMeta
All Implemented Interfaces:
Cloneable, StepAttributesInterface, StepMetaInterface

public class ExcelInputMeta
extends BaseStepMeta
implements StepMetaInterface

Meta data for the Excel step.


Field Summary
static String[] RequiredFilesCode
           
static String[] RequiredFilesDesc
           
static String STRING_SEPARATOR
           
static int TYPE_TRIM_BOTH
           
static String[] type_trim_code
           
static String[] type_trim_desc
           
static int TYPE_TRIM_LEFT
           
static int TYPE_TRIM_NONE
           
static int TYPE_TRIM_RIGHT
           
 
Fields inherited from class org.pentaho.di.trans.step.BaseStepMeta
loggingObject, STEP_ATTRIBUTES_FILE
 
Constructor Summary
ExcelInputMeta()
           
 
Method Summary
 void allocate(int nrfiles, int nrsheets, int nrfields)
           
 void check(List<CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepMeta, RowMetaInterface prev, String[] input, String[] output, RowMetaInterface info)
          Checks the settings of this step and puts the findings in a remarks List.
 Object clone()
          Make an exact copy of this step, make sure to explicitly copy Collections etc.
 String exportResources(VariableSpace space, Map<String,ResourceDefinition> definitions, ResourceNamingInterface resourceNamingInterface, Repository repository)
          Since the exported transformation that runs this will reside in a ZIP file, we can't reference files relatively.
 String getAcceptingField()
           
 StepMeta getAcceptingStep()
           
 String getAcceptingStepName()
           
 String getBadLineFilesExtension()
           
 RowMetaInterface getEmptyFields()
           
 String getEncoding()
           
 String getErrorFilesDestinationDirectory()
           
 String getErrorFilesExtension()
           
 String[] getExludeFileMask()
           
 String getExtensionField()
           
 ExcelInputField[] getField()
           
 void getFields(RowMetaInterface row, String name, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space)
          Get the fields that are emitted by this step
 String getFileField()
           
 FileInputList getFileList(VariableSpace space)
           
 String[] getFileMask()
           
 String[] getFileName()
           
 String[] getFilePaths(VariableSpace space)
           
 String[] getFileRequired()
           
 String[] getIncludeSubFolders()
           
 String[] getInfoSteps()
           
 String getLastModificationDateField()
           
 String getLineNumberFilesDestinationDirectory()
           
 String getLineNumberFilesExtension()
           
 String getLookupStepname()
           
 String getPathField()
           
 String getRequiredFilesCode(String tt)
           
 String getRequiredFilesDesc(String tt)
           
 String getRootUriField()
           
 long getRowLimit()
           
 String getRowNumberField()
           
 String getSheetField()
           
 String[] getSheetName()
           
 String getSheetRowNumberField()
           
 String getShortFileNameField()
           
 String getSizeField()
           
 SpreadSheetType getSpreadSheetType()
           
 int[] getStartColumn()
           
 int[] getStartRow()
           
 StepInterface getStep(StepMeta stepMeta, StepDataInterface stepDataInterface, int cnr, TransMeta transMeta, Trans trans)
          Get the executing step, needed by Trans to launch a step.
 StepDataInterface getStepData()
          Get a new instance of the appropriate data class.
 StepMetaInjectionInterface getStepMetaInjectionInterface()
           
static int getTrimTypeByCode(String tt)
           
static int getTrimTypeByDesc(String tt)
           
static String getTrimTypeCode(int i)
           
static String getTrimTypeDesc(int i)
           
 String getUriField()
           
 String[] getUsedLibraries()
           
 String getWarningFilesDestinationDirectory()
           
 String getXML()
          Produces the XML string that describes this step's information.
 boolean ignoreEmptyRows()
           
 boolean isAcceptingFilenames()
           
 boolean isAddResultFile()
           
 boolean isErrorIgnored()
           
 boolean isErrorLineSkipped()
           
 String isHiddenField()
           
 boolean isStrictTypes()
           
 void loadXML(Node stepnode, List<DatabaseMeta> databases, Map<String,Counter> counters)
          Load the values for this step from an XML Node
 boolean readAllSheets()
          Read all sheets if the sheet names are left blank.
 void readRep(Repository rep, ObjectId id_step, List<DatabaseMeta> databases, Map<String,Counter> counters)
          Read the steps information from a Kettle repository
 void saveRep(Repository rep, ObjectId id_transformation, ObjectId id_step)
          Save the steps data into a Kettle repository
 void searchInfoAndTargetSteps(List<StepMeta> steps)
          Change step names into step objects to allow them to be name-changed etc.
 void setAcceptingField(String acceptingField)
           
 void setAcceptingFilenames(boolean acceptingFilenames)
           
 void setAcceptingStep(StepMeta acceptingStep)
           
 void setAcceptingStepName(String acceptingStepName)
           
 void setAddResultFile(boolean isaddresult)
           
 void setBadLineFilesExtension(String badLineFilesExtension)
           
 void setDefault()
          Set default values
 void setEncoding(String encoding)
           
 void setErrorFilesDestinationDirectory(String errorLineFilesDestinationDirectory)
           
 void setErrorFilesExtension(String errorLineFilesExtension)
           
 void setErrorIgnored(boolean errorIgnored)
           
 void setErrorLineSkipped(boolean errorLineSkipped)
           
 void setExcludeFileMask(String[] excludeFileMask)
           
 void setExtensionField(String field)
           
 void setField(ExcelInputField[] fields)
           
 void setFileField(String fileField)
           
 void setFileMask(String[] fileMask)
           
 void setFileName(String[] fileName)
           
 void setFileRequired(String[] fileRequiredin)
           
 void setIgnoreEmptyRows(boolean ignoreEmptyRows)
           
 void setIncludeSubFolders(String[] includeSubFoldersin)
           
 void setIsHiddenField(String field)
           
 void setLastModificationDateField(String field)
           
 void setLineNumberFilesDestinationDirectory(String lineNumberFilesDestinationDirectory)
           
 void setLineNumberFilesExtension(String lineNumberFilesExtension)
           
 void setPathField(String field)
           
 void setRootUriField(String field)
           
 void setRowLimit(long rowLimit)
           
 void setRowNumberField(String rowNumberField)
           
 void setSheetField(String sheetField)
           
 void setSheetName(String[] sheetName)
           
 void setSheetRowNumberField(String rowNumberField)
           
 void setShortFileNameField(String field)
           
 void setSizeField(String field)
           
 void setSpreadSheetType(SpreadSheetType spreadSheetType)
           
 void setStartColumn(int[] startColumn)
           
 void setStartRow(int[] startRow)
           
 void setStartsWithHeader(boolean startsWithHeader)
           
 void setStopOnEmpty(boolean stopOnEmpty)
           
 void setStrictTypes(boolean strictTypes)
           
 void setUriField(String field)
           
 void setWarningFilesDestinationDirectory(String badLineFilesDestinationDirectory)
           
 boolean startsWithHeader()
           
 boolean stopOnEmpty()
           
 
Methods inherited from class org.pentaho.di.trans.step.BaseStepMeta
analyseImpact, cancelQueries, excludeFromCopyDistributeVerification, excludeFromRowLayoutVerification, findAttribute, findParent, getDescription, getDialogClassName, getLog, getLogChannelId, getName, getObjectCopy, getObjectId, getObjectRevision, getObjectType, getOptionalStreams, getParent, getParentStepMeta, getRepCode, getRepositoryDirectory, getRequiredFields, getRequiredFields, getResourceDependencies, getSQLStatements, getStepInjectionMetadataEntries, getStepIOMeta, getSupportedTransformationTypes, getTableFields, getTooltip, getUsedArguments, getUsedDatabaseConnections, getXmlCode, handleStreamSelection, hasChanged, hasRepositoryReferences, isBasic, isDebug, isDetailed, isRowLevel, logBasic, logBasic, logDebug, logDebug, logDetailed, logDetailed, logError, logError, logError, logMinimal, logMinimal, logRowlevel, logRowlevel, lookupRepositoryReferences, resetStepIoMeta, setChanged, setChanged, setParentStepMeta, supportsErrorHandling
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.pentaho.di.trans.step.StepMetaInterface
analyseImpact, cancelQueries, excludeFromCopyDistributeVerification, excludeFromRowLayoutVerification, getDialogClassName, getOptionalStreams, getParentStepMeta, getRequiredFields, getResourceDependencies, getSQLStatements, getStepIOMeta, getSupportedTransformationTypes, getTableFields, getUsedArguments, getUsedDatabaseConnections, handleStreamSelection, hasRepositoryReferences, lookupRepositoryReferences, resetStepIoMeta, setParentStepMeta, supportsErrorHandling
 

Field Detail

RequiredFilesDesc

public static final String[] RequiredFilesDesc

RequiredFilesCode

public static final String[] RequiredFilesCode

TYPE_TRIM_NONE

public static final int TYPE_TRIM_NONE
See Also:
Constant Field Values

TYPE_TRIM_LEFT

public static final int TYPE_TRIM_LEFT
See Also:
Constant Field Values

TYPE_TRIM_RIGHT

public static final int TYPE_TRIM_RIGHT
See Also:
Constant Field Values

TYPE_TRIM_BOTH

public static final int TYPE_TRIM_BOTH
See Also:
Constant Field Values

type_trim_code

public static final String[] type_trim_code

type_trim_desc

public static final String[] type_trim_desc

STRING_SEPARATOR

public static final String STRING_SEPARATOR
See Also:
Constant Field Values
Constructor Detail

ExcelInputMeta

public ExcelInputMeta()
Method Detail

getShortFileNameField

public String getShortFileNameField()
Returns:
Returns the shortFileFieldName.

setShortFileNameField

public void setShortFileNameField(String field)
Parameters:
field - The shortFileFieldName to set.

getPathField

public String getPathField()
Returns:
Returns the pathFieldName.

setPathField

public void setPathField(String field)
Parameters:
field - The pathFieldName to set.

isHiddenField

public String isHiddenField()
Returns:
Returns the hiddenFieldName.

setIsHiddenField

public void setIsHiddenField(String field)
Parameters:
field - The hiddenFieldName to set.

getLastModificationDateField

public String getLastModificationDateField()
Returns:
Returns the lastModificationTimeFieldName.

setLastModificationDateField

public void setLastModificationDateField(String field)
Parameters:
field - The lastModificationTimeFieldName to set.

getUriField

public String getUriField()
Returns:
Returns the uriNameFieldName.

setUriField

public void setUriField(String field)
Parameters:
field - The uriNameFieldName to set.

getRootUriField

public String getRootUriField()
Returns:
Returns the uriNameFieldName.

setRootUriField

public void setRootUriField(String field)
Parameters:
field - The rootUriNameFieldName to set.

getExtensionField

public String getExtensionField()
Returns:
Returns the extensionFieldName.

setExtensionField

public void setExtensionField(String field)
Parameters:
field - The extensionFieldName to set.

getSizeField

public String getSizeField()
Returns:
Returns the sizeFieldName.

setSizeField

public void setSizeField(String field)
Parameters:
field - The sizeFieldName to set.

getField

public ExcelInputField[] getField()
Returns:
Returns the fieldLength.

setField

public void setField(ExcelInputField[] fields)
Parameters:
fields - The excel input fields to set.

getFileField

public String getFileField()
Returns:
Returns the fileField.

setFileField

public void setFileField(String fileField)
Parameters:
fileField - The fileField to set.

getFileMask

public String[] getFileMask()
Returns:
Returns the fileMask.

setFileMask

public void setFileMask(String[] fileMask)
Parameters:
fileMask - The fileMask to set.

getExludeFileMask

public String[] getExludeFileMask()
Returns:
Returns the excludeFileMask.

setExcludeFileMask

public void setExcludeFileMask(String[] excludeFileMask)
Parameters:
excludeFileMask - The excludeFileMask to set.

getIncludeSubFolders

public String[] getIncludeSubFolders()

setIncludeSubFolders

public void setIncludeSubFolders(String[] includeSubFoldersin)

getRequiredFilesCode

public String getRequiredFilesCode(String tt)

getRequiredFilesDesc

public String getRequiredFilesDesc(String tt)

getFileName

public String[] getFileName()
Returns:
Returns the fileName.

setFileName

public void setFileName(String[] fileName)
Parameters:
fileName - The fileName to set.

ignoreEmptyRows

public boolean ignoreEmptyRows()
Returns:
Returns the ignoreEmptyRows.

setIgnoreEmptyRows

public void setIgnoreEmptyRows(boolean ignoreEmptyRows)
Parameters:
ignoreEmptyRows - The ignoreEmptyRows to set.

getRowLimit

public long getRowLimit()
Returns:
Returns the rowLimit.

setRowLimit

public void setRowLimit(long rowLimit)
Parameters:
rowLimit - The rowLimit to set.

getRowNumberField

public String getRowNumberField()
Returns:
Returns the rowNumberField.

setRowNumberField

public void setRowNumberField(String rowNumberField)
Parameters:
rowNumberField - The rowNumberField to set.

getSheetRowNumberField

public String getSheetRowNumberField()
Returns:
Returns the sheetRowNumberField.

setSheetRowNumberField

public void setSheetRowNumberField(String rowNumberField)
Parameters:
rowNumberField - The rowNumberField to set.

getSheetField

public String getSheetField()
Returns:
Returns the sheetField.

setSheetField

public void setSheetField(String sheetField)
Parameters:
sheetField - The sheetField to set.

getSheetName

public String[] getSheetName()
Returns:
Returns the sheetName.

setSheetName

public void setSheetName(String[] sheetName)
Parameters:
sheetName - The sheetName to set.

getStartColumn

public int[] getStartColumn()
Returns:
Returns the startColumn.

setStartColumn

public void setStartColumn(int[] startColumn)
Parameters:
startColumn - The startColumn to set.

getStartRow

public int[] getStartRow()
Returns:
Returns the startRow.

setStartRow

public void setStartRow(int[] startRow)
Parameters:
startRow - The startRow to set.

startsWithHeader

public boolean startsWithHeader()
Returns:
Returns the startsWithHeader.

setStartsWithHeader

public void setStartsWithHeader(boolean startsWithHeader)
Parameters:
startsWithHeader - The startsWithHeader to set.

stopOnEmpty

public boolean stopOnEmpty()
Returns:
Returns the stopOnEmpty.

setStopOnEmpty

public void setStopOnEmpty(boolean stopOnEmpty)
Parameters:
stopOnEmpty - The stopOnEmpty to set.

loadXML

public void loadXML(Node stepnode,
                    List<DatabaseMeta> databases,
                    Map<String,Counter> counters)
             throws KettleXMLException
Description copied from interface: StepMetaInterface
Load the values for this step from an XML Node

Specified by:
loadXML in interface StepMetaInterface
Parameters:
stepnode - the Node to get the info from
databases - The available list of databases to reference to
counters - Counters to reference.
Throws:
KettleXMLException - When an unexpected XML error occurred. (malformed etc.)

clone

public Object clone()
Description copied from interface: StepMetaInterface
Make an exact copy of this step, make sure to explicitly copy Collections etc.

Specified by:
clone in interface StepMetaInterface
Overrides:
clone in class BaseStepMeta
Returns:
an exact copy of this step

allocate

public void allocate(int nrfiles,
                     int nrsheets,
                     int nrfields)

setDefault

public void setDefault()
Description copied from interface: StepMetaInterface
Set default values

Specified by:
setDefault in interface StepMetaInterface

getFields

public void getFields(RowMetaInterface row,
                      String name,
                      RowMetaInterface[] info,
                      StepMeta nextStep,
                      VariableSpace space)
               throws KettleStepException
Description copied from interface: StepMetaInterface
Get the fields that are emitted by this step

Specified by:
getFields in interface StepMetaInterface
Overrides:
getFields in class BaseStepMeta
Parameters:
row - The fields that are entering the step. These are changed to reflect the output metadata.
name - The name of the step to be used as origin
info - The input rows metadata that enters the step through the specified channels in the same order as in method getInfoSteps(). The step metadata can then choose what to do with it: ignore it or not. Interesting is also that in case of database lookups, the layout of the target database table is put in info[0]
nextStep - if this is a non-null value, it's the next step in the transformation. The one who's asking, the step where the data is targetted towards.
space - TODO
Throws:
KettleStepException - when an error occurred searching for the fields.

getXML

public String getXML()
Description copied from class: BaseStepMeta
Produces the XML string that describes this step's information.

Specified by:
getXML in interface StepMetaInterface
Overrides:
getXML in class BaseStepMeta
Returns:
String containing the XML describing this step.

readRep

public void readRep(Repository rep,
                    ObjectId id_step,
                    List<DatabaseMeta> databases,
                    Map<String,Counter> counters)
             throws KettleException
Description copied from interface: StepMetaInterface
Read the steps information from a Kettle repository

Specified by:
readRep in interface StepMetaInterface
Parameters:
rep - The repository to read from
id_step - The step ID
databases - The databases to reference
counters - The counters to reference
Throws:
KettleException - When an unexpected error occurred (database, network, etc)

saveRep

public void saveRep(Repository rep,
                    ObjectId id_transformation,
                    ObjectId id_step)
             throws KettleException
Description copied from interface: StepMetaInterface
Save the steps data into a Kettle repository

Specified by:
saveRep in interface StepMetaInterface
Parameters:
rep - The Kettle repository to save to
id_transformation - The transformation ID
id_step - The step ID
Throws:
KettleException - When an unexpected error occurred (database, network, etc)

getTrimTypeByCode

public static final int getTrimTypeByCode(String tt)

getTrimTypeByDesc

public static final int getTrimTypeByDesc(String tt)

getTrimTypeCode

public static final String getTrimTypeCode(int i)

getTrimTypeDesc

public static final String getTrimTypeDesc(int i)

getFilePaths

public String[] getFilePaths(VariableSpace space)

getFileList

public FileInputList getFileList(VariableSpace space)

getLookupStepname

public String getLookupStepname()

searchInfoAndTargetSteps

public void searchInfoAndTargetSteps(List<StepMeta> steps)
Description copied from class: BaseStepMeta
Change step names into step objects to allow them to be name-changed etc.

Specified by:
searchInfoAndTargetSteps in interface StepMetaInterface
Overrides:
searchInfoAndTargetSteps in class BaseStepMeta
Parameters:
steps - the steps to reference

getInfoSteps

public String[] getInfoSteps()

check

public void check(List<CheckResultInterface> remarks,
                  TransMeta transMeta,
                  StepMeta stepMeta,
                  RowMetaInterface prev,
                  String[] input,
                  String[] output,
                  RowMetaInterface info)
Description copied from interface: StepMetaInterface
Checks the settings of this step and puts the findings in a remarks List.

Specified by:
check in interface StepMetaInterface
Parameters:
remarks - The list to put the remarks in @see org.pentaho.di.core.CheckResult
stepMeta - The stepMeta to help checking
prev - The fields coming from the previous step
input - The input step names
output - The output step names
info - The fields that are used as information by the step

getEmptyFields

public RowMetaInterface getEmptyFields()

getStep

public StepInterface getStep(StepMeta stepMeta,
                             StepDataInterface stepDataInterface,
                             int cnr,
                             TransMeta transMeta,
                             Trans trans)
Description copied from interface: StepMetaInterface
Get the executing step, needed by Trans to launch a step.

Specified by:
getStep in interface StepMetaInterface
Parameters:
stepMeta - The step info
stepDataInterface - the step data interface linked to this step. Here the step can store temporary data, database connections, etc.
cnr - The copy nr to get
transMeta - The transformation info
trans - The launching transformation

getStepData

public StepDataInterface getStepData()
Description copied from interface: StepMetaInterface
Get a new instance of the appropriate data class. This data class implements the StepDataInterface. It basically contains the persisting data that needs to live on, even if a worker thread is terminated.

Specified by:
getStepData in interface StepMetaInterface
Returns:
The appropriate StepDataInterface class.

getWarningFilesDestinationDirectory

public String getWarningFilesDestinationDirectory()

setWarningFilesDestinationDirectory

public void setWarningFilesDestinationDirectory(String badLineFilesDestinationDirectory)

getBadLineFilesExtension

public String getBadLineFilesExtension()

setBadLineFilesExtension

public void setBadLineFilesExtension(String badLineFilesExtension)

isErrorIgnored

public boolean isErrorIgnored()

setErrorIgnored

public void setErrorIgnored(boolean errorIgnored)

getErrorFilesDestinationDirectory

public String getErrorFilesDestinationDirectory()

setErrorFilesDestinationDirectory

public void setErrorFilesDestinationDirectory(String errorLineFilesDestinationDirectory)

getErrorFilesExtension

public String getErrorFilesExtension()

setErrorFilesExtension

public void setErrorFilesExtension(String errorLineFilesExtension)

getLineNumberFilesDestinationDirectory

public String getLineNumberFilesDestinationDirectory()

setLineNumberFilesDestinationDirectory

public void setLineNumberFilesDestinationDirectory(String lineNumberFilesDestinationDirectory)

getLineNumberFilesExtension

public String getLineNumberFilesExtension()

setLineNumberFilesExtension

public void setLineNumberFilesExtension(String lineNumberFilesExtension)

isErrorLineSkipped

public boolean isErrorLineSkipped()

setErrorLineSkipped

public void setErrorLineSkipped(boolean errorLineSkipped)

isStrictTypes

public boolean isStrictTypes()

setStrictTypes

public void setStrictTypes(boolean strictTypes)

getFileRequired

public String[] getFileRequired()

setFileRequired

public void setFileRequired(String[] fileRequiredin)

getAcceptingField

public String getAcceptingField()
Returns:
Returns the acceptingField.

setAcceptingField

public void setAcceptingField(String acceptingField)
Parameters:
acceptingField - The acceptingField to set.

isAcceptingFilenames

public boolean isAcceptingFilenames()
Returns:
Returns the acceptingFilenames.

setAcceptingFilenames

public void setAcceptingFilenames(boolean acceptingFilenames)
Parameters:
acceptingFilenames - The acceptingFilenames to set.

getAcceptingStep

public StepMeta getAcceptingStep()
Returns:
Returns the acceptingStep.

setAcceptingStep

public void setAcceptingStep(StepMeta acceptingStep)
Parameters:
acceptingStep - The acceptingStep to set.

getAcceptingStepName

public String getAcceptingStepName()
Returns:
Returns the acceptingStepName.

setAcceptingStepName

public void setAcceptingStepName(String acceptingStepName)
Parameters:
acceptingStepName - The acceptingStepName to set.

getUsedLibraries

public String[] getUsedLibraries()
Specified by:
getUsedLibraries in interface StepMetaInterface
Overrides:
getUsedLibraries in class BaseStepMeta
Returns:
the libraries that this step or plug-in uses.

getEncoding

public String getEncoding()
Returns:
the encoding

setEncoding

public void setEncoding(String encoding)
Parameters:
encoding - the encoding to set

setAddResultFile

public void setAddResultFile(boolean isaddresult)
Parameters:
isaddresult - The isaddresult to set.

isAddResultFile

public boolean isAddResultFile()
Returns:
Returns isaddresult.

readAllSheets

public boolean readAllSheets()
Read all sheets if the sheet names are left blank.

Returns:
true if all sheets are read.

exportResources

public String exportResources(VariableSpace space,
                              Map<String,ResourceDefinition> definitions,
                              ResourceNamingInterface resourceNamingInterface,
                              Repository repository)
                       throws KettleException
Since the exported transformation that runs this will reside in a ZIP file, we can't reference files relatively. So what this does is turn the name of files into absolute paths OR it simply includes the resource in the ZIP file. For now, we'll simply turn it into an absolute path and pray that the file is on a shared drive or something like that. TODO: create options to configure this behavior

Specified by:
exportResources in interface StepMetaInterface
Overrides:
exportResources in class BaseStepMeta
Parameters:
space - the variable space to use
repository - The repository to optionally load other resources from (to be converted to XML)
Returns:
the filename of the exported resource
Throws:
KettleException

getSpreadSheetType

public SpreadSheetType getSpreadSheetType()

setSpreadSheetType

public void setSpreadSheetType(SpreadSheetType spreadSheetType)

getStepMetaInjectionInterface

public StepMetaInjectionInterface getStepMetaInjectionInterface()
Specified by:
getStepMetaInjectionInterface in interface StepMetaInterface
Overrides:
getStepMetaInjectionInterface in class BaseStepMeta
Returns:
Optional interface that allows an external program to inject step metadata in a standardized fasion. This method will return null if the interface is not available for this step.