org.pentaho.di.trans.steps.rest
Class RestMeta

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

public class RestMeta
extends BaseStepMeta
implements StepMetaInterface

Since:
16-jan-2011
Author:
Samatar

Field Summary
static String APPLICATION_TYPE_ATOM_XML
           
static String APPLICATION_TYPE_FORM_URLENCODED
           
static String APPLICATION_TYPE_JSON
           
static String APPLICATION_TYPE_OCTET_STREAM
           
static String APPLICATION_TYPE_SVG_XML
           
static String APPLICATION_TYPE_TEXT_PLAIN
           
static String APPLICATION_TYPE_XHTML
           
static String APPLICATION_TYPE_XML
           
static String[] APPLICATION_TYPES
           
static String HTTP_METHOD_DELETE
           
static String HTTP_METHOD_GET
           
static String HTTP_METHOD_HEAD
           
static String HTTP_METHOD_OPTIONS
           
static String HTTP_METHOD_POST
           
static String HTTP_METHOD_PUT
           
static String[] HTTP_METHODS
           
 
Fields inherited from class org.pentaho.di.trans.step.BaseStepMeta
loggingObject, STEP_ATTRIBUTES_FILE
 
Constructor Summary
RestMeta()
           
 
Method Summary
 void allocate(int nrheaders, int nrparamers)
           
 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 getApplicationType()
          Getter
 String getBodyField()
           
 String getFieldName()
           
 void getFields(RowMetaInterface inputRowMeta, String name, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space)
          Get the fields that are emitted by this step
 String[] getHeaderField()
           
 String[] getHeaderName()
           
 String getHttpLogin()
          Getter
 String getHttpPassword()
           
 String getMethod()
           
 String getMethodFieldName()
           
 String[] getParameterField()
           
 String[] getParameterName()
           
 String getProxyHost()
          Getter
 String getProxyPort()
          Getter
 String getResponseTimeFieldName()
           
 String getResultCodeFieldName()
           
 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.
 String getTrustStoreFile()
           
 String getTrustStorePassword()
           
 String getUrl()
           
 String getUrlField()
           
 String getXML()
          Produces the XML string that describes this step's information.
static boolean isActiveBody(String method)
           
static boolean isActiveParameters(String method)
           
 boolean isDynamicMethod()
           
 boolean isPreemptive()
           
 boolean isUrlInField()
           
 void loadXML(Node stepnode, List<DatabaseMeta> databases, Map<String,Counter> counters)
          Load the values for this step from an XML Node
 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 setApplicationType(String applicationType)
          Setter
 void setBodyField(String value)
           
 void setDefault()
          Set default values
 void setDynamicMethod(boolean dynamicMethod)
           
 void setFieldName(String resultName)
           
 void setHeaderField(String[] value)
           
 void setHeaderName(String[] value)
           
 void setHttpLogin(String httpLogin)
          Setter
 void setHttpPassword(String httpPassword)
          Setter
 void setMethod(String value)
           
 void setMethodFieldName(String methodFieldName)
           
 void setParameterField(String[] value)
           
 void setParameterName(String[] value)
           
 void setPreemptive(boolean preemptive)
           
 void setProxyHost(String proxyHost)
          Setter
 void setProxyPort(String proxyPort)
          Setter
 void setResponseTimeFieldName(String responseTimeFieldName)
           
 void setResultCodeFieldName(String resultCodeFieldName)
           
 void setTrustStoreFile(String trustStoreFile)
          Setter
 void setTrustStorePassword(String trustStorePassword)
          Setter
 void setUrl(String procedure)
           
 void setUrlField(String urlField)
           
 void setUrlInField(boolean urlInField)
           
 boolean supportsErrorHandling()
           
 
