FME Server C++ API 3.0

IFMEServerTransformationRequest Class Reference

IFMEServerTransformationRequest interface. More...

#include <ifmeservertransformationrequest.h>

List of all members.

Public Member Functions

virtual FME_Boolean getFMEDirective (const IFMEServerString &directiveName, IFMEServerString &directiveValue) const =0
virtual void getFMEDirectives (IFMEServerStringArray &directives) const =0
virtual FME_Boolean getNMDirective (const IFMEServerString &directiveName, IFMEServerString &directiveValue) const =0
virtual void getNMDirectives (IFMEServerStringArray &directives) const =0
virtual FME_Boolean getPublishedParameter (const IFMEServerString &parmName, IFMEServerString &parmValue) const =0
virtual void getPublishedParameters (IFMEServerStringArray &parameters) const =0
virtual void getRequestAsString (IFMEServerString &request)=0
virtual void getSubsection (IFMEServerString &subsectionName) const =0
virtual FME_Boolean getTMDirective (const IFMEServerString &directiveName, IFMEServerString &directiveValue) const =0
virtual void getTMDirectives (IFMEServerStringArray &directives) const =0
virtual void setFMEDirective (const IFMEServerString &directiveName, const IFMEServerString &directiveValue)=0
virtual void setFMEDirectives (const IFMEServerStringArray &directives)=0
virtual void setNMDirective (const IFMEServerString &directiveName, const IFMEServerString &directiveValue)=0
virtual void setNMDirectives (const IFMEServerStringArray &directives)=0
virtual void setPublishedParameter (const IFMEServerString &parmName, const IFMEServerString &parmValue)=0
virtual void setPublishedParameters (const IFMEServerStringArray &parameters)=0
virtual void setSubsection (const IFMEServerString &subsectionName)=0
virtual void setTMDirective (const IFMEServerString &directiveName, const IFMEServerString &directiveValue)=0
virtual void setTMDirectives (const IFMEServerStringArray &directives)=0

Protected Member Functions

 IFMEServerTransformationRequest ()
virtual ~IFMEServerTransformationRequest ()

Private Member Functions

 IFMEServerTransformationRequest (const IFMEServerTransformationRequest &other)
IFMEServerTransformationRequestoperator= (const IFMEServerTransformationRequest &other)

Detailed Description

IFMEServerTransformationRequest interface.

Package Overview:

Defines the interface for the FME transformation request object. This object provides a convenience wrapper around a transformation request that will be submitted to a FME Server for processing.

This file defines the interface that subclasses of this class MUST follow.

Developers MUST NOT implement their own subclasses of this, instead, the FME will ALWAYS provide them with the subclass instance they should be using.


Constructor & Destructor Documentation

IFMEServerTransformationRequest::IFMEServerTransformationRequest ( ) [inline, protected]
virtual IFMEServerTransformationRequest::~IFMEServerTransformationRequest ( ) [inline, protected, virtual]
IFMEServerTransformationRequest::IFMEServerTransformationRequest ( const IFMEServerTransformationRequest other) [private]

Member Function Documentation

virtual FME_Boolean IFMEServerTransformationRequest::getFMEDirective ( const IFMEServerString directiveName,
IFMEServerString directiveValue 
) const [pure virtual]

Gets the value assigned to a FME Engine directive. If the directive has no known value, this method will return FME_FALSE and will not modify the contents of its argument, directiveValue.

Parameters:
directiveNameThe name of a directive understood by the FME Engine.
directiveValueAn IFMEServerString to hold the value of that directive.
virtual void IFMEServerTransformationRequest::getFMEDirectives ( IFMEServerStringArray directives) const [pure virtual]

Gets all FME Engine directives that have been set.

Parameters:
directivesAn IFMEServerStringArray to hold the FME Engine directives.
virtual FME_Boolean IFMEServerTransformationRequest::getNMDirective ( const IFMEServerString directiveName,
IFMEServerString directiveValue 
) const [pure virtual]

Gets the value assigned to a Notification Manager directive.

Parameters:
directiveNameThe name of a Notification Manager directive
directiveValueThe value that would currently be used for the directive if this transformation was run, or null if no value exists for that directive
virtual void IFMEServerTransformationRequest::getNMDirectives ( IFMEServerStringArray directives) const [pure virtual]

Gets all Notification Manager directives that have been set.

