FME Server C++ API 3.0

IFMEServerTransformationResult Class Reference

IFMEServerTransformationResult interface. More...

#include <ifmeservertransformationresult.h>

List of all members.

Public Member Functions

virtual void getAllProperties (IFMEServerStringArray &properties) const =0
virtual void getAllPropertyNames (IFMEServerStringArray &propNames) const =0
virtual FME_Boolean getDescription (IFMEServerString &description) const =0
virtual FME_Boolean getFMEEngineResponse (IFMEServerString &fmeEngineResponse) const =0
virtual void getFMEServerResponse (IFMEServerString &fmeServerResponse) const =0
virtual FME_Boolean getID (FME_Int32 &jobID) const =0
virtual FME_Boolean getJobStatus (FMEServerJobStatus &jobStatus) const =0
virtual FME_Boolean getPriority (FME_Int32 &priority) const =0
virtual FME_Boolean getProperty (const IFMEServerString &propName, FME_Boolean &propValue) const =0
virtual FME_Boolean getProperty (const IFMEServerString &propName, FME_Int32 &propValue) const =0
virtual FME_Boolean getProperty (const IFMEServerString &propName, FME_Real32 &propValue) const =0
virtual FME_Boolean getProperty (const IFMEServerString &propName, IFMEServerString &propValue) const =0
virtual FME_Boolean getRequest (IFMEServerString &request) const =0
virtual FME_Boolean getRequesterHost (IFMEServerString &requesterHost) const =0
virtual FME_Boolean getRequesterResultPort (FME_UInt32 &resultPort) const =0
virtual FME_Boolean getRequestKeyword (IFMEServerString &requestKeyword) const =0
virtual FME_Boolean getResultSuccess () const =0
virtual FME_Boolean getServiceMsg (IFMEServerString &serviceMsg) const =0
virtual FME_Boolean getServiceSuccess () const =0
virtual FME_Boolean getStatusMessage (IFMEServerString &statusMsg) const =0
virtual FME_Boolean getStatusNumber (FME_Int32 &statusNum) const =0
virtual FME_Boolean getTimeFinished (IFMEServerString &timeFinished) const =0
virtual FME_Boolean getTimeRequested (IFMEServerString &timeRequested) const =0
virtual FME_Boolean getTimeStarted (IFMEServerString &timeStarted) const =0
virtual FME_Boolean getTransformationSuccess () const =0

Protected Member Functions

 IFMEServerTransformationResult ()
virtual ~IFMEServerTransformationResult ()

Private Member Functions

 IFMEServerTransformationResult (const IFMEServerTransformationResult &other)
IFMEServerTransformationResultoperator= (const IFMEServerTransformationResult &other)

Detailed Description

IFMEServerTransformationResult interface.

Package Overview:

Defines the interface for the FME transformation result object. This object provides a convenience wrapper around a transformation result that is returned by the FME Server. The transformation result object takes the FME Server response string and fully parses it, providing convenient accessor methods for each part of the response.

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

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

Member Function Documentation

virtual void IFMEServerTransformationResult::getAllProperties ( IFMEServerStringArray properties) const [pure virtual]

Gets an unmodifiable view of all the properties that were parsed from the FME Server and FME Server responses. Each property is stored as a pair of consecutive elements in the string array, with the property name preceding its value. A list of all property names can be obtained using getAllPropertyNames(...).

Note that this method returns all property values as strings. Users who desire parsed values should prefer the get*Property(...) family of methods to this method.

Properties defined in the FME Server response take precedence over those defined by the FME Server. Thus, if a property name in the FME Server subsection configuration has the same name as a FME Server property, the value from the FME Server response will be returned in the array, not the value from the FME Server response. If a property is defined multiple times in the FME Server response, the last value in the response string will be used.

Users who need to guarantee they will receive the FME Server response value, even if the same key is defined in the FME Server subsection, should use the specific getter methods (e.g., getPriority()) instead.

