fintp_base
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FinTP::MqFilter Class Reference

#include <MqFilter.h>

Inheritance diagram for FinTP::MqFilter:

Public Member Functions

 MqFilter ()
 
 ~MqFilter ()
 
bool canLogPayload ()
 
bool isMethodSupported (FilterMethod method, bool asClient)
 
FilterResult ProcessMessage (XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *inputOutputData, NameValueCollection &transportHeaders, bool asClient)
 
FilterResult ProcessMessage (const XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *inputData, AbstractFilter::buffer_type outputData, NameValueCollection &transportHeaders, bool asClient)
 
FilterResult ProcessMessage (AbstractFilter::buffer_type inputData, XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *outputData, NameValueCollection &transportHeaders, bool asClient)
 
FilterResult ProcessMessage (AbstractFilter::buffer_type inputData, AbstractFilter::buffer_type outputData, NameValueCollection &transportHeaders, bool asClient)
 
FilterResult ProcessMessage (const XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *inputData, unsigned char **outputData, NameValueCollection &transportHeaders, bool asClient)
 
FilterResult ProcessMessage (AbstractFilter::buffer_type inputData, unsigned char **outputData, NameValueCollection &transportHeaders, bool asClient)
 
void Init ()
 
void Reply (const string &buffer, const NameValueCollection &transportHeaders, long feedback)
 Use this method to send a reply MQ message as response to a request. More...
 
void Rollback ()
 
void Commit ()
 
void Abort ()
 If filter proccess batches the entire batch is moved to DEAD.LETTER by Cleanup() for further details see MqFilter::CleanUp() More...
 
void Cleanup ()
 This Method is used by MqFilter::Abort()to move al messages to DEAD.LETTER. More...
 
bool isBatch () const
 
string getQueueManagerName () const
 
string getTransportURI () const
 
string getQueueName () const
 
TransportHelper::TRANSPORT_HELPER_TYPE getHelperType () const
 
bool isTransportType ()
 
- Public Member Functions inherited from FinTP::AbstractFilter
virtual ~AbstractFilter ()
 Destructor. More...
 
const NameValueCollection & getProperties () const
 
void setLogFile (const string &filename)
 sets the name of the file where the payload will be logged More...
 
string getLogFile () const
 gets the name of the file where the payload will be logged More...
 
void addProperty (const string &name, const string &value)
 
FilterType::FilterTypeEnum getFilterType () const
 

Static Public Attributes

static const string MQQUEUE = "MQQueue"
 
static const string MQBACKUPQUEUE = "MQBackupQueue"
 
static const string MQMANAGER = "MQQMgr"
 
static const string MQURI = "MQURI"
 
static const string MQHELPERTYPE = "MQManagerType"
 
static const string MQBATCH = "batch"
 
static const string MQMSGSIZE = "MQMSGSIZE"
 
static const string MQMSGID = "MQMSGID"
 
static const string MQGROUPID = "MQGROUPID"
 
static const string MQLASTMSG = "MQLASTMSG"
 
static const string MQMSGCORELID = "MQMSGCORELID"
 
static const string MQREPLYQUEUE = "MQREPLYQUEUE"
 
static const string MQREPLYQUEUEMANAGER = "MQREPLYQUEUEMANAGER"
 
static const string MQREPLYOPTIONS = "MQREPLYOPTIONS"
 
static const string MQRPLTransportURI = "MQRplChDef"
 
static const string MQRPLMESSAGETYPE = "MQRplMsgType"
 
static const string MQRPLUSRDATA = "MQRplUsrData"
 
static const string MQRPLMESSAGEFORMAT = "MQRplMsgFmt"
 
static const string MQMESSAGETYPE = "MQMESSAGETYPE"
 
static const string MQFEEDBACK = "MQFEEDBACK"
 
static const string MQFORMAT = "format"
 
static const string MQAPPNAME = "APPNAME"
 
static const string MQSEQUENCE = "MQSEQUENCE"
 
static const string MQSSLKEYREPOSITORY = "MQKEYREPOSITORY"
 
static const string MQSSLCYPHERSPEC = "MQSSLCYPHERSPEC"
 
static const string MQSSLPEERNAME = "MQSSLPEERNAME"
 
static const string MQHELPERRETRIES = "MQHELPERRETRIES"
 

Private Member Functions

void ValidateProperties ()
 private methods implementation More...
 
string getQueueManagerName (NameValueCollection &transportHeaders) const
 
string getTransportURI (const NameValueCollection &transportHeaders) const
 
string getReplyTransportURI (const NameValueCollection &transportHeaders) const
 
string getQueueName (NameValueCollection &transportHeaders) const
 
string getBackupQueueName (NameValueCollection &transportHeaders) const
 
string getMessageId (NameValueCollection &transportHeaders) const
 
string getGroupId (NameValueCollection &transportHeaders) const
 
string getCorrelationId (NameValueCollection &transportHeaders) const
 
string getSSLKeyRepository (const NameValueCollection &transportHeaders) const
 