Parameters:
directivesAn IFMEServerStringArray to hold all Notification Manager directives
virtual FME_Boolean IFMEServerTransformationRequest::getPublishedParameter ( const IFMEServerString parmName,
IFMEServerString parmValue 
) const [pure virtual]

Gets the value assigned to a parameter. This value could be one of the following, in descending order of precedence:

  • the value set by a previous call to setParameter(...)
  • the default value for that parameter, if one exists and is known to this transformation request object If the parameter has no known value, this method will return FME_FALSE and will not modify the contents of its argument, value.
Parameters:
parmNameA valid parameter name.
parmValueAn IFMEServerString to hold the value of that parameter.
virtual void IFMEServerTransformationRequest::getPublishedParameters ( IFMEServerStringArray parameters) const [pure virtual]

Gets all parameters that have been set, including those that have been initialized to default values.

Parameters:
parametersAn IFMEServerStringArray to hold the parameters.
virtual void IFMEServerTransformationRequest::getRequestAsString ( IFMEServerString request) [pure virtual]

Gets the raw request string representing this transformation request. This string is used by the FME Server when communicating the request to the FME Server. It should not be modified directly; instead, its contents can be changed using the other methods of this class.

Parameters:
requestAn IFMEServerString to hold the raw request string.
virtual void IFMEServerTransformationRequest::getSubsection ( IFMEServerString subsectionName) const [pure virtual]

Gets the FME Server subsection to be used for this request.

virtual FME_Boolean IFMEServerTransformationRequest::getTMDirective ( const IFMEServerString directiveName,
IFMEServerString directiveValue 
) const [pure virtual]

Gets the value assigned to a FME Transformation Manager directive. If the directive has no known value, this method will return FME_FALSE and will not modify the contents of its argument, directiveValue.

Parameters:
directiveNameThe name of a directive understood by the FME Transformation Manager.
directiveValueAn IFMEServerString to hold the value of that directive.
virtual void IFMEServerTransformationRequest::getTMDirectives ( IFMEServerStringArray directives) const [pure virtual]

Gets all FME Transformation Manager directives that have been set.

Parameters:
propertiesAn IFMEServerStringArray to hold the FME Transformation Manager directives.
IFMEServerTransformationRequest& IFMEServerTransformationRequest::operator= ( const IFMEServerTransformationRequest other) [private]
virtual void IFMEServerTransformationRequest::setFMEDirective ( const IFMEServerString directiveName,
const IFMEServerString directiveValue 
) [pure virtual]

Sets the value assigned to a FME Engine directive.

It is the caller's responsibility to ensure that the correct object type is used for each directive. Valid object types differ according to the directive name.

Directives affect how, when and where a transformation is run. Unlike parameters, they do not directly control the data processing that occurs during the transformation.

Parameters:
directiveNameThe name of a directive understood by the FME Engine
directiveValueA valid value for that directive.
virtual void IFMEServerTransformationRequest::setFMEDirectives ( const IFMEServerStringArray directives) [pure virtual]

Loads the contents of an IFMEServerStringArray as FME Engine directives. Any properties that have already been set using setDirective(...) will be overwritten if they are also present in the IFMEServerStringArray passed to this method.

Parameters:
directivesAn IFMEServerStringArray of FME Engine directives to load.
virtual void IFMEServerTransformationRequest::setNMDirective ( const IFMEServerString directiveName,
const IFMEServerString directiveValue 
) [pure virtual]

Sets the value assigned to a Notification Manager directive.

Parameters:
directiveNameThe name of a Notification Manager directive
directiveValueThe value to assign to the directive

Reserved NM directive names:

"jobsuccess_topic" - The name of the topic to be notified when a job succeeds.

"jobfailure_topic" - The name of the topic to be notified when a job fails.

Examples:

The following example will send a single notification when a job succeeds or fails. A notification will be sent to the JOB_SUCCESS topic if the transformation succeeds and a notification will be sent to the JOB_FAILURE topic if the transformation fails. In addition the notification body will contain both "info" and "test" directives.

  • setNMDirective("jobsuccess_topic", "JOB_SUCCESS");
  • setNMDirective("jobfailure_topic", "JOB_FAILURE");
  • setNMDirective("info", "Misc notification info ...");
  • setNMDirective("test", "Misc test info ...");