Parameters:
propertiesAn IFMEServerStringArray to hold the properties.
virtual void IFMEServerTransformationResult::getAllPropertyNames ( IFMEServerStringArray propNames) const [pure virtual]

Gets an exhaustive list of the names of all properties that were parsed from the FME Server and FME Server responses. These keys can be passed as arguments to getProperty(...) to retrieve their values. It is the client's responsibility to determine the value type for a given key and call the appropriate getProperty(...) method.

Parameters:
propNamesAn IFMEServerStringArray to hold the property names.
virtual FME_Boolean IFMEServerTransformationResult::getDescription ( IFMEServerString description) const [pure virtual]

Gets the description of this request, if one was specified. If no description was specified or the description could not be parsed from the FME Server response, or the description is "null", this method will return FME_FALSE.

Parameters:
descriptionAn IFMEServerString to hold the description.
virtual FME_Boolean IFMEServerTransformationResult::getFMEEngineResponse ( IFMEServerString fmeEngineResponse) const [pure virtual]

Gets the raw, unparsed result string as defined in the FME Server configuration. This is a substring of getFMEServerResponse(...). If no result string was returned by the FME Server, this method will return FME_FALSE and will not change the value of fmeEngineResponse.

Parameters:
fmeEngineResponseAn IFMEServerString to hold the response string.
virtual void IFMEServerTransformationResult::getFMEServerResponse ( IFMEServerString fmeServerResponse) const [pure virtual]

Gets the raw, unparsed response string returned by the FME Server. In general, this information can be accessed more easily by using the atomic getter methods below.

Parameters:
serverResponseAn IFMEServerString to hold the response string.
virtual FME_Boolean IFMEServerTransformationResult::getID ( FME_Int32 &  jobID) const [pure virtual]

Gets the ID assigned to this transformation. If no ID was found in the FME Server response, this method will return FME_FALSE.

Parameters:
idAn FME_Int32 to hold the job ID.
virtual FME_Boolean IFMEServerTransformationResult::getJobStatus ( FMEServerJobStatus jobStatus) const [pure virtual]

Gets the job status. If no status was found in the FME Server response, this method will return FME_FALSE.

Parameters:
jobStatusAn FMEServerJobStatus to hold the job status.
virtual FME_Boolean IFMEServerTransformationResult::getPriority ( FME_Int32 &  priority) const [pure virtual]

Gets the priority of this request. If the priority could not be determined from the FME Server response, this method will return FME_FALSE.

Parameters:
priorityAn FME_Int32 to hold the priority.
virtual FME_Boolean IFMEServerTransformationResult::getProperty ( const IFMEServerString propName,
FME_Boolean &  propValue 
) const [pure virtual]

Gets a boolean value from the FME Server or FME Server response.

Properties defined in the FME Server response will shadow any properties by the same name in the FME Server response. For example, if both the FME Server and FME Server response define a property called "isAuthenticated", then getProperty("isAuthenticated") will return the corresponding value from the FME Server response, not the FME Server response. If a property is defined multiple times in the FME Server response, the last value in the response string will be used.

The following boolean properties should be present in the FME Server response:

  • resultSuccess
  • serviceSuccess

The following boolean properties are included in the default SUCCESS_RESPONSE and FAILURE_RESPONSE directives that ship with the FME Spatial ETL Server:

  • (none)

If the requested property cannot be found or its value cannot be parsed as a boolean, this method returns FME_FALSE.

Parameters:
propNameThe name of the property to look up in the response.
propValueAn FME_Boolean to store the property's value.
virtual FME_Boolean IFMEServerTransformationResult::getProperty ( const IFMEServerString propName,
FME_Int32 &  propValue 
) const [pure virtual]

Gets an integer value from the FME Server or FME Server response.

