summaryrefslogtreecommitdiffstats
path: root/src/uscxml/Interpreter.cpp
diff options
context:
space:
mode:
authorStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-10-28 17:26:38 (GMT)
committerStefan Radomski <radomski@tk.informatik.tu-darmstadt.de>2013-10-28 17:26:38 (GMT)
commita68b6c1d31cb94675dd4dda0a2da11d8e83063c3 (patch)
treed96b56f209f2b65c703be4e611a7e3e6da899067 /src/uscxml/Interpreter.cpp
parent1be1af2d15375dbbf20cd07e85afdf3cee23c992 (diff)
downloaduscxml-a68b6c1d31cb94675dd4dda0a2da11d8e83063c3.zip
uscxml-a68b6c1d31cb94675dd4dda0a2da11d8e83063c3.tar.gz
uscxml-a68b6c1d31cb94675dd4dda0a2da11d8e83063c3.tar.bz2
Bug fixes (see details)
- No more 100-continue HTTP header - Correctly delegate HTTP requests - More elaborate expressions when communicating via HTTP - Fixed off-by-one in JSCNodeSet
Diffstat (limited to 'src/uscxml/Interpreter.cpp')
-rw-r--r--src/uscxml/Interpreter.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/uscxml/Interpreter.cpp b/src/uscxml/Interpreter.cpp
index b7a9d33..bb54c6f 100644
--- a/src/uscxml/Interpreter.cpp
+++ b/src/uscxml/Interpreter.cpp
@@ -917,7 +917,7 @@ void InterpreterImpl::send(const Arabica::DOM::Node<std::string>& element) {
processContentElement(contents[0], sendReq.dom, sendReq.content, expr);
if (expr.length() > 0 && _dataModel) {
try {
- sendReq.content =_dataModel.evalAsString(expr);
+ sendReq.data = _dataModel.getStringAsData(expr);
} catch (Event e) {
e.name = "error.execution";
receiveInternal(e);
@@ -1055,7 +1055,7 @@ void InterpreterImpl::invoke(const Arabica::DOM::Node<std::string>& element) {
processContentElement(contents[0], invokeReq.dom, invokeReq.content, expr);
if (expr.length() > 0 && _dataModel) {
try {
- invokeReq.content =_dataModel.evalAsString(expr);
+ invokeReq.data =_dataModel.getStringAsData(expr);
} catch (Event e) {
e.name = "error.execution";
receiveInternal(e);
@@ -1749,8 +1749,10 @@ NodeSet<std::string> InterpreterImpl::filterChildElements(const std::string& tag
NodeSet<std::string> filteredChildElems;
NodeList<std::string> childs = node.getChildNodes();
for (unsigned int i = 0; i < childs.getLength(); i++) {
- if (childs.item(i).getNodeType() != Node_base::ELEMENT_NODE ||
- !iequals(TAGNAME(childs.item(i)), tagName))
+ if (childs.item(i).getNodeType() != Node_base::ELEMENT_NODE)
+ continue;
+// std::cout << tagName << " vs " << TAGNAME(childs.item(i)) << std::endl;
+ if (!iequals(TAGNAME(childs.item(i)), tagName))
continue;
filteredChildElems.push_back(childs.item(i));
}