The following example will send multiple notifications when a job succeeds or fails. A notification will be sent to the JOB_SUCCESS, JOB_SUCCESS_SINK and SUCCESS_BATCH topics if the transformation succeeds and a notification will be sent to the JOB_FAILURE and FAILURE_HANDLER topics if the transformation fails. In addition the notification body will contain both "info" and "test" directives.

  • setNMDirective("jobsuccess_topic{0}", "JOB_SUCCESS");
  • setNMDirective("jobsuccess_topic{1}", "JOB_SUCCESS_SINK");
  • setNMDirective("jobsuccess_topic{2}", "SUCCESS_BATCH");
  • setNMDirective("jobfailure_topic{0}", "JOB_FAILURE");
  • setNMDirective("jobfailure_topic{1}", "FAILURE_HANDLER");
  • setNMDirective("info", "Misc notification info ...");
  • setNMDirective("test", "Misc test info ...");
virtual void IFMEServerTransformationRequest::setNMDirectives ( const IFMEServerStringArray directives) [pure virtual]

Loads the contents of a IFMEServerStringArray containing Notification Manager directives. Any directives that have already been set using setNMDirective() will be overwritten if they are also present.

Parameters:
directivesAn IFMEServerStringArray of Notification Manager directives to load
virtual void IFMEServerTransformationRequest::setPublishedParameter ( const IFMEServerString parmName,
const IFMEServerString parmValue 
) [pure virtual]

Sets the value assigned to a parameter. The interpretation of these parameters depends on whether a workspace (.fmw) or mapping file (.fme) is used. In a workspace, parameters correspond to published parameters; in a mapping file, parameters correspond to macro definitions.

This is analogous to specifying "--PARAMETER value" on the command line.

Parameters:
parmNameThe name of a published parameter or macro.
parmValueThe value to assign to the parameter.
virtual void IFMEServerTransformationRequest::setPublishedParameters ( const IFMEServerStringArray parameters) [pure virtual]

Loads the contents of an IFMEServerStringArray as parameters. Any parameters that have already been set using setParameter(...) will be overwritten if they are also present in the IFMEServerStringArray passed to this method.

Parameters:
parametersAn IFMEServerStringArray of parameters to load.
virtual void IFMEServerTransformationRequest::setSubsection ( const IFMEServerString subsectionName) [pure virtual]

Sets the FME Server subsection to be used for this request.

Parameters:
subsectionNameKeyword or subsection for this request.
virtual void IFMEServerTransformationRequest::setTMDirective ( const IFMEServerString directiveName,
const IFMEServerString directiveValue 
) [pure virtual]

Sets the value assigned to a FME Transformation Manager directive. For example: For example:

  • setTMDirective("priority", "5");
  • setTMDirective("description", "This is my description");
  • setTMDirective("tag", "linux");
  • setTMDirective("ttl", "120");

Supported TM directive names:

"priority" - The request priority. Priority values must be integers >= 0 with higher values meaning higher priority. Requests with higher priority are inserted into the request queue ahead of requests with lower priority. There is no logical restriction on the maximum value. If a request’s priority value is greater than 0 or is not specified, the FME Server sets it to 1.

In general, the order of request jobs in the queue is defined according to the following rules: 1. Jobs of higher priority are placed in the queue ahead of jobs of lower priority. 2. Jobs of equal priority are placed in the queue in the order in which they were submitted to the FME Server.

"description" - The request description.

"tag" - This is the dynamic request assignment (DRA) tag for the request.

"ttl" - This is the "time to live" in the job queue in seconds. This is useful in cases where jobs are time-sensitive and could become invalid or stale while waiting in the job queue.

It is the caller's responsibility to ensure that the correct object type is used for each directive. Valid object types differ according to the directive name.

Directives affect how, when and where a transformation is run. Unlike parameters, they do not directly control the data processing that occurs during the transformation.

Parameters:
directiveNameThe name of a directive understood by the FME Transformation Manager
directiveValueA valid value for that directive.
virtual void IFMEServerTransformationRequest::setTMDirectives ( const IFMEServerStringArray directives) [pure virtual]

Loads the contents of an IFMEServerStringArray as FME Transformation Manager directives. Any properties that have already been set using setDirective(...) will be overwritten if they are also present in the IFMEServerStringArray passed to this method.

Parameters:
directivesAn IFMEServerStringArray of FME Transformation Manager directives to load.

The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines