From 0999fd565d6d629df87d3db38a84d4701b494b3b Mon Sep 17 00:00:00 2001 From: jsdelfino Date: Sat, 26 Dec 2009 03:25:34 +0000 Subject: Simplified server configuration, HTTPD modules now use deployment composite to route service requests, minor fixes to store integration test. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@893939 13f79535-47bb-0310-9956-ffa450edef68 --- sca-cpp/trunk/modules/server/mod-scm.hpp | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) (limited to 'sca-cpp/trunk/modules/server/mod-scm.hpp') diff --git a/sca-cpp/trunk/modules/server/mod-scm.hpp b/sca-cpp/trunk/modules/server/mod-scm.hpp index 586b90190f..c454c6a216 100644 --- a/sca-cpp/trunk/modules/server/mod-scm.hpp +++ b/sca-cpp/trunk/modules/server/mod-scm.hpp @@ -36,11 +36,9 @@ #include "value.hpp" #include "debug.hpp" #include "monad.hpp" -#include "cache.hpp" #include "../eval/primitive.hpp" #include "../eval/driver.hpp" #include "../http/httpd.hpp" -#include "mod-eval.hpp" namespace tuscany { namespace server { @@ -64,36 +62,30 @@ struct evalImplementation { const list px; evalImplementation(const value& impl, const list& px) : impl(impl), px(eval::quotedParameters(primitiveProcedures(px))) { } - const failable operator()(const value& func, const list& params) const { - const value expr = cons(func, append(eval::quotedParameters(params), px)); + const value operator()(const list& params) const { + const value expr = cons(car(params), append(eval::quotedParameters(cdr(params)), px)); debug(expr, "modeval::scm::evalImplementation::input"); gc_pool pool; eval::Env globalEnv = eval::setupEnvironment(pool); const value val = eval::evalScript(expr, impl, globalEnv, pool); debug(val, "modeval::scm::evalImplementation::result"); if (isNil(val)) - return mkfailure("Could not evaluate expression"); - return val; + return mklist(value(), std::string("Could not evaluate expression")); + return mklist(val); } }; /** * Read a script component implementation. */ -const failable readLatestImplementation(const std::string path, const list& px) { +const failable&)>, std::string> readImplementation(const std::string path, const list& px) { std::ifstream is(path.c_str(), std::ios_base::in); if (is.fail() || is.bad()) - return mkfailure("Could not read implementation: " + path); + return mkfailure&)>, std::string>("Could not read implementation: " + path); const value impl = eval::readScript(is); if (isNil(impl)) - return mkfailure("Could not read implementation: " + path); - return ilambda(evalImplementation(impl, px)); -} - -const cached > readImplementation(const std::string& path, const list& px) { - const lambda(std::string, list)> ri(readLatestImplementation); - const lambda ft(latestFileTime); - return cached >(curry(ri, path, px), curry(ft, path)); + return mkfailure&)>, std::string>("Could not read implementation: " + path); + return lambda&)>(evalImplementation(impl, px)); } } -- cgit v1.2.3