Properties defined in the FME Server response will shadow any properties by the same name in the FME Server response. For example, if both the FME Server and FME Server response define a property called "userID", then getProperty("userID") will return the corresponding value from the FME Server response, not the FME Server response. If a property is defined multiple times in the FME Server response, the last value in the response string will be used.

The following integer properties should be present in the FME Server response:

  • id
  • requesterResultPort
  • priority

The following integer properties are included in the default SUCCESS_RESPONSE and FAILURE_RESPONSE directives that ship with the FME Spatial ETL Server:

  • PreCommandStatus
  • PostCommandStatus
  • NumFeaturesOutput
  • ResultLifetime

If the requested property cannot be found or its value cannot be parsed as an integer, this method returns FME_FALSE.

Parameters:
propNameThe name of the property to look up in the response.
propValueAn FME_Int32 to store the property's value.
virtual FME_Boolean IFMEServerTransformationResult::getProperty ( const IFMEServerString propName,
FME_Real32 &  propValue 
) const [pure virtual]

Gets a real value from the FME Server or FME Server response.

Properties defined in the FME Server response will shadow any properties by the same name in the FME Server response. For example, if both the FME Server and FME Server response define a property called "complexity", then getProperty("complexity") will return the corresponding value from the FME Server response, not the FME Server response. If a property is defined multiple times in the FME Server response, the last value in the response string will be used.

The following real properties should be present in the FME Server response:

  • (none)

The following real properties are included in the default SUCCESS_RESPONSE and FAILURE_RESPONSE directives that ship with the FME Spatial ETL Server:

  • (none)

If the requested property cannot be found or its value cannot be parsed as a real, this method returns FME_FALSE.

Parameters:
propNameThe name of the property to look up in the response.
propValueAn FME_Real32 to store the property's value.
virtual FME_Boolean IFMEServerTransformationResult::getProperty ( const IFMEServerString propName,
IFMEServerString propValue 
) const [pure virtual]

Gets a string value from the FME Server or FME Server response.

Properties defined in the FME Server response will shadow any properties by the same name in the FME Server response. For example, if both the FME Server and FME Server response define a property called "username", then getProperty("username") will return the corresponding value from the FME Server response, not the FME Server response. If a property is defined multiple times in the FME Server response, the last value in the response string will be used.

The following string properties should be present in the FME Server response:

  • jobStatus
  • result
  • serviceMsg
  • timeRequested
  • timeStarted
  • timeFinished
  • requesterHost
  • request
  • requestKeyword
  • description

The following string properties are included in the default SUCCESS_RESPONSE and FAILURE_RESPONSE directives that ship with the FME Spatial ETL Server:

  • PreCommandErrorMsg
  • PreCommandErrorCmd
  • PostCommandErrorMsg
  • PostCommandErrorCmd
  • ResultDataset
  • ResultLog

If the requested property cannot be found, this method returns FME_FALSE.

Parameters:
propNameThe name of the property to look up in the response.
propValueAn IFMEServerString to store the property's value.
virtual FME_Boolean IFMEServerTransformationResult::getRequest ( IFMEServerString request) const [pure virtual]

Gets the original request string from the client that produced this result. If the request could not be determined from the FME Server response, this method will return FME_FALSE.

Parameters:
requestAn IFMEServerString to hold the request.
virtual FME_Boolean IFMEServerTransformationResult::getRequesterHost ( IFMEServerString requesterHost) const [pure virtual]

Gets the host name of the client to whom the result is to be sent. If the host name could not be determined from the FME Server response, this method will return FME_FALSE.

Parameters:
requesterHostAn IFMEServerString to hold the host name.
virtual FME_Boolean IFMEServerTransformationResult::getRequesterResultPort ( FME_UInt32 &  resultPort) const [pure virtual]

Gets the local port on the client to which the result is to be sent. The client is listening on this port for the result. If the port could not be determined from the FME Server response, this method will return FME_FALSE.

