summaryrefslogtreecommitdiffstats
path: root/src/uscxml
diff options
context:
space:
mode:
authorStefan Radomski <github@mintwerk.de>2017-05-14 11:35:34 (GMT)
committerStefan Radomski <github@mintwerk.de>2017-05-14 11:35:34 (GMT)
commit1453feb7ca59167c219afb21dfba4ed3ea68d176 (patch)
treea54462ad1d506964c089420e1d8807f6ac1ce770 /src/uscxml
parent6103616a5d463c2ecd8a274b4dff0a404ab35dde (diff)
downloaduscxml-1453feb7ca59167c219afb21dfba4ed3ea68d176.zip
uscxml-1453feb7ca59167c219afb21dfba4ed3ea68d176.tar.gz
uscxml-1453feb7ca59167c219afb21dfba4ed3ea68d176.tar.bz2
Renamed macro and updated W3C Lua tests
Diffstat (limited to 'src/uscxml')
-rw-r--r--src/uscxml/interpreter/BasicContentExecutor.cpp30
-rw-r--r--src/uscxml/messages/Event.h12
2 files changed, 21 insertions, 21 deletions
diff --git a/src/uscxml/interpreter/BasicContentExecutor.cpp b/src/uscxml/interpreter/BasicContentExecutor.cpp
index 61277bd..5defce3 100644
--- a/src/uscxml/interpreter/BasicContentExecutor.cpp
+++ b/src/uscxml/interpreter/BasicContentExecutor.cpp
@@ -67,7 +67,7 @@ void BasicContentExecutor::processSend(XERCESC_NS::DOMElement* element) {
sendEvent.name = ATTR(element, kXMLCharEvent);
}
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in send element eventexpr", element);
+ ERROR_EXECUTION_RETHROW(e, "Syntax error in send element eventexpr", element);
}
try {
@@ -78,7 +78,7 @@ void BasicContentExecutor::processSend(XERCESC_NS::DOMElement* element) {
target = ATTR(element, kXMLCharTarget);
}
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in send element targetexpr", element);
+ ERROR_EXECUTION_RETHROW(e,"Syntax error in send element targetexpr", element);
}
try {
@@ -89,7 +89,7 @@ void BasicContentExecutor::processSend(XERCESC_NS::DOMElement* element) {
type = ATTR(element, kXMLCharType);
}
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in send element typeexpr", element);
+ ERROR_EXECUTION_RETHROW(e, "Syntax error in send element typeexpr", element);
}
try {
@@ -124,7 +124,7 @@ void BasicContentExecutor::processSend(XERCESC_NS::DOMElement* element) {
}
}
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in send element idlocation", element);
+ ERROR_EXECUTION_RETHROW(e, "Syntax error in send element idlocation", element);
}
try {
@@ -148,14 +148,14 @@ void BasicContentExecutor::processSend(XERCESC_NS::DOMElement* element) {
}
}
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in send element delayexpr", element);
+ ERROR_EXECUTION_RETHROW(e, "Syntax error in send element delayexpr", element);
}
try {
// namelist
processNameLists(sendEvent.namelist, element);
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in send element namelist", element);
+ ERROR_EXECUTION_RETHROW(e, "Syntax error in send element namelist", element);
}
@@ -163,7 +163,7 @@ void BasicContentExecutor::processSend(XERCESC_NS::DOMElement* element) {
// params
processParams(sendEvent.params, element);
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in send element param expr", element);
+ ERROR_EXECUTION_RETHROW(e, "Syntax error in send element param expr", element);
}
try {
@@ -173,7 +173,7 @@ void BasicContentExecutor::processSend(XERCESC_NS::DOMElement* element) {
sendEvent.data = elementAsData(contents.front());
}
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in send element content", element);
+ ERROR_EXECUTION_RETHROW(e, "Syntax error in send element content", element);
}
// if (sendReq->dom) {
@@ -431,14 +431,14 @@ void BasicContentExecutor::invoke(XERCESC_NS::DOMElement* element) {
element->setUserData(kXMLCharInvokeId, (void*)invokeId, NULL);
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in invoke element idlocation", element);
+ ERROR_EXECUTION_RETHROW(e, "Syntax error in invoke element idlocation", element);
}
try {
// namelist
processNameLists(invokeEvent.namelist, element);
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in send element namelist", element);
+ ERROR_EXECUTION_RETHROW(e, "Syntax error in send element namelist", element);
}
@@ -446,7 +446,7 @@ void BasicContentExecutor::invoke(XERCESC_NS::DOMElement* element) {
// params
processParams(invokeEvent.params, element);
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in send element param expr", element);
+ ERROR_EXECUTION_RETHROW(e, "Syntax error in send element param expr", element);
}
try {
@@ -467,7 +467,7 @@ void BasicContentExecutor::invoke(XERCESC_NS::DOMElement* element) {
#endif
}
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in invoke element content", element);
+ ERROR_EXECUTION_RETHROW(e, "Syntax error in invoke element content", element);
}
// autoforward
@@ -513,7 +513,7 @@ void BasicContentExecutor::raiseDoneEvent(XERCESC_NS::DOMElement* state, XERCESC
// namelist
processNameLists(doneEvent.namelist, doneData);
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in donedata element namelist", doneData);
+ ERROR_EXECUTION_RETHROW(e, "Syntax error in donedata element namelist", doneData);
}
@@ -521,7 +521,7 @@ void BasicContentExecutor::raiseDoneEvent(XERCESC_NS::DOMElement* state, XERCESC
// params
processParams(doneEvent.params, doneData);
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in donedata element param expr", doneData);
+ ERROR_EXECUTION_RETHROW(e, "Syntax error in donedata element param expr", doneData);
}
try {
@@ -531,7 +531,7 @@ void BasicContentExecutor::raiseDoneEvent(XERCESC_NS::DOMElement* state, XERCESC
doneEvent.data = elementAsData(contents.front());
}
} catch (Event e) {
- ERROR_EXECUTION_THROW3(e,"Syntax error in donedata element content", doneData);
+ ERROR_EXECUTION_RETHROW(e, "Syntax error in donedata element content", doneData);
}
} catch (ErrorEvent exc) {
diff --git a/src/uscxml/messages/Event.h b/src/uscxml/messages/Event.h
index fd9dd42..f40a672 100644
--- a/src/uscxml/messages/Event.h
+++ b/src/uscxml/messages/Event.h
@@ -23,13 +23,14 @@
#include "uscxml/messages/Data.h"
#include "uscxml/util/UUID.h"
-#define ERROR_PLATFORM_THROW(msg) \
+#define ERROR_PLATFORM_THROW(cause) \
uscxml::ErrorEvent e; \
e.name = "error.platform"; \
- e.data.compound["cause"] = uscxml::Data(msg, uscxml::Data::VERBATIM); \
+ e.data.compound["cause"] = uscxml::Data(cause, uscxml::Data::VERBATIM); \
e.data.compound["file"] = uscxml::Data(uscxml::toStr(__FILE__), uscxml::Data::VERBATIM); \
e.data.compound["line"] = uscxml::Data(uscxml::toStr(__LINE__), uscxml::Data::INTERPRETED); \
- throw e; \
+ e.eventType = uscxml::Event::PLATFORM; \
+ throw e;
#define ERROR_EXECUTION(identifier, cause) \
uscxml::ErrorEvent identifier; \
@@ -77,10 +78,9 @@
throw exc;\
}
-#define ERROR_EXECUTION_THROW3(evt,caption,node) \
+#define ERROR_EXECUTION_RETHROW(exc, caption, node) \
{\
- auto it = evt.data.compound.find("cause"); \
- ERROR_EXECUTION2(exc,it!=evt.data.compound.end() ? it->second.atom : "",node); \
+ exc.data.compound["xpath"] = uscxml::Data(DOMUtils::xPathForNode(node), uscxml::Data::VERBATIM); \
exc.data.compound["caption"] = uscxml::Data(caption, uscxml::Data::VERBATIM); \
throw exc;\
}