Methods inherited from class org.pentaho.di.trans.step.BaseStepMeta
analyseImpact, cancelQueries, excludeFromCopyDistributeVerification, excludeFromRowLayoutVerification, exportResources, findAttribute, findParent, getDescription, getDialogClassName, getLog, getLogChannelId, getName, getObjectCopy, getObjectId, getObjectRevision, getObjectType, getOptionalStreams, getParent, getParentStepMeta, getRepCode, getRepositoryDirectory, getRequiredFields, getRequiredFields, getResourceDependencies, getSQLStatements, getStepInjectionMetadataEntries, getStepIOMeta, getStepMetaInjectionInterface, getSupportedTransformationTypes, getTableFields, getTooltip, getUsedArguments, getUsedDatabaseConnections, getUsedLibraries, getXmlCode, handleStreamSelection, hasChanged, hasRepositoryReferences, isBasic, isDebug, isDetailed, isRowLevel, logBasic, logBasic, logDebug, logDebug, logDetailed, logDetailed, logError, logError, logError, logMinimal, logMinimal, logRowlevel, logRowlevel, lookupRepositoryReferences, resetStepIoMeta, searchInfoAndTargetSteps, setChanged, setChanged, setParentStepMeta
 
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, exportResources, getDialogClassName, getOptionalStreams, getParentStepMeta, getRequiredFields, getResourceDependencies, getSQLStatements, getStepIOMeta, getStepMetaInjectionInterface, getSupportedTransformationTypes, getTableFields, getUsedArguments, getUsedDatabaseConnections, getUsedLibraries, handleStreamSelection, hasRepositoryReferences, lookupRepositoryReferences, resetStepIoMeta, searchInfoAndTargetSteps, setParentStepMeta
 

Field Detail

APPLICATION_TYPES

public static final String[] APPLICATION_TYPES

APPLICATION_TYPE_TEXT_PLAIN

public static final String APPLICATION_TYPE_TEXT_PLAIN
See Also:
Constant Field Values

APPLICATION_TYPE_XML

public static final String APPLICATION_TYPE_XML
See Also:
Constant Field Values

APPLICATION_TYPE_JSON

public static final String APPLICATION_TYPE_JSON
See Also:
Constant Field Values

APPLICATION_TYPE_OCTET_STREAM

public static final String APPLICATION_TYPE_OCTET_STREAM
See Also:
Constant Field Values

APPLICATION_TYPE_XHTML

public static final String APPLICATION_TYPE_XHTML
See Also:
Constant Field Values

APPLICATION_TYPE_FORM_URLENCODED

public static final String APPLICATION_TYPE_FORM_URLENCODED
See Also:
Constant Field Values

APPLICATION_TYPE_ATOM_XML

public static final String APPLICATION_TYPE_ATOM_XML
See Also:
Constant Field Values

APPLICATION_TYPE_SVG_XML

public static final String APPLICATION_TYPE_SVG_XML
See Also:
Constant Field Values

HTTP_METHODS

public static final String[] HTTP_METHODS

HTTP_METHOD_GET

public static final String HTTP_METHOD_GET
See Also:
Constant Field Values

HTTP_METHOD_POST

public static final String HTTP_METHOD_POST
See Also:
Constant Field Values

HTTP_METHOD_PUT

public static final String HTTP_METHOD_PUT
See Also:
Constant Field Values

HTTP_METHOD_DELETE

public static final String HTTP_METHOD_DELETE
See Also:
Constant Field Values

HTTP_METHOD_HEAD

public static final String HTTP_METHOD_HEAD
See Also:
Constant Field Values

HTTP_METHOD_OPTIONS

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

RestMeta

public RestMeta()
Method Detail

getMethod

public String getMethod()
Returns:
Returns the method.

setMethod

public void setMethod(String value)
Parameters:
value - The method to set.

getBodyField

public String getBodyField()
Returns:
Returns the bodyField.

setBodyField

public void setBodyField(String value)
Parameters:
value - The bodyField to set.

getHeaderName

public String[] getHeaderName()
Returns:
Returns the headerName.

setHeaderName

public void setHeaderName(String[] value)
Parameters:
value - The headerName to set.

getParameterField

public String[] getParameterField()
Returns:
Returns the parameterField.

setParameterField

public void setParameterField(String[] value)
Parameters:
value - The parameterField to set.

getParameterName

