Author: jsdelfino
Date: Sun Mar 13 19:24:14 2011
New Revision: 1081206

URL: http://svn.apache.org/viewvc?rev=1081206&view=rev
Log:
Fix app link creation and save one HTTP proxy hop.

Modified:
    tuscany/sca-cpp/trunk/modules/edit/apps.py
    tuscany/sca-cpp/trunk/modules/server/mod-eval.hpp

Modified: tuscany/sca-cpp/trunk/modules/edit/apps.py
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/apps.py?rev=1081206&r1=1081205&r2=1081206&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/apps.py (original)
+++ tuscany/sca-cpp/trunk/modules/edit/apps.py Sun Mar 13 19:24:14 2011
@@ -29,6 +29,7 @@ def appid(id):
 def mkapplink(id):
     try:
         os.symlink('../../../../../nuvem/nuvem-parallel/nuvem', 'apps/' + 
car(id) + '/nuvem')
+        os.symlink('../../../../components', 'apps/' + car(id) + '/lib')
         os.mkdir('apps/' + car(id) + '/htdocs')
         os.symlink('../../../htdocs/login', 'apps/' + car(id) + 
'/htdocs/login');
         os.symlink('../../../htdocs/logout', 'apps/' + car(id) + 
'/htdocs/logout');

Modified: tuscany/sca-cpp/trunk/modules/server/mod-eval.hpp
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/server/mod-eval.hpp?rev=1081206&r1=1081205&r2=1081206&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/server/mod-eval.hpp (original)
+++ tuscany/sca-cpp/trunk/modules/server/mod-eval.hpp Sun Mar 13 19:24:14 2011
@@ -292,7 +292,7 @@ int translate(request_rec *r) {
 }
 
 /**
- * Make an HTTP proxy lambda.
+ * Make an HTTP proxy lambda to a component reference.
  */
 const value mkhttpProxy(const ServerConf& sc, const string& ref, const string& 
base) {
     const string uri = base + ref;
@@ -301,6 +301,14 @@ const value mkhttpProxy(const ServerConf
 }
 
 /**
+ * Make an HTTP proxy lambda to an absolute URI
+ */
+const value mkhttpProxy(const ServerConf& sc, const string& uri) {
+    debug(uri, "modeval::mkhttpProxy::uri");
+    return lambda<value(const list<value>&)>(http::proxy(uri, "", "", "", 
sc.p));
+}
+
+/**
  * Return a component implementation proxy lambda.
  */
 class implProxy {
@@ -345,8 +353,10 @@ const value mkrefProxy(const ServerConf&
     debug(target, "modeval::mkrefProxy::target");
 
     // Use an HTTP proxy or an internal proxy to the component implementation
-    if (isNil(target) || httpd::isAbsolute(target))
+    if (isNil(target))
         return mkhttpProxy(sc, scdl::name(ref), base);
+    if (httpd::isAbsolute(target))
+        return mkhttpProxy(sc, target);
     return mkimplProxy(sc, car(pathValues(target)));
 }
 
@@ -507,7 +517,7 @@ const value evalComponent(ServerConf& sc
     base << sc.wiringServerName << "/references/" << string(scdl::name(comp)) 
<< "/";
     const list<value> rpx(refProxies(sc, scdl::references(comp), str(base)));
 
-    // Convert component proxies to configured proxy lambdas
+    // Convert component properties to configured proxy lambdas
     const list<value> ppx(propProxies(scdl::properties(comp)));
 
     // Evaluate the component implementation and convert it to an applicable 
lambda function


Reply via email to