Parameters:
resultPortAn FME_UInt32 to hold the port number.
virtual FME_Boolean IFMEServerTransformationResult::getRequestKeyword ( IFMEServerString requestKeyword) const [pure virtual]

Gets the request keyword string from the client that accompanied the request. If the keyword could not be determined from the FME Server response, this method will return FME_FALSE.

Parameters:
requestKeywordAn IFMEServerString to hold the request keyword.
virtual FME_Boolean IFMEServerTransformationResult::getResultSuccess ( ) const [pure virtual]

Gets a boolean indicating the success or failure of the transformation. If the transformation status could not be determined from the FME Server response, this method will return FME_FALSE.

virtual FME_Boolean IFMEServerTransformationResult::getServiceMsg ( IFMEServerString serviceMsg) const [pure virtual]

Gets the status string describing the status of the FME server operation itself. This differs from the transformation result returned by getRawRequestString(); it indicates if the FME Server succeeded in taking a request and returning a result, or if the FME Server itself failed for some reason. If no message was found in the FME Server response, this method will return FME_FALSE.

Parameters:
serviceMsgAn IFMEServerString to hold the service message.
virtual FME_Boolean IFMEServerTransformationResult::getServiceSuccess ( ) const [pure virtual]

Gets a boolean indicating the success or failure of the FME Server operation itself. This is different from the boolean returned by getResultSuccess() which indicates the status of the result returned by the FME Server. The state indicated by getServiceSuccess() is described by the getServiceMsg() string.

virtual FME_Boolean IFMEServerTransformationResult::getStatusMessage ( IFMEServerString statusMsg) const [pure virtual]

Gets a descriptive String representation of the transformation status. For example, this would be "Transformation successful" when getStatusNumber() == 0. If the status could not be determined from the FME Server response, this method will return FME_FALSE.

Parameters:
statusMsgAn IFMEServerString to hold the status message.
virtual FME_Boolean IFMEServerTransformationResult::getStatusNumber ( FME_Int32 &  statusNum) const [pure virtual]

Gets the status number. A non-zero value indicates failure. If the status could not be determined from the FME Server response, this method will return FME_FALSE.

Parameters:
statusNumAn FME_Int32 to hold the status number.
virtual FME_Boolean IFMEServerTransformationResult::getTimeFinished ( IFMEServerString timeFinished) const [pure virtual]

Gets the time when the transformation request was received from the FME Server and placed in the FME Server's result queue. The time is returned as a string in the following format: "Sat-04-Jul-1998 05:36:06 PM". If the time could not be determined from the FME Server response, this method will return FME_FALSE.

Parameters:
timeFinishedAn IFMEServerString to hold the time.
virtual FME_Boolean IFMEServerTransformationResult::getTimeRequested ( IFMEServerString timeRequested) const [pure virtual]

Gets the time when the transformation request was received by the FME Server and placed in the latter's result queue. The time is returned as a string in the following format: "Sat-04-Jul-1998 05:36:06 PM". If the time could not be determined from the FME Server response, this method will return FME_FALSE.

Parameters:
timeRequestedAn IFMEServerString to hold the time.
virtual FME_Boolean IFMEServerTransformationResult::getTimeStarted ( IFMEServerString timeStarted) const [pure virtual]

Gets the time when the transformation request was taken from the FME Server's request queue and sent to the FME Server. The time is returned as a string in the following format: "Sat-04-Jul-1998 05:36:06 PM". If the time could not be determined from the FME Server response, this method will return FME_FALSE.

Parameters:
timeStartedAn IFMEServerString to hold the time.
virtual FME_Boolean IFMEServerTransformationResult::getTransformationSuccess ( ) const [pure virtual]

Checks whether the transformation was successful. This is a convenience method that is equivalent to checking the value of getJobStatus(). If no job status was found in the FME Server response, this method will return FME_FALSE.

IFMEServerTransformationResult& IFMEServerTransformationResult::operator= ( const IFMEServerTransformationResult other) [private]

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