21 #ifndef ROUTINGACTIONS_H
22 #define ROUTINGACTIONS_H
24 #include "StringUtil.h"
25 #include "XSLT/XSLTFilter.h"
32 #define ENRICHFIELDSCOUNT 10
36 #if defined( TESTDLL_EXPORT ) || defined ( TESTDLL_IMPORT )
37 friend class RoutingActionsTest;
41 friend class RoutingStructures;
83 m_Action( action ), m_Param( param )
90 string Perform(
RoutingMessage* message,
const int userId,
bool bulk =
false )
const;
92 string ToString()
const;
98 void setText(
const string& text );
99 void setSessionCode(
const string& sessionCode ) { m_SessionCode = sessionCode; }
101 static void CreateXSLTFilter();
113 static void internalPerformMoveTo(
RoutingMessage* message,
const string& queue );
114 static void internalPerformTransformMessage(
RoutingMessage* message,
const string& xsltFilename,
const string& sessionCode )
116 internalPerformTransformMessage( message, xsltFilename, sessionCode, NameValueCollection() );
118 static void internalPerformTransformMessage(
RoutingMessage* message,
const string& xsltFilename,
const string& sessionCode,
const NameValueCollection& addParams );
119 static void internalPerformAggregate(
RoutingMessage* message,
const bool dummy );
120 static void internalPerformReactivate(
RoutingMessage* message,
const string& tableName );
121 static void internalPerformReactivate(
RoutingMessage* message,
const string& tableName,
const RoutingAggregationCode& reactAgregationCode );
122 static void internalPerformSendReply(
RoutingMessage* message,
const string& tableName,
bool bulk =
false );
123 static void internalPerformChangeHoldStatus(
RoutingMessage* message,
const bool value );
133 void internalPerformEnrichMessage(
RoutingMessage* message )
const;
138 internalPerformMoveTo( message, m_Param );
143 internalPerformAggregate( message,
true );
149 internalPerformChangeHoldStatus( message, ( m_Param ==
"true" ) || ( m_Param ==
"1" ) );
154 message->
setPriority( StringUtil::ParseULong( m_Param ) );
157 void internalPerformChangeValueDate(
RoutingMessage* message )
const;
159 void internalPerformTransformMessage(
RoutingMessage* message,
bool bulk =
false )
const;
161 void internalPerformSendReply(
RoutingMessage* message,
bool bulk =
false )
const
163 internalPerformSendReply( message, m_Param, bulk );
166 void internalPerformHoldQueue(
const RoutingMessage* message,
bool holdStatus )
const
174 internalPerformReactivate( message, m_Param );
197 virtual XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument*
getEnrichData(
const string& idValue ) = 0;
223 inline EnrichFromList(
const string& xsltFile,
const string& table,
const string& idPath, RoutingMessageEvaluator* evaluator ):
EnrichTemplate( xsltFile, evaluator),
228 XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument*
getEnrichData(
const string& idFilterValue );
241 XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument*
getEnrichData(
const string& idFilterValue );
244 #endif // ROUTINGACTIONS_H