string getSSLCypherSpec (const NameValueCollection &transportHeaders) const
 
string getSSLPeerName (const NameValueCollection &transportHeaders) const
 
void setTransportHeaders (NameValueCollection &transportHeaders, bool asClient)
 
string getFormat ()
 
bool isBatch (NameValueCollection &transportHeaders) const
 

Private Attributes

string m_QueueManagerName
 
string m_QueueName
 
string m_BackupQueueName
 
string m_MessageId
 
string m_GroupId
 
string m_CorrelationId
 
string m_CrtBatchId
 
BatchManager< BatchMQStorage > * m_BatchManager
 
TransportHelper * m_CrtHelper
 
TransportHelper::TRANSPORT_HELPER_TYPE m_HelperType
 

Additional Inherited Members

- Public Types inherited from FinTP::AbstractFilter
enum  FilterResult { Completed = 1, Fail = 2 }
 Return completed if the filter has successfully processed the message. More...
 
enum  FilterMethod { XmlToXml = 0, XmlToBuffer = 1, BufferToXml = 2, BufferToBuffer = 3 }
 Methods for filters. More...
 
typedef WorkItem< ManagedBuffer > buffer_type
 
- Static Public Member Functions inherited from FinTP::AbstractFilter
static string ToString (const FilterMethod type)
 
- Protected Member Functions inherited from FinTP::AbstractFilter
 AbstractFilter (FilterType::FilterTypeEnum type)
 Constructor. More...
 
- Protected Attributes inherited from FinTP::AbstractFilter
NameValueCollection m_Properties
 Collection of name-value pairs = additional properties for the filter e.g. More...
 
FilterType::FilterTypeEnum m_FilterType
 
string m_LogPayloadFile
 

Constructor & Destructor Documentation

MqFilter::MqFilter ( )
MqFilter::~MqFilter ( )

Member Function Documentation

void MqFilter::Abort ( )
virtual

If filter proccess batches the entire batch is moved to DEAD.LETTER by Cleanup() for further details see MqFilter::CleanUp()

Reimplemented from FinTP::AbstractFilter.

bool MqFilter::canLogPayload ( )
virtual

Reimplemented from FinTP::AbstractFilter.

void MqFilter::Cleanup ( )

This Method is used by MqFilter::Abort()to move al messages to DEAD.LETTER.

::setCleaningUp() tell the storage to use the suitable get() method that move message to DEAD.LETTER see BatchManager<BatchMQStorage>::deqeue() In MqPublisher MqPublisher::Abort() was called only if entire batch was retried for proper MqPublisher::m_BackoutCont. When the code is getting here the batch will not be proccess any more

void MqFilter::Commit ( )
virtual

Reimplemented from FinTP::AbstractFilter.

string MqFilter::getBackupQueueName ( NameValueCollection &  transportHeaders) const
private
string MqFilter::getCorrelationId ( NameValueCollection &  transportHeaders) const
private
string MqFilter::getFormat ( )
private
string MqFilter::getGroupId ( NameValueCollection &  transportHeaders) const
private
TransportHelper::TRANSPORT_HELPER_TYPE MqFilter::getHelperType ( ) const
string MqFilter::getMessageId ( NameValueCollection &  transportHeaders) const
private
string MqFilter::getQueueManagerName ( ) const
virtual

Reimplemented from FinTP::AbstractFilter.

string MqFilter::getQueueManagerName ( NameValueCollection &  transportHeaders) const
private
string MqFilter::getQueueName ( ) const
virtual

Reimplemented from FinTP::AbstractFilter.

string MqFilter::getQueueName ( NameValueCollection &  transportHeaders) const
private
string MqFilter::getReplyTransportURI ( const NameValueCollection &  transportHeaders) const
private
string MqFilter::getSSLCypherSpec ( const NameValueCollection &  transportHeaders) const
private
string MqFilter::getSSLKeyRepository ( const NameValueCollection &  transportHeaders) const
private
string MqFilter::getSSLPeerName ( const NameValueCollection &  transportHeaders) const
private
string MqFilter::getTransportURI ( ) const
virtual

Reimplemented from FinTP::AbstractFilter.

string MqFilter::getTransportURI ( const NameValueCollection &  transportHeaders) const
private
void MqFilter::Init ( )
virtual

Reimplemented from FinTP::AbstractFilter.

bool MqFilter::isBatch ( ) const
virtual

Reimplemented from FinTP::AbstractFilter.

bool MqFilter::isBatch ( NameValueCollection &  transportHeaders) const
private
bool MqFilter::isMethodSupported ( AbstractFilter::FilterMethod  method,
bool  asClient 
)
virtual

Reimplemented from FinTP::AbstractFilter.

bool FinTP::MqFilter::isTransportType ( )
inlinevirtual

Reimplemented from FinTP::AbstractFilter.

AbstractFilter::FilterResult MqFilter::ProcessMessage ( XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *  inputOutputData,
NameValueCollection &  transportHeaders,
bool  asClient 
)
virtual

