diff options
Diffstat (limited to 'sca-cpp/trunk/components')
56 files changed, 150 insertions, 98 deletions
diff --git a/sca-cpp/trunk/components/cache/Makefile.am b/sca-cpp/trunk/components/cache/Makefile.am index 1f24d59c72..0240a32bb4 100644 --- a/sca-cpp/trunk/components/cache/Makefile.am +++ b/sca-cpp/trunk/components/cache/Makefile.am @@ -54,4 +54,5 @@ client_test_LDFLAGS = -lxml2 -lcurl -lmozjs dist_noinst_SCRIPTS = memcached-test memcached-ssl-test server-test noinst_PROGRAMS = memcache-test client-test -TESTS = memcached-test memcached-ssl-test server-test +#TESTS = memcached-test memcached-ssl-test server-test +TESTS = memcached-test server-test diff --git a/sca-cpp/trunk/components/cache/datacache.cpp b/sca-cpp/trunk/components/cache/datacache.cpp index f7e812dd18..c26e6eb868 100644 --- a/sca-cpp/trunk/components/cache/datacache.cpp +++ b/sca-cpp/trunk/components/cache/datacache.cpp @@ -56,7 +56,7 @@ const failable<value> get(const value& key, const lambda<value(const list<value> if (isNil(val2)) { ostringstream os; os << "Couldn't get cache entry: " << key; - return mkfailure<value>(str(os), false); + return mkfailure<value>(str(os), 404, false); } // Update level1 cache diff --git a/sca-cpp/trunk/components/cache/memcache.cpp b/sca-cpp/trunk/components/cache/memcache.cpp index 6347eb55de..af710696b3 100644 --- a/sca-cpp/trunk/components/cache/memcache.cpp +++ b/sca-cpp/trunk/components/cache/memcache.cpp @@ -48,7 +48,7 @@ const failable<value> post(const list<value>& params, memcache::MemCached& ch) { const value id = append<value>(car(params), mklist(mkuuid())); const failable<bool> val = memcache::post(id, cadr(params), ch); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return id; } @@ -58,7 +58,7 @@ const failable<value> post(const list<value>& params, memcache::MemCached& ch) { const failable<value> put(const list<value>& params, memcache::MemCached& ch) { const failable<bool> val = memcache::put(car(params), cadr(params), ch); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return value(content(val)); } @@ -68,7 +68,7 @@ const failable<value> put(const list<value>& params, memcache::MemCached& ch) { const failable<value> del(const list<value>& params, memcache::MemCached& ch) { const failable<bool> val = memcache::del(car(params), ch); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return value(content(val)); } @@ -90,7 +90,7 @@ public: return put(cdr(params), ch); if (func == "delete") return del(cdr(params), ch); - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); } private: diff --git a/sca-cpp/trunk/components/cache/memcache.hpp b/sca-cpp/trunk/components/cache/memcache.hpp index 2dcd6ea033..fe77c26671 100644 --- a/sca-cpp/trunk/components/cache/memcache.hpp +++ b/sca-cpp/trunk/components/cache/memcache.hpp @@ -180,7 +180,7 @@ const failable<value> get(const value& key, const MemCached& cache) { if (rc != APR_SUCCESS) { ostringstream os; os << "Couldn't get memcached entry: " << key; - return mkfailure<value>(str(os), false); + return mkfailure<value>(str(os), 404, false); } const value val(scheme::readValue(string(data, size))); diff --git a/sca-cpp/trunk/components/cache/memcached-ssl-test b/sca-cpp/trunk/components/cache/memcached-ssl-test index 6a9dc2cd27..8ef37a0b98 100755 --- a/sca-cpp/trunk/components/cache/memcached-ssl-test +++ b/sca-cpp/trunk/components/cache/memcached-ssl-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ../../modules/http/ssl-ca-conf tmp/ssl localhost ../../modules/http/ssl-cert-conf tmp/ssl localhost server ../../modules/http/ssl-cert-conf tmp/ssl localhost tunnel diff --git a/sca-cpp/trunk/components/cache/memcached-stop b/sca-cpp/trunk/components/cache/memcached-stop index 2b3b66c74d..50d094b9c7 100755 --- a/sca-cpp/trunk/components/cache/memcached-stop +++ b/sca-cpp/trunk/components/cache/memcached-stop @@ -37,4 +37,8 @@ else mc="$memcached_prefix/bin/memcached -d -l $ip -m 4 -p $port" fi -kill `ps -ef | grep -v grep | grep "${mc}" | awk '{ print $2 }'` +k=`ps -ef | grep -v grep | grep "${mc}" | awk '{ print $2 }'` +if [ "$k" != "" ]; then + kill $k +fi + diff --git a/sca-cpp/trunk/components/cache/memcached-test b/sca-cpp/trunk/components/cache/memcached-test index e647c5525e..dc274bd4aa 100755 --- a/sca-cpp/trunk/components/cache/memcached-test +++ b/sca-cpp/trunk/components/cache/memcached-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ./memcached-start tmp 11211 ./memcached-start tmp 11212 ./memcached-start tmp 11213 diff --git a/sca-cpp/trunk/components/cache/partitioner.cpp b/sca-cpp/trunk/components/cache/partitioner.cpp index 609d42f494..ea12699977 100644 --- a/sca-cpp/trunk/components/cache/partitioner.cpp +++ b/sca-cpp/trunk/components/cache/partitioner.cpp @@ -47,7 +47,7 @@ const failable<lambda<value(const list<value>&)> > partition(const value& key, c if (isNil(p)) { ostringstream os; os << "Couldn't get partition number: " << key; - return mkfailure<lambda<value(const list<value>&)> >(str(os), false); + return mkfailure<lambda<value(const list<value>&)> >(str(os), -1, false); } return (const lambda<value(const list<value>&)>)p; } @@ -60,14 +60,14 @@ const failable<value> get(const value& key, const lambda<value(const list<value> // Select partition const failable<lambda<value(const list<value>&)> > p = partition(key, selector, partitions); if (!hasContent(p)) - return mkfailure<value>(reason(p)); + return mkfailure<value>(p); // Get from selected partition const value val = content(p)(mklist<value>("get", key)); if (isNil(val)) { ostringstream os; os << "Couldn't get entry from partition: " << key; - return mkfailure<value>(str(os), false); + return mkfailure<value>(str(os), 404, false); } return val; @@ -82,7 +82,7 @@ const failable<value> post(const value& key, const value& val, const lambda<valu // Select partition const failable<lambda<value(const list<value>&)> > p = partition(id, selector, partitions); if (!hasContent(p)) - return mkfailure<value>(reason(p)); + return mkfailure<value>(p); // Put into select partition content(p)(mklist<value>("put", id, val)); @@ -98,7 +98,7 @@ const failable<value> put(const value& key, const value& val, const lambda<value // Select partition const failable<lambda<value(const list<value>&)> > p = partition(key, selector, partitions); if (!hasContent(p)) - return mkfailure<value>(reason(p)); + return mkfailure<value>(p); // Put into selected partition content(p)(mklist<value>("put", key, val)); @@ -114,7 +114,7 @@ const failable<value> del(const value& key, const lambda<value(const list<value> // Select partition const failable<lambda<value(const list<value>&)> > p = partition(key, selector, partitions); if (!hasContent(p)) - return mkfailure<value>(reason(p)); + return mkfailure<value>(p); // Delete from selected partition content(p)(mklist<value>("delete", key)); diff --git a/sca-cpp/trunk/components/cache/server-test b/sca-cpp/trunk/components/cache/server-test index bc56b1fe19..951159c4c8 100755 --- a/sca-cpp/trunk/components/cache/server-test +++ b/sca-cpp/trunk/components/cache/server-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ../../modules/http/httpd-conf tmp localhost 8090 ../../modules/http/htdocs ../../modules/http/httpd-event-conf tmp ../../modules/server/server-conf tmp diff --git a/sca-cpp/trunk/components/chat/chat-sender.cpp b/sca-cpp/trunk/components/chat/chat-sender.cpp index 5e289d7eac..0672292a06 100644 --- a/sca-cpp/trunk/components/chat/chat-sender.cpp +++ b/sca-cpp/trunk/components/chat/chat-sender.cpp @@ -46,7 +46,7 @@ const failable<value> post(const list<value>& params, XMPPClient& xc) { debug(val, "chat::post::value"); const failable<bool> r = post(to, val, xc); if (!hasContent(r)) - return mkfailure<value>(reason(r)); + return mkfailure<value>(r); return value(mklist<value>(to)); } @@ -96,7 +96,7 @@ public: // Stop the chat sender component if (func != "stop") - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); debug("chat::sender::stop"); // Disconnect and shutdown the worker thread @@ -125,7 +125,7 @@ const failable<value> start(const list<value>& params) { XMPPClient xc(jid, pass, false); const failable<bool> r = connect(xc); if (!hasContent(r)) - return mkfailure<value>(reason(r)); + return mkfailure<value>(r); // Listen and relay messages in a worker thread worker w(3); diff --git a/sca-cpp/trunk/components/chat/chat-sender2.cpp b/sca-cpp/trunk/components/chat/chat-sender2.cpp index 05dec36270..b230d130c1 100644 --- a/sca-cpp/trunk/components/chat/chat-sender2.cpp +++ b/sca-cpp/trunk/components/chat/chat-sender2.cpp @@ -55,12 +55,12 @@ const failable<value> post(const lambda<value(const list<value>&)> jid, const la XMPPClient xc(vjid, vpass); const failable<bool> c = connect(xc); if (!hasContent(c)) - return mkfailure<value>(reason(c)); + return mkfailure<value>(c); // Post the message const failable<bool> r = post(vto, vmsg, xc); if (!hasContent(r)) - return mkfailure<value>(reason(r)); + return mkfailure<value>(r); return value(mklist<value>(vto)); } @@ -79,7 +79,7 @@ public: // Stop the chat sender component if (func != "stop") - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); debug("chat::sender::stop"); return failable<value>(value(lambda<value(const list<value>&)>())); } diff --git a/sca-cpp/trunk/components/chat/chat-sendreceiver.cpp b/sca-cpp/trunk/components/chat/chat-sendreceiver.cpp index ddc12bb164..aac8d69f6c 100644 --- a/sca-cpp/trunk/components/chat/chat-sendreceiver.cpp +++ b/sca-cpp/trunk/components/chat/chat-sendreceiver.cpp @@ -46,7 +46,7 @@ const failable<value> post(const list<value>& params, XMPPClient& xc) { debug(val, "chat::post::value"); const failable<bool> r = post(to, val, xc); if (!hasContent(r)) - return mkfailure<value>(reason(r)); + return mkfailure<value>(r); return value(mklist<value>(to)); } @@ -107,7 +107,7 @@ public: // Stop the chat sender/receiver component if (func != "stop") - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); debug("chat::sendreceiver::stop"); // Disconnect and shutdown the worker thread @@ -138,7 +138,7 @@ const failable<value> start(const list<value>& params) { XMPPClient xc(jid, pass, false); const failable<bool> r = connect(xc); if (!hasContent(r)) - return mkfailure<value>(reason(r)); + return mkfailure<value>(r); // Listen and relay messages in a worker thread worker w(3); diff --git a/sca-cpp/trunk/components/chat/server-test b/sca-cpp/trunk/components/chat/server-test index 4b3a7bfc6a..7b5fabfe14 100755 --- a/sca-cpp/trunk/components/chat/server-test +++ b/sca-cpp/trunk/components/chat/server-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ../../modules/http/httpd-conf tmp localhost 8090 ../../modules/http/htdocs ../../modules/http/httpd-event-conf tmp ../../modules/server/server-conf tmp diff --git a/sca-cpp/trunk/components/chat/vysper-stop b/sca-cpp/trunk/components/chat/vysper-stop index 6ae9246134..0fec98400d 100755 --- a/sca-cpp/trunk/components/chat/vysper-stop +++ b/sca-cpp/trunk/components/chat/vysper-stop @@ -21,5 +21,8 @@ here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $here` java_prefix=`cat $here/../../modules/java/java.prefix` -kill `ps -ef | grep -v grep | grep "${java_prefix}/jre/bin/java" | grep "vysper" | awk '{ print $2 }'` +k=`ps -ef | grep -v grep | grep "${java_prefix}/jre/bin/java" | grep "vysper" | awk '{ print $2 }'` +if [ "$k" != "" ]; then + kill $k +fi diff --git a/sca-cpp/trunk/components/chat/xmpp.hpp b/sca-cpp/trunk/components/chat/xmpp.hpp index cafe342f05..e5f423c270 100644 --- a/sca-cpp/trunk/components/chat/xmpp.hpp +++ b/sca-cpp/trunk/components/chat/xmpp.hpp @@ -291,7 +291,7 @@ const failable<bool> post(const value& to, const value& val, XMPPClient& xc) { const failable<size_t> r = send(stanza, xc); xmpp_stanza_release(stanza); if (!hasContent(r)) - return mkfailure<bool>(reason(r)); + return mkfailure<bool>(r); return true; } @@ -302,7 +302,7 @@ const failable<bool> disconnect(XMPPClient& xc) { xc.disconnecting = true; const failable<size_t> r = send("</stream:stream>", xc); if (!hasContent(r)) - return mkfailure<bool>(reason(r)); + return mkfailure<bool>(r); return true; } diff --git a/sca-cpp/trunk/components/constdb/constdb-test b/sca-cpp/trunk/components/constdb/constdb-test index 3730ed67a4..420b98559c 100755 --- a/sca-cpp/trunk/components/constdb/constdb-test +++ b/sca-cpp/trunk/components/constdb/constdb-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp mkdir -p tmp ./tinycdb -c -m tmp/test.cdb </dev/null diff --git a/sca-cpp/trunk/components/constdb/constdb.cpp b/sca-cpp/trunk/components/constdb/constdb.cpp index 94df433a67..c3b9d63284 100644 --- a/sca-cpp/trunk/components/constdb/constdb.cpp +++ b/sca-cpp/trunk/components/constdb/constdb.cpp @@ -48,7 +48,7 @@ const failable<value> post(const list<value>& params, tinycdb::TinyCDB& cdb) { const value id = append<value>(car(params), mklist(mkuuid())); const failable<bool> val = tinycdb::post(id, cadr(params), cdb); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return id; } @@ -58,7 +58,7 @@ const failable<value> post(const list<value>& params, tinycdb::TinyCDB& cdb) { const failable<value> put(const list<value>& params, tinycdb::TinyCDB& cdb) { const failable<bool> val = tinycdb::put(car(params), cadr(params), cdb); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return value(content(val)); } @@ -68,7 +68,7 @@ const failable<value> put(const list<value>& params, tinycdb::TinyCDB& cdb) { const failable<value> del(const list<value>& params, tinycdb::TinyCDB& cdb) { const failable<bool> val = tinycdb::del(car(params), cdb); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return value(content(val)); } @@ -90,7 +90,7 @@ public: return put(cdr(params), cdb); if (func == "delete") return del(cdr(params), cdb); - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); } private: diff --git a/sca-cpp/trunk/components/constdb/server-test b/sca-cpp/trunk/components/constdb/server-test index 7e98e42bbb..abeceaf98e 100755 --- a/sca-cpp/trunk/components/constdb/server-test +++ b/sca-cpp/trunk/components/constdb/server-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ../../modules/http/httpd-conf tmp localhost 8090 ../../modules/http/htdocs ../../modules/http/httpd-event-conf tmp ../../modules/server/server-conf tmp diff --git a/sca-cpp/trunk/components/constdb/tinycdb.hpp b/sca-cpp/trunk/components/constdb/tinycdb.hpp index 02114cf1ae..c7d4cf520b 100644 --- a/sca-cpp/trunk/components/constdb/tinycdb.hpp +++ b/sca-cpp/trunk/components/constdb/tinycdb.hpp @@ -222,7 +222,7 @@ const failable<bool> rewrite(const lambda<failable<bool>(buffer& buf, const unsi // Open existing db failable<int> ffd = cdbopen(cdb); if (!hasContent(ffd)) - return mkfailure<bool>(reason(ffd)); + return mkfailure<bool>(ffd); const int fd = content(ffd); // Read the db header @@ -307,7 +307,7 @@ const failable<bool> rewrite(const lambda<failable<bool>(buffer& buf, const unsi cdbclose(cdb); failable<int> ffd = cdbopen(cdb); if (!hasContent(ffd)) - return mkfailure<bool>(reason(ffd)); + return mkfailure<bool>(ffd); return true; } @@ -413,7 +413,7 @@ const failable<value> get(const value& key, TinyCDB& cdb) { const failable<int> ffd = cdbopen(cdb); if (!hasContent(ffd)) - return mkfailure<value>(reason(ffd)); + return mkfailure<value>(ffd); const int fd = content(ffd); const string ks(scheme::writeValue(key)); @@ -422,7 +422,7 @@ const failable<value> get(const value& key, TinyCDB& cdb) { if (cdb_seek(fd, c_str(ks), (unsigned int)length(ks), &vlen) <= 0) { ostringstream os; os << "Couldn't get tinycdb entry: " << key; - return mkfailure<value>(str(os)); + return mkfailure<value>(str(os), 404, false); } char* data = gc_cnew(vlen + 1); cdb_bread(fd, data, vlen); diff --git a/sca-cpp/trunk/components/filedb/filedb-test b/sca-cpp/trunk/components/filedb/filedb-test index 6d82936f6d..6d2d66424a 100755 --- a/sca-cpp/trunk/components/filedb/filedb-test +++ b/sca-cpp/trunk/components/filedb/filedb-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp mkdir -p tmp mkdir -p tmp/schemedb mkdir -p tmp/xmldb diff --git a/sca-cpp/trunk/components/filedb/filedb.cpp b/sca-cpp/trunk/components/filedb/filedb.cpp index ac4c3faa6b..21b509a3b7 100644 --- a/sca-cpp/trunk/components/filedb/filedb.cpp +++ b/sca-cpp/trunk/components/filedb/filedb.cpp @@ -48,7 +48,7 @@ const failable<value> post(const list<value>& params, filedb::FileDB& db) { const value id = append<value>(car(params), mklist(mkuuid())); const failable<bool> val = filedb::post(id, cadr(params), db); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return id; } @@ -58,7 +58,7 @@ const failable<value> post(const list<value>& params, filedb::FileDB& db) { const failable<value> put(const list<value>& params, filedb::FileDB& db) { const failable<bool> val = filedb::put(car(params), cadr(params), db); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return value(content(val)); } @@ -68,7 +68,7 @@ const failable<value> put(const list<value>& params, filedb::FileDB& db) { const failable<value> del(const list<value>& params, filedb::FileDB& db) { const failable<bool> val = filedb::del(car(params), db); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return value(content(val)); } @@ -90,7 +90,7 @@ public: return put(cdr(params), db); if (func == "delete") return del(cdr(params), db); - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); } private: diff --git a/sca-cpp/trunk/components/filedb/filedb.hpp b/sca-cpp/trunk/components/filedb/filedb.hpp index ea7638320f..a7151eade1 100644 --- a/sca-cpp/trunk/components/filedb/filedb.hpp +++ b/sca-cpp/trunk/components/filedb/filedb.hpp @@ -125,7 +125,7 @@ const failable<bool> write(const value& v, ostream& os, const string& format) { if (format == "xml") { failable<list<string> > s = writeXML(valuesToElements(v)); if (!hasContent(s)) - return mkfailure<bool>(reason(s)); + return mkfailure<bool>(s); write(content(s), os); return true; } @@ -133,7 +133,7 @@ const failable<bool> write(const value& v, ostream& os, const string& format) { js::JSContext jscx; failable<list<string> > s = json::writeJSON(valuesToElements(v), jscx); if (!hasContent(s)) - return mkfailure<bool>(reason(s)); + return mkfailure<bool>(s); write(content(s), os); return true; } @@ -155,7 +155,7 @@ const failable<value> read(istream& is, const string& format) { js::JSContext jscx; const failable<list<value> > fv = json::readJSON(streamList(is), jscx); if (!hasContent(fv)) - return mkfailure<value>(reason(fv)); + return mkfailure<value>(fv); const value v = elementsToValues(content(fv)); return v; } @@ -223,7 +223,7 @@ const failable<value> get(const value& key, FileDB& db) { if (is.fail()) { ostringstream os; os << "Couldn't get file database entry: " << key; - return mkfailure<value>(str(os)); + return mkfailure<value>(str(os), 404, false); } const failable<value> val = read(is, db.format); diff --git a/sca-cpp/trunk/components/filedb/server-test b/sca-cpp/trunk/components/filedb/server-test index edd5386b08..94afe464e1 100755 --- a/sca-cpp/trunk/components/filedb/server-test +++ b/sca-cpp/trunk/components/filedb/server-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ../../modules/http/httpd-conf tmp localhost 8090 ../../modules/http/htdocs ../../modules/http/httpd-event-conf tmp ../../modules/server/server-conf tmp diff --git a/sca-cpp/trunk/components/http/httpdelete.cpp b/sca-cpp/trunk/components/http/httpdelete.cpp index 109049f75d..d78a4d60df 100644 --- a/sca-cpp/trunk/components/http/httpdelete.cpp +++ b/sca-cpp/trunk/components/http/httpdelete.cpp @@ -57,7 +57,7 @@ public: const value func(car(params)); if (func == "get") return get(url, *ch); - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); } private: diff --git a/sca-cpp/trunk/components/http/httpget.cpp b/sca-cpp/trunk/components/http/httpget.cpp index 59dc231209..8515d6f41e 100644 --- a/sca-cpp/trunk/components/http/httpget.cpp +++ b/sca-cpp/trunk/components/http/httpget.cpp @@ -58,7 +58,7 @@ public: const value func(car(params)); if (func == "get") return get(url, *ch); - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); } private: diff --git a/sca-cpp/trunk/components/http/httppatch.cpp b/sca-cpp/trunk/components/http/httppatch.cpp index 06810e5d90..3e6f7af2c0 100644 --- a/sca-cpp/trunk/components/http/httppatch.cpp +++ b/sca-cpp/trunk/components/http/httppatch.cpp @@ -60,7 +60,7 @@ public: const value func(car(params)); if (func == "get") return get(url, val, *ch); - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); } private: diff --git a/sca-cpp/trunk/components/http/httppost.cpp b/sca-cpp/trunk/components/http/httppost.cpp index f4b85710bb..8d0f526bdc 100644 --- a/sca-cpp/trunk/components/http/httppost.cpp +++ b/sca-cpp/trunk/components/http/httppost.cpp @@ -60,7 +60,7 @@ public: const value func(car(params)); if (func == "get") return get(url, val, *ch); - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); } private: diff --git a/sca-cpp/trunk/components/http/httpput.cpp b/sca-cpp/trunk/components/http/httpput.cpp index 448456652b..c157ee32cc 100644 --- a/sca-cpp/trunk/components/http/httpput.cpp +++ b/sca-cpp/trunk/components/http/httpput.cpp @@ -60,7 +60,7 @@ public: const value func(car(params)); if (func == "get") return get(url, val, *ch); - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); } private: diff --git a/sca-cpp/trunk/components/http/server-test b/sca-cpp/trunk/components/http/server-test index 1deb46aa26..7e3116c59d 100755 --- a/sca-cpp/trunk/components/http/server-test +++ b/sca-cpp/trunk/components/http/server-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ../../modules/http/httpd-conf tmp localhost 8090 ../../modules/http/htdocs ../../modules/server/server-conf tmp ../../modules/server/scheme-conf tmp diff --git a/sca-cpp/trunk/components/kvdb/kvdb-test b/sca-cpp/trunk/components/kvdb/kvdb-test index 3730ed67a4..420b98559c 100755 --- a/sca-cpp/trunk/components/kvdb/kvdb-test +++ b/sca-cpp/trunk/components/kvdb/kvdb-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp mkdir -p tmp ./tinycdb -c -m tmp/test.cdb </dev/null diff --git a/sca-cpp/trunk/components/kvdb/kvdb.cpp b/sca-cpp/trunk/components/kvdb/kvdb.cpp index bab4e5d82b..24a2fb5a16 100644 --- a/sca-cpp/trunk/components/kvdb/kvdb.cpp +++ b/sca-cpp/trunk/components/kvdb/kvdb.cpp @@ -48,7 +48,7 @@ const failable<value> post(const list<value>& params, leveldb::LevelDB& cdb) { const value id = append<value>(car(params), mklist(mkuuid())); const failable<bool> val = leveldb::post(id, cadr(params), cdb); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return id; } @@ -58,7 +58,7 @@ const failable<value> post(const list<value>& params, leveldb::LevelDB& cdb) { const failable<value> put(const list<value>& params, leveldb::LevelDB& cdb) { const failable<bool> val = leveldb::put(car(params), cadr(params), cdb); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return value(content(val)); } @@ -68,7 +68,7 @@ const failable<value> put(const list<value>& params, leveldb::LevelDB& cdb) { const failable<value> del(const list<value>& params, leveldb::LevelDB& cdb) { const failable<bool> val = leveldb::del(car(params), cdb); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return value(content(val)); } @@ -90,7 +90,7 @@ public: return put(cdr(params), cdb); if (func == "delete") return del(cdr(params), cdb); - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); } private: diff --git a/sca-cpp/trunk/components/kvdb/leveldb.hpp b/sca-cpp/trunk/components/kvdb/leveldb.hpp index b26cde73fe..8105f86ec4 100644 --- a/sca-cpp/trunk/components/kvdb/leveldb.hpp +++ b/sca-cpp/trunk/components/kvdb/leveldb.hpp @@ -157,8 +157,7 @@ const failable<int> dbopen(LevelDB& db) { struct stat st; const int s = stat(c_str(db.name), &st); if (s == -1) - return mkfailure<int>( - string("Couldn't leveldb read database stat: ") + db.name); + return mkfailure<int>(string("Couldn't leveldb read database stat: ") + db.name); leveldb::DB* ldb; leveldb::Options options; diff --git a/sca-cpp/trunk/components/kvdb/server-test b/sca-cpp/trunk/components/kvdb/server-test index 1836336c70..ebf01b9b4b 100755 --- a/sca-cpp/trunk/components/kvdb/server-test +++ b/sca-cpp/trunk/components/kvdb/server-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ../../modules/http/httpd-conf tmp localhost 8090 ../../modules/http/htdocs ../../modules/server/server-conf tmp ../../modules/server/scheme-conf tmp diff --git a/sca-cpp/trunk/components/log/log.composite b/sca-cpp/trunk/components/log/log.composite index 97754b534c..c6755f3655 100644 --- a/sca-cpp/trunk/components/log/log.composite +++ b/sca-cpp/trunk/components/log/log.composite @@ -23,6 +23,7 @@ <component name="log"> <implementation.cpp path="." library="liblog"/> + <property name="host"></property> <property name="category">default</property> <service name="log"> <binding.http uri="log"/> @@ -39,6 +40,7 @@ <component name="logger"> <implementation.cpp path="." library="liblogger"/> + <property name="host"></property> <property name="category">default</property> <service name="logger"> <binding.http uri="logger"/> diff --git a/sca-cpp/trunk/components/log/log.cpp b/sca-cpp/trunk/components/log/log.cpp index d43833680d..2e7742cfd7 100644 --- a/sca-cpp/trunk/components/log/log.cpp +++ b/sca-cpp/trunk/components/log/log.cpp @@ -29,6 +29,7 @@ #include "list.hpp" #include "value.hpp" #include "monad.hpp" +#include "../../modules/http/http.hpp" #include "scribe.hpp" namespace tuscany { @@ -37,11 +38,11 @@ namespace log { /** * Post an item to the Scribe log. */ -const failable<value> post(const list<value>& params, const value& category, scribe::Scribe& sc) { +const failable<value> post(const list<value>& params, const value& host, const value& category, scribe::Scribe& sc) { debug(cadr(params), "log::post::value"); - const failable<bool> val = scribe::log(cadr(params), category, sc); + const failable<bool> val = scribe::log(cadr(params), host, category, sc); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return value(mklist<value>(true)); } @@ -50,17 +51,18 @@ const failable<value> post(const list<value>& params, const value& category, scr */ class applyLog { public: - applyLog(const value& category, scribe::Scribe& sc) : category(category), sc(sc) { + applyLog(const value& host, const value& category, scribe::Scribe& sc) : host(host), category(category), sc(sc) { } const value operator()(const list<value>& params) const { const value func(car(params)); if (func == "post") - return post(cdr(params), category, sc); - return tuscany::mkfailure<tuscany::value>(); + return post(cdr(params), host, category, sc); + return mkfailure<value>(); } private: + const value host; const value category; scribe::Scribe& sc; }; @@ -68,16 +70,18 @@ private: /** * Start the component. */ -const failable<value> start(unused const list<value>& params) { +const failable<value> start(const list<value>& params) { // Connect to Scribe scribe::Scribe& sc = *(new (gc_new<scribe::Scribe>()) scribe::Scribe("localhost", 1464)); // Extract the configured category - const value category = ((lambda<value(list<value>)>)car(params))(list<value>()); + const value host = ((lambda<value(list<value>)>)car(params))(list<value>()); + const value category = ((lambda<value(list<value>)>)cadr(params))(list<value>()); + debug(host, "log::start::host"); debug(category, "log::start::category"); // Return the component implementation lambda function - return value(lambda<value(const list<value>&)>(applyLog(category, sc))); + return value(lambda<value(const list<value>&)>(applyLog(host, category, sc))); } } diff --git a/sca-cpp/trunk/components/log/logger.cpp b/sca-cpp/trunk/components/log/logger.cpp index eb18ed30db..d7a54507fb 100644 --- a/sca-cpp/trunk/components/log/logger.cpp +++ b/sca-cpp/trunk/components/log/logger.cpp @@ -30,6 +30,7 @@ #include "list.hpp" #include "value.hpp" #include "monad.hpp" +#include "../../modules/http/http.hpp" #include "scribe.hpp" namespace tuscany { @@ -40,24 +41,25 @@ namespace logger { */ class applyLog { public: - applyLog(const lambda<value(const list<value>&)>& relay, const value& category, scribe::Scribe& sc) : relay(relay), category(category), sc(sc) { + applyLog(const lambda<value(const list<value>&)>& relay, const value& host, const value& category, scribe::Scribe& sc) : relay(relay), host(host), category(category), sc(sc) { } const value operator()(const list<value>& params) const { // Log the function params debug(params, "logger::apply::params"); - scribe::log(params, category, sc); + scribe::log(params, host, category, sc); - // Relay the function + // Relay the function call const failable<value> res = relay(params); // Log the result - scribe::log(res, category, sc); + scribe::log(res, host, category, sc); return res; } private: const lambda<value(const list<value>&)> relay; + const value host; const value category; scribe::Scribe& sc; }; @@ -65,17 +67,19 @@ private: /** * Start the component. */ -const failable<value> start(unused const list<value>& params) { +const failable<value> start(const list<value>& params) { // Connect to Scribe scribe::Scribe& sc = *(new (gc_new<scribe::Scribe>()) scribe::Scribe("localhost", 1464)); // Extract the configured relay service and category const value rel = car(params); - const value category = ((lambda<value(list<value>)>)cadr(params))(list<value>()); + const value host = ((lambda<value(list<value>)>)cadr(params))(list<value>()); + const value category = ((lambda<value(list<value>)>)caddr(params))(list<value>()); + debug(host, "logger::start::host"); debug(category, "logger::start::category"); // Return the component implementation lambda function - return value(lambda<value(const list<value>&)>(applyLog(rel, category, sc))); + return value(lambda<value(const list<value>&)>(applyLog(rel, host, category, sc))); } } diff --git a/sca-cpp/trunk/components/log/scribe-cat.cpp b/sca-cpp/trunk/components/log/scribe-cat.cpp index 7f48ddb59b..fbfdaca533 100644 --- a/sca-cpp/trunk/components/log/scribe-cat.cpp +++ b/sca-cpp/trunk/components/log/scribe-cat.cpp @@ -47,7 +47,6 @@ int cat(const string& host, const string& category, const string& type) { // Write line prefix ostringstream os; - os << "[" << host << "] "; if (length(type) != 0) os << "[" << logTime() << "] [" << type << "] "; const string prefix = str(os); @@ -58,13 +57,14 @@ int cat(const string& host, const string& category, const string& type) { const char* s = fgets(buf + pl, 8192 - pl, stdin); if (s == NULL) return 0; + + // Remove trailing '\n' const size_t l = strlen(s); - if (l < 2) - return 0; - buf[pl + l - 1] = '\0'; + if (l > 0) + buf[pl + l - 1] = '\0'; // Log the line - const failable<bool> val = scribe::log(buf, category, sc); + const failable<bool> val = scribe::log(buf, host, category, sc); if (!hasContent(val)) return 1; } diff --git a/sca-cpp/trunk/components/log/scribe-status.cpp b/sca-cpp/trunk/components/log/scribe-status.cpp index 0e5f03f501..79f7572947 100644 --- a/sca-cpp/trunk/components/log/scribe-status.cpp +++ b/sca-cpp/trunk/components/log/scribe-status.cpp @@ -45,7 +45,7 @@ const int status(const string& host, const int port) { // Interpret and display results if (!hasContent(fs)) { - cerr << reason(fs) << endl; + cerr << reason(fs) << " : " << rcode(fs) << endl; return 2; } const string s = content(fs); diff --git a/sca-cpp/trunk/components/log/scribe-tail-stop b/sca-cpp/trunk/components/log/scribe-tail-stop index b46c1ecca6..0d43570a6f 100755 --- a/sca-cpp/trunk/components/log/scribe-tail-stop +++ b/sca-cpp/trunk/components/log/scribe-tail-stop @@ -38,5 +38,8 @@ fi file=`echo "import os; print os.path.realpath('$file')" | python` cmd="tail -f -n 0 $file" -kill `ps -ef | grep -v grep | grep "${cmd}" | awk '{ print $2 }'` +k=`ps -ef | grep -v grep | grep "${cmd}" | awk '{ print $2 }'` +if [ "$k" != "" ]; then + kill $k +fi diff --git a/sca-cpp/trunk/components/log/scribe.hpp b/sca-cpp/trunk/components/log/scribe.hpp index 7fa420f945..5ae8a50776 100644 --- a/sca-cpp/trunk/components/log/scribe.hpp +++ b/sca-cpp/trunk/components/log/scribe.hpp @@ -98,7 +98,7 @@ private: ::scribe::thrift::scribeClient* client; boost::shared_ptr<apache::thrift::transport::TTransport> transport; - friend const failable<bool> log(const value& val, const value& category, const Scribe& sc); + friend const failable<bool> log(const value& val, const string& host, const value& category, const Scribe& sc); friend const failable<string> status(const Scribe& sc); /** @@ -122,18 +122,20 @@ private: /** * Log an item. */ -const failable<bool> log(const value& val, const value& category, const Scribe& sc) { +const failable<bool> log(const value& val, const string& host, const value& category, const Scribe& sc) { debug(val, "scribe::log::value"); debug(category, "scribe::log::category"); const value cat = isString(category)? value(c_str(category)):category; const string cs(scheme::writeValue(cat)); const string vs(scheme::writeValue(val)); + ostringstream os; + os << "[" << host << "] " << vs; try { ::scribe::thrift::LogEntry entry; entry.category = c_str(cs); - entry.message = c_str(vs); + entry.message = c_str(str(os)); std::vector< ::scribe::thrift::LogEntry> msgs; msgs.push_back(entry); diff --git a/sca-cpp/trunk/components/log/scribed-central-stop b/sca-cpp/trunk/components/log/scribed-central-stop index acded2a482..2d301149b8 100755 --- a/sca-cpp/trunk/components/log/scribed-central-stop +++ b/sca-cpp/trunk/components/log/scribed-central-stop @@ -25,4 +25,8 @@ scribe_prefix=`cat $here/scribe.prefix` thrift_prefix=`cat $here/thrift.prefix` scribed="$scribe_prefix/bin/scribed -c $root/scribe/conf/scribe-central.conf" -kill `ps -ef | grep -v grep | grep "${scribed}" | awk '{ print $2 }'` +k=`ps -ef | grep -v grep | grep "${scribed}" | awk '{ print $2 }'` +if [ "$k" != "" ]; then + kill $k +fi + diff --git a/sca-cpp/trunk/components/log/scribed-client-stop b/sca-cpp/trunk/components/log/scribed-client-stop index 0f9c409183..d6a6345f29 100755 --- a/sca-cpp/trunk/components/log/scribed-client-stop +++ b/sca-cpp/trunk/components/log/scribed-client-stop @@ -25,4 +25,8 @@ scribe_prefix=`cat $here/scribe.prefix` thrift_prefix=`cat $here/thrift.prefix` scribed="$scribe_prefix/bin/scribed -c $root/scribe/conf/scribe-client.conf" -kill `ps -ef | grep -v grep | grep "${scribed}" | awk '{ print $2 }'` +k=`ps -ef | grep -v grep | grep "${scribed}" | awk '{ print $2 }'` +if [ "$k" != "" ]; then + kill $k +fi + diff --git a/sca-cpp/trunk/components/log/server-test b/sca-cpp/trunk/components/log/server-test index 015691f958..6c9cf47135 100755 --- a/sca-cpp/trunk/components/log/server-test +++ b/sca-cpp/trunk/components/log/server-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ../../modules/http/httpd-conf tmp localhost 8090 ../../modules/http/htdocs ../../modules/http/httpd-event-conf tmp ../../modules/server/server-conf tmp diff --git a/sca-cpp/trunk/components/queue/qpidd-stop b/sca-cpp/trunk/components/queue/qpidd-stop index bb43d8aaba..c8af680d78 100755 --- a/sca-cpp/trunk/components/queue/qpidd-stop +++ b/sca-cpp/trunk/components/queue/qpidd-stop @@ -23,4 +23,8 @@ here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $h qpid_prefix=`cat $here/qpidc.prefix` qpidd="$qpid_prefix/sbin/qpidd" -kill `ps -ef | grep -v grep | grep "${qpidd}" | awk '{ print $2 }'` +k=`ps -ef | grep -v grep | grep "${qpidd}" | awk '{ print $2 }'` +if [ "$k" != "" ]; then + kill $k +fi + diff --git a/sca-cpp/trunk/components/queue/queue-listener.cpp b/sca-cpp/trunk/components/queue/queue-listener.cpp index 8d253a670d..3c30e7feca 100644 --- a/sca-cpp/trunk/components/queue/queue-listener.cpp +++ b/sca-cpp/trunk/components/queue/queue-listener.cpp @@ -97,7 +97,7 @@ public: // Stop the component if (func != "stop") - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); debug("queue::listener::stop"); // TODO check why stop() and close() hang in child processes diff --git a/sca-cpp/trunk/components/queue/queue-sender.cpp b/sca-cpp/trunk/components/queue/queue-sender.cpp index ea6e45d988..ff2ede1057 100644 --- a/sca-cpp/trunk/components/queue/queue-sender.cpp +++ b/sca-cpp/trunk/components/queue/queue-sender.cpp @@ -54,7 +54,7 @@ const failable<value> post(const list<value>& params) { debug(cadr(params), "queue::post::value"); const failable<bool> r = post(key, cadr(params), qs); if (!hasContent(r)) - return mkfailure<value>(reason(r)); + return mkfailure<value>(r); return key; } diff --git a/sca-cpp/trunk/components/queue/server-test b/sca-cpp/trunk/components/queue/server-test index 6b572fce6f..269d3f9376 100755 --- a/sca-cpp/trunk/components/queue/server-test +++ b/sca-cpp/trunk/components/queue/server-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ../../modules/http/httpd-conf tmp localhost 8090 ../../modules/http/htdocs ../../modules/http/httpd-event-conf tmp ../../modules/server/server-conf tmp diff --git a/sca-cpp/trunk/components/smtp/server-test b/sca-cpp/trunk/components/smtp/server-test index 55464edc89..c111021c85 100755 --- a/sca-cpp/trunk/components/smtp/server-test +++ b/sca-cpp/trunk/components/smtp/server-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ../../modules/http/httpd-conf tmp localhost 8090 ../../modules/http/htdocs ../../modules/http/httpd-loglevel-conf tmp debug ../../modules/server/server-conf tmp diff --git a/sca-cpp/trunk/components/smtp/smtppost.cpp b/sca-cpp/trunk/components/smtp/smtppost.cpp index a3eae095ef..db2ac9ef18 100644 --- a/sca-cpp/trunk/components/smtp/smtppost.cpp +++ b/sca-cpp/trunk/components/smtp/smtppost.cpp @@ -42,14 +42,14 @@ const failable<value> post(const string& url, const string& user, const string& // Convert value to a content request const failable<list<list<string> > > freq = http::contentRequest(val, url); if (!hasContent(freq)) - return mkfailure<value>(reason(freq)); + return mkfailure<value>(freq); const list<list<string> > req = content(freq); debug(req, "smtp::post::input"); // Setup the CURL session const failable<CURL*> fch = http::setup(url, cs); if (!hasContent(fch)) - return mkfailure<value>(reason(fch)); + return mkfailure<value>(fch); CURL* ch = content(fch); curl_easy_setopt(ch, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL); @@ -129,7 +129,7 @@ public: const value func(car(params)); if (func == "get") return get(url, user, pass, from, to, subject, val, *ch); - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); } private: diff --git a/sca-cpp/trunk/components/sqldb/server-test b/sca-cpp/trunk/components/sqldb/server-test index 666a9a1f0b..db756ec1c4 100755 --- a/sca-cpp/trunk/components/sqldb/server-test +++ b/sca-cpp/trunk/components/sqldb/server-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ../../modules/http/httpd-conf tmp localhost 8090 ../../modules/http/htdocs ../../modules/http/httpd-event-conf tmp ./pgsql-conf tmp diff --git a/sca-cpp/trunk/components/sqldb/sqldb-test b/sca-cpp/trunk/components/sqldb/sqldb-test index bbbbd4d373..cb023fec3a 100755 --- a/sca-cpp/trunk/components/sqldb/sqldb-test +++ b/sca-cpp/trunk/components/sqldb/sqldb-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ./pgsql-conf tmp ./pgsql-start tmp ./pgsql "drop table test;" 1>/dev/null 2>&1 diff --git a/sca-cpp/trunk/components/sqldb/sqldb.cpp b/sca-cpp/trunk/components/sqldb/sqldb.cpp index c2b178f13e..bbf118385e 100644 --- a/sca-cpp/trunk/components/sqldb/sqldb.cpp +++ b/sca-cpp/trunk/components/sqldb/sqldb.cpp @@ -49,7 +49,7 @@ const failable<value> post(const list<value>& params, pgsql::PGSql& pg) { const value id = append<value>(car(params), mklist(mkuuid())); const failable<bool> val = pgsql::post(id, cadr(params), pg); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return id; } @@ -59,7 +59,7 @@ const failable<value> post(const list<value>& params, pgsql::PGSql& pg) { const failable<value> put(const list<value>& params, pgsql::PGSql& pg) { const failable<bool> val = pgsql::put(car(params), cadr(params), pg); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return value(content(val)); } @@ -69,7 +69,7 @@ const failable<value> put(const list<value>& params, pgsql::PGSql& pg) { const failable<value> del(const list<value>& params, pgsql::PGSql& pg) { const failable<bool> val = pgsql::del(car(params), pg); if (!hasContent(val)) - return mkfailure<value>(reason(val)); + return mkfailure<value>(val); return value(content(val)); } @@ -91,7 +91,7 @@ public: return put(cdr(params), *pg); if (func == "delete") return del(cdr(params), *pg); - return tuscany::mkfailure<tuscany::value>(); + return mkfailure<value>(); } private: diff --git a/sca-cpp/trunk/components/sqldb/standby-test b/sca-cpp/trunk/components/sqldb/standby-test index fbb27b5bc3..3c91e477e4 100755 --- a/sca-cpp/trunk/components/sqldb/standby-test +++ b/sca-cpp/trunk/components/sqldb/standby-test @@ -18,12 +18,13 @@ # under the License. # Setup +rm -rf tmp ../../modules/http/httpd-conf tmp/master localhost 8090 tmp/master/htdocs ../../modules/http/httpd-event-conf tmp ./pgsql-conf tmp/master 5432 ./pgsql-start tmp/master -./pgsql localhost 5432 "drop table test;" 1>/dev/null 2>&1 -./pgsql localhost 5432 "create table test(key text, value text);" 1>/dev/null 2>&1 +./pgsql localhost 6432 "drop table test;" 1>/dev/null 2>&1 +./pgsql localhost 6432 "create table test(key text, value text);" 1>/dev/null 2>&1 ../../modules/http/httpd-start tmp/master sleep 2 ./pgsql-standby-conf tmp/standby 5433 localhost 5432 8090 diff --git a/sca-cpp/trunk/components/webservice/axis2.hpp b/sca-cpp/trunk/components/webservice/axis2.hpp index 62797d86f2..7630b54295 100644 --- a/sca-cpp/trunk/components/webservice/axis2.hpp +++ b/sca-cpp/trunk/components/webservice/axis2.hpp @@ -112,7 +112,7 @@ const failable<axiom_node_t*> stringToAxiomNode(const string& s, const Axis2Cont const failable<axiom_node_t*> valuesToAxiomNode(const list<value>& l, const Axis2Context& ax) { const failable<list<string> > xml = writeXML(valuesToElements(l), false); if (!hasContent(xml)) - return mkfailure<axiom_node_t*>(reason(xml)); + return mkfailure<axiom_node_t*>(xml); ostringstream os; write(content(xml), os); return stringToAxiomNode(str(os), ax); @@ -136,7 +136,7 @@ const failable<const string> axiomNodeToString(axiom_node_t* node, const Axis2Co const failable<const list<value> > axiomNodeToValues(axiom_node_t* node, const Axis2Context& ax) { const failable<const string> s = axiomNodeToString(node, ax); if (!hasContent(s)) - return mkfailure<const list<value> >(reason(s)); + return mkfailure<const list<value> >(s); istringstream is(content(s)); const failable<const list<value> > l = readXML(streamList(is)); if (!hasContent(l)) @@ -170,7 +170,7 @@ const failable<value> evalExpr(const value& expr, const Axis2Context& ax) { // Construct request Axiom node const failable<axiom_node_t*> req = valuesToAxiomNode(param, ax); if (!hasContent(req)) - return mkfailure<value>(reason(req)); + return mkfailure<value>(req); // Call the Web service axiom_node_t* res = axis2_svc_client_send_receive(client, env(ax), content(req)); @@ -182,7 +182,7 @@ const failable<value> evalExpr(const value& expr, const Axis2Context& ax) { // Parse result Axiom node const failable<const list<value> > lval = axiomNodeToValues(res, ax); if (!hasContent(lval)) - return mkfailure<value>(reason(lval)); + return mkfailure<value>(lval); const value rval = content(lval); debug(rval, "webservice::evalExpr::result"); diff --git a/sca-cpp/trunk/components/webservice/server-test b/sca-cpp/trunk/components/webservice/server-test index 35cca9f7ad..cb12accbfb 100755 --- a/sca-cpp/trunk/components/webservice/server-test +++ b/sca-cpp/trunk/components/webservice/server-test @@ -18,6 +18,7 @@ # under the License. # Setup +rm -rf tmp ../../modules/http/httpd-conf tmp localhost 8090 ../../modules/http/htdocs ../../modules/http/httpd-event-conf tmp ../../modules/server/server-conf tmp diff --git a/sca-cpp/trunk/components/webservice/webservice-listener.cpp b/sca-cpp/trunk/components/webservice/webservice-listener.cpp index e3347fa186..29ebef4bcb 100644 --- a/sca-cpp/trunk/components/webservice/webservice-listener.cpp +++ b/sca-cpp/trunk/components/webservice/webservice-listener.cpp @@ -47,7 +47,7 @@ extern "C" { const value redirectToAxis2(const string& uri, request_rec* r, const value& relay) { const failable<request_rec*, int> nr = httpd::internalRedirectRequest(uri, r); if (!hasContent(nr)) - return value(reason(nr)); + return value(reason(nr), rcode(nr)); ap_set_module_config(content(nr)->request_config, &axis2_module, const_cast<void*>((const void*)&relay)); return value(httpd::internalRedirect(content(nr))); } |