public String[] getParameterName()
Returns:
Returns the parameterName.

setParameterName

public void setParameterName(String[] value)
Parameters:
value - The parameterName to set.

getHeaderField

public String[] getHeaderField()
Returns:
Returns the headerField.

setHeaderField

public void setHeaderField(String[] value)
Parameters:
value - The headerField to set.

getUrl

public String getUrl()
Returns:
Returns the procedure.

setUrl

public void setUrl(String procedure)
Parameters:
procedure - The procedure to set.

isUrlInField

public boolean isUrlInField()
Returns:
Is the url coded in a field?

setUrlInField

public void setUrlInField(boolean urlInField)
Parameters:
urlInField - Is the url coded in a field?

isPreemptive

public boolean isPreemptive()
Returns:
Is preemptive?

setPreemptive

public void setPreemptive(boolean preemptive)
Parameters:
preemptive - Ispreemptive?

isDynamicMethod

public boolean isDynamicMethod()
Returns:
Is the method defined in a field?

setDynamicMethod

public void setDynamicMethod(boolean dynamicMethod)
Parameters:
dynamicMethod - If the method is defined in a field?

getMethodFieldName

public String getMethodFieldName()
Returns:
methodFieldName

setMethodFieldName

public void setMethodFieldName(String methodFieldName)
Parameters:
methodFieldName -

getUrlField

public String getUrlField()
Returns:
The field name that contains the url.

setUrlField

public void setUrlField(String urlField)
Parameters:
urlField - name of the field that contains the url

getFieldName

public String getFieldName()
Returns:
Returns the resultName.

setFieldName

public void setFieldName(String resultName)
Parameters:
resultName - The resultName 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.)

allocate

public void allocate(int nrheaders,
                     int nrparamers)

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

setDefault

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

Specified by:
setDefault in interface StepMetaInterface

getFields

public void getFields(RowMetaInterface inputRowMeta,
                      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:
inputRowMeta - 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)

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

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.

supportsErrorHandling

public boolean supportsErrorHandling()
Specified by:
supportsErrorHandling in interface StepMetaInterface
Overrides:
supportsErrorHandling in class BaseStepMeta
Returns:
true if this step supports error "reporting" on rows: the ability to send rows to a certain target step.

getResultCodeFieldName

public String getResultCodeFieldName()
Returns:
the resultCodeFieldName

setResultCodeFieldName

public void setResultCodeFieldName(String resultCodeFieldName)
Parameters:
resultCodeFieldName - the resultCodeFieldName to set

setProxyHost

public void setProxyHost(String proxyHost)
Setter

Parameters:
proxyHost -

getProxyHost

public String getProxyHost()
Getter

Returns:

setProxyPort

public void setProxyPort(String proxyPort)
Setter

Parameters:
proxyPort -

getProxyPort

public String getProxyPort()
Getter

Returns:

setApplicationType

public void setApplicationType(String applicationType)
Setter

Parameters:
httpLogin -

getApplicationType

public String getApplicationType()
Getter

Returns:

setHttpLogin

public void setHttpLogin(String httpLogin)
Setter

Parameters:
httpLogin -

getHttpLogin

public String getHttpLogin()
Getter

Returns:

setHttpPassword

public void setHttpPassword(String httpPassword)
Setter

Parameters:
httpPassword -

getHttpPassword

public String getHttpPassword()
Returns:

setTrustStoreFile

public void setTrustStoreFile(String trustStoreFile)
Setter

Parameters:
trustStoreFile -

getTrustStoreFile

public String getTrustStoreFile()
Returns:
trustStoreFile

setTrustStorePassword

public void setTrustStorePassword(String trustStorePassword)
Setter

Parameters:
trustStorePassword -

getTrustStorePassword

public String getTrustStorePassword()
Returns:
trustStorePassword

getResponseTimeFieldName

public String getResponseTimeFieldName()

setResponseTimeFieldName

public void setResponseTimeFieldName(String responseTimeFieldName)

isActiveBody

public static boolean isActiveBody(String method)

isActiveParameters

public static boolean isActiveParameters(String method)