Implements FinTP::AbstractFilter.

AbstractFilter::FilterResult MqFilter::ProcessMessage ( const XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *  inputData,
AbstractFilter::buffer_type  outputData,
NameValueCollection &  transportHeaders,
bool  asClient 
)
virtual

Implements FinTP::AbstractFilter.

AbstractFilter::FilterResult MqFilter::ProcessMessage ( AbstractFilter::buffer_type  inputData,
XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *  outputData,
NameValueCollection &  transportHeaders,
bool  asClient 
)
virtual

Implements FinTP::AbstractFilter.

AbstractFilter::FilterResult MqFilter::ProcessMessage ( AbstractFilter::buffer_type  inputData,
AbstractFilter::buffer_type  outputData,
NameValueCollection &  transportHeaders,
bool  asClient 
)
virtual

Implements FinTP::AbstractFilter.

FilterResult FinTP::MqFilter::ProcessMessage ( const XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *  inputData,
unsigned char **  outputData,
NameValueCollection &  transportHeaders,
bool  asClient 
)
inlinevirtual

Implements FinTP::AbstractFilter.

FilterResult FinTP::MqFilter::ProcessMessage ( AbstractFilter::buffer_type  inputData,
unsigned char **  outputData,
NameValueCollection &  transportHeaders,
bool  asClient 
)
inlinevirtual

Implements FinTP::AbstractFilter.

void MqFilter::Reply ( const string &  buffer,
const NameValueCollection &  transportHeaders,
long  feedback 
)

Use this method to send a reply MQ message as response to a request.

This method is part of a scenario of sending back report messages via Connector:FilterChain:MqFilter. Scenario not fully implemented yet

void MqFilter::Rollback ( )
virtual

Reimplemented from FinTP::AbstractFilter.

void MqFilter::setTransportHeaders ( NameValueCollection &  transportHeaders,
bool  asClient 
)
private
void MqFilter::ValidateProperties ( )
private

private methods implementation

Member Data Documentation

string FinTP::MqFilter::m_BackupQueueName
private
BatchManager<BatchMQStorage>* FinTP::MqFilter::m_BatchManager
private
string FinTP::MqFilter::m_CorrelationId
private
string FinTP::MqFilter::m_CrtBatchId
private
TransportHelper* FinTP::MqFilter::m_CrtHelper
private
string FinTP::MqFilter::m_GroupId
private
TransportHelper::TRANSPORT_HELPER_TYPE FinTP::MqFilter::m_HelperType
private
string FinTP::MqFilter::m_MessageId
private
string FinTP::MqFilter::m_QueueManagerName
private
string FinTP::MqFilter::m_QueueName
private
const string MqFilter::MQAPPNAME = "APPNAME"
static
const string MqFilter::MQBACKUPQUEUE = "MQBackupQueue"
static
const string MqFilter::MQBATCH = "batch"
static
const string MqFilter::MQFEEDBACK = "MQFEEDBACK"
static
const string MqFilter::MQFORMAT = "format"
static
const string MqFilter::MQGROUPID = "MQGROUPID"
static
const string MqFilter::MQHELPERRETRIES = "MQHELPERRETRIES"
static
const string MqFilter::MQHELPERTYPE = "MQManagerType"
static
const string MqFilter::MQLASTMSG = "MQLASTMSG"
static
const string MqFilter::MQMANAGER = "MQQMgr"
static
const string MqFilter::MQMESSAGETYPE = "MQMESSAGETYPE"
static
const string MqFilter::MQMSGCORELID = "MQMSGCORELID"
static
const string MqFilter::MQMSGID = "MQMSGID"
static
const string MqFilter::MQMSGSIZE = "MQMSGSIZE"
static
XERCES_CPP_NAMESPACE_USE const string MqFilter::MQQUEUE = "MQQueue"
static
const string MqFilter::MQREPLYOPTIONS = "MQREPLYOPTIONS"
static
const string MqFilter::MQREPLYQUEUE = "MQREPLYQUEUE"
static
const string MqFilter::MQREPLYQUEUEMANAGER = "MQREPLYQUEUEMANAGER"
static
const string MqFilter::MQRPLMESSAGEFORMAT = "MQRplMsgFmt"
static
const string MqFilter::MQRPLMESSAGETYPE = "MQRplMsgType"
static
const string MqFilter::MQRPLTransportURI = "MQRplChDef"
static
const string MqFilter::MQRPLUSRDATA = "MQRplUsrData"
static
const string MqFilter::MQSEQUENCE = "MQSEQUENCE"
static
const string MqFilter::MQSSLCYPHERSPEC = "MQSSLCYPHERSPEC"
static
const string MqFilter::MQSSLKEYREPOSITORY = "MQKEYREPOSITORY"
static
const string MqFilter::MQSSLPEERNAME = "MQSSLPEERNAME"
static
const string MqFilter::MQURI = "MQURI"
static

The documentation for this class was generated from the following files: