From f4c4803ce0c14585e3c2af3641d94b651877e04c Mon Sep 17 00:00:00 2001 From: jsdelfino Date: Mon, 30 Jan 2012 15:56:11 +0000 Subject: Refactor server hosting module, rename it and move it under a hosting dir, and refactor its datastore components into a single component. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1237740 13f79535-47bb-0310-9956-ffa450edef68 --- sca-cpp/trunk/.gitignore | 4 +- sca-cpp/trunk/Makefile.am | 2 +- sca-cpp/trunk/components/constdb/server-test | 2 +- sca-cpp/trunk/components/http/http.composite | 4 +- sca-cpp/trunk/components/http/url-test.scm | 2 +- sca-cpp/trunk/components/sqldb/pgsql-conf | 2 +- sca-cpp/trunk/configure.ac | 3 +- sca-cpp/trunk/hosting/Makefile.am | 19 + sca-cpp/trunk/hosting/server/Makefile.am | 48 + sca-cpp/trunk/hosting/server/accounts.py | 35 + sca-cpp/trunk/hosting/server/apps.py | 69 + sca-cpp/trunk/hosting/server/composites.py | 44 + sca-cpp/trunk/hosting/server/config-backup | 22 + sca-cpp/trunk/hosting/server/dashboards.py | 80 + sca-cpp/trunk/hosting/server/data-backup | 22 + .../data/accounts/jane@localhost/user.account | 1 + .../data/accounts/jane@sca-store.com/user.account | 1 + .../data/accounts/john@localhost/user.account | 1 + .../data/accounts/john@sca-store.com/user.account | 1 + .../hosting/server/data/apps/me360/app.composite | 93 + .../trunk/hosting/server/data/apps/me360/app.stats | 1 + .../hosting/server/data/apps/me360/htdocs/app.html | 75 + .../hosting/server/data/apps/nearme/app.composite | 444 ++++ .../hosting/server/data/apps/nearme/app.stats | 1 + .../server/data/apps/nearme/htdocs/app.html | 54 + .../hosting/server/data/apps/nearme2/app.composite | 191 ++ .../hosting/server/data/apps/nearme2/app.stats | 1 + .../server/data/apps/nearme2/htdocs/app.html | 30 + .../hosting/server/data/apps/new/app.composite | 52 + .../trunk/hosting/server/data/apps/new/app.stats | 1 + .../hosting/server/data/apps/new/htdocs/app.html | 27 + .../server/data/apps/ourphotos/app.composite | 163 ++ .../hosting/server/data/apps/ourphotos/app.stats | 1 + .../server/data/apps/ourphotos/htdocs/app.html | 36 + .../server/data/apps/shoppingcart/app.composite | 596 ++++++ .../server/data/apps/shoppingcart/app.stats | 1 + .../server/data/apps/shoppingcart/htdocs/app.html | 72 + .../hosting/server/data/apps/slice/app.composite | 504 +++++ .../trunk/hosting/server/data/apps/slice/app.stats | 1 + .../hosting/server/data/apps/slice/htdocs/app.html | 68 + .../hosting/server/data/apps/test/app.composite | 45 + .../trunk/hosting/server/data/apps/test/app.stats | 1 + .../hosting/server/data/apps/test/htdocs/app.html | 33 + .../server/data/apps/testanimation/app.composite | 169 ++ .../server/data/apps/testanimation/app.stats | 1 + .../server/data/apps/testanimation/htdocs/app.html | 27 + .../hosting/server/data/apps/testdb/app.composite | 99 + .../hosting/server/data/apps/testdb/app.stats | 1 + .../server/data/apps/testdb/htdocs/app.html | 24 + .../server/data/apps/testevents/app.composite | 195 ++ .../hosting/server/data/apps/testevents/app.stats | 1 + .../server/data/apps/testevents/htdocs/app.html | 57 + .../server/data/apps/testhttp/app.composite | 273 +++ .../hosting/server/data/apps/testhttp/app.stats | 1 + .../server/data/apps/testhttp/htdocs/app.html | 31 + .../server/data/apps/testlogic/app.composite | 201 ++ .../hosting/server/data/apps/testlogic/app.stats | 1 + .../server/data/apps/testlogic/htdocs/app.html | 24 + .../server/data/apps/testsearch/app.composite | 240 +++ .../hosting/server/data/apps/testsearch/app.stats | 1 + .../server/data/apps/testsearch/htdocs/app.html | 24 + .../hosting/server/data/apps/testsms/app.composite | 98 + .../hosting/server/data/apps/testsms/app.stats | 1 + .../server/data/apps/testsms/htdocs/app.html | 24 + .../server/data/apps/testsocial/app.composite | 179 ++ .../hosting/server/data/apps/testsocial/app.stats | 1 + .../server/data/apps/testsocial/htdocs/app.html | 24 + .../server/data/apps/testtext/app.composite | 216 ++ .../hosting/server/data/apps/testtext/app.stats | 1 + .../server/data/apps/testtext/htdocs/app.html | 24 + .../hosting/server/data/apps/testurl/app.composite | 134 ++ .../hosting/server/data/apps/testurl/app.stats | 1 + .../server/data/apps/testurl/htdocs/app.html | 24 + .../server/data/apps/testvalues/app.composite | 491 +++++ .../hosting/server/data/apps/testvalues/app.stats | 1 + .../server/data/apps/testvalues/htdocs/app.html | 27 + .../server/data/apps/testwidgets/app.composite | 189 ++ .../hosting/server/data/apps/testwidgets/app.stats | 1 + .../server/data/apps/testwidgets/htdocs/app.html | 54 + .../server/data/apps/testwidgets2/app.composite | 147 ++ .../server/data/apps/testwidgets2/app.stats | 1 + .../server/data/apps/testwidgets2/htdocs/app.html | 86 + .../server/data/apps/testwidgets3/app.composite | 206 ++ .../server/data/apps/testwidgets3/app.stats | 1 + .../server/data/apps/testwidgets3/htdocs/app.html | 39 + .../hosting/server/data/apps/twsms/app.composite | 129 ++ .../trunk/hosting/server/data/apps/twsms/app.stats | 1 + .../hosting/server/data/apps/twsms/htdocs/app.html | 33 + .../data/dashboards/jane@localhost/user.apps | 1 + .../data/dashboards/jane@sca-store.com/user.apps | 1 + .../data/dashboards/john@localhost/user.apps | 1 + .../data/dashboards/john@sca-store.com/user.apps | 1 + .../data/palettes/animation/palette.composite | 103 + .../server/data/palettes/control/palette.composite | 86 + .../data/palettes/database/palette.composite | 72 + .../server/data/palettes/http/palette.composite | 111 + .../server/data/palettes/lists/palette.composite | 131 ++ .../server/data/palettes/logic/palette.composite | 70 + .../server/data/palettes/math/palette.composite | 138 ++ .../server/data/palettes/python/palette.composite | 35 + .../server/data/palettes/search/palette.composite | 100 + .../server/data/palettes/social/palette.composite | 120 ++ .../server/data/palettes/talk/palette.composite | 55 + .../server/data/palettes/text/palette.composite | 76 + .../data/palettes/transform/palette.composite | 59 + .../server/data/palettes/values/palette.composite | 79 + .../trunk/hosting/server/data/store/all/store.apps | 1 + .../hosting/server/data/store/featured/store.apps | 1 + .../trunk/hosting/server/data/store/new/store.apps | 1 + .../trunk/hosting/server/data/store/top/store.apps | 1 + .../trunk/hosting/server/htdocs/account/index.html | 224 ++ .../hosting/server/htdocs/app/cache-manifest.cmf | 17 + sca-cpp/trunk/hosting/server/htdocs/app/index.html | 906 ++++++++ .../trunk/hosting/server/htdocs/cache-manifest.cmf | 18 + .../trunk/hosting/server/htdocs/clone/index.html | 146 ++ .../trunk/hosting/server/htdocs/create/index.html | 106 + sca-cpp/trunk/hosting/server/htdocs/favicon.ico | Bin 0 -> 2238 bytes .../trunk/hosting/server/htdocs/graph/index.html | 2178 ++++++++++++++++++++ sca-cpp/trunk/hosting/server/htdocs/home/home.b64 | 1 + sca-cpp/trunk/hosting/server/htdocs/home/home.png | Bin 0 -> 9595 bytes .../trunk/hosting/server/htdocs/home/index.html | 68 + sca-cpp/trunk/hosting/server/htdocs/index.html | 525 +++++ .../trunk/hosting/server/htdocs/login/index.html | 156 ++ .../trunk/hosting/server/htdocs/page/index.html | 987 +++++++++ sca-cpp/trunk/hosting/server/htdocs/public/app.b64 | 1 + sca-cpp/trunk/hosting/server/htdocs/public/app.png | Bin 0 -> 147 bytes sca-cpp/trunk/hosting/server/htdocs/public/app.xcf | Bin 0 -> 1294 bytes .../trunk/hosting/server/htdocs/public/delete.b64 | 1 + .../trunk/hosting/server/htdocs/public/delete.png | Bin 0 -> 906 bytes .../trunk/hosting/server/htdocs/public/delete.xcf | Bin 0 -> 2008 bytes .../trunk/hosting/server/htdocs/public/grid72.b64 | 1 + .../trunk/hosting/server/htdocs/public/grid72.png | Bin 0 -> 138 bytes .../trunk/hosting/server/htdocs/public/iframe.html | 28 + sca-cpp/trunk/hosting/server/htdocs/public/img.b64 | 1 + sca-cpp/trunk/hosting/server/htdocs/public/img.png | Bin 0 -> 357 bytes sca-cpp/trunk/hosting/server/htdocs/public/img.xcf | Bin 0 -> 1639 bytes .../server/htdocs/public/notauth/index.html | 166 ++ .../server/htdocs/public/notfound/index.html | 167 ++ .../hosting/server/htdocs/public/notyet/index.html | 167 ++ .../hosting/server/htdocs/public/oops/index.html | 166 ++ .../hosting/server/htdocs/public/touchicon.b64 | 1 + .../hosting/server/htdocs/public/touchicon.png | Bin 0 -> 606 bytes .../hosting/server/htdocs/public/touchicon.xcf | Bin 0 -> 3400 bytes .../trunk/hosting/server/htdocs/public/user.b64 | 1 + .../trunk/hosting/server/htdocs/public/user.png | Bin 0 -> 147 bytes sca-cpp/trunk/hosting/server/htdocs/robots.txt | 2 + .../trunk/hosting/server/htdocs/stats/index.html | 161 ++ .../trunk/hosting/server/htdocs/store/index.html | 168 ++ sca-cpp/trunk/hosting/server/log.py | 24 + sca-cpp/trunk/hosting/server/mkapplinks | 37 + sca-cpp/trunk/hosting/server/pages.py | 44 + sca-cpp/trunk/hosting/server/palettes.py | 36 + sca-cpp/trunk/hosting/server/selector.py | 28 + sca-cpp/trunk/hosting/server/server.composite | 175 ++ sca-cpp/trunk/hosting/server/ssl-start | 179 ++ sca-cpp/trunk/hosting/server/start | 124 ++ sca-cpp/trunk/hosting/server/stop | 29 + sca-cpp/trunk/hosting/server/store.py | 80 + sca-cpp/trunk/hosting/server/user.py | 28 + sca-cpp/trunk/hosting/server/util.py | 164 ++ sca-cpp/trunk/modules/Makefile.am | 2 +- sca-cpp/trunk/modules/edit/Makefile.am | 48 - sca-cpp/trunk/modules/edit/accounts.py | 35 - .../edit/accounts/jane@localhost/user.account | 1 - .../edit/accounts/jane@sca-store.com/user.account | 1 - .../edit/accounts/john@localhost/user.account | 1 - .../edit/accounts/john@sca-store.com/user.account | 1 - sca-cpp/trunk/modules/edit/apps.py | 69 - .../trunk/modules/edit/apps/me360/app.composite | 93 - sca-cpp/trunk/modules/edit/apps/me360/app.stats | 1 - .../trunk/modules/edit/apps/me360/htdocs/app.html | 75 - .../trunk/modules/edit/apps/nearme/app.composite | 444 ---- sca-cpp/trunk/modules/edit/apps/nearme/app.stats | 1 - .../trunk/modules/edit/apps/nearme/htdocs/app.html | 54 - .../trunk/modules/edit/apps/nearme2/app.composite | 191 -- sca-cpp/trunk/modules/edit/apps/nearme2/app.stats | 1 - .../modules/edit/apps/nearme2/htdocs/app.html | 30 - sca-cpp/trunk/modules/edit/apps/new/app.composite | 52 - sca-cpp/trunk/modules/edit/apps/new/app.stats | 1 - .../trunk/modules/edit/apps/new/htdocs/app.html | 27 - .../modules/edit/apps/ourphotos/app.composite | 163 -- .../trunk/modules/edit/apps/ourphotos/app.stats | 1 - .../modules/edit/apps/ourphotos/htdocs/app.html | 36 - .../modules/edit/apps/shoppingcart/app.composite | 596 ------ .../trunk/modules/edit/apps/shoppingcart/app.stats | 1 - .../modules/edit/apps/shoppingcart/htdocs/app.html | 72 - .../trunk/modules/edit/apps/slice/app.composite | 504 ----- sca-cpp/trunk/modules/edit/apps/slice/app.stats | 1 - .../trunk/modules/edit/apps/slice/htdocs/app.html | 68 - sca-cpp/trunk/modules/edit/apps/test/app.composite | 63 - sca-cpp/trunk/modules/edit/apps/test/app.stats | 1 - .../trunk/modules/edit/apps/test/htdocs/app.html | 33 - .../modules/edit/apps/testanimation/app.composite | 169 -- .../modules/edit/apps/testanimation/app.stats | 1 - .../edit/apps/testanimation/htdocs/app.html | 27 - .../trunk/modules/edit/apps/testdb/app.composite | 99 - sca-cpp/trunk/modules/edit/apps/testdb/app.stats | 1 - .../trunk/modules/edit/apps/testdb/htdocs/app.html | 24 - .../modules/edit/apps/testevents/app.composite | 195 -- .../trunk/modules/edit/apps/testevents/app.stats | 1 - .../modules/edit/apps/testevents/htdocs/app.html | 57 - .../trunk/modules/edit/apps/testhttp/app.composite | 273 --- sca-cpp/trunk/modules/edit/apps/testhttp/app.stats | 1 - .../modules/edit/apps/testhttp/htdocs/app.html | 31 - .../modules/edit/apps/testlogic/app.composite | 201 -- .../trunk/modules/edit/apps/testlogic/app.stats | 1 - .../modules/edit/apps/testlogic/htdocs/app.html | 24 - .../modules/edit/apps/testsearch/app.composite | 240 --- .../trunk/modules/edit/apps/testsearch/app.stats | 1 - .../modules/edit/apps/testsearch/htdocs/app.html | 24 - .../trunk/modules/edit/apps/testsms/app.composite | 98 - sca-cpp/trunk/modules/edit/apps/testsms/app.stats | 1 - .../modules/edit/apps/testsms/htdocs/app.html | 24 - .../modules/edit/apps/testsocial/app.composite | 179 -- .../trunk/modules/edit/apps/testsocial/app.stats | 1 - .../modules/edit/apps/testsocial/htdocs/app.html | 24 - .../trunk/modules/edit/apps/testtext/app.composite | 216 -- sca-cpp/trunk/modules/edit/apps/testtext/app.stats | 1 - .../modules/edit/apps/testtext/htdocs/app.html | 24 - .../trunk/modules/edit/apps/testurl/app.composite | 146 -- sca-cpp/trunk/modules/edit/apps/testurl/app.stats | 1 - .../modules/edit/apps/testurl/htdocs/app.html | 24 - .../modules/edit/apps/testvalues/app.composite | 491 ----- .../trunk/modules/edit/apps/testvalues/app.stats | 1 - .../modules/edit/apps/testvalues/htdocs/app.html | 27 - .../modules/edit/apps/testwidgets/app.composite | 189 -- .../trunk/modules/edit/apps/testwidgets/app.stats | 1 - .../modules/edit/apps/testwidgets/htdocs/app.html | 54 - .../modules/edit/apps/testwidgets2/app.composite | 147 -- .../trunk/modules/edit/apps/testwidgets2/app.stats | 1 - .../modules/edit/apps/testwidgets2/htdocs/app.html | 86 - .../modules/edit/apps/testwidgets3/app.composite | 206 -- .../trunk/modules/edit/apps/testwidgets3/app.stats | 1 - .../modules/edit/apps/testwidgets3/htdocs/app.html | 39 - .../trunk/modules/edit/apps/twsms/app.composite | 129 -- sca-cpp/trunk/modules/edit/apps/twsms/app.stats | 1 - .../trunk/modules/edit/apps/twsms/htdocs/app.html | 33 - sca-cpp/trunk/modules/edit/composites.py | 44 - sca-cpp/trunk/modules/edit/config-backup | 22 - sca-cpp/trunk/modules/edit/dashboards.py | 80 - .../edit/dashboards/jane@localhost/user.apps | 1 - .../edit/dashboards/jane@sca-store.com/user.apps | 1 - .../edit/dashboards/john@localhost/user.apps | 1 - .../edit/dashboards/john@sca-store.com/user.apps | 1 - sca-cpp/trunk/modules/edit/data-backup | 22 - sca-cpp/trunk/modules/edit/edit.composite | 275 --- .../trunk/modules/edit/htdocs/account/index.html | 224 -- .../modules/edit/htdocs/app/cache-manifest.cmf | 17 - sca-cpp/trunk/modules/edit/htdocs/app/index.html | 906 -------- .../trunk/modules/edit/htdocs/cache-manifest.cmf | 18 - sca-cpp/trunk/modules/edit/htdocs/clone/index.html | 146 -- .../trunk/modules/edit/htdocs/create/index.html | 106 - sca-cpp/trunk/modules/edit/htdocs/favicon.ico | Bin 2238 -> 0 bytes sca-cpp/trunk/modules/edit/htdocs/graph/index.html | 2178 -------------------- sca-cpp/trunk/modules/edit/htdocs/home/home.b64 | 1 - sca-cpp/trunk/modules/edit/htdocs/home/home.png | Bin 9595 -> 0 bytes sca-cpp/trunk/modules/edit/htdocs/home/index.html | 68 - sca-cpp/trunk/modules/edit/htdocs/index.html | 525 ----- sca-cpp/trunk/modules/edit/htdocs/login/index.html | 156 -- sca-cpp/trunk/modules/edit/htdocs/page/index.html | 987 --------- sca-cpp/trunk/modules/edit/htdocs/public/app.b64 | 1 - sca-cpp/trunk/modules/edit/htdocs/public/app.png | Bin 147 -> 0 bytes sca-cpp/trunk/modules/edit/htdocs/public/app.xcf | Bin 1294 -> 0 bytes .../trunk/modules/edit/htdocs/public/delete.b64 | 1 - .../trunk/modules/edit/htdocs/public/delete.png | Bin 906 -> 0 bytes .../trunk/modules/edit/htdocs/public/delete.xcf | Bin 2008 -> 0 bytes .../trunk/modules/edit/htdocs/public/grid72.b64 | 1 - .../trunk/modules/edit/htdocs/public/grid72.png | Bin 138 -> 0 bytes .../trunk/modules/edit/htdocs/public/iframe.html | 28 - sca-cpp/trunk/modules/edit/htdocs/public/img.b64 | 1 - sca-cpp/trunk/modules/edit/htdocs/public/img.png | Bin 357 -> 0 bytes sca-cpp/trunk/modules/edit/htdocs/public/img.xcf | Bin 1639 -> 0 bytes .../modules/edit/htdocs/public/notauth/index.html | 166 -- .../modules/edit/htdocs/public/notfound/index.html | 167 -- .../modules/edit/htdocs/public/notyet/index.html | 167 -- .../modules/edit/htdocs/public/oops/index.html | 166 -- .../trunk/modules/edit/htdocs/public/touchicon.b64 | 1 - .../trunk/modules/edit/htdocs/public/touchicon.png | Bin 606 -> 0 bytes .../trunk/modules/edit/htdocs/public/touchicon.xcf | Bin 3400 -> 0 bytes sca-cpp/trunk/modules/edit/htdocs/public/user.b64 | 1 - sca-cpp/trunk/modules/edit/htdocs/public/user.png | Bin 147 -> 0 bytes sca-cpp/trunk/modules/edit/htdocs/robots.txt | 2 - sca-cpp/trunk/modules/edit/htdocs/stats/index.html | 161 -- sca-cpp/trunk/modules/edit/htdocs/store/index.html | 168 -- sca-cpp/trunk/modules/edit/log.py | 24 - sca-cpp/trunk/modules/edit/mkapplinks | 37 - sca-cpp/trunk/modules/edit/pages.py | 44 - sca-cpp/trunk/modules/edit/palettes.py | 36 - .../edit/palettes/animation/palette.composite | 103 - .../edit/palettes/control/palette.composite | 86 - .../edit/palettes/database/palette.composite | 72 - .../modules/edit/palettes/http/palette.composite | 105 - .../modules/edit/palettes/lists/palette.composite | 131 -- .../modules/edit/palettes/logic/palette.composite | 70 - .../modules/edit/palettes/math/palette.composite | 138 -- .../modules/edit/palettes/python/palette.composite | 35 - .../modules/edit/palettes/search/palette.composite | 100 - .../modules/edit/palettes/social/palette.composite | 120 -- .../modules/edit/palettes/talk/palette.composite | 55 - .../modules/edit/palettes/text/palette.composite | 76 - .../edit/palettes/transform/palette.composite | 59 - .../modules/edit/palettes/values/palette.composite | 79 - sca-cpp/trunk/modules/edit/ssl-start | 170 -- sca-cpp/trunk/modules/edit/start | 121 -- sca-cpp/trunk/modules/edit/stop | 29 - sca-cpp/trunk/modules/edit/store.py | 80 - sca-cpp/trunk/modules/edit/store/all/store.apps | 1 - .../trunk/modules/edit/store/featured/store.apps | 1 - sca-cpp/trunk/modules/edit/store/new/store.apps | 1 - sca-cpp/trunk/modules/edit/store/top/store.apps | 1 - sca-cpp/trunk/modules/edit/user.py | 28 - sca-cpp/trunk/modules/edit/util.py | 164 -- sca-cpp/trunk/modules/http/http-test | 2 +- sca-cpp/trunk/modules/http/httpd.hpp | 2 +- sca-cpp/trunk/modules/http/proxy-test | 2 +- sca-cpp/trunk/modules/server/Makefile.am | 9 +- sca-cpp/trunk/modules/server/client-test.cpp | 2 +- sca-cpp/trunk/modules/server/client-test.hpp | 2 +- sca-cpp/trunk/modules/server/domain-test.composite | 4 +- sca-cpp/trunk/modules/server/httpd-test | 12 +- sca-cpp/trunk/modules/server/mod-eval.hpp | 950 ++++++--- sca-cpp/trunk/modules/server/mod-wiring.cpp | 530 ----- sca-cpp/trunk/modules/server/server-conf | 7 - 323 files changed, 15527 insertions(+), 15863 deletions(-) create mode 100644 sca-cpp/trunk/hosting/Makefile.am create mode 100644 sca-cpp/trunk/hosting/server/Makefile.am create mode 100644 sca-cpp/trunk/hosting/server/accounts.py create mode 100644 sca-cpp/trunk/hosting/server/apps.py create mode 100644 sca-cpp/trunk/hosting/server/composites.py create mode 100755 sca-cpp/trunk/hosting/server/config-backup create mode 100644 sca-cpp/trunk/hosting/server/dashboards.py create mode 100755 sca-cpp/trunk/hosting/server/data-backup create mode 100644 sca-cpp/trunk/hosting/server/data/accounts/jane@localhost/user.account create mode 100644 sca-cpp/trunk/hosting/server/data/accounts/jane@sca-store.com/user.account create mode 100644 sca-cpp/trunk/hosting/server/data/accounts/john@localhost/user.account create mode 100644 sca-cpp/trunk/hosting/server/data/accounts/john@sca-store.com/user.account create mode 100644 sca-cpp/trunk/hosting/server/data/apps/me360/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/me360/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/me360/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/nearme/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/nearme/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/nearme/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/nearme2/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/nearme2/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/nearme2/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/new/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/new/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/new/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/ourphotos/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/ourphotos/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/ourphotos/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/shoppingcart/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/shoppingcart/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/shoppingcart/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/slice/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/slice/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/slice/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/test/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/test/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/test/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testanimation/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testanimation/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testanimation/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testdb/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testdb/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testdb/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testevents/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testevents/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testevents/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testhttp/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testhttp/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testhttp/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testlogic/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testlogic/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testlogic/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testsearch/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testsearch/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testsearch/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testsms/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testsms/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testsms/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testsocial/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testsocial/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testsocial/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testtext/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testtext/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testtext/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testurl/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testurl/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testurl/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testvalues/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testvalues/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testvalues/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testwidgets/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testwidgets/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testwidgets/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testwidgets2/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testwidgets2/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testwidgets2/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testwidgets3/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testwidgets3/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/testwidgets3/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/apps/twsms/app.composite create mode 100644 sca-cpp/trunk/hosting/server/data/apps/twsms/app.stats create mode 100644 sca-cpp/trunk/hosting/server/data/apps/twsms/htdocs/app.html create mode 100644 sca-cpp/trunk/hosting/server/data/dashboards/jane@localhost/user.apps create mode 100644 sca-cpp/trunk/hosting/server/data/dashboards/jane@sca-store.com/user.apps create mode 100644 sca-cpp/trunk/hosting/server/data/dashboards/john@localhost/user.apps create mode 100644 sca-cpp/trunk/hosting/server/data/dashboards/john@sca-store.com/user.apps create mode 100644 sca-cpp/trunk/hosting/server/data/palettes/animation/palette.composite create mode 100644 sca-cpp/trunk/hosting/server/data/palettes/control/palette.composite create mode 100644 sca-cpp/trunk/hosting/server/data/palettes/database/palette.composite create mode 100644 sca-cpp/trunk/hosting/server/data/palettes/http/palette.composite create mode 100644 sca-cpp/trunk/hosting/server/data/palettes/lists/palette.composite create mode 100644 sca-cpp/trunk/hosting/server/data/palettes/logic/palette.composite create mode 100644 sca-cpp/trunk/hosting/server/data/palettes/math/palette.composite create mode 100644 sca-cpp/trunk/hosting/server/data/palettes/python/palette.composite create mode 100644 sca-cpp/trunk/hosting/server/data/palettes/search/palette.composite create mode 100644 sca-cpp/trunk/hosting/server/data/palettes/social/palette.composite create mode 100644 sca-cpp/trunk/hosting/server/data/palettes/talk/palette.composite create mode 100644 sca-cpp/trunk/hosting/server/data/palettes/text/palette.composite create mode 100644 sca-cpp/trunk/hosting/server/data/palettes/transform/palette.composite create mode 100644 sca-cpp/trunk/hosting/server/data/palettes/values/palette.composite create mode 100644 sca-cpp/trunk/hosting/server/data/store/all/store.apps create mode 100644 sca-cpp/trunk/hosting/server/data/store/featured/store.apps create mode 100644 sca-cpp/trunk/hosting/server/data/store/new/store.apps create mode 100644 sca-cpp/trunk/hosting/server/data/store/top/store.apps create mode 100644 sca-cpp/trunk/hosting/server/htdocs/account/index.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/app/cache-manifest.cmf create mode 100644 sca-cpp/trunk/hosting/server/htdocs/app/index.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/cache-manifest.cmf create mode 100644 sca-cpp/trunk/hosting/server/htdocs/clone/index.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/create/index.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/favicon.ico create mode 100644 sca-cpp/trunk/hosting/server/htdocs/graph/index.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/home/home.b64 create mode 100644 sca-cpp/trunk/hosting/server/htdocs/home/home.png create mode 100644 sca-cpp/trunk/hosting/server/htdocs/home/index.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/index.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/login/index.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/page/index.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/app.b64 create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/app.png create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/app.xcf create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/delete.b64 create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/delete.png create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/delete.xcf create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/grid72.b64 create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/grid72.png create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/iframe.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/img.b64 create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/img.png create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/img.xcf create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/notauth/index.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/notfound/index.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/notyet/index.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/oops/index.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/touchicon.b64 create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/touchicon.png create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/touchicon.xcf create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/user.b64 create mode 100644 sca-cpp/trunk/hosting/server/htdocs/public/user.png create mode 100644 sca-cpp/trunk/hosting/server/htdocs/robots.txt create mode 100644 sca-cpp/trunk/hosting/server/htdocs/stats/index.html create mode 100644 sca-cpp/trunk/hosting/server/htdocs/store/index.html create mode 100644 sca-cpp/trunk/hosting/server/log.py create mode 100755 sca-cpp/trunk/hosting/server/mkapplinks create mode 100644 sca-cpp/trunk/hosting/server/pages.py create mode 100644 sca-cpp/trunk/hosting/server/palettes.py create mode 100644 sca-cpp/trunk/hosting/server/selector.py create mode 100644 sca-cpp/trunk/hosting/server/server.composite create mode 100755 sca-cpp/trunk/hosting/server/ssl-start create mode 100755 sca-cpp/trunk/hosting/server/start create mode 100755 sca-cpp/trunk/hosting/server/stop create mode 100644 sca-cpp/trunk/hosting/server/store.py create mode 100644 sca-cpp/trunk/hosting/server/user.py create mode 100644 sca-cpp/trunk/hosting/server/util.py delete mode 100644 sca-cpp/trunk/modules/edit/Makefile.am delete mode 100644 sca-cpp/trunk/modules/edit/accounts.py delete mode 100644 sca-cpp/trunk/modules/edit/accounts/jane@localhost/user.account delete mode 100644 sca-cpp/trunk/modules/edit/accounts/jane@sca-store.com/user.account delete mode 100644 sca-cpp/trunk/modules/edit/accounts/john@localhost/user.account delete mode 100644 sca-cpp/trunk/modules/edit/accounts/john@sca-store.com/user.account delete mode 100644 sca-cpp/trunk/modules/edit/apps.py delete mode 100644 sca-cpp/trunk/modules/edit/apps/me360/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/me360/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/me360/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/nearme/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/nearme/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/nearme/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/nearme2/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/nearme2/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/nearme2/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/new/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/new/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/new/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/ourphotos/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/ourphotos/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/ourphotos/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/shoppingcart/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/shoppingcart/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/shoppingcart/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/slice/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/slice/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/slice/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/test/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/test/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/test/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/testanimation/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/testanimation/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/testanimation/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/testdb/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/testdb/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/testdb/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/testevents/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/testevents/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/testevents/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/testhttp/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/testhttp/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/testhttp/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/testlogic/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/testlogic/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/testlogic/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/testsearch/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/testsearch/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/testsearch/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/testsms/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/testsms/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/testsms/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/testsocial/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/testsocial/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/testsocial/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/testtext/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/testtext/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/testtext/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/testurl/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/testurl/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/testurl/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/testvalues/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/testvalues/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/testvalues/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/testwidgets/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/testwidgets/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/testwidgets/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/testwidgets2/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/testwidgets2/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/testwidgets2/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/testwidgets3/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/testwidgets3/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/testwidgets3/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/apps/twsms/app.composite delete mode 100644 sca-cpp/trunk/modules/edit/apps/twsms/app.stats delete mode 100644 sca-cpp/trunk/modules/edit/apps/twsms/htdocs/app.html delete mode 100644 sca-cpp/trunk/modules/edit/composites.py delete mode 100755 sca-cpp/trunk/modules/edit/config-backup delete mode 100644 sca-cpp/trunk/modules/edit/dashboards.py delete mode 100644 sca-cpp/trunk/modules/edit/dashboards/jane@localhost/user.apps delete mode 100644 sca-cpp/trunk/modules/edit/dashboards/jane@sca-store.com/user.apps delete mode 100644 sca-cpp/trunk/modules/edit/dashboards/john@localhost/user.apps delete mode 100644 sca-cpp/trunk/modules/edit/dashboards/john@sca-store.com/user.apps delete mode 100755 sca-cpp/trunk/modules/edit/data-backup delete mode 100644 sca-cpp/trunk/modules/edit/edit.composite delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/account/index.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/app/cache-manifest.cmf delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/app/index.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/cache-manifest.cmf delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/clone/index.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/create/index.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/favicon.ico delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/graph/index.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/home/home.b64 delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/home/home.png delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/home/index.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/index.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/login/index.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/page/index.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/app.b64 delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/app.png delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/app.xcf delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/delete.b64 delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/delete.png delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/delete.xcf delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/grid72.b64 delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/grid72.png delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/iframe.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/img.b64 delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/img.png delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/img.xcf delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/notauth/index.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/notfound/index.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/notyet/index.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/oops/index.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/touchicon.b64 delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/touchicon.png delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/touchicon.xcf delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/user.b64 delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/public/user.png delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/robots.txt delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/stats/index.html delete mode 100644 sca-cpp/trunk/modules/edit/htdocs/store/index.html delete mode 100644 sca-cpp/trunk/modules/edit/log.py delete mode 100755 sca-cpp/trunk/modules/edit/mkapplinks delete mode 100644 sca-cpp/trunk/modules/edit/pages.py delete mode 100644 sca-cpp/trunk/modules/edit/palettes.py delete mode 100644 sca-cpp/trunk/modules/edit/palettes/animation/palette.composite delete mode 100644 sca-cpp/trunk/modules/edit/palettes/control/palette.composite delete mode 100644 sca-cpp/trunk/modules/edit/palettes/database/palette.composite delete mode 100644 sca-cpp/trunk/modules/edit/palettes/http/palette.composite delete mode 100644 sca-cpp/trunk/modules/edit/palettes/lists/palette.composite delete mode 100644 sca-cpp/trunk/modules/edit/palettes/logic/palette.composite delete mode 100644 sca-cpp/trunk/modules/edit/palettes/math/palette.composite delete mode 100644 sca-cpp/trunk/modules/edit/palettes/python/palette.composite delete mode 100644 sca-cpp/trunk/modules/edit/palettes/search/palette.composite delete mode 100644 sca-cpp/trunk/modules/edit/palettes/social/palette.composite delete mode 100644 sca-cpp/trunk/modules/edit/palettes/talk/palette.composite delete mode 100644 sca-cpp/trunk/modules/edit/palettes/text/palette.composite delete mode 100644 sca-cpp/trunk/modules/edit/palettes/transform/palette.composite delete mode 100644 sca-cpp/trunk/modules/edit/palettes/values/palette.composite delete mode 100755 sca-cpp/trunk/modules/edit/ssl-start delete mode 100755 sca-cpp/trunk/modules/edit/start delete mode 100755 sca-cpp/trunk/modules/edit/stop delete mode 100644 sca-cpp/trunk/modules/edit/store.py delete mode 100644 sca-cpp/trunk/modules/edit/store/all/store.apps delete mode 100644 sca-cpp/trunk/modules/edit/store/featured/store.apps delete mode 100644 sca-cpp/trunk/modules/edit/store/new/store.apps delete mode 100644 sca-cpp/trunk/modules/edit/store/top/store.apps delete mode 100644 sca-cpp/trunk/modules/edit/user.py delete mode 100644 sca-cpp/trunk/modules/edit/util.py delete mode 100644 sca-cpp/trunk/modules/server/mod-wiring.cpp (limited to 'sca-cpp') diff --git a/sca-cpp/trunk/.gitignore b/sca-cpp/trunk/.gitignore index d1d2818389..8d56a49c91 100644 --- a/sca-cpp/trunk/.gitignore +++ b/sca-cpp/trunk/.gitignore @@ -143,8 +143,8 @@ json-value value-json element-value value-element -modules/edit/apps/*/nuvem -modules/edit/apps/*/lib +hosting/server/data/apps/*/nuvem +hosting/server/data/apps/*/lib chat-send opencl-shell opencl-test diff --git a/sca-cpp/trunk/Makefile.am b/sca-cpp/trunk/Makefile.am index 154643af17..10d04d8c0c 100644 --- a/sca-cpp/trunk/Makefile.am +++ b/sca-cpp/trunk/Makefile.am @@ -17,7 +17,7 @@ ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = etc kernel modules components samples doc macos ubuntu +SUBDIRS = etc kernel modules components hosting samples doc macos ubuntu datadir=$(prefix) dist_data_DATA = AUTHORS README LICENSE COPYING NOTICE NEWS diff --git a/sca-cpp/trunk/components/constdb/server-test b/sca-cpp/trunk/components/constdb/server-test index 6d53e641ae..7e98e42bbb 100755 --- a/sca-cpp/trunk/components/constdb/server-test +++ b/sca-cpp/trunk/components/constdb/server-test @@ -32,7 +32,7 @@ EOF sleep 2 # Test -./client-test #2>/dev/null +./client-test 2>/dev/null rc=$? # Cleanup diff --git a/sca-cpp/trunk/components/http/http.composite b/sca-cpp/trunk/components/http/http.composite index 48fe1c3b55..ea0adedf51 100644 --- a/sca-cpp/trunk/components/http/http.composite +++ b/sca-cpp/trunk/components/http/http.composite @@ -80,8 +80,8 @@ - - + + diff --git a/sca-cpp/trunk/components/http/url-test.scm b/sca-cpp/trunk/components/http/url-test.scm index 37a5b345b2..dd92720c32 100644 --- a/sca-cpp/trunk/components/http/url-test.scm +++ b/sca-cpp/trunk/components/http/url-test.scm @@ -18,6 +18,6 @@ ; URL test case (define (get id) - "http://localhost:8090/test" + "http://localhost:8090/scheme" ) diff --git a/sca-cpp/trunk/components/sqldb/pgsql-conf b/sca-cpp/trunk/components/sqldb/pgsql-conf index 6aa705f139..4083160a02 100755 --- a/sca-cpp/trunk/components/sqldb/pgsql-conf +++ b/sca-cpp/trunk/components/sqldb/pgsql-conf @@ -98,7 +98,7 @@ host replication all samenet trust EOF # Create the db -($pgsql_prefix/bin/pg_ctl start -W -D $root/sqldb/data 2>&1 | sh $root/sqldb/logger +$pgsql_prefix/bin/pg_ctl start -W -D $root/sqldb/data 2>&1 | sh $root/sqldb/logger sti=0 while [ $sti -ne 30 ]; do st=`$pgsql_prefix/bin/pg_ctl status -D $root/sqldb/data | grep 'server is running'` diff --git a/sca-cpp/trunk/configure.ac b/sca-cpp/trunk/configure.ac index 3413bc2678..cb85c3930e 100644 --- a/sca-cpp/trunk/configure.ac +++ b/sca-cpp/trunk/configure.ac @@ -1034,7 +1034,6 @@ AC_CONFIG_FILES([Makefile modules/openid/Makefile modules/oauth/Makefile modules/wsgi/Makefile - modules/edit/Makefile components/Makefile components/cache/Makefile components/log/Makefile @@ -1045,6 +1044,8 @@ AC_CONFIG_FILES([Makefile components/queue/Makefile components/sqldb/Makefile components/webservice/Makefile + hosting/Makefile + hosting/server/Makefile samples/Makefile samples/store-scheme/Makefile samples/store-cpp/Makefile diff --git a/sca-cpp/trunk/hosting/Makefile.am b/sca-cpp/trunk/hosting/Makefile.am new file mode 100644 index 0000000000..36d24d4ffa --- /dev/null +++ b/sca-cpp/trunk/hosting/Makefile.am @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +SUBDIRS = server + diff --git a/sca-cpp/trunk/hosting/server/Makefile.am b/sca-cpp/trunk/hosting/server/Makefile.am new file mode 100644 index 0000000000..d7a808c5e4 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/Makefile.am @@ -0,0 +1,48 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +if WANT_PYTHON + +moddir = $(prefix)/hosting/server +dist_mod_SCRIPTS = start stop ssl-start mkapplinks config-backup data-backup + +BUILT_SOURCES = htdocs/config.js htdocs/public/config.js +htdocs/config.js: + touch htdocs/config.js + +htdocs/public/config.js: + touch htdocs/public/config.js + +not_minified = htdocs/public/iframe.html htdocs/create/index.html htdocs/page/index.html htdocs/login/index.html htdocs/public/notfound/index.html htdocs/public/oops/index.html htdocs/graph/index.html htdocs/public/notauth/index.html htdocs/account/index.html htdocs/home/index.html htdocs/index.html htdocs/public/notyet/index.html htdocs/clone/index.html htdocs/stats/index.html htdocs/app/index.html htdocs/store/index.html htdocs/config.js htdocs/public/config.js + +minified = htdocs/public/iframe-min.html htdocs/create/index-min.html htdocs/page/index-min.html htdocs/login/index-min.html htdocs/public/notfound/index-min.html htdocs/public/oops/index-min.html htdocs/graph/index-min.html htdocs/public/notauth/index-min.html htdocs/account/index-min.html htdocs/home/index-min.html htdocs/index-min.html htdocs/public/notyet/index-min.html htdocs/clone/index-min.html htdocs/stats/index-min.html htdocs/app/index-min.html htdocs/store/index-min.html htdocs/config-min.js htdocs/public/config-min.js + +resources = server.composite *.py htdocs/*.cmf htdocs/*.ico htdocs/home/*.png htdocs/app/*.cmf htdocs/home/*.b64 htdocs/*.txt htdocs/public/*.png htdocs/public/*.b64 data/palettes/*/palette.composite data/accounts/*/*.account data/apps/*/app.composite data/apps/*/app.stats data/apps/*/htdocs/app.html data/dashboards/*/user.apps data/store/*/store.apps ${not_minified} ${minified} + +nobase_dist_mod_DATA = ${resources} +EXTRA_DIST = ${resources} + +SUFFIXES = -min.html -min.js +.html-min.html: + ../../modules/http/minify-html $< $@ + +.js-min.js: + ../../modules/http/minify-js $< $@ + +CLEANFILES = ${minified} + +endif diff --git a/sca-cpp/trunk/hosting/server/accounts.py b/sca-cpp/trunk/hosting/server/accounts.py new file mode 100644 index 0000000000..4a50b15981 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/accounts.py @@ -0,0 +1,35 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Accounts collection implementation +from util import * + +# Convert a particular user id to an account id +def accountid(user): + return ("'accounts", "'" + user.id(), "'user.account") + +# Get the current user's account +def get(id, user, cache): + account = cache.get(accountid(user)) + if isNil(account) or account is None: + return () + return account + +# Update the user's account +def put(id, account, user, cache): + return cache.put(accountid(user), account) + diff --git a/sca-cpp/trunk/hosting/server/apps.py b/sca-cpp/trunk/hosting/server/apps.py new file mode 100644 index 0000000000..cc84544dd5 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/apps.py @@ -0,0 +1,69 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# App collection implementation +import os +from util import * + +# Convert an id to an app id +def appid(id): + return ("'apps", "'" + car(id), "'app.stats") + +# Link implementation resources into an app +def mkapplink(id): + try: + os.symlink('../../../../../../nuvem/nuvem-parallel/nuvem', 'data/apps/' + car(id) + '/nuvem') + os.symlink('../../../../../components', 'data/apps/' + car(id) + '/lib') + os.mkdir('data/apps/' + car(id) + '/htdocs') + except: + pass + return True + +# Put an app into the apps db +def put(id, app, cache, store, composites, pages): + eid = cadr(caddr(car(app))) + appentry = (("'entry", cadr(car(app)), ("'id", car(id))),) + + # Update app in apps db + if car(id) == eid: + cache.put(appid(id), appentry) + mkapplink(id) + return True + + # Clone an app's composite and page + cache.put(appid(id), appentry) + mkapplink(id) + composites.put(id, composites.get((eid,))) + pages.put(id, pages.get((eid,))) + return True + +# Get an app from the apps db +def get(id, cache, store, composites, pages): + if isNil(id): + return (("'feed", ("'title", "Apps"), ("'id", "apps")),) + app = cache.get(appid(id)); + if isNil(app) or app is None: + return (("'entry", ("'title", car(id)), ("'id", car(id))),) + return app + +# Delete an app from the apps db +def delete(id, cache, store, composites, pages): + cache.delete(appid(id)) + composites.delete(id) + pages.delete(id) + return True + diff --git a/sca-cpp/trunk/hosting/server/composites.py b/sca-cpp/trunk/hosting/server/composites.py new file mode 100644 index 0000000000..d929716bd7 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/composites.py @@ -0,0 +1,44 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# App composites collection implementation +from util import * + +# Convert an id to an app id +def appid(id): + return ("'apps", "'" + car(id), "'app.composite") + +# Put an app into the apps db +def put(id, app, cache): + comp = cdr(cadddr(car(app))) + cache.put(appid(id), comp) + return True + +# Get an app from the apps db +def get(id, cache): + if isNil(id): + return (("'feed", ("'title", "Composites"), ("'id", "composites")),) + app = cache.get(appid(id)); + if isNil(app) or app is None: + return (("'entry", ("'title", car(id)), ("'id", car(id))),) + return (("'entry", ("'title", car(id)), ("'id", car(id)), ("'content", car(app))),) + +# Delete an app from the apps db +def delete(id, cache): + cache.delete(appid(id)) + return True + diff --git a/sca-cpp/trunk/hosting/server/config-backup b/sca-cpp/trunk/hosting/server/config-backup new file mode 100755 index 0000000000..5e09008fb0 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/config-backup @@ -0,0 +1,22 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +cd ../../ +tar czf ../config-backup.tar.gz hosting/server/*start hosting/server/*stop hosting/server/htdocs/*.js hosting/server/htdocs/public/*.js hosting/server/htdocs/home/*.b64 hosting/server/htdocs/home/*.png + diff --git a/sca-cpp/trunk/hosting/server/dashboards.py b/sca-cpp/trunk/hosting/server/dashboards.py new file mode 100644 index 0000000000..22cf59f157 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/dashboards.py @@ -0,0 +1,80 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Dashboards collection implementation +from util import * + +# Convert a particular user id to a dashboard id +def dashboardid(user): + return ("'dashboards", "'" + user.id(), "'user.apps") + +# Get a dashboard from the cache +def getdashboard(id, cache): + dashboard = cache.get(id) + if isNil(dashboard) or dashboard is None: + return () + return dashboard + +# Put an app into the user's dashboard +def put(id, app, user, cache, apps): + def putapp(app, dashboard): + if isNil(dashboard): + return app + if cadr(caddr(car(app))) == cadr(caddr(car(dashboard))): + return cons(car(app), cdr(dashboard)) + return cons(car(dashboard), putapp(app, cdr(dashboard))) + + appentry = (("'entry", cadr(car(app)), ("'id", car(id))),) + dashboard = putapp(appentry, getdashboard(dashboardid(user), cache)) + cache.put(dashboardid(user), dashboard) + + # Update app in app repository + apps.put(id, app); + return True + +# Get apps from the user's dashboard +def get(id, user, cache, apps): + def findapp(id, dashboard): + if isNil(dashboard): + return None + if car(id) == cadr(caddr(car(dashboard))): + return (car(dashboard),) + return findapp(id, cdr(dashboard)) + + if isNil(id): + return ((("'feed", ("'title", "Your Apps"), ("'id", user.id())) + getdashboard(dashboardid(user), cache)),) + return findapp(id, getdashboard(dashboardid(user), cache)) + +# Delete apps from the user's dashboard +def delete(id, user, cache, apps): + if isNil(id): + return cache.delete(dashboardid(user)) + + def deleteapp(id, dashboard): + if isNil(dashboard): + return () + if car(id) == cadr(caddr(car(dashboard))): + return cdr(dashboard) + return cons(car(dashboard), deleteapp(id, cdr(dashboard))) + + dashboard = deleteapp(id, getdashboard(dashboardid(user), cache)) + cache.put(dashboardid(user), dashboard) + + # Delete app from app repository + apps.delete(id); + return True + diff --git a/sca-cpp/trunk/hosting/server/data-backup b/sca-cpp/trunk/hosting/server/data-backup new file mode 100755 index 0000000000..f66e947f84 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data-backup @@ -0,0 +1,22 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +cd ../../ +tar czf ../data-backup.tar.gz hosting/server/data + diff --git a/sca-cpp/trunk/hosting/server/data/accounts/jane@localhost/user.account b/sca-cpp/trunk/hosting/server/data/accounts/jane@localhost/user.account new file mode 100644 index 0000000000..5fca389f04 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/accounts/jane@localhost/user.account @@ -0,0 +1 @@ +((entry (title "Jane Doe") (id "jane@localhost"))) diff --git a/sca-cpp/trunk/hosting/server/data/accounts/jane@sca-store.com/user.account b/sca-cpp/trunk/hosting/server/data/accounts/jane@sca-store.com/user.account new file mode 100644 index 0000000000..e0d25671b6 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/accounts/jane@sca-store.com/user.account @@ -0,0 +1 @@ +((entry (title "Jane Doe") (id "jane@sca-store.com") (content (account (description "This is Jane") (keys (key (((@name "key1") (@value "value1")) ((@name "key2") (@value "value2")) ((@name "key3") (@value "value3")) ((@name "") (@value "")) ((@name "") (@value ""))))))))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/accounts/john@localhost/user.account b/sca-cpp/trunk/hosting/server/data/accounts/john@localhost/user.account new file mode 100644 index 0000000000..35d6f30f0b --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/accounts/john@localhost/user.account @@ -0,0 +1 @@ +((entry (title "John Doe") (id "john@localhost"))) diff --git a/sca-cpp/trunk/hosting/server/data/accounts/john@sca-store.com/user.account b/sca-cpp/trunk/hosting/server/data/accounts/john@sca-store.com/user.account new file mode 100644 index 0000000000..273335e1c7 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/accounts/john@sca-store.com/user.account @@ -0,0 +1 @@ +((entry (title "John Doe") (id "john@sca-store.com") (content (account (description "This is John") (keys (key (((@name "key1") (@value "value1")) ((@name "key2") (@value "value2")) ((@name "key3") (@value "value3")) ((@name "key4") (@value "value4")) ((@name "key5") (@value "value5"))))))))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/me360/app.composite b/sca-cpp/trunk/hosting/server/data/apps/me360/app.composite new file mode 100644 index 0000000000..c0fb6a425c --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/me360/app.composite @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + fbprofile + + + + + + twitprofile + + + + + + buzzprofile + + + + + + + + + + + + + + + + + + + jsdelfino + + + + + jsdelfino + + + + + jsdelfino + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/me360/app.stats b/sca-cpp/trunk/hosting/server/data/apps/me360/app.stats new file mode 100644 index 0000000000..a46c727280 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/me360/app.stats @@ -0,0 +1 @@ +((entry (title "Check my public social data") (id "me360"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/me360/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/me360/htdocs/app.html new file mode 100644 index 0000000000..e57e246328 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/me360/htdocs/app.html @@ -0,0 +1,75 @@ + + +
+ +

Me360

+
+ + Facebook + + + + + + + + + + + + + +
=fbprofile...
......
+
+ + Twitter + + + + + + + + + + + + + +
=twitprofile...
......
+
+ + Buzz + + + + + + + + + + + + + +
=buzzprofile...
......
+
+
diff --git a/sca-cpp/trunk/hosting/server/data/apps/nearme/app.composite b/sca-cpp/trunk/hosting/server/data/apps/nearme/app.composite new file mode 100644 index 0000000000..51fc2791fb --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/nearme/app.composite @@ -0,0 +1,444 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + me + + + + + + mapimg + + + + + + x + + + + + + 1 + + + + + + 2 + + + + + + 3 + + + + + + time3 + + + + + + time2 + + + + + + time1 + + + + + + mytime + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + getlocs + + + + + getlocs + + + + + nearme + + + + + nearme + + + + + + + + + + + + + + + 5000 + + + + + longitude + + + + + + latitude + + + + + + friend1 + + + + + + friend2 + + + + + + friend3 + + + + + + friend1 + + + + + + friend2 + + + + + + friend3 + + + + + + + + + + + + + + + + + + + + + + + + + %a %b %d, %I:%M %p + + + + + /components/map + + + + + green + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/nearme/app.stats b/sca-cpp/trunk/hosting/server/data/apps/nearme/app.stats new file mode 100644 index 0000000000..a072636788 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/nearme/app.stats @@ -0,0 +1 @@ +((entry (title "nearme") (id "nearme"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/nearme/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/nearme/htdocs/app.html new file mode 100644 index 0000000000..fba4b0464c --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/nearme/htdocs/app.html @@ -0,0 +1,54 @@ + + +
+ +

Nearme

+
+ +

=me

+
+ + =mytime + + + My friends + + + + + + =time1 + + + + + + =time2 + + + + + + =time3 + + + + +
diff --git a/sca-cpp/trunk/hosting/server/data/apps/nearme2/app.composite b/sca-cpp/trunk/hosting/server/data/apps/nearme2/app.composite new file mode 100644 index 0000000000..8038387e4a --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/nearme2/app.composite @@ -0,0 +1,191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + me + + + + + + img + + + + + + S + + + + + + C + + + + + + + + + + + + + + + + + + + + + + + + 10000 + + + + + longitude + + + + + + latitude + + + + + + + + + + + + + + + + + + + + john + + + + + blue + + + + + pink + + + + + jane + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/nearme2/app.stats b/sca-cpp/trunk/hosting/server/data/apps/nearme2/app.stats new file mode 100644 index 0000000000..9eb239d22c --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/nearme2/app.stats @@ -0,0 +1 @@ +((entry (title "nearme2") (id "nearme2"))) diff --git a/sca-cpp/trunk/hosting/server/data/apps/nearme2/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/nearme2/htdocs/app.html new file mode 100644 index 0000000000..a4c407a7a4 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/nearme2/htdocs/app.html @@ -0,0 +1,30 @@ + + +
+ +

Hello

+
+ +

=me

+
+ + + +
diff --git a/sca-cpp/trunk/hosting/server/data/apps/new/app.composite b/sca-cpp/trunk/hosting/server/data/apps/new/app.composite new file mode 100644 index 0000000000..4beacfdf77 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/new/app.composite @@ -0,0 +1,52 @@ + + + + + + + + + Change this example to do what you want + + + + + + me + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/new/app.stats b/sca-cpp/trunk/hosting/server/data/apps/new/app.stats new file mode 100644 index 0000000000..513c902468 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/new/app.stats @@ -0,0 +1 @@ +((entry (title "An empty app template") (id "new"))) diff --git a/sca-cpp/trunk/hosting/server/data/apps/new/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/new/htdocs/app.html new file mode 100644 index 0000000000..eeb7becae5 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/new/htdocs/app.html @@ -0,0 +1,27 @@ + + +
+ +

Hello

+
+ +

=me

+
+
diff --git a/sca-cpp/trunk/hosting/server/data/apps/ourphotos/app.composite b/sca-cpp/trunk/hosting/server/data/apps/ourphotos/app.composite new file mode 100644 index 0000000000..2a7ce11f1f --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/ourphotos/app.composite @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + images + + + + + + width + + + + + + + + + + + + + + + + + + + + + + + src + + + + + m + + + + + image + + + + + 320 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + jsdelfino + + + + + 61049883@N06 + + + + + image + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/ourphotos/app.stats b/sca-cpp/trunk/hosting/server/data/apps/ourphotos/app.stats new file mode 100644 index 0000000000..e685d930dd --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/ourphotos/app.stats @@ -0,0 +1 @@ +((entry (title "Our photos of an event") (id "ourphotos"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/ourphotos/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/ourphotos/htdocs/app.html new file mode 100644 index 0000000000..1ddb89fa30 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/ourphotos/htdocs/app.html @@ -0,0 +1,36 @@ + + +
+ +

Our Photos

+
+ + + + + + + + + + +
=images
...
+
+
diff --git a/sca-cpp/trunk/hosting/server/data/apps/shoppingcart/app.composite b/sca-cpp/trunk/hosting/server/data/apps/shoppingcart/app.composite new file mode 100644 index 0000000000..230004315d --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/shoppingcart/app.composite @@ -0,0 +1,596 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + catalog + + + + + + total + + + + + + Kiwi + + + + + + delresult + + + + + + sendresult + + + + + + message + + + + + + message + + + + + + cart + + + + + + putresult + + + + + + Mango + + + + + + Passion + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fruit + + + + + total + + + + + total + + + + + getcart + + + + + order + + + + + carthtml + + + + + order + + + + + carthtml + + + + + total + + + + + catalog + + + + + catalog + + + + + total + + + + + fruit + + + + + getcart + + + + + getcart + + + + + emptyCart + + + + + cataloghtml + + + + + carthtml + + + + + 2.99 + + + + + 3.55 + + + + + 2 + + + + + 1.55 + + + + + + + + + + fruit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xmppsca.1@gmail.com + + + + + - + + + + + Welcome to my online store + + + + + jsdelfino@gmail.com + + + + + Your order has been processed. Your total: ${1} + + + + + ${1} - {0} + + + + + ${1} - {0} + + + + + xmpp4sca + + + + + fruit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fruit + + + + + fruit + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/shoppingcart/app.stats b/sca-cpp/trunk/hosting/server/data/apps/shoppingcart/app.stats new file mode 100644 index 0000000000..4529005b54 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/shoppingcart/app.stats @@ -0,0 +1 @@ +((entry (title "My online store") (id "shoppingcart"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/shoppingcart/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/shoppingcart/htdocs/app.html new file mode 100644 index 0000000000..0464f3e4c4 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/shoppingcart/htdocs/app.html @@ -0,0 +1,72 @@ + + +
+ +

Shopping Cart

+
+ + Welcome + + + Catalog + + + + + + + + + + + + + + +
=catalog
...
+
+ + Your cart: + + + $ + + + =total + + + + + + + + + + + + + + + + + +
=cart
...
+
+
diff --git a/sca-cpp/trunk/hosting/server/data/apps/slice/app.composite b/sca-cpp/trunk/hosting/server/data/apps/slice/app.composite new file mode 100644 index 0000000000..714629767b --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/slice/app.composite @@ -0,0 +1,504 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + r + + + + + + me + + + + + + score + + + + + + r + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + i + + + + + score + + + + + score + + + + + feather2 + + + + + feather3 + + + + + bounce + + + + + sprite + + + + + feather1 + + + + + gnu1 + + + + + gnu2 + + + + + score + + + + + 3000 + + + + + 1 + + + + + 200 + + + + + 10 + + + + + 0 + + + + + 100 + + + + + 0 + + + + + 0 + + + + + 0 + + + + + 100 + + + + + 240 + + + + + 0 + + + + + 720 + + + + + -400 + + + + + 360 + + + + + 50 + + + + + 4000 + + + + + 0 + + + + + 20 + + + + + -200 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/slice/app.stats b/sca-cpp/trunk/hosting/server/data/apps/slice/app.stats new file mode 100644 index 0000000000..c7d1996716 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/slice/app.stats @@ -0,0 +1 @@ +((entry (title "Slice") (id "slice"))) diff --git a/sca-cpp/trunk/hosting/server/data/apps/slice/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/slice/htdocs/app.html new file mode 100644 index 0000000000..b4bc5908f6 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/slice/htdocs/app.html @@ -0,0 +1,68 @@ + + +
+ +

Hello

+
+ +

=me

+
+ +

Score:

+
+ +

0

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/sca-cpp/trunk/hosting/server/data/apps/test/app.composite b/sca-cpp/trunk/hosting/server/data/apps/test/app.composite new file mode 100644 index 0000000000..8fd7505562 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/test/app.composite @@ -0,0 +1,45 @@ + + + + + + + + Change this example to do what you want + + + + + + me + + + + + + time + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/test/app.stats b/sca-cpp/trunk/hosting/server/data/apps/test/app.stats new file mode 100644 index 0000000000..9adad8c1a6 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/test/app.stats @@ -0,0 +1 @@ +((entry (title "An empty test app") (id "test"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/test/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/test/htdocs/app.html new file mode 100644 index 0000000000..d33d4d6da7 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/test/htdocs/app.html @@ -0,0 +1,33 @@ + + +
+ +

Hello

+
+ +

=me

+
+ + The time is: + + + =time + +
diff --git a/sca-cpp/trunk/hosting/server/data/apps/testanimation/app.composite b/sca-cpp/trunk/hosting/server/data/apps/testanimation/app.composite new file mode 100644 index 0000000000..5c8ebd59f3 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testanimation/app.composite @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + testdynimg + + + + + + testdynimg + + + + + + width + + + + + + + + + + + + + + + + + + + + + + + * + + + + + + + + * + + + + + + + + t + + + + + 0 + + + + + 121 + + + + + 3 + + + + + 20 + + + + + 6 + + + + + 5 + + + + + + + + + + + + + + + + + + + + + + + http://tuscany.apache.org/images/TuscanyLogo.jpg + + + + + + + + + + + + t + + + + + t + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/testanimation/app.stats b/sca-cpp/trunk/hosting/server/data/apps/testanimation/app.stats new file mode 100644 index 0000000000..493ef39d1a --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testanimation/app.stats @@ -0,0 +1 @@ +((entry (title "Test animation components") (id "testanimation"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/testanimation/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/testanimation/htdocs/app.html new file mode 100644 index 0000000000..c9f9420eb0 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testanimation/htdocs/app.html @@ -0,0 +1,27 @@ + + +
+ +

Test animation component

+
+ + + +
diff --git a/sca-cpp/trunk/hosting/server/data/apps/testdb/app.composite b/sca-cpp/trunk/hosting/server/data/apps/testdb/app.composite new file mode 100644 index 0000000000..32a023f8a7 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testdb/app.composite @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + testkey + + + + + testvalue + + + + + testkey + + + + + testkey + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/testdb/app.stats b/sca-cpp/trunk/hosting/server/data/apps/testdb/app.stats new file mode 100644 index 0000000000..1128933dfd --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testdb/app.stats @@ -0,0 +1 @@ +((entry (title "Test database components") (id "testdb"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/testdb/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/testdb/htdocs/app.html new file mode 100644 index 0000000000..856966ff50 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testdb/htdocs/app.html @@ -0,0 +1,24 @@ + + +
+ +

Test db components

+
+
diff --git a/sca-cpp/trunk/hosting/server/data/apps/testevents/app.composite b/sca-cpp/trunk/hosting/server/data/apps/testevents/app.composite new file mode 100644 index 0000000000..61cd17ec81 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testevents/app.composite @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + abc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + status + + + + + + status + + + + + + status + + + + + + testtext + + + + + + location + + + + + + + + + + + + + + + + + + + compxyz + + + + + https://testhttp.sca-store.com:8453/components/property + + + + + 3000 + + + + + testfield + + + + + + + + + + + + status + + + + + + + + + + + + page opens + + + + + xyz + + + + + ok button clicked + + + + + cancel button clicked + + + + + timer fired + + + + + https://testhttp.sca-store.com:8453/components/property + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/testevents/app.stats b/sca-cpp/trunk/hosting/server/data/apps/testevents/app.stats new file mode 100644 index 0000000000..51d6a0388e --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testevents/app.stats @@ -0,0 +1 @@ +((entry (title "Test event components") (id "testevents"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/testevents/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/testevents/htdocs/app.html new file mode 100644 index 0000000000..6698c6faa8 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testevents/htdocs/app.html @@ -0,0 +1,57 @@ + + +
+ +

Test events

+
+ + + + + Status: + + + =status + + + Field value: + + + =testtext + + + Longitude: + + + =longitude + + + Latitude: + + + =latitude + + + + + + + +
diff --git a/sca-cpp/trunk/hosting/server/data/apps/testhttp/app.composite b/sca-cpp/trunk/hosting/server/data/apps/testhttp/app.composite new file mode 100644 index 0000000000..6aabf6d4bb --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testhttp/app.composite @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + user + + + + + + name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + https://testhttp.sca-store.com:8453/components/property + + + + + twilliosid + + + + + twilliosid + + + + + twilliotoken + + + + + + + + + + + + + + + + + test + + + + + + + + + + http://www.google.com + + + + + https://api.twilio.com/2010-04-01/Accounts/ + + + + + SMS/Messages + + + + + +14155992671 + + + + + From={0}&To={1}&Body={2} + + + + + +16508632924 + + + + + This is a text message + + + + + application/x-www-form-urlencoded + + + + + http://maps.googleapis.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|Lexington,MA&sensor=false + + + + + http://www.weather.gov/forecasts/xml/sample_products/browser_interface/ndfdXMLclient.php?whichClient=NDFDgen&lat=38.99&lon=-77.01&listLatLon=&lat1=&lon1=&lat2=&lon2=&resolutionSub=&listLat1=&listLon1=&listLat2=&listLon2=&resolutionList=&endPoint1Lat=&endPoint1Lon=&endPoint2Lat=&endPoint2Lon=&listEndPoint1Lat=&listEndPoint1Lon=&listEndPoint2Lat=&listEndPoint2Lon=&zipCodeList=&listZipCodeList=&centerPointLat=&centerPointLon=&distanceLat=&distanceLon=&resolutionSquare=&listCenterPointLat=&listCenterPointLon=&listDistanceLat=&listDistanceLon=&listResolutionSquare=&citiesLevel=&listCitiesLevel=&sector=&gmlListLatLon=&featureType=&requestedTime=&startTime=&endTime=&compType=&propertyName=&product=time-series&begin=2004-01-01T00%3A00%3A00&end=2015-03-10T00%3A00%3A00&maxt=maxt&Submit=Submit + + + + + http://feedproxy.google.com/TechCrunch + + + + + cnn.com + + + + + https://chart.googleapis.com/chart?cht=p3&chs=250x100&chd=60,40&chl=Hello|World + + + + + cnn.com + + + + + (CNN) + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/testhttp/app.stats b/sca-cpp/trunk/hosting/server/data/apps/testhttp/app.stats new file mode 100644 index 0000000000..be1fc6d254 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testhttp/app.stats @@ -0,0 +1 @@ +((entry (title "Test HTTP components") (id "testhttp"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/testhttp/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/testhttp/htdocs/app.html new file mode 100644 index 0000000000..b0c20ef5e6 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testhttp/htdocs/app.html @@ -0,0 +1,31 @@ + + +
+ +

Test HTTP components

+
+ + + + frame ... + + + +
diff --git a/sca-cpp/trunk/hosting/server/data/apps/testlogic/app.composite b/sca-cpp/trunk/hosting/server/data/apps/testlogic/app.composite new file mode 100644 index 0000000000..659fcbacba --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testlogic/app.composite @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5 + + + + + 3 + + + + + 5 + + + + + 0 + + + + + 100 + + + + + 3 + + + + + 5 + + + + + 5 + + + + + 5 + + + + + 0.5 + + + + + 0.5 + + + + + 5 + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + greater than 5 + + + + + not greater than 5 + + + + + 3.14116 * 5 * 5 + + + + + 3.14116 * ref.get(r) * ref.get(r) + + + + + http://people.apache.org/~jsdelfino/tuscany/test/surface.py + + + + + val = 3.14116 * ref.get(r) * ref.get(r) + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/testlogic/app.stats b/sca-cpp/trunk/hosting/server/data/apps/testlogic/app.stats new file mode 100644 index 0000000000..e557346327 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testlogic/app.stats @@ -0,0 +1 @@ +((entry (title "Test logic components") (id "testlogic"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/testlogic/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/testlogic/htdocs/app.html new file mode 100644 index 0000000000..4e9efdaa22 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testlogic/htdocs/app.html @@ -0,0 +1,24 @@ + + +
+ +

Test logic components

+
+
diff --git a/sca-cpp/trunk/hosting/server/data/apps/testsearch/app.composite b/sca-cpp/trunk/hosting/server/data/apps/testsearch/app.composite new file mode 100644 index 0000000000..493e9a253a --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testsearch/app.composite @@ -0,0 +1,240 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A + + + + + + A + + + + + + B + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 94070 + + + + + 37.507156 + + + + + 37.507156 + + + + + -122.260526 + + + + + -122.260526 + + + + + apache tuscany + + + + + San Carlos, CA + + + + + apache tuscany + + + + + 94070 + + + + + http://maps.google.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=14&size=512x512&maptype=roadmap%20&markers=color:blue|label:S|40.702147,-74.015794&markers=color:green|label:G|40.711614,-74.012318%20&markers=color:red|color:red|label:C|40.718217,-73.998284&sensor=false + + + + + green + + + + + San Francisco, CA + + + + + San Carlos, CA + + + + + yellow + + + + + green + + + + + apache tuscany + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/testsearch/app.stats b/sca-cpp/trunk/hosting/server/data/apps/testsearch/app.stats new file mode 100644 index 0000000000..691c43875d --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testsearch/app.stats @@ -0,0 +1 @@ +((entry (title "Test search components") (id "testsearch"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/testsearch/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/testsearch/htdocs/app.html new file mode 100644 index 0000000000..ca5462f07a --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testsearch/htdocs/app.html @@ -0,0 +1,24 @@ + + +
+ +

Test search components

+
+
diff --git a/sca-cpp/trunk/hosting/server/data/apps/testsms/app.composite b/sca-cpp/trunk/hosting/server/data/apps/testsms/app.composite new file mode 100644 index 0000000000..d2abbaae28 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testsms/app.composite @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + twiliosid + + + + + twiliotoken + + + + + tophone + + + + + fromphone + + + + + Hello Again! + + + + + From={0}&To={1}&Body={2} + + + + + Hello there + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/testsms/app.stats b/sca-cpp/trunk/hosting/server/data/apps/testsms/app.stats new file mode 100644 index 0000000000..be1fc6d254 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testsms/app.stats @@ -0,0 +1 @@ +((entry (title "Test HTTP components") (id "testhttp"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/testsms/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/testsms/htdocs/app.html new file mode 100644 index 0000000000..dd8f5f9f26 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testsms/htdocs/app.html @@ -0,0 +1,24 @@ + + +
+ +

Test SMS API

+
+
diff --git a/sca-cpp/trunk/hosting/server/data/apps/testsocial/app.composite b/sca-cpp/trunk/hosting/server/data/apps/testsocial/app.composite new file mode 100644 index 0000000000..28ec9654d8 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testsocial/app.composite @@ -0,0 +1,179 @@ + + + + + + + + + + + + + + + + + + + + + + + + twitprofile + + + + + + name + + + + + + twittimeline + + + + + + twitfriends + + + + + + twitfollowers + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100001053301307 + + + + + jsdelfino + + + + + jsdelfino + + + + + jsdelfino + + + + + jsdelfino + + + + + xmppsca.2@gmail.com + + + + + Hello, the time is {0} + + + + + xmppsca.1@gmail.com + + + + + xmpp4sca + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/testsocial/app.stats b/sca-cpp/trunk/hosting/server/data/apps/testsocial/app.stats new file mode 100644 index 0000000000..fa487f4d81 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testsocial/app.stats @@ -0,0 +1 @@ +((entry (title "Test social components") (id "testsocial"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/testsocial/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/testsocial/htdocs/app.html new file mode 100644 index 0000000000..5fe616ca16 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testsocial/htdocs/app.html @@ -0,0 +1,24 @@ + + +
+ +

Test social components

+
+
diff --git a/sca-cpp/trunk/hosting/server/data/apps/testtext/app.composite b/sca-cpp/trunk/hosting/server/data/apps/testtext/app.composite new file mode 100644 index 0000000000..7021ddb2e9 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testtext/app.composite @@ -0,0 +1,216 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a + + + + + + b + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + abc + + + + + cd + + + + + x + + + + + abcxdefxghi + + + + + The {0} brown {1} + + + + + The {a} brown {b} + + + + + quick + + + + + fox + + + + + quick + + + + + fox + + + + + city (.*) state (.*) + + + + + ABC + + + + + city San Francisco state CA + + + + + abcxdefxghi + + + + + x + + + + + y + + + + + x + + + + + abc + + + + + def + + + + + abcdef + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/testtext/app.stats b/sca-cpp/trunk/hosting/server/data/apps/testtext/app.stats new file mode 100644 index 0000000000..35e43ff383 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testtext/app.stats @@ -0,0 +1 @@ +((entry (title "Test text processing components") (id "testtext"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/testtext/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/testtext/htdocs/app.html new file mode 100644 index 0000000000..1c7612d0e0 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testtext/htdocs/app.html @@ -0,0 +1,24 @@ + + +
+ +

Test text processing components

+
+
diff --git a/sca-cpp/trunk/hosting/server/data/apps/testurl/app.composite b/sca-cpp/trunk/hosting/server/data/apps/testurl/app.composite new file mode 100644 index 0000000000..7b97b7a957 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testurl/app.composite @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + parmx + + + + + + parmy + + + + + + parmn + + + + + + + + + + + + + + + + + + + + + + + + + + + key2 + + + + + 123 + + + + + + + + + + + + + + + + + + + + http://sca-store.com/ + + + + + key2 + + + + + test + + + + + path + + + + + xx + + + + + yy + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/testurl/app.stats b/sca-cpp/trunk/hosting/server/data/apps/testurl/app.stats new file mode 100644 index 0000000000..b4142f40cf --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testurl/app.stats @@ -0,0 +1 @@ +((entry (title "Test URL components") (id "testurl"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/testurl/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/testurl/htdocs/app.html new file mode 100644 index 0000000000..8c47186044 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testurl/htdocs/app.html @@ -0,0 +1,24 @@ + + +
+ +

Test url components

+
+
diff --git a/sca-cpp/trunk/hosting/server/data/apps/testvalues/app.composite b/sca-cpp/trunk/hosting/server/data/apps/testvalues/app.composite new file mode 100644 index 0000000000..4ee8a0a619 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testvalues/app.composite @@ -0,0 +1,491 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a + + + + + + a + + + + + + entry + + + + + + entry + + + + + + test + + + + + + d + + + + + + x + + + + + + d + + + + + + ccc + + + + + + b + + + + + + c + + + + + + c + + + + + + b + + + + + + a + + + + + + x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * + + + + + + + + abc + + + + + nb + + + + + d + + + + + sum + + + + + i + + + + + a.b + + + + + + + + + 12 + + + + + 10 + + + + + 123 + + + + + 0 + + + + + 10 + + + + + 0 + + + + + 123 + + + + + 456 + + + + + 0 + + + + + 10 + + + + + 2 + + + + + 34 + + + + + 3 + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + xyz + + + + + xyz + + + + + y + + + + + bbb + + + + + abc + + + + + def + + + + + ccc + + + + + BBB + + + + + hello + + + + + CCC + + + + + abc + + + + + + + + + nb + + + + + sum + + + + + i + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/testvalues/app.stats b/sca-cpp/trunk/hosting/server/data/apps/testvalues/app.stats new file mode 100644 index 0000000000..4b7a09cd38 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testvalues/app.stats @@ -0,0 +1 @@ +((entry (title "Test values and lists") (id "testvalues"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/testvalues/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/testvalues/htdocs/app.html new file mode 100644 index 0000000000..79bb081a97 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testvalues/htdocs/app.html @@ -0,0 +1,27 @@ + + +
+ +

Test values and lists

+
+ + =value + +
diff --git a/sca-cpp/trunk/hosting/server/data/apps/testwidgets/app.composite b/sca-cpp/trunk/hosting/server/data/apps/testwidgets/app.composite new file mode 100644 index 0000000000..1cb1aee017 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testwidgets/app.composite @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + testpath2 + + + + + + testattrs + + + + + + testh1 + + + + + + onclick + + + + + + value + + + + + + testpath1 + + + + + + testimg + + + + + + testtext + + + + + + testlink + + + + + + testcheckbox + + + + + + testentry + + + + + + testbutton + + + + + + testsection + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + test header 1 + + + + + test html attrs + + + + + alert('hey') + + + + + test button + + + + + test entry field + + + + + http://tuscany.apache.org + + + + + test checkbox + + + + + http://tuscany.apache.org/images/TuscanyLogo.jpg + + + + + test section + + + + + test text + + + + + test path + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/testwidgets/app.stats b/sca-cpp/trunk/hosting/server/data/apps/testwidgets/app.stats new file mode 100644 index 0000000000..6a66748ab1 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testwidgets/app.stats @@ -0,0 +1 @@ +((entry (title "Test widgets") (id "testwidgets"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/testwidgets/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/testwidgets/htdocs/app.html new file mode 100644 index 0000000000..d1422c10ac --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testwidgets/htdocs/app.html @@ -0,0 +1,54 @@ + + +
+ +

=testh1

+
+ + =testsection + + + + + + + + + + + + + =testcheckbox + + + + =testlink + + + + =testattrs + + + =testtext + + + =testpath1.testpath2 + +
diff --git a/sca-cpp/trunk/hosting/server/data/apps/testwidgets2/app.composite b/sca-cpp/trunk/hosting/server/data/apps/testwidgets2/app.composite new file mode 100644 index 0000000000..f387e876ed --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testwidgets2/app.composite @@ -0,0 +1,147 @@ + + + + + + + + + testframe + + + + + + testselect + + + + + + testlink + + + + + + testhtml + + + + + + testlist1 + + + + + + testlist2 + + + + + + a + + + + + + b + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + 2 + + + + + + + + + + + + test value + + + + + test select + + + + + <b>test bold text</b> + + + + + http://www.apache.org/ + + + + + Apache + + + + + http://www.cnn.com + + + + + dynamic checkbox + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/testwidgets2/app.stats b/sca-cpp/trunk/hosting/server/data/apps/testwidgets2/app.stats new file mode 100644 index 0000000000..18f0cb50f8 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testwidgets2/app.stats @@ -0,0 +1 @@ +((entry (title "Test more widgets") (id "testwidgets2"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/testwidgets2/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/testwidgets2/htdocs/app.html new file mode 100644 index 0000000000..7efb62d247 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testwidgets2/htdocs/app.html @@ -0,0 +1,86 @@ + + +
+ +

Test widget components

+
+ + + + + + + + + + + + +
=testlist1...
......
+
+ + + + + + + + + + + + +
=testlist2...
......
+
+ + + + + + + + + + + + +
=b...
......
+
+ + =testhtml + + + + + + + =testlink + + + + + + frame ... + + + +
diff --git a/sca-cpp/trunk/hosting/server/data/apps/testwidgets3/app.composite b/sca-cpp/trunk/hosting/server/data/apps/testwidgets3/app.composite new file mode 100644 index 0000000000..e367b69a9c --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testwidgets3/app.composite @@ -0,0 +1,206 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + testdynimg + + + + + + testdyncheckbox + + + + + + teststyledimg + + + + + + onclick + + + + + + width + + + + + + height + + + + + + id + + + + + + src + + + + + + testdynlink + + + + + + testdynbutton + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://tuscany.apache.org/images/TuscanyLogo.jpg + + + + + testimg + + + + + http://tuscany.apache.org/images/TuscanyLogo.jpg + + + + + alert('hey') + + + + + 320px + + + + + 60px + + + + + http://www.apache.org/ + + + + + Apache + + + + + dynamic button + + + + + dynamic checkbox + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/testwidgets3/app.stats b/sca-cpp/trunk/hosting/server/data/apps/testwidgets3/app.stats new file mode 100644 index 0000000000..2e772401c9 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testwidgets3/app.stats @@ -0,0 +1 @@ +((entry (title "Test HTML generator components") (id "testwidgets3"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/testwidgets3/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/testwidgets3/htdocs/app.html new file mode 100644 index 0000000000..393d63c2d1 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/testwidgets3/htdocs/app.html @@ -0,0 +1,39 @@ + + +
+ +

Test widget components

+
+ + =testdynimg + + + =testdynlink + + + =testdynbutton + + + =testdyncheckbox + + + =teststyledimg + +
diff --git a/sca-cpp/trunk/hosting/server/data/apps/twsms/app.composite b/sca-cpp/trunk/hosting/server/data/apps/twsms/app.composite new file mode 100644 index 0000000000..66523f4754 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/twsms/app.composite @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + sid + + + + + + sid + + + + + + token + + + + + + from + + + + + + to + + + + + + msg + + + + + + + + + + + + + + + + + https://{0}:{1}@api.twilio.com/2010-04-01/Accounts/{2}/SMS/Messages + + + + + SMS/Messages + + + + + From={0}&To={1}&Body={2} + + + + + application/x-www-form-urlencoded + + diff --git a/sca-cpp/trunk/hosting/server/data/apps/twsms/app.stats b/sca-cpp/trunk/hosting/server/data/apps/twsms/app.stats new file mode 100644 index 0000000000..85c97c2457 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/twsms/app.stats @@ -0,0 +1 @@ +((entry (title "SMS send service") (id "twsms"))) \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/data/apps/twsms/htdocs/app.html b/sca-cpp/trunk/hosting/server/data/apps/twsms/htdocs/app.html new file mode 100644 index 0000000000..d2eaebcdd0 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/apps/twsms/htdocs/app.html @@ -0,0 +1,33 @@ + + +
+ +

SMS Send Service

+
+ + To send an SMS use a URL like this: + + + http://twsms..../?sid=...&token=...&from=... + + + &to=...&msg=... + +
diff --git a/sca-cpp/trunk/hosting/server/data/dashboards/jane@localhost/user.apps b/sca-cpp/trunk/hosting/server/data/dashboards/jane@localhost/user.apps new file mode 100644 index 0000000000..710de5f62e --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/dashboards/jane@localhost/user.apps @@ -0,0 +1 @@ +((entry (title "An empty test app") (id "test"))) diff --git a/sca-cpp/trunk/hosting/server/data/dashboards/jane@sca-store.com/user.apps b/sca-cpp/trunk/hosting/server/data/dashboards/jane@sca-store.com/user.apps new file mode 100644 index 0000000000..710de5f62e --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/dashboards/jane@sca-store.com/user.apps @@ -0,0 +1 @@ +((entry (title "An empty test app") (id "test"))) diff --git a/sca-cpp/trunk/hosting/server/data/dashboards/john@localhost/user.apps b/sca-cpp/trunk/hosting/server/data/dashboards/john@localhost/user.apps new file mode 100644 index 0000000000..710de5f62e --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/dashboards/john@localhost/user.apps @@ -0,0 +1 @@ +((entry (title "An empty test app") (id "test"))) diff --git a/sca-cpp/trunk/hosting/server/data/dashboards/john@sca-store.com/user.apps b/sca-cpp/trunk/hosting/server/data/dashboards/john@sca-store.com/user.apps new file mode 100644 index 0000000000..710de5f62e --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/dashboards/john@sca-store.com/user.apps @@ -0,0 +1 @@ +((entry (title "An empty test app") (id "test"))) diff --git a/sca-cpp/trunk/hosting/server/data/palettes/animation/palette.composite b/sca-cpp/trunk/hosting/server/data/palettes/animation/palette.composite new file mode 100644 index 0000000000..75cbf497b6 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/palettes/animation/palette.composite @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/palettes/control/palette.composite b/sca-cpp/trunk/hosting/server/data/palettes/control/palette.composite new file mode 100644 index 0000000000..f89cae2c5d --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/palettes/control/palette.composite @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/palettes/database/palette.composite b/sca-cpp/trunk/hosting/server/data/palettes/database/palette.composite new file mode 100644 index 0000000000..926fb3fa14 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/palettes/database/palette.composite @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/palettes/http/palette.composite b/sca-cpp/trunk/hosting/server/data/palettes/http/palette.composite new file mode 100644 index 0000000000..13f92e8954 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/palettes/http/palette.composite @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/palettes/lists/palette.composite b/sca-cpp/trunk/hosting/server/data/palettes/lists/palette.composite new file mode 100644 index 0000000000..2f4051d7b9 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/palettes/lists/palette.composite @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/palettes/logic/palette.composite b/sca-cpp/trunk/hosting/server/data/palettes/logic/palette.composite new file mode 100644 index 0000000000..4d84272fd5 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/palettes/logic/palette.composite @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/palettes/math/palette.composite b/sca-cpp/trunk/hosting/server/data/palettes/math/palette.composite new file mode 100644 index 0000000000..7dc4e88f2f --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/palettes/math/palette.composite @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + / + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/palettes/python/palette.composite b/sca-cpp/trunk/hosting/server/data/palettes/python/palette.composite new file mode 100644 index 0000000000..2cc03ae365 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/palettes/python/palette.composite @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/palettes/search/palette.composite b/sca-cpp/trunk/hosting/server/data/palettes/search/palette.composite new file mode 100644 index 0000000000..db58cdcd08 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/palettes/search/palette.composite @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/palettes/social/palette.composite b/sca-cpp/trunk/hosting/server/data/palettes/social/palette.composite new file mode 100644 index 0000000000..5e02303857 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/palettes/social/palette.composite @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/palettes/talk/palette.composite b/sca-cpp/trunk/hosting/server/data/palettes/talk/palette.composite new file mode 100644 index 0000000000..90a48291ca --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/palettes/talk/palette.composite @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/palettes/text/palette.composite b/sca-cpp/trunk/hosting/server/data/palettes/text/palette.composite new file mode 100644 index 0000000000..6b9214f6e4 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/palettes/text/palette.composite @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/palettes/transform/palette.composite b/sca-cpp/trunk/hosting/server/data/palettes/transform/palette.composite new file mode 100644 index 0000000000..566278c44b --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/palettes/transform/palette.composite @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/data/palettes/values/palette.composite b/sca-cpp/trunk/hosting/server/data/palettes/values/palette.composite new file mode 100644 index 0000000000..4cd3a9d14e --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/palettes/values/palette.composite @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + comment + + + + + + + + + + name + + + + + name + + + + + + + + + + + + + + 123 + + + + + text + + + + + + + + + name + + diff --git a/sca-cpp/trunk/hosting/server/data/store/all/store.apps b/sca-cpp/trunk/hosting/server/data/store/all/store.apps new file mode 100644 index 0000000000..caf7142403 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/store/all/store.apps @@ -0,0 +1 @@ +((entry (title "Check my public social data") (id "me360")) (entry (title "Where are my friends") (id "nearme")) (entry (title "Where are my friends") (id "nearme2")) (entry (title "Our photos of an event") (id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online store") (id "shoppingcart")) (entry (title "SMS send service") (id "twsms")) (entry (title "An empty test app") (id "test")) (entry (title "Test values and lists") (id "testvalues")) (entry (title "Test social components") (id "testsocial")) (entry (title "Test URL components") (id "testurl")) (entry (title "Test logic components") (id "testlogic")) (entry (title "Test text processing components") (id "testtext")) (entry (title "Test HTTP components") (id "testhttp")) (entry (title "Test SMS API") (id "testsms")) (entry (title "Test widgets") (id "testwidgets")) (entry (title "Test more widgets") (id "testwidgets2")) (entry (title "Test event components") (id "testevents")) (entry (title "Test search components") (id "testsearch")) (entry (title "Test database components") (id "testdb")) (entry (title "Test HTML generator components") (id "testwidgets3")) (entry (title "Test animation components") (id "testanimation"))) diff --git a/sca-cpp/trunk/hosting/server/data/store/featured/store.apps b/sca-cpp/trunk/hosting/server/data/store/featured/store.apps new file mode 100644 index 0000000000..18bd47e8dd --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/store/featured/store.apps @@ -0,0 +1 @@ +((entry (title "Check my public social data") (id "me360")) (entry (title "Where are my friends") (id "nearme")) (entry (title "Where are my friends") (id "nearme2")) (entry (title "Our photos of an event") (id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online store") (id "shoppingcart")) (entry (title "SMS send service") (id "twsms"))) diff --git a/sca-cpp/trunk/hosting/server/data/store/new/store.apps b/sca-cpp/trunk/hosting/server/data/store/new/store.apps new file mode 100644 index 0000000000..18bd47e8dd --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/store/new/store.apps @@ -0,0 +1 @@ +((entry (title "Check my public social data") (id "me360")) (entry (title "Where are my friends") (id "nearme")) (entry (title "Where are my friends") (id "nearme2")) (entry (title "Our photos of an event") (id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online store") (id "shoppingcart")) (entry (title "SMS send service") (id "twsms"))) diff --git a/sca-cpp/trunk/hosting/server/data/store/top/store.apps b/sca-cpp/trunk/hosting/server/data/store/top/store.apps new file mode 100644 index 0000000000..18bd47e8dd --- /dev/null +++ b/sca-cpp/trunk/hosting/server/data/store/top/store.apps @@ -0,0 +1 @@ +((entry (title "Check my public social data") (id "me360")) (entry (title "Where are my friends") (id "nearme")) (entry (title "Where are my friends") (id "nearme2")) (entry (title "Our photos of an event") (id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online store") (id "shoppingcart")) (entry (title "SMS send service") (id "twsms"))) diff --git a/sca-cpp/trunk/hosting/server/htdocs/account/index.html b/sca-cpp/trunk/hosting/server/htdocs/account/index.html new file mode 100644 index 0000000000..291f6dea1c --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/account/index.html @@ -0,0 +1,224 @@ + + +
+ + + + + + +

+ + + + + +
Account
+ +
+ + + + + + + +
Photo:
Name:
Description:
+ +
+ + + + +
Calendar
+ + + + + + + +
+
+ + + + + +
Key chain
+ + + + + + + + + + + + +
+
+ + + +
diff --git a/sca-cpp/trunk/hosting/server/htdocs/app/cache-manifest.cmf b/sca-cpp/trunk/hosting/server/htdocs/app/cache-manifest.cmf new file mode 100644 index 0000000000..6ea53970aa --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/app/cache-manifest.cmf @@ -0,0 +1,17 @@ +CACHE MANIFEST + +# Version 5 + +# App resources +/favicon.ico +/public/iframe-min.html +/public/img.png +/public/notauth/ +/public/notfound/ +/public/notyet/ +/public/oops/ +/public/touchicon.png + +NETWORK: +* + diff --git a/sca-cpp/trunk/hosting/server/htdocs/app/index.html b/sca-cpp/trunk/hosting/server/htdocs/app/index.html new file mode 100644 index 0000000000..0b01c1d3bd --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/app/index.html @@ -0,0 +1,906 @@ + + + + + + + + + + + + + +
+ +
+ +
+ +
+
+ + + +
+
+ +
+ + + diff --git a/sca-cpp/trunk/hosting/server/htdocs/cache-manifest.cmf b/sca-cpp/trunk/hosting/server/htdocs/cache-manifest.cmf new file mode 100644 index 0000000000..cb76f773a3 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/cache-manifest.cmf @@ -0,0 +1,18 @@ +CACHE MANIFEST + +# Version 5 + +# App resources +/ +/favicon.ico +/public/iframe-min.html +/public/img.png +/public/notauth/ +/public/notfound/ +/public/notyet/ +/public/oops/ +/public/touchicon.png + +NETWORK: +* + diff --git a/sca-cpp/trunk/hosting/server/htdocs/clone/index.html b/sca-cpp/trunk/hosting/server/htdocs/clone/index.html new file mode 100644 index 0000000000..3642634ed6 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/clone/index.html @@ -0,0 +1,146 @@ + + +
+ + + + + + +

+ + + + + +
Clone this App
+ +
+ + + + + + + + + + + + +
New App Name:
App Icon:
Sharing:
Shared
App Title:
Description:
+ + +
+
+ + + +
diff --git a/sca-cpp/trunk/hosting/server/htdocs/create/index.html b/sca-cpp/trunk/hosting/server/htdocs/create/index.html new file mode 100644 index 0000000000..6097053cd6 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/create/index.html @@ -0,0 +1,106 @@ + + +
+ + + + + + +

+ + + + + +
Create an App
+ +
+ + + + + + + + + + + + +
App Name:
App Icon:
Sharing:
Shared
App Title:
Description:
+ + +
+
+ + + +
diff --git a/sca-cpp/trunk/hosting/server/htdocs/favicon.ico b/sca-cpp/trunk/hosting/server/htdocs/favicon.ico new file mode 100644 index 0000000000..a7b502b9e1 Binary files /dev/null and b/sca-cpp/trunk/hosting/server/htdocs/favicon.ico differ diff --git a/sca-cpp/trunk/hosting/server/htdocs/graph/index.html b/sca-cpp/trunk/hosting/server/htdocs/graph/index.html new file mode 100644 index 0000000000..6b750026b4 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/graph/index.html @@ -0,0 +1,2178 @@ + + +
+ + + + + + +

+ + + + + +
+ + + + + + + +
+- + +c + ++ + +> + + +
+ +
+ +
+ + + +
diff --git a/sca-cpp/trunk/hosting/server/htdocs/home/home.b64 b/sca-cpp/trunk/hosting/server/htdocs/home/home.b64 new file mode 100644 index 0000000000..9131135881 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/home/home.b64 @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/htdocs/home/home.png b/sca-cpp/trunk/hosting/server/htdocs/home/home.png new file mode 100644 index 0000000000..8f5a0b0d86 Binary files /dev/null and b/sca-cpp/trunk/hosting/server/htdocs/home/home.png differ diff --git a/sca-cpp/trunk/hosting/server/htdocs/home/index.html b/sca-cpp/trunk/hosting/server/htdocs/home/index.html new file mode 100644 index 0000000000..6fb9b558bf --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/home/index.html @@ -0,0 +1,68 @@ + + +
+ + + + + + +

+ +
+ +
+ +
+ + + +

+
Requires Safari 5+, Chrome 11+, Firefox 4+, IE 9+
+ +
+ + + +
diff --git a/sca-cpp/trunk/hosting/server/htdocs/index.html b/sca-cpp/trunk/hosting/server/htdocs/index.html new file mode 100644 index 0000000000..3bc1529dbb --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/index.html @@ -0,0 +1,525 @@ + + + + + + + + + + + + + +
+ +
+ +
+ + + + + +
+
+
+ + + +
+
+ +
+ + diff --git a/sca-cpp/trunk/hosting/server/htdocs/login/index.html b/sca-cpp/trunk/hosting/server/htdocs/login/index.html new file mode 100644 index 0000000000..9052abe8d3 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/login/index.html @@ -0,0 +1,156 @@ + + + + +Sign in + + + + + + + + +
+ +

Sign in

+ +
+ + + +
Sign in with your Google account
+
+ +
+ + + +
Sign in with your Facebook account
+
+ +
+ +
+ +
+ + + + + + +
+ + + +
+ + diff --git a/sca-cpp/trunk/hosting/server/htdocs/page/index.html b/sca-cpp/trunk/hosting/server/htdocs/page/index.html new file mode 100644 index 0000000000..9482cb4e32 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/page/index.html @@ -0,0 +1,987 @@ + + +
+ + + + + + +

+ + + + + +
+ + + + + + + +
+- + +c + ++ + +> + + +
+ +
+
+ +
+
+
+
+
+ +

Header1

+

Header2

+section + + + +checkbox + + +
list
...
+
+ +
table...
......
+
+link +text +frame ... + +
+ + + +
+ + + + + +
diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/app.b64 b/sca-cpp/trunk/hosting/server/htdocs/public/app.b64 new file mode 100644 index 0000000000..7ed235aa14 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/public/app.b64 @@ -0,0 +1 @@ +iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAABGdBTUEAALGPC/xhBQAAAAxQTFRFyN+N+dR1/PCI////6HjE5gAAADJJREFUKM9j+I8EPjBQifeBAQSY6coLBYN6inhaq0Bg6SDn/f//akB466ExTS6P2ukMAKumzarJO/66AAAAAElFTkSuQmCC \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/app.png b/sca-cpp/trunk/hosting/server/htdocs/public/app.png new file mode 100644 index 0000000000..1f73274b76 Binary files /dev/null and b/sca-cpp/trunk/hosting/server/htdocs/public/app.png differ diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/app.xcf b/sca-cpp/trunk/hosting/server/htdocs/public/app.xcf new file mode 100644 index 0000000000..741b7ff43f Binary files /dev/null and b/sca-cpp/trunk/hosting/server/htdocs/public/app.xcf differ diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/delete.b64 b/sca-cpp/trunk/hosting/server/htdocs/public/delete.b64 new file mode 100644 index 0000000000..c8137d7ab4 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/public/delete.b64 @@ -0,0 +1 @@ +iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAAAZiS0dEANAAPwBBXloXjQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sEFhQaKzNh4PgAAAMKSURBVEjHxZZPTBNBFMa/maVbWjcUi0YiIHIoNBADTUgsqCWgUUFjwkk5CXLUBKIc9KIXjx64oMSDoiggGC8koImCGDWYkADRIiQQgikWCq0WoXW33R0PpYjSLeWP8btN3sv85s17894QrKNeIBng8gFmJSDZgGIAqJeBjQCkH5AHioGZaHsQNUMP+ByKYB0ByVjvIAxsUkHcrRJI9pggXYBWB1pLQUqxQSlg3X4o9WWAqArpAhL04JoIYMQmxQCPD3JlGbCwBtIFaPXgWrcC+AtUEY6Ihg060NrtACyf3KgDrQ2v6e8kbzwH0URBSnvA56xAKIJ1kRzNbS2ZNhYssjodVj41VbPaxqemaqxOh9XGgkXmtpbMyKDQvqQXSKbg2iKGzfPE0v8uV7BYDIuDg95B66FhJkmM8DyxfHifK+TlGRaHhryDBwuHmSSxyBUnn6Ohh6aSQElin86U26XZWVGwWAxZD5tMAGBufmAS8vIMkssl2s+Uj6gBQuLySS/oTQpyONr9GmxHhAMvnltovJZ+73vjTiyyJSmipHw8WTrkfd33Y52385arAr1EAF00R3HqixRwu38mnT61O35/uh4AJq7Ujc0/affEUGsCDfWi9TXX3uEOeDwBABCnp/3OO42uGPuAgQLUG4urueVRlsZo1ACANiVFZ7rTkBFjMXtpqJtGV9q1q3uNJ47vlpd88kTt5VEWCLLk6gtpeyrP74qheY5wlaB6AhSqOSUUFOzIun8vh8RxZKKmZvRrw20X0WjkxCKbceexo0Z3Z+d8wDUXVIeQdgrIA6rFl5DAmVsfZ1MtT+faO5zOxrtzADB1/Ybj28tX85wgxOU8e5pN9XqqHos8QIuBGQY2GTEPD5tM8en79P7x8aWxqurx1bbPZytGRYfDrzOZBHPzA5PanCkGZki4d3GQG7DNksFdLIFkpwBQAsmugHVvJ0AB6w5PypW79EOpZ4BnOwAM8Pih1P/R6gGgDBB9kCu3Clo1GcU1kGXQgg9yxWavTgHrXp6IC///t/Iv/l2/AGa0Qa2X0eC0AAAAAElFTkSuQmCC \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/delete.png b/sca-cpp/trunk/hosting/server/htdocs/public/delete.png new file mode 100644 index 0000000000..fb56bae030 Binary files /dev/null and b/sca-cpp/trunk/hosting/server/htdocs/public/delete.png differ diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/delete.xcf b/sca-cpp/trunk/hosting/server/htdocs/public/delete.xcf new file mode 100644 index 0000000000..7691f50cc5 Binary files /dev/null and b/sca-cpp/trunk/hosting/server/htdocs/public/delete.xcf differ diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/grid72.b64 b/sca-cpp/trunk/hosting/server/htdocs/public/grid72.b64 new file mode 100644 index 0000000000..34be13e5ca --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/public/grid72.b64 @@ -0,0 +1 @@ +iVBORw0KGgoAAAANSUhEUgAAAEgAAABIAgMAAAAog1vUAAAABGdBTUEAALGPC/xhBQAAAAlQTFRFwuD84/T+////fj9v9QAAACxJREFUOMtjWLUqa9WsVctWrYQxVjAMCqFQdBDCMOrUUaeOOnXUqYPPqZgAABmg/C7pJC7lAAAAAElFTkSuQmCC \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/grid72.png b/sca-cpp/trunk/hosting/server/htdocs/public/grid72.png new file mode 100644 index 0000000000..cf6008171a Binary files /dev/null and b/sca-cpp/trunk/hosting/server/htdocs/public/grid72.png differ diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/iframe.html b/sca-cpp/trunk/hosting/server/htdocs/public/iframe.html new file mode 100644 index 0000000000..e2b862dbaa --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/public/iframe.html @@ -0,0 +1,28 @@ + + + + + + + +
frame ...
+ + + diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/img.b64 b/sca-cpp/trunk/hosting/server/htdocs/public/img.b64 new file mode 100644 index 0000000000..97dae687a0 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/public/img.b64 @@ -0,0 +1 @@ +iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAAIRQTFRFwdt/w9yEw9+MxN2GxN6NxN+Oxd2Mxd6Nxt6Lx96Lx96Nx9+NyN6MyN+MyN+N8u2I8+2I+NBq+NFr+NFt+NFu+NJz+NN0+dR1+dR3+dZw+dh4+9Fy+9Nz++5++++B+++F/NNz/PCH/PCI/PGW/PKc/fKd/vzp/vzq/v7+/v/z/9Jx////nQZfHwAAAIxJREFUOMtj0CYAGKiiQANdUAPdBAZmFMCIYQUzHwrgpKECblYwYEJ2LYoCHi0FMBCEAmF0E3hkxFGABJICXnYWFhY2aVE4EENTwCWgCARKCCCFoUAJFQw9BYycnBz8eBSA04cqPhNAQIX+CiSFhIRE8CiQ10ROMNgUqKNnHGU5FCCrhqZAg7Z5Ey8AALiBh6brcmloAAAAAElFTkSuQmCC \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/img.png b/sca-cpp/trunk/hosting/server/htdocs/public/img.png new file mode 100644 index 0000000000..2363b25e8e Binary files /dev/null and b/sca-cpp/trunk/hosting/server/htdocs/public/img.png differ diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/img.xcf b/sca-cpp/trunk/hosting/server/htdocs/public/img.xcf new file mode 100644 index 0000000000..ffcc124584 Binary files /dev/null and b/sca-cpp/trunk/hosting/server/htdocs/public/img.xcf differ diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/notauth/index.html b/sca-cpp/trunk/hosting/server/htdocs/public/notauth/index.html new file mode 100644 index 0000000000..21f70f8a65 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/public/notauth/index.html @@ -0,0 +1,166 @@ + + + + +Sorry + + + + + + + +
+ +
+ +
+ + + +
+ + + +

+ +
+
Sorry, you're not authorized to view this page.
+
+ +
+ + + +
+
+ +
+ + diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/notfound/index.html b/sca-cpp/trunk/hosting/server/htdocs/public/notfound/index.html new file mode 100644 index 0000000000..839cc3395b --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/public/notfound/index.html @@ -0,0 +1,167 @@ + + + + +Page not found + + + + + + + +
+ +
+ +
+ + + +
+ + + +

+ +
+
Sorry, that page was not found.
+
You may have clicked an expired link or mistyped the address.
+
+ +
+ + + +
+
+ +
+ + diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/notyet/index.html b/sca-cpp/trunk/hosting/server/htdocs/public/notyet/index.html new file mode 100644 index 0000000000..c014c7266e --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/public/notyet/index.html @@ -0,0 +1,167 @@ + + + + +Page not found + + + + + + + +
+ +
+ +
+ + + +
+ + + +

+ +
+
Sorry, that page is still under construction.
+
Please check back later.
+
+ +
+ + + +
+
+ +
+ + diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/oops/index.html b/sca-cpp/trunk/hosting/server/htdocs/public/oops/index.html new file mode 100644 index 0000000000..2ef7754919 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/public/oops/index.html @@ -0,0 +1,166 @@ + + + + +Oops + + + + + + + +
+ +
+ +
+ + + +
+ + + +

+ +
+
Oops, something went wrong...
+
+ +
+ + + +
+
+ +
+ + diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/touchicon.b64 b/sca-cpp/trunk/hosting/server/htdocs/public/touchicon.b64 new file mode 100644 index 0000000000..2239f6ae0f --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/public/touchicon.b64 @@ -0,0 +1 @@ +iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAIAAAADehTSAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sDGxMkCJXGmL8AAAHwSURBVGje7ZpNbhNBEIXf625sCzA/QUhkg8SGiGxZcpDcgRux5hLkEjkE7BAS9gIyk+muxyZIsSeOG09bsXHX0p4pfVNdP8/loSTsiTnsj1XWyrrMutVSG+ic/ftNqe1mIMtSjsPUu9EQJ6H/UdvNLr59cgwFWaM1p8dnLx6dFGYF6RhIXzLVGIChB3VX8Fg0DWrPqqyHxTq4MUnKKEEBoNvIN4uxiqTkofUXpgZKsqtMx3Djpb45lNWAxxbfXf6wtdH9+vkKBLLGrFLz4M1HTk+K5gAIgBCVcaTI1gOK/acazqqbw2PdYzE7tdyh9AFJTL0zNDIJMInAZpKPzBzmIZuUnjoa9QQkOBHAyWbigYDaTslybg/59f7Q4+003pqwhqcbqjLH9H2OXw0Ksl6XsWB/a39lhf1rz8vOnKoHKmtlrayVtbLuuc6SFK1Z2hEZkBwAv1us4zA9PT7rDX3v9dPiOeBxT/uY0A+qd6Pbl2Sax/kXDN9LlcrXO3Rk9k/QWluVtbIe2O5toBGwFum3bLH/pEso7RarrPNHH/D8JbBIpsjJqx2Lq3Xu2Xv61yvXJzf6/b3nK2Htyu8WB9P/XltF/wfVllgFxet9azGL+bjMD5IUYbPSMktwT8hRSdalkizcufKcs77vUlkr61bsD5lbwtgOKPT2AAAAAElFTkSuQmCC \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/touchicon.png b/sca-cpp/trunk/hosting/server/htdocs/public/touchicon.png new file mode 100644 index 0000000000..f22c33d2a0 Binary files /dev/null and b/sca-cpp/trunk/hosting/server/htdocs/public/touchicon.png differ diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/touchicon.xcf b/sca-cpp/trunk/hosting/server/htdocs/public/touchicon.xcf new file mode 100644 index 0000000000..fc713b478b Binary files /dev/null and b/sca-cpp/trunk/hosting/server/htdocs/public/touchicon.xcf differ diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/user.b64 b/sca-cpp/trunk/hosting/server/htdocs/public/user.b64 new file mode 100644 index 0000000000..7ed235aa14 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/public/user.b64 @@ -0,0 +1 @@ +iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAABGdBTUEAALGPC/xhBQAAAAxQTFRFyN+N+dR1/PCI////6HjE5gAAADJJREFUKM9j+I8EPjBQifeBAQSY6coLBYN6inhaq0Bg6SDn/f//akB466ExTS6P2ukMAKumzarJO/66AAAAAElFTkSuQmCC \ No newline at end of file diff --git a/sca-cpp/trunk/hosting/server/htdocs/public/user.png b/sca-cpp/trunk/hosting/server/htdocs/public/user.png new file mode 100644 index 0000000000..1f73274b76 Binary files /dev/null and b/sca-cpp/trunk/hosting/server/htdocs/public/user.png differ diff --git a/sca-cpp/trunk/hosting/server/htdocs/robots.txt b/sca-cpp/trunk/hosting/server/htdocs/robots.txt new file mode 100644 index 0000000000..1f53798bb4 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / diff --git a/sca-cpp/trunk/hosting/server/htdocs/stats/index.html b/sca-cpp/trunk/hosting/server/htdocs/stats/index.html new file mode 100644 index 0000000000..81f06c95e4 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/stats/index.html @@ -0,0 +1,161 @@ + + +
+ + + + + + +

+ + + + + + + +
Stats + +
+ +
+ + + + + + + + + + + +
App Icon:
Sharing:
Shared
App Title:
Updated:
Description:
+
+ + + +
diff --git a/sca-cpp/trunk/hosting/server/htdocs/store/index.html b/sca-cpp/trunk/hosting/server/htdocs/store/index.html new file mode 100644 index 0000000000..bcb3ba7c85 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/htdocs/store/index.html @@ -0,0 +1,168 @@ + + +
+ + + + + + +

+ +
+ +
+ + + +
diff --git a/sca-cpp/trunk/hosting/server/log.py b/sca-cpp/trunk/hosting/server/log.py new file mode 100644 index 0000000000..8aa3d3bd30 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/log.py @@ -0,0 +1,24 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Log service component +from sys import stderr + +# Log a message +def log(msg): + print >> stderr, '[rconsole]', msg + diff --git a/sca-cpp/trunk/hosting/server/mkapplinks b/sca-cpp/trunk/hosting/server/mkapplinks new file mode 100755 index 0000000000..a68a2896ec --- /dev/null +++ b/sca-cpp/trunk/hosting/server/mkapplinks @@ -0,0 +1,37 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +aprefix=$1 +tprefix=$2 +nprefix=$3 + +# Create app links to Nuvem and Tuscany components +cd $1 +for n in `ls apps | awk '{ printf "apps/%s/nuvem\n", $1 }'`; do + if [ ! -e "$n" ]; then + ln -s "$nprefix/nuvem-parallel/nuvem" "$n" + fi +done + +for n in `ls apps | awk '{ printf "apps/%s/lib\n", $1 }'`; do + if [ ! -e "$n" ]; then + ln -s "$tprefix/components" "$n" + fi +done + diff --git a/sca-cpp/trunk/hosting/server/pages.py b/sca-cpp/trunk/hosting/server/pages.py new file mode 100644 index 0000000000..a1ec888a0f --- /dev/null +++ b/sca-cpp/trunk/hosting/server/pages.py @@ -0,0 +1,44 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# App pages collection implementation +from util import * + +# Convert an id to an app id +def appid(id): + return ("'apps", "'" + car(id), "'htdocs", "'app.html") + +# Put an app page into the apps db +def put(id, app, cache): + xhtml = cdr(cadddr(car(app))) + cache.put(appid(id), xhtml) + return True + +# Get an app page from the apps db +def get(id, cache): + if isNil(id): + return (("'feed", ("'title", "Pages"), ("'id", "pages")),) + xhtml = cache.get(appid(id)) + if isNil(xhtml) or xhtml is None: + return (("'entry", ("'title", car(id)), ("'id", car(id))),) + return (("'entry", ("'title", car(id)), ("'id", car(id)), ("'content", car(xhtml))),) + +# Delete an app page from the apps db +def delete(id, cache): + cache.delete(appid(id)) + return True + diff --git a/sca-cpp/trunk/hosting/server/palettes.py b/sca-cpp/trunk/hosting/server/palettes.py new file mode 100644 index 0000000000..378f4da18f --- /dev/null +++ b/sca-cpp/trunk/hosting/server/palettes.py @@ -0,0 +1,36 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Palettes collection implementation +from util import * + +# Convert an id to a palette id +def paletteid(id): + return ("'palettes", "'" + car(id), "'palette.composite") + +# Put a palette into the palettes db +def put(id, palette, cache): + comp = cdr(cadddr(car(palette))) + cache.put(paletteid(id), comp) + return True + +# Get a palette from the palettes db +def get(id, cache): + if isNil(id): + return (("'feed", ("'title", "Palettes"), ("'id", "palettes")),) + return (("'entry", ("'title", car(id)), ("'id", car(id)), ("'content", car(cache.get(paletteid(id))))),) + diff --git a/sca-cpp/trunk/hosting/server/selector.py b/sca-cpp/trunk/hosting/server/selector.py new file mode 100644 index 0000000000..84ade136ba --- /dev/null +++ b/sca-cpp/trunk/hosting/server/selector.py @@ -0,0 +1,28 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# App composites collection implementation +from util import * + +# Get the database to use for a particular key +def get(id, db1, db2): + if isNil(id): + return db1 + if cadr(id)[0:1].lower() < 'm': + return db1 + return db2 + diff --git a/sca-cpp/trunk/hosting/server/server.composite b/sca-cpp/trunk/hosting/server/server.composite new file mode 100644 index 0000000000..d79ec3b584 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/server.composite @@ -0,0 +1,175 @@ + + + + + + + ? + ? + ? + ? + ? + ? + ? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + localhost:11211 + + + + + data + scheme + + + + + + + + data + xml + + + + + + + + + + + + + diff --git a/sca-cpp/trunk/hosting/server/ssl-start b/sca-cpp/trunk/hosting/server/ssl-start new file mode 100755 index 0000000000..9be614fa8e --- /dev/null +++ b/sca-cpp/trunk/hosting/server/ssl-start @@ -0,0 +1,179 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# For this module to work, add the example.com domain to your /etc/hosts as follows: +# 127.0.0.1 example.com + +here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $here` +jsprefix=`echo "import os; print os.path.realpath('$here/../../modules/js')" | python` + +# Create SSL certificates +../../modules/http/ssl-ca-conf tmp example.com +../../modules/http/ssl-cert-conf tmp example.com server + +# Configure and start logging +if [ -x ../../components/log/scribe-cat ]; then + ../../components/log/scribed-central-conf tmp + ../../components/log/scribed-client-conf tmp localhost + ../../components/log/scribed-central-start tmp + ../../components/log/scribed-client-start tmp +fi + +# Start memcached +../../components/cache/memcached-start tmp 11211 +../../components/cache/memcached-start tmp 11212 + +# Configure server +../../modules/http/httpd-conf tmp example.com 8090 htdocs +../../modules/http/httpd-event-conf tmp +../../modules/http/httpd-ssl-conf tmp 8453 + +# Configure password authentication +#../../modules/http/open-auth-conf tmp +#../../modules/http/passwd-auth-conf tmp john john +#../../modules/http/passwd-auth-conf tmp jane jane +#../../modules/http/passwd-auth-conf tmp admin admin + +# Configure OAuth authentication +# Configure your OAuth app keys here +../../modules/oauth/oauth-conf tmp +../../modules/oauth/oauth-memcached-conf tmp localhost 11212 +../../modules/oauth/oauth2-appkey-conf tmp facebook.com 12345 67890 + +# Configure OpenID step2 authentication +../../modules/openid/openid-conf tmp +../../modules/openid/openid-step2-conf tmp +../../modules/openid/openid-memcached-conf tmp localhost 11212 + +# Configure authorized users +#../../modules/http/group-auth-conf tmp john +#../../modules/http/group-auth-conf tmp jane +#../../modules/http/group-auth-conf tmp admin +# Configure the email addresses associated with your OpenID and OAuth ids here +../../modules/http/group-auth-conf tmp john@example.com +../../modules/http/group-auth-conf tmp jane@example.com + +# Configure mod-security +../../modules/http/mod-security-conf tmp + +# Configure Python component support +../../modules/server/server-conf tmp +../../modules/python/python-conf tmp + +# Configure server log streaming +if [ -x ../../components/log/scribe-cat ]; then + cat >tmp/conf/log.conf <tmp/conf/log-ssl.conf <tmp/conf/mod-security-log.conf <tmp/conf/log.conf <tmp/conf/log-ssl.conf <tmp/conf/mod-security-log.conf <>tmp/conf/svhost-ssl.conf < +ForceType application/x-x509-ca-cert + + +EOF + +# Configure error pages +cat >>tmp/conf/svhost-ssl.conf <>tmp/conf/httpd.conf <>tmp/conf/httpd.conf <>tmp/conf/svhost-ssl.conf </ to htdocs/app/ +AliasMatch /v/([^/]+)(.*)$ $here/htdocs/app\$2 + +EOF + +# Start server +../../modules/http/httpd-start tmp + diff --git a/sca-cpp/trunk/hosting/server/start b/sca-cpp/trunk/hosting/server/start new file mode 100755 index 0000000000..da0dcecf40 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/start @@ -0,0 +1,124 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# For this module to work, add the example.com domain to your /etc/hosts as follows: +# 127.0.0.1 example.com + +here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $here` +jsprefix=`echo "import os; print os.path.realpath('$here/../../modules/js')" | python` + +# Configure and start logging +if [ -x ../../components/log/scribe-cat ]; then + ../../components/log/scribed-central-conf tmp + ../../components/log/scribed-client-conf tmp localhost + ../../components/log/scribed-central-start tmp + ../../components/log/scribed-client-start tmp +fi + +# Start memcached +../../components/cache/memcached-start tmp 11211 +../../components/cache/memcached-start tmp 11212 + +# Configure server +../../modules/http/httpd-conf tmp example.com 8090 htdocs +../../modules/http/httpd-event-conf tmp + +# Configure Python component support +../../modules/server/server-conf tmp +../../modules/python/python-conf tmp + +# Configure server log streaming +if [ -x ../../components/log/scribe-cat ]; then + cat >tmp/conf/log.conf <tmp/conf/log-ssl.conf <tmp/conf/log.conf <tmp/conf/log-ssl.conf <>tmp/conf/svhost.conf <>tmp/conf/httpd.conf <>tmp/conf/httpd.conf <>tmp/conf/svhost.conf </ to htdocs/app/ +AliasMatch /v/([^/]+)(.*)$ $here/htdocs/app\$2 + +EOF + +# Start server +../../modules/http/httpd-start tmp + diff --git a/sca-cpp/trunk/hosting/server/stop b/sca-cpp/trunk/hosting/server/stop new file mode 100755 index 0000000000..e1fd92705c --- /dev/null +++ b/sca-cpp/trunk/hosting/server/stop @@ -0,0 +1,29 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +../../modules/http/httpd-stop tmp + +../../components/cache/memcached-stop tmp 11211 +../../components/cache/memcached-stop tmp 11212 + +if [ -x ../../components/log/scribe-cat ]; then + ../../components/log/scribed-client-stop tmp + ../../components/log/scribed-central-stop tmp +fi + diff --git a/sca-cpp/trunk/hosting/server/store.py b/sca-cpp/trunk/hosting/server/store.py new file mode 100644 index 0000000000..014c07050e --- /dev/null +++ b/sca-cpp/trunk/hosting/server/store.py @@ -0,0 +1,80 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# stores collection implementation +from util import * + +# Convert a particular store tag to a store id +def storeid(tag): + return ("'store", "'" + tag, "'store.apps") + +# Get a store from the cache +def getstore(id, cache): + store = cache.get(id) + if isNil(store) or store is None: + return () + return store + +# Put an app into a store +def put(key, app, cache): + def putapp(app, store): + if isNil(store): + return app + if cadr(caddr(car(app))) == cadr(caddr(car(store))): + return cons(car(app), cdr(store)) + return cons(car(store), putapp(app, cdr(store))) + + tag = car(key) + store = putapp(app, getstore(storeid(tag), cache)) + cache.put(storeid(tag), store) + return True + +# Get apps from a store +def get(key, cache): + tag = car(key) + id = cdr(key) + + def findapp(id, store): + if isNil(store): + return None + if car(id) == cadr(caddr(car(store))): + return (car(store),) + return findapp(id, cdr(store)) + + if isNil(id): + return ((("'feed", ("'title", "App Store"), ("'id", tag)) + getstore(storeid(tag), cache)),) + return findapp(id, getstore(storeid(tag), cache)) + +# Delete apps from a store +def delete(key, cache): + tag = car(key) + id = cdr(key) + + if isNil(id): + return cache.delete(storeid(tag)) + + def deleteapp(id, store): + if isNil(store): + return () + if car(id) == cadr(caddr(car(store))): + return cdr(store) + return cons(car(store), deleteapp(id, cdr(store))) + + store = deleteapp(id, getstore(storeid(tag), cache)) + cache.put(storeid(tag), store) + return True + diff --git a/sca-cpp/trunk/hosting/server/user.py b/sca-cpp/trunk/hosting/server/user.py new file mode 100644 index 0000000000..227722ac48 --- /dev/null +++ b/sca-cpp/trunk/hosting/server/user.py @@ -0,0 +1,28 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# User info service component + +# Return the user id +def id(user, email, nick, full, first, last, realm): + if email.eval() != '?': + return email.eval() + if nick.eval() != '?': + return nick.eval() + '@' + realm.eval() + if user.eval() != '?': + return user.eval() + '@' + realm.eval() + return 'joe@localhost' diff --git a/sca-cpp/trunk/hosting/server/util.py b/sca-cpp/trunk/hosting/server/util.py new file mode 100644 index 0000000000..24467fd2cb --- /dev/null +++ b/sca-cpp/trunk/hosting/server/util.py @@ -0,0 +1,164 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Simple utility functions +from sys import maxint + +# Scheme-like lists +def cons(a, b): + return (a,) + b + +def car(l): + return l[0] + +def first(l): + return car(l) + +def cdr(l): + return l[1:] + +def rest(l): + return cdr(l) + +def cadr(l): + return car(cdr(l)) + +def cddr(l): + return cdr(cdr(l)) + +def caddr(l): + return car(cddr(l)) + +def cdddr(l): + return cdr(cdr(cdr(l))) + +def cadddr(l): + return car(cdddr(l)) + +def append(a, b): + return a + b + +def reverse(l): + r = list(l) + r.reverse() + return tuple(r) + +def isNil(l): + if isinstance(l, streampair): + return l.isNil() + return l == () + +def isSymbol(v): + return isinstance(v, basestring) and v[0:1] == "'" + +def isString(v): + return isinstance(v, basestring) and v[0:1] != "'" + +def isList(v): + if getattr(v, '__iter__', False) == False: + return False + if isinstance(v, basestring) or isinstance(v, dict): + return False + return True + +def isTaggedList(v, t): + return isList(v) and not isNil(v) and car(v) == t + + +# Scheme-like streams +class streampair(object): + def __init__(self, car, cdr): + self.car = car + self.cdr = cdr + + def __repr__(self): + return repr(self[0:len(self)]) + + def isNil(self): + return self.cdr == () + + def __len__(self): + if self.cdr == (): + return 0 + return 1 + len(self.cdr()) + + def __getitem__(self, i): + if i == 0: + return self.car + return self.cdr()[i - 1] + + def __getslice__(self, i, j): + if isNil(self): + return () + if i > 0: + if j == maxint: + return self.cdr()[i - 1: j] + return self.cdr()[i - 1: j - 1] + if j == maxint: + return self + if j == 0: + return (self.car,) + return (self.car,) + self.cdr()[: j - 1] + + def __eq__(self, other): + sl = len(self) + ol = len(other) + if sl != ol: + return False + return self[0: sl] == other[0: ol] + + def __ne__(self, other): + return not self.__eq__(other) + +def cons_stream(car, cdr): + return streampair(car, cdr) + + +# Scheme-like associations +def assoc(k, l): + if l == (): + return None + + if k == car(car(l)): + return car(l) + return assoc(k, cdr(l)) + +# Currying / partial function application +def curry(f, *args): + return lambda *a: f(*(args + a)) + +# Convert a path represented as a list of values to a string +def path(p): + if isNil(p): + return "" + return "/" + car(p) + path(cdr(p)) + +# Split a path into a list of segments +def tokens(path): + return tuple(filter(lambda s: len(s) != 0, path.split("/"))) + +# Return true if s1 contains s2 +def contains(s1, s2): + return s1.find(s2) != -1 + +# Write a list of strings to a stream +def writeStrings(l, os): + if l == (): + return os + os.write(car(l)) + return writeStrings(cdr(l), os) + diff --git a/sca-cpp/trunk/modules/Makefile.am b/sca-cpp/trunk/modules/Makefile.am index f4195dc7e8..16fe2791f7 100644 --- a/sca-cpp/trunk/modules/Makefile.am +++ b/sca-cpp/trunk/modules/Makefile.am @@ -15,5 +15,5 @@ # specific language governing permissions and limitations # under the License. -SUBDIRS = scheme atom rss js json scdl http server python opencl java openid oauth wsgi edit +SUBDIRS = scheme atom rss js json scdl http server python opencl java openid oauth wsgi diff --git a/sca-cpp/trunk/modules/edit/Makefile.am b/sca-cpp/trunk/modules/edit/Makefile.am deleted file mode 100644 index 6bf47676d1..0000000000 --- a/sca-cpp/trunk/modules/edit/Makefile.am +++ /dev/null @@ -1,48 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -if WANT_PYTHON - -moddir = $(prefix)/modules/edit -dist_mod_SCRIPTS = start stop ssl-start mkapplinks config-backup data-backup - -BUILT_SOURCES = htdocs/config.js htdocs/public/config.js -htdocs/config.js: - touch htdocs/config.js - -htdocs/public/config.js: - touch htdocs/public/config.js - -not_minified = htdocs/public/iframe.html htdocs/create/index.html htdocs/page/index.html htdocs/login/index.html htdocs/public/notfound/index.html htdocs/public/oops/index.html htdocs/graph/index.html htdocs/public/notauth/index.html htdocs/account/index.html htdocs/home/index.html htdocs/index.html htdocs/public/notyet/index.html htdocs/clone/index.html htdocs/stats/index.html htdocs/app/index.html htdocs/store/index.html htdocs/config.js htdocs/public/config.js - -minified = htdocs/public/iframe-min.html htdocs/create/index-min.html htdocs/page/index-min.html htdocs/login/index-min.html htdocs/public/notfound/index-min.html htdocs/public/oops/index-min.html htdocs/graph/index-min.html htdocs/public/notauth/index-min.html htdocs/account/index-min.html htdocs/home/index-min.html htdocs/index-min.html htdocs/public/notyet/index-min.html htdocs/clone/index-min.html htdocs/stats/index-min.html htdocs/app/index-min.html htdocs/store/index-min.html htdocs/config-min.js htdocs/public/config-min.js - -resources = edit.composite *.py htdocs/*.cmf htdocs/*.ico htdocs/home/*.png htdocs/app/*.cmf htdocs/home/*.b64 htdocs/*.txt htdocs/public/*.png htdocs/public/*.b64 palettes/*/palette.composite accounts/*/*.account apps/*/app.composite apps/*/app.stats apps/*/htdocs/app.html dashboards/*/user.apps store/*/store.apps ${not_minified} ${minified} - -nobase_dist_mod_DATA = ${resources} -EXTRA_DIST = ${resources} - -SUFFIXES = -min.html -min.js -.html-min.html: - ../http/minify-html $< $@ - -.js-min.js: - ../http/minify-js $< $@ - -CLEANFILES = ${minified} - -endif diff --git a/sca-cpp/trunk/modules/edit/accounts.py b/sca-cpp/trunk/modules/edit/accounts.py deleted file mode 100644 index 4589f6c0cc..0000000000 --- a/sca-cpp/trunk/modules/edit/accounts.py +++ /dev/null @@ -1,35 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# Accounts collection implementation -from util import * - -# Convert a particular user id to an account id -def accountid(user): - return ("'" + user.id(), "'user.account") - -# Get the current user's account -def get(id, user, cache): - account = cache.get(accountid(user)) - if isNil(account) or account is None: - return () - return account - -# Update the user's account -def put(id, account, user, cache): - return cache.put(accountid(user), account) - diff --git a/sca-cpp/trunk/modules/edit/accounts/jane@localhost/user.account b/sca-cpp/trunk/modules/edit/accounts/jane@localhost/user.account deleted file mode 100644 index 5fca389f04..0000000000 --- a/sca-cpp/trunk/modules/edit/accounts/jane@localhost/user.account +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Jane Doe") (id "jane@localhost"))) diff --git a/sca-cpp/trunk/modules/edit/accounts/jane@sca-store.com/user.account b/sca-cpp/trunk/modules/edit/accounts/jane@sca-store.com/user.account deleted file mode 100644 index e0d25671b6..0000000000 --- a/sca-cpp/trunk/modules/edit/accounts/jane@sca-store.com/user.account +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Jane Doe") (id "jane@sca-store.com") (content (account (description "This is Jane") (keys (key (((@name "key1") (@value "value1")) ((@name "key2") (@value "value2")) ((@name "key3") (@value "value3")) ((@name "") (@value "")) ((@name "") (@value ""))))))))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/accounts/john@localhost/user.account b/sca-cpp/trunk/modules/edit/accounts/john@localhost/user.account deleted file mode 100644 index 35d6f30f0b..0000000000 --- a/sca-cpp/trunk/modules/edit/accounts/john@localhost/user.account +++ /dev/null @@ -1 +0,0 @@ -((entry (title "John Doe") (id "john@localhost"))) diff --git a/sca-cpp/trunk/modules/edit/accounts/john@sca-store.com/user.account b/sca-cpp/trunk/modules/edit/accounts/john@sca-store.com/user.account deleted file mode 100644 index 273335e1c7..0000000000 --- a/sca-cpp/trunk/modules/edit/accounts/john@sca-store.com/user.account +++ /dev/null @@ -1 +0,0 @@ -((entry (title "John Doe") (id "john@sca-store.com") (content (account (description "This is John") (keys (key (((@name "key1") (@value "value1")) ((@name "key2") (@value "value2")) ((@name "key3") (@value "value3")) ((@name "key4") (@value "value4")) ((@name "key5") (@value "value5"))))))))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps.py b/sca-cpp/trunk/modules/edit/apps.py deleted file mode 100644 index 35a4c79e33..0000000000 --- a/sca-cpp/trunk/modules/edit/apps.py +++ /dev/null @@ -1,69 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# App collection implementation -import os -from util import * - -# Convert an id to an app id -def appid(id): - return ("'" + car(id), "'app.stats") - -# Link implementation resources into an app -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') - except: - pass - return True - -# Put an app into the apps db -def put(id, app, cache, store, composites, pages): - eid = cadr(caddr(car(app))) - appentry = (("'entry", cadr(car(app)), ("'id", car(id))),) - - # Update app in apps db - if car(id) == eid: - cache.put(appid(id), appentry) - mkapplink(id) - return True - - # Clone an app's composite and page - cache.put(appid(id), appentry) - mkapplink(id) - composites.put(id, composites.get((eid,))) - pages.put(id, pages.get((eid,))) - return True - -# Get an app from the apps db -def get(id, cache, store, composites, pages): - if isNil(id): - return (("'feed", ("'title", "Apps"), ("'id", "apps")),) - app = cache.get(appid(id)); - if isNil(app) or app is None: - return (("'entry", ("'title", car(id)), ("'id", car(id))),) - return app - -# Delete an app from the apps db -def delete(id, cache, store, composites, pages): - cache.delete(appid(id)) - composites.delete(id) - pages.delete(id) - return True - diff --git a/sca-cpp/trunk/modules/edit/apps/me360/app.composite b/sca-cpp/trunk/modules/edit/apps/me360/app.composite deleted file mode 100644 index c0fb6a425c..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/me360/app.composite +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - fbprofile - - - - - - twitprofile - - - - - - buzzprofile - - - - - - - - - - - - - - - - - - - jsdelfino - - - - - jsdelfino - - - - - jsdelfino - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/me360/app.stats b/sca-cpp/trunk/modules/edit/apps/me360/app.stats deleted file mode 100644 index a46c727280..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/me360/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Check my public social data") (id "me360"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/me360/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/me360/htdocs/app.html deleted file mode 100644 index e57e246328..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/me360/htdocs/app.html +++ /dev/null @@ -1,75 +0,0 @@ - - -
- -

Me360

-
- - Facebook - - - - - - - - - - - - - -
=fbprofile...
......
-
- - Twitter - - - - - - - - - - - - - -
=twitprofile...
......
-
- - Buzz - - - - - - - - - - - - - -
=buzzprofile...
......
-
-
diff --git a/sca-cpp/trunk/modules/edit/apps/nearme/app.composite b/sca-cpp/trunk/modules/edit/apps/nearme/app.composite deleted file mode 100644 index 51fc2791fb..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/nearme/app.composite +++ /dev/null @@ -1,444 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - me - - - - - - mapimg - - - - - - x - - - - - - 1 - - - - - - 2 - - - - - - 3 - - - - - - time3 - - - - - - time2 - - - - - - time1 - - - - - - mytime - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - getlocs - - - - - getlocs - - - - - nearme - - - - - nearme - - - - - - - - - - - - - - - 5000 - - - - - longitude - - - - - - latitude - - - - - - friend1 - - - - - - friend2 - - - - - - friend3 - - - - - - friend1 - - - - - - friend2 - - - - - - friend3 - - - - - - - - - - - - - - - - - - - - - - - - - %a %b %d, %I:%M %p - - - - - /components/map - - - - - green - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/nearme/app.stats b/sca-cpp/trunk/modules/edit/apps/nearme/app.stats deleted file mode 100644 index a072636788..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/nearme/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "nearme") (id "nearme"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/nearme/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/nearme/htdocs/app.html deleted file mode 100644 index fba4b0464c..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/nearme/htdocs/app.html +++ /dev/null @@ -1,54 +0,0 @@ - - -
- -

Nearme

-
- -

=me

-
- - =mytime - - - My friends - - - - - - =time1 - - - - - - =time2 - - - - - - =time3 - - - - -
diff --git a/sca-cpp/trunk/modules/edit/apps/nearme2/app.composite b/sca-cpp/trunk/modules/edit/apps/nearme2/app.composite deleted file mode 100644 index d75af57321..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/nearme2/app.composite +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - me - - - - - - img - - - - - - S - - - - - - C - - - - - - - - - - - - - - - - - - - - - - - - 10000 - - - - - longitude - - - - - - latitude - - - - - - - - - - - - - - - - - - - - john - - - - - blue - - - - - pink - - - - - jane - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/nearme2/app.stats b/sca-cpp/trunk/modules/edit/apps/nearme2/app.stats deleted file mode 100644 index 9eb239d22c..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/nearme2/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "nearme2") (id "nearme2"))) diff --git a/sca-cpp/trunk/modules/edit/apps/nearme2/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/nearme2/htdocs/app.html deleted file mode 100644 index a4c407a7a4..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/nearme2/htdocs/app.html +++ /dev/null @@ -1,30 +0,0 @@ - - -
- -

Hello

-
- -

=me

-
- - - -
diff --git a/sca-cpp/trunk/modules/edit/apps/new/app.composite b/sca-cpp/trunk/modules/edit/apps/new/app.composite deleted file mode 100644 index 4beacfdf77..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/new/app.composite +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - Change this example to do what you want - - - - - - me - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/new/app.stats b/sca-cpp/trunk/modules/edit/apps/new/app.stats deleted file mode 100644 index 513c902468..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/new/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "An empty app template") (id "new"))) diff --git a/sca-cpp/trunk/modules/edit/apps/new/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/new/htdocs/app.html deleted file mode 100644 index eeb7becae5..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/new/htdocs/app.html +++ /dev/null @@ -1,27 +0,0 @@ - - -
- -

Hello

-
- -

=me

-
-
diff --git a/sca-cpp/trunk/modules/edit/apps/ourphotos/app.composite b/sca-cpp/trunk/modules/edit/apps/ourphotos/app.composite deleted file mode 100644 index 2a7ce11f1f..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/ourphotos/app.composite +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - images - - - - - - width - - - - - - - - - - - - - - - - - - - - - - - src - - - - - m - - - - - image - - - - - 320 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - jsdelfino - - - - - 61049883@N06 - - - - - image - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/ourphotos/app.stats b/sca-cpp/trunk/modules/edit/apps/ourphotos/app.stats deleted file mode 100644 index e685d930dd..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/ourphotos/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Our photos of an event") (id "ourphotos"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/ourphotos/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/ourphotos/htdocs/app.html deleted file mode 100644 index 1ddb89fa30..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/ourphotos/htdocs/app.html +++ /dev/null @@ -1,36 +0,0 @@ - - -
- -

Our Photos

-
- - - - - - - - - - -
=images
...
-
-
diff --git a/sca-cpp/trunk/modules/edit/apps/shoppingcart/app.composite b/sca-cpp/trunk/modules/edit/apps/shoppingcart/app.composite deleted file mode 100644 index 15da95cdcc..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/shoppingcart/app.composite +++ /dev/null @@ -1,596 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - catalog - - - - - - total - - - - - - Kiwi - - - - - - delresult - - - - - - sendresult - - - - - - message - - - - - - message - - - - - - cart - - - - - - putresult - - - - - - Mango - - - - - - Passion - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fruit - - - - - total - - - - - total - - - - - getcart - - - - - order - - - - - carthtml - - - - - order - - - - - carthtml - - - - - total - - - - - catalog - - - - - catalog - - - - - total - - - - - fruit - - - - - getcart - - - - - getcart - - - - - emptyCart - - - - - cataloghtml - - - - - carthtml - - - - - 2.99 - - - - - 3.55 - - - - - 2 - - - - - 1.55 - - - - - - - - - - fruit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xmppsca.1@gmail.com - - - - - - - - - - - Welcome to my online store - - - - - jsdelfino@gmail.com - - - - - Your order has been processed. Your total: ${1} - - - - - ${1} - {0} - - - - - ${1} - {0} - - - - - xmpp4sca - - - - - fruit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fruit - - - - - fruit - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/shoppingcart/app.stats b/sca-cpp/trunk/modules/edit/apps/shoppingcart/app.stats deleted file mode 100644 index 4529005b54..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/shoppingcart/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "My online store") (id "shoppingcart"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/shoppingcart/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/shoppingcart/htdocs/app.html deleted file mode 100644 index 0464f3e4c4..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/shoppingcart/htdocs/app.html +++ /dev/null @@ -1,72 +0,0 @@ - - -
- -

Shopping Cart

-
- - Welcome - - - Catalog - - - - - - - - - - - - - - -
=catalog
...
-
- - Your cart: - - - $ - - - =total - - - - - - - - - - - - - - - - - -
=cart
...
-
-
diff --git a/sca-cpp/trunk/modules/edit/apps/slice/app.composite b/sca-cpp/trunk/modules/edit/apps/slice/app.composite deleted file mode 100644 index 9680b52008..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/slice/app.composite +++ /dev/null @@ -1,504 +0,0 @@ - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - r - - - - - - me - - - - - - score - - - - - - r - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - i - - - - - score - - - - - score - - - - - feather2 - - - - - feather3 - - - - - bounce - - - - - sprite - - - - - feather1 - - - - - gnu1 - - - - - gnu2 - - - - - score - - - - - 3000 - - - - - 1 - - - - - 200 - - - - - 10 - - - - - 0 - - - - - 100 - - - - - 0 - - - - - 0 - - - - - 0 - - - - - 100 - - - - - 240 - - - - - 0 - - - - - 720 - - - - - -400 - - - - - 360 - - - - - 50 - - - - - 4000 - - - - - 0 - - - - - 20 - - - - - -200 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/slice/app.stats b/sca-cpp/trunk/modules/edit/apps/slice/app.stats deleted file mode 100644 index c7d1996716..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/slice/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Slice") (id "slice"))) diff --git a/sca-cpp/trunk/modules/edit/apps/slice/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/slice/htdocs/app.html deleted file mode 100644 index b4bc5908f6..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/slice/htdocs/app.html +++ /dev/null @@ -1,68 +0,0 @@ - - -
- -

Hello

-
- -

=me

-
- -

Score:

-
- -

0

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/sca-cpp/trunk/modules/edit/apps/test/app.composite b/sca-cpp/trunk/modules/edit/apps/test/app.composite deleted file mode 100644 index 83a9c51e80..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/test/app.composite +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - Change this example to do what you want - - - - - - me - - - - - - time - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/test/app.stats b/sca-cpp/trunk/modules/edit/apps/test/app.stats deleted file mode 100644 index 9adad8c1a6..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/test/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "An empty test app") (id "test"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/test/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/test/htdocs/app.html deleted file mode 100644 index d33d4d6da7..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/test/htdocs/app.html +++ /dev/null @@ -1,33 +0,0 @@ - - -
- -

Hello

-
- -

=me

-
- - The time is: - - - =time - -
diff --git a/sca-cpp/trunk/modules/edit/apps/testanimation/app.composite b/sca-cpp/trunk/modules/edit/apps/testanimation/app.composite deleted file mode 100644 index 5c8ebd59f3..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testanimation/app.composite +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - testdynimg - - - - - - testdynimg - - - - - - width - - - - - - - - - - - - - - - - - - - - - - - * - - - - - - - - * - - - - - - - - t - - - - - 0 - - - - - 121 - - - - - 3 - - - - - 20 - - - - - 6 - - - - - 5 - - - - - - - - - - - - - - - - - - - - - - - http://tuscany.apache.org/images/TuscanyLogo.jpg - - - - - - - - - - - - t - - - - - t - - diff --git a/sca-cpp/trunk/modules/edit/apps/testanimation/app.stats b/sca-cpp/trunk/modules/edit/apps/testanimation/app.stats deleted file mode 100644 index 493ef39d1a..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testanimation/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Test animation components") (id "testanimation"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/testanimation/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testanimation/htdocs/app.html deleted file mode 100644 index c9f9420eb0..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testanimation/htdocs/app.html +++ /dev/null @@ -1,27 +0,0 @@ - - -
- -

Test animation component

-
- - - -
diff --git a/sca-cpp/trunk/modules/edit/apps/testdb/app.composite b/sca-cpp/trunk/modules/edit/apps/testdb/app.composite deleted file mode 100644 index 51535b124c..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testdb/app.composite +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - testkey - - - - - testvalue - - - - - testkey - - - - - testkey - - diff --git a/sca-cpp/trunk/modules/edit/apps/testdb/app.stats b/sca-cpp/trunk/modules/edit/apps/testdb/app.stats deleted file mode 100644 index 1128933dfd..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testdb/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Test database components") (id "testdb"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/testdb/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testdb/htdocs/app.html deleted file mode 100644 index 856966ff50..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testdb/htdocs/app.html +++ /dev/null @@ -1,24 +0,0 @@ - - -
- -

Test db components

-
-
diff --git a/sca-cpp/trunk/modules/edit/apps/testevents/app.composite b/sca-cpp/trunk/modules/edit/apps/testevents/app.composite deleted file mode 100644 index 61cd17ec81..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testevents/app.composite +++ /dev/null @@ -1,195 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - abc - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - status - - - - - - status - - - - - - status - - - - - - testtext - - - - - - location - - - - - - - - - - - - - - - - - - - compxyz - - - - - https://testhttp.sca-store.com:8453/components/property - - - - - 3000 - - - - - testfield - - - - - - - - - - - - status - - - - - - - - - - - - page opens - - - - - xyz - - - - - ok button clicked - - - - - cancel button clicked - - - - - timer fired - - - - - https://testhttp.sca-store.com:8453/components/property - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/testevents/app.stats b/sca-cpp/trunk/modules/edit/apps/testevents/app.stats deleted file mode 100644 index 51d6a0388e..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testevents/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Test event components") (id "testevents"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/testevents/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testevents/htdocs/app.html deleted file mode 100644 index 6698c6faa8..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testevents/htdocs/app.html +++ /dev/null @@ -1,57 +0,0 @@ - - -
- -

Test events

-
- - - - - Status: - - - =status - - - Field value: - - - =testtext - - - Longitude: - - - =longitude - - - Latitude: - - - =latitude - - - - - - - -
diff --git a/sca-cpp/trunk/modules/edit/apps/testhttp/app.composite b/sca-cpp/trunk/modules/edit/apps/testhttp/app.composite deleted file mode 100644 index 6aabf6d4bb..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testhttp/app.composite +++ /dev/null @@ -1,273 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - user - - - - - - name - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - https://testhttp.sca-store.com:8453/components/property - - - - - twilliosid - - - - - twilliosid - - - - - twilliotoken - - - - - - - - - - - - - - - - - test - - - - - - - - - - http://www.google.com - - - - - https://api.twilio.com/2010-04-01/Accounts/ - - - - - SMS/Messages - - - - - +14155992671 - - - - - From={0}&To={1}&Body={2} - - - - - +16508632924 - - - - - This is a text message - - - - - application/x-www-form-urlencoded - - - - - http://maps.googleapis.com/maps/api/directions/json?origin=Boston,MA&destination=Concord,MA&waypoints=Charlestown,MA|Lexington,MA&sensor=false - - - - - http://www.weather.gov/forecasts/xml/sample_products/browser_interface/ndfdXMLclient.php?whichClient=NDFDgen&lat=38.99&lon=-77.01&listLatLon=&lat1=&lon1=&lat2=&lon2=&resolutionSub=&listLat1=&listLon1=&listLat2=&listLon2=&resolutionList=&endPoint1Lat=&endPoint1Lon=&endPoint2Lat=&endPoint2Lon=&listEndPoint1Lat=&listEndPoint1Lon=&listEndPoint2Lat=&listEndPoint2Lon=&zipCodeList=&listZipCodeList=&centerPointLat=&centerPointLon=&distanceLat=&distanceLon=&resolutionSquare=&listCenterPointLat=&listCenterPointLon=&listDistanceLat=&listDistanceLon=&listResolutionSquare=&citiesLevel=&listCitiesLevel=&sector=&gmlListLatLon=&featureType=&requestedTime=&startTime=&endTime=&compType=&propertyName=&product=time-series&begin=2004-01-01T00%3A00%3A00&end=2015-03-10T00%3A00%3A00&maxt=maxt&Submit=Submit - - - - - http://feedproxy.google.com/TechCrunch - - - - - cnn.com - - - - - https://chart.googleapis.com/chart?cht=p3&chs=250x100&chd=60,40&chl=Hello|World - - - - - cnn.com - - - - - (CNN) - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/testhttp/app.stats b/sca-cpp/trunk/modules/edit/apps/testhttp/app.stats deleted file mode 100644 index be1fc6d254..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testhttp/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Test HTTP components") (id "testhttp"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/testhttp/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testhttp/htdocs/app.html deleted file mode 100644 index b0c20ef5e6..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testhttp/htdocs/app.html +++ /dev/null @@ -1,31 +0,0 @@ - - -
- -

Test HTTP components

-
- - - - frame ... - - - -
diff --git a/sca-cpp/trunk/modules/edit/apps/testlogic/app.composite b/sca-cpp/trunk/modules/edit/apps/testlogic/app.composite deleted file mode 100644 index 659fcbacba..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testlogic/app.composite +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5 - - - - - 3 - - - - - 5 - - - - - 0 - - - - - 100 - - - - - 3 - - - - - 5 - - - - - 5 - - - - - 5 - - - - - 0.5 - - - - - 0.5 - - - - - 5 - - - - - 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - greater than 5 - - - - - not greater than 5 - - - - - 3.14116 * 5 * 5 - - - - - 3.14116 * ref.get(r) * ref.get(r) - - - - - http://people.apache.org/~jsdelfino/tuscany/test/surface.py - - - - - val = 3.14116 * ref.get(r) * ref.get(r) - - diff --git a/sca-cpp/trunk/modules/edit/apps/testlogic/app.stats b/sca-cpp/trunk/modules/edit/apps/testlogic/app.stats deleted file mode 100644 index e557346327..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testlogic/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Test logic components") (id "testlogic"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/testlogic/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testlogic/htdocs/app.html deleted file mode 100644 index 4e9efdaa22..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testlogic/htdocs/app.html +++ /dev/null @@ -1,24 +0,0 @@ - - -
- -

Test logic components

-
-
diff --git a/sca-cpp/trunk/modules/edit/apps/testsearch/app.composite b/sca-cpp/trunk/modules/edit/apps/testsearch/app.composite deleted file mode 100644 index 493e9a253a..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testsearch/app.composite +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A - - - - - - A - - - - - - B - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 94070 - - - - - 37.507156 - - - - - 37.507156 - - - - - -122.260526 - - - - - -122.260526 - - - - - apache tuscany - - - - - San Carlos, CA - - - - - apache tuscany - - - - - 94070 - - - - - http://maps.google.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=14&size=512x512&maptype=roadmap%20&markers=color:blue|label:S|40.702147,-74.015794&markers=color:green|label:G|40.711614,-74.012318%20&markers=color:red|color:red|label:C|40.718217,-73.998284&sensor=false - - - - - green - - - - - San Francisco, CA - - - - - San Carlos, CA - - - - - yellow - - - - - green - - - - - apache tuscany - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/testsearch/app.stats b/sca-cpp/trunk/modules/edit/apps/testsearch/app.stats deleted file mode 100644 index 691c43875d..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testsearch/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Test search components") (id "testsearch"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/testsearch/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testsearch/htdocs/app.html deleted file mode 100644 index ca5462f07a..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testsearch/htdocs/app.html +++ /dev/null @@ -1,24 +0,0 @@ - - -
- -

Test search components

-
-
diff --git a/sca-cpp/trunk/modules/edit/apps/testsms/app.composite b/sca-cpp/trunk/modules/edit/apps/testsms/app.composite deleted file mode 100644 index d2abbaae28..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testsms/app.composite +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - twiliosid - - - - - twiliotoken - - - - - tophone - - - - - fromphone - - - - - Hello Again! - - - - - From={0}&To={1}&Body={2} - - - - - Hello there - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/testsms/app.stats b/sca-cpp/trunk/modules/edit/apps/testsms/app.stats deleted file mode 100644 index be1fc6d254..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testsms/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Test HTTP components") (id "testhttp"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/testsms/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testsms/htdocs/app.html deleted file mode 100644 index dd8f5f9f26..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testsms/htdocs/app.html +++ /dev/null @@ -1,24 +0,0 @@ - - -
- -

Test SMS API

-
-
diff --git a/sca-cpp/trunk/modules/edit/apps/testsocial/app.composite b/sca-cpp/trunk/modules/edit/apps/testsocial/app.composite deleted file mode 100644 index 28ec9654d8..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testsocial/app.composite +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - twitprofile - - - - - - name - - - - - - twittimeline - - - - - - twitfriends - - - - - - twitfollowers - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 100001053301307 - - - - - jsdelfino - - - - - jsdelfino - - - - - jsdelfino - - - - - jsdelfino - - - - - xmppsca.2@gmail.com - - - - - Hello, the time is {0} - - - - - xmppsca.1@gmail.com - - - - - xmpp4sca - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/testsocial/app.stats b/sca-cpp/trunk/modules/edit/apps/testsocial/app.stats deleted file mode 100644 index fa487f4d81..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testsocial/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Test social components") (id "testsocial"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/testsocial/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testsocial/htdocs/app.html deleted file mode 100644 index 5fe616ca16..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testsocial/htdocs/app.html +++ /dev/null @@ -1,24 +0,0 @@ - - -
- -

Test social components

-
-
diff --git a/sca-cpp/trunk/modules/edit/apps/testtext/app.composite b/sca-cpp/trunk/modules/edit/apps/testtext/app.composite deleted file mode 100644 index 7021ddb2e9..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testtext/app.composite +++ /dev/null @@ -1,216 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a - - - - - - b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - abc - - - - - cd - - - - - x - - - - - abcxdefxghi - - - - - The {0} brown {1} - - - - - The {a} brown {b} - - - - - quick - - - - - fox - - - - - quick - - - - - fox - - - - - city (.*) state (.*) - - - - - ABC - - - - - city San Francisco state CA - - - - - abcxdefxghi - - - - - x - - - - - y - - - - - x - - - - - abc - - - - - def - - - - - abcdef - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/testtext/app.stats b/sca-cpp/trunk/modules/edit/apps/testtext/app.stats deleted file mode 100644 index 35e43ff383..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testtext/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Test text processing components") (id "testtext"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/testtext/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testtext/htdocs/app.html deleted file mode 100644 index 1c7612d0e0..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testtext/htdocs/app.html +++ /dev/null @@ -1,24 +0,0 @@ - - -
- -

Test text processing components

-
-
diff --git a/sca-cpp/trunk/modules/edit/apps/testurl/app.composite b/sca-cpp/trunk/modules/edit/apps/testurl/app.composite deleted file mode 100644 index f42ba5fa4b..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testurl/app.composite +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - parmx - - - - - - parmy - - - - - - parmn - - - - - - - - - - - - - - - - - - - - - - - - - - - key2 - - - - - 123 - - - - - - - - - - - - - - - - - - - - http://sca-store.com/ - - - - - key2 - - - - - test - - - - - path - - - - - xx - - - - - yy - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/testurl/app.stats b/sca-cpp/trunk/modules/edit/apps/testurl/app.stats deleted file mode 100644 index b4142f40cf..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testurl/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Test URL components") (id "testurl"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/testurl/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testurl/htdocs/app.html deleted file mode 100644 index 8c47186044..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testurl/htdocs/app.html +++ /dev/null @@ -1,24 +0,0 @@ - - -
- -

Test url components

-
-
diff --git a/sca-cpp/trunk/modules/edit/apps/testvalues/app.composite b/sca-cpp/trunk/modules/edit/apps/testvalues/app.composite deleted file mode 100644 index 4ee8a0a619..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testvalues/app.composite +++ /dev/null @@ -1,491 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - a - - - - - - a - - - - - - entry - - - - - - entry - - - - - - test - - - - - - d - - - - - - x - - - - - - d - - - - - - ccc - - - - - - b - - - - - - c - - - - - - c - - - - - - b - - - - - - a - - - - - - x - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * - - - - - - - - abc - - - - - nb - - - - - d - - - - - sum - - - - - i - - - - - a.b - - - - - - - - - 12 - - - - - 10 - - - - - 123 - - - - - 0 - - - - - 10 - - - - - 0 - - - - - 123 - - - - - 456 - - - - - 0 - - - - - 10 - - - - - 2 - - - - - 34 - - - - - 3 - - - - - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - xyz - - - - - xyz - - - - - y - - - - - bbb - - - - - abc - - - - - def - - - - - ccc - - - - - BBB - - - - - hello - - - - - CCC - - - - - abc - - - - - - - - - nb - - - - - sum - - - - - i - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/apps/testvalues/app.stats b/sca-cpp/trunk/modules/edit/apps/testvalues/app.stats deleted file mode 100644 index 4b7a09cd38..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testvalues/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Test values and lists") (id "testvalues"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/testvalues/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testvalues/htdocs/app.html deleted file mode 100644 index 79bb081a97..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testvalues/htdocs/app.html +++ /dev/null @@ -1,27 +0,0 @@ - - -
- -

Test values and lists

-
- - =value - -
diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets/app.composite b/sca-cpp/trunk/modules/edit/apps/testwidgets/app.composite deleted file mode 100644 index 1cb1aee017..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testwidgets/app.composite +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - - - - - - testpath2 - - - - - - testattrs - - - - - - testh1 - - - - - - onclick - - - - - - value - - - - - - testpath1 - - - - - - testimg - - - - - - testtext - - - - - - testlink - - - - - - testcheckbox - - - - - - testentry - - - - - - testbutton - - - - - - testsection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - test header 1 - - - - - test html attrs - - - - - alert('hey') - - - - - test button - - - - - test entry field - - - - - http://tuscany.apache.org - - - - - test checkbox - - - - - http://tuscany.apache.org/images/TuscanyLogo.jpg - - - - - test section - - - - - test text - - - - - test path - - diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets/app.stats b/sca-cpp/trunk/modules/edit/apps/testwidgets/app.stats deleted file mode 100644 index 6a66748ab1..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testwidgets/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Test widgets") (id "testwidgets"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testwidgets/htdocs/app.html deleted file mode 100644 index d1422c10ac..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testwidgets/htdocs/app.html +++ /dev/null @@ -1,54 +0,0 @@ - - -
- -

=testh1

-
- - =testsection - - - - - - - - - - - - - =testcheckbox - - - - =testlink - - - - =testattrs - - - =testtext - - - =testpath1.testpath2 - -
diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets2/app.composite b/sca-cpp/trunk/modules/edit/apps/testwidgets2/app.composite deleted file mode 100644 index f387e876ed..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testwidgets2/app.composite +++ /dev/null @@ -1,147 +0,0 @@ - - - - - - - - - testframe - - - - - - testselect - - - - - - testlink - - - - - - testhtml - - - - - - testlist1 - - - - - - testlist2 - - - - - - a - - - - - - b - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 - - - - - 2 - - - - - - - - - - - - test value - - - - - test select - - - - - <b>test bold text</b> - - - - - http://www.apache.org/ - - - - - Apache - - - - - http://www.cnn.com - - - - - dynamic checkbox - - diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets2/app.stats b/sca-cpp/trunk/modules/edit/apps/testwidgets2/app.stats deleted file mode 100644 index 18f0cb50f8..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testwidgets2/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Test more widgets") (id "testwidgets2"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets2/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testwidgets2/htdocs/app.html deleted file mode 100644 index 7efb62d247..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testwidgets2/htdocs/app.html +++ /dev/null @@ -1,86 +0,0 @@ - - -
- -

Test widget components

-
- - - - - - - - - - - - -
=testlist1...
......
-
- - - - - - - - - - - - -
=testlist2...
......
-
- - - - - - - - - - - - -
=b...
......
-
- - =testhtml - - - - - - - =testlink - - - - - - frame ... - - - -
diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets3/app.composite b/sca-cpp/trunk/modules/edit/apps/testwidgets3/app.composite deleted file mode 100644 index e367b69a9c..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testwidgets3/app.composite +++ /dev/null @@ -1,206 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - testdynimg - - - - - - testdyncheckbox - - - - - - teststyledimg - - - - - - onclick - - - - - - width - - - - - - height - - - - - - id - - - - - - src - - - - - - testdynlink - - - - - - testdynbutton - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - http://tuscany.apache.org/images/TuscanyLogo.jpg - - - - - testimg - - - - - http://tuscany.apache.org/images/TuscanyLogo.jpg - - - - - alert('hey') - - - - - 320px - - - - - 60px - - - - - http://www.apache.org/ - - - - - Apache - - - - - dynamic button - - - - - dynamic checkbox - - diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets3/app.stats b/sca-cpp/trunk/modules/edit/apps/testwidgets3/app.stats deleted file mode 100644 index 2e772401c9..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testwidgets3/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Test HTML generator components") (id "testwidgets3"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets3/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/testwidgets3/htdocs/app.html deleted file mode 100644 index 393d63c2d1..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/testwidgets3/htdocs/app.html +++ /dev/null @@ -1,39 +0,0 @@ - - -
- -

Test widget components

-
- - =testdynimg - - - =testdynlink - - - =testdynbutton - - - =testdyncheckbox - - - =teststyledimg - -
diff --git a/sca-cpp/trunk/modules/edit/apps/twsms/app.composite b/sca-cpp/trunk/modules/edit/apps/twsms/app.composite deleted file mode 100644 index 66523f4754..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/twsms/app.composite +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - sid - - - - - - sid - - - - - - token - - - - - - from - - - - - - to - - - - - - msg - - - - - - - - - - - - - - - - - https://{0}:{1}@api.twilio.com/2010-04-01/Accounts/{2}/SMS/Messages - - - - - SMS/Messages - - - - - From={0}&To={1}&Body={2} - - - - - application/x-www-form-urlencoded - - diff --git a/sca-cpp/trunk/modules/edit/apps/twsms/app.stats b/sca-cpp/trunk/modules/edit/apps/twsms/app.stats deleted file mode 100644 index 85c97c2457..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/twsms/app.stats +++ /dev/null @@ -1 +0,0 @@ -((entry (title "SMS send service") (id "twsms"))) \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/apps/twsms/htdocs/app.html b/sca-cpp/trunk/modules/edit/apps/twsms/htdocs/app.html deleted file mode 100644 index d2eaebcdd0..0000000000 --- a/sca-cpp/trunk/modules/edit/apps/twsms/htdocs/app.html +++ /dev/null @@ -1,33 +0,0 @@ - - -
- -

SMS Send Service

-
- - To send an SMS use a URL like this: - - - http://twsms..../?sid=...&token=...&from=... - - - &to=...&msg=... - -
diff --git a/sca-cpp/trunk/modules/edit/composites.py b/sca-cpp/trunk/modules/edit/composites.py deleted file mode 100644 index 87569a8700..0000000000 --- a/sca-cpp/trunk/modules/edit/composites.py +++ /dev/null @@ -1,44 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# App composites collection implementation -from util import * - -# Convert an id to an app id -def appid(id): - return ("'" + car(id), "'app.composite") - -# Put an app into the apps db -def put(id, app, cache): - comp = cdr(cadddr(car(app))) - cache.put(appid(id), comp) - return True - -# Get an app from the apps db -def get(id, cache): - if isNil(id): - return (("'feed", ("'title", "Composites"), ("'id", "composites")),) - app = cache.get(appid(id)); - if isNil(app) or app is None: - return (("'entry", ("'title", car(id)), ("'id", car(id))),) - return (("'entry", ("'title", car(id)), ("'id", car(id)), ("'content", car(app))),) - -# Delete an app from the apps db -def delete(id, cache): - cache.delete(appid(id)) - return True - diff --git a/sca-cpp/trunk/modules/edit/config-backup b/sca-cpp/trunk/modules/edit/config-backup deleted file mode 100755 index 9951518863..0000000000 --- a/sca-cpp/trunk/modules/edit/config-backup +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -cd ../../ -tar czf ../config-backup.tar.gz modules/edit/*start modules/edit/*stop modules/edit/htdocs/*.js modules/edit/htdocs/public/*.js modules/edit/htdocs/home/*.b64 modules/edit/htdocs/home/*.png - diff --git a/sca-cpp/trunk/modules/edit/dashboards.py b/sca-cpp/trunk/modules/edit/dashboards.py deleted file mode 100644 index f42106e0ec..0000000000 --- a/sca-cpp/trunk/modules/edit/dashboards.py +++ /dev/null @@ -1,80 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# Dashboards collection implementation -from util import * - -# Convert a particular user id to a dashboard id -def dashboardid(user): - return ("'" + user.id(), "'user.apps") - -# Get a dashboard from the cache -def getdashboard(id, cache): - dashboard = cache.get(id) - if isNil(dashboard) or dashboard is None: - return () - return dashboard - -# Put an app into the user's dashboard -def put(id, app, user, cache, apps): - def putapp(app, dashboard): - if isNil(dashboard): - return app - if cadr(caddr(car(app))) == cadr(caddr(car(dashboard))): - return cons(car(app), cdr(dashboard)) - return cons(car(dashboard), putapp(app, cdr(dashboard))) - - appentry = (("'entry", cadr(car(app)), ("'id", car(id))),) - dashboard = putapp(appentry, getdashboard(dashboardid(user), cache)) - cache.put(dashboardid(user), dashboard) - - # Update app in app repository - apps.put(id, app); - return True - -# Get apps from the user's dashboard -def get(id, user, cache, apps): - def findapp(id, dashboard): - if isNil(dashboard): - return None - if car(id) == cadr(caddr(car(dashboard))): - return (car(dashboard),) - return findapp(id, cdr(dashboard)) - - if isNil(id): - return ((("'feed", ("'title", "Your Apps"), ("'id", user.id())) + getdashboard(dashboardid(user), cache)),) - return findapp(id, getdashboard(dashboardid(user), cache)) - -# Delete apps from the user's dashboard -def delete(id, user, cache, apps): - if isNil(id): - return cache.delete(dashboardid(user)) - - def deleteapp(id, dashboard): - if isNil(dashboard): - return () - if car(id) == cadr(caddr(car(dashboard))): - return cdr(dashboard) - return cons(car(dashboard), deleteapp(id, cdr(dashboard))) - - dashboard = deleteapp(id, getdashboard(dashboardid(user), cache)) - cache.put(dashboardid(user), dashboard) - - # Delete app from app repository - apps.delete(id); - return True - diff --git a/sca-cpp/trunk/modules/edit/dashboards/jane@localhost/user.apps b/sca-cpp/trunk/modules/edit/dashboards/jane@localhost/user.apps deleted file mode 100644 index 710de5f62e..0000000000 --- a/sca-cpp/trunk/modules/edit/dashboards/jane@localhost/user.apps +++ /dev/null @@ -1 +0,0 @@ -((entry (title "An empty test app") (id "test"))) diff --git a/sca-cpp/trunk/modules/edit/dashboards/jane@sca-store.com/user.apps b/sca-cpp/trunk/modules/edit/dashboards/jane@sca-store.com/user.apps deleted file mode 100644 index 710de5f62e..0000000000 --- a/sca-cpp/trunk/modules/edit/dashboards/jane@sca-store.com/user.apps +++ /dev/null @@ -1 +0,0 @@ -((entry (title "An empty test app") (id "test"))) diff --git a/sca-cpp/trunk/modules/edit/dashboards/john@localhost/user.apps b/sca-cpp/trunk/modules/edit/dashboards/john@localhost/user.apps deleted file mode 100644 index 710de5f62e..0000000000 --- a/sca-cpp/trunk/modules/edit/dashboards/john@localhost/user.apps +++ /dev/null @@ -1 +0,0 @@ -((entry (title "An empty test app") (id "test"))) diff --git a/sca-cpp/trunk/modules/edit/dashboards/john@sca-store.com/user.apps b/sca-cpp/trunk/modules/edit/dashboards/john@sca-store.com/user.apps deleted file mode 100644 index 710de5f62e..0000000000 --- a/sca-cpp/trunk/modules/edit/dashboards/john@sca-store.com/user.apps +++ /dev/null @@ -1 +0,0 @@ -((entry (title "An empty test app") (id "test"))) diff --git a/sca-cpp/trunk/modules/edit/data-backup b/sca-cpp/trunk/modules/edit/data-backup deleted file mode 100755 index 18cba8fbbe..0000000000 --- a/sca-cpp/trunk/modules/edit/data-backup +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -cd ../../ -tar czf ../data-backup.tar.gz modules/edit/accounts modules/edit/apps modules/edit/dashboards modules/edit/store modules/edit/tmp/appdata - diff --git a/sca-cpp/trunk/modules/edit/edit.composite b/sca-cpp/trunk/modules/edit/edit.composite deleted file mode 100644 index 0e348fd105..0000000000 --- a/sca-cpp/trunk/modules/edit/edit.composite +++ /dev/null @@ -1,275 +0,0 @@ - - - - - - - ? - ? - ? - ? - ? - ? - ? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - accounts - scheme - - - - - - - - - - - - - - - - - - - dashboards - scheme - - - - - - - - - - - - - - - - - - - store - scheme - - - - - - - - - - - - - - - - - - - apps - scheme - - - - - - - - - - - - - - - - - - - apps - xml - - - - - - - - - - - - - - - - - - - palettes - xml - - - - - - - - - - - - - - - - - - - tmp/appdata/filedb - scheme - - - - - - - - - - - localhost:11211 - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/htdocs/account/index.html b/sca-cpp/trunk/modules/edit/htdocs/account/index.html deleted file mode 100644 index 291f6dea1c..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/account/index.html +++ /dev/null @@ -1,224 +0,0 @@ - - -
- - - - - - -

- - - - - -
Account
- -
- - - - - - - -
Photo:
Name:
Description:
- -
- - - - -
Calendar
- - - - - - - -
-
- - - - - -
Key chain
- - - - - - - - - - - - -
-
- - - -
diff --git a/sca-cpp/trunk/modules/edit/htdocs/app/cache-manifest.cmf b/sca-cpp/trunk/modules/edit/htdocs/app/cache-manifest.cmf deleted file mode 100644 index 6ea53970aa..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/app/cache-manifest.cmf +++ /dev/null @@ -1,17 +0,0 @@ -CACHE MANIFEST - -# Version 5 - -# App resources -/favicon.ico -/public/iframe-min.html -/public/img.png -/public/notauth/ -/public/notfound/ -/public/notyet/ -/public/oops/ -/public/touchicon.png - -NETWORK: -* - diff --git a/sca-cpp/trunk/modules/edit/htdocs/app/index.html b/sca-cpp/trunk/modules/edit/htdocs/app/index.html deleted file mode 100644 index 0b01c1d3bd..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/app/index.html +++ /dev/null @@ -1,906 +0,0 @@ - - - - - - - - - - - - - -
- -
- -
- -
-
- - - -
-
- -
- - - diff --git a/sca-cpp/trunk/modules/edit/htdocs/cache-manifest.cmf b/sca-cpp/trunk/modules/edit/htdocs/cache-manifest.cmf deleted file mode 100644 index cb76f773a3..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/cache-manifest.cmf +++ /dev/null @@ -1,18 +0,0 @@ -CACHE MANIFEST - -# Version 5 - -# App resources -/ -/favicon.ico -/public/iframe-min.html -/public/img.png -/public/notauth/ -/public/notfound/ -/public/notyet/ -/public/oops/ -/public/touchicon.png - -NETWORK: -* - diff --git a/sca-cpp/trunk/modules/edit/htdocs/clone/index.html b/sca-cpp/trunk/modules/edit/htdocs/clone/index.html deleted file mode 100644 index 3642634ed6..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/clone/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - -
- - - - - - -

- - - - - -
Clone this App
- -
- - - - - - - - - - - - -
New App Name:
App Icon:
Sharing:
Shared
App Title:
Description:
- - -
-
- - - -
diff --git a/sca-cpp/trunk/modules/edit/htdocs/create/index.html b/sca-cpp/trunk/modules/edit/htdocs/create/index.html deleted file mode 100644 index 6097053cd6..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/create/index.html +++ /dev/null @@ -1,106 +0,0 @@ - - -
- - - - - - -

- - - - - -
Create an App
- -
- - - - - - - - - - - - -
App Name:
App Icon:
Sharing:
Shared
App Title:
Description:
- - -
-
- - - -
diff --git a/sca-cpp/trunk/modules/edit/htdocs/favicon.ico b/sca-cpp/trunk/modules/edit/htdocs/favicon.ico deleted file mode 100644 index a7b502b9e1..0000000000 Binary files a/sca-cpp/trunk/modules/edit/htdocs/favicon.ico and /dev/null differ diff --git a/sca-cpp/trunk/modules/edit/htdocs/graph/index.html b/sca-cpp/trunk/modules/edit/htdocs/graph/index.html deleted file mode 100644 index 1732590079..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/graph/index.html +++ /dev/null @@ -1,2178 +0,0 @@ - - -
- - - - - - -

- - - - - -
- - - - - - - -
-- - -c - -+ - -> - - -
- -
- -
- - - -
diff --git a/sca-cpp/trunk/modules/edit/htdocs/home/home.b64 b/sca-cpp/trunk/modules/edit/htdocs/home/home.b64 deleted file mode 100644 index 9131135881..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/home/home.b64 +++ /dev/null @@ -1 +0,0 @@ -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 \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/htdocs/home/home.png b/sca-cpp/trunk/modules/edit/htdocs/home/home.png deleted file mode 100644 index 8f5a0b0d86..0000000000 Binary files a/sca-cpp/trunk/modules/edit/htdocs/home/home.png and /dev/null differ diff --git a/sca-cpp/trunk/modules/edit/htdocs/home/index.html b/sca-cpp/trunk/modules/edit/htdocs/home/index.html deleted file mode 100644 index 6fb9b558bf..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/home/index.html +++ /dev/null @@ -1,68 +0,0 @@ - - -
- - - - - - -

- -
- -
- -
- - - -

-
Requires Safari 5+, Chrome 11+, Firefox 4+, IE 9+
- -
- - - -
diff --git a/sca-cpp/trunk/modules/edit/htdocs/index.html b/sca-cpp/trunk/modules/edit/htdocs/index.html deleted file mode 100644 index 3bc1529dbb..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/index.html +++ /dev/null @@ -1,525 +0,0 @@ - - - - - - - - - - - - - -
- -
- -
- - - - - -
-
-
- - - -
-
- -
- - diff --git a/sca-cpp/trunk/modules/edit/htdocs/login/index.html b/sca-cpp/trunk/modules/edit/htdocs/login/index.html deleted file mode 100644 index 9052abe8d3..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/login/index.html +++ /dev/null @@ -1,156 +0,0 @@ - - - - -Sign in - - - - - - - - -
- -

Sign in

- -
- - - -
Sign in with your Google account
-
- -
- - - -
Sign in with your Facebook account
-
- -
- -
- -
- - - - - - -
- - - -
- - diff --git a/sca-cpp/trunk/modules/edit/htdocs/page/index.html b/sca-cpp/trunk/modules/edit/htdocs/page/index.html deleted file mode 100644 index 9482cb4e32..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/page/index.html +++ /dev/null @@ -1,987 +0,0 @@ - - -
- - - - - - -

- - - - - -
- - - - - - - -
-- - -c - -+ - -> - - -
- -
-
- -
-
-
-
-
- -

Header1

-

Header2

-section - - - -checkbox - - -
list
...
-
- -
table...
......
-
-link -text -frame ... - -
- - - -
- - - - - -
diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/app.b64 b/sca-cpp/trunk/modules/edit/htdocs/public/app.b64 deleted file mode 100644 index 7ed235aa14..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/public/app.b64 +++ /dev/null @@ -1 +0,0 @@ -iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAABGdBTUEAALGPC/xhBQAAAAxQTFRFyN+N+dR1/PCI////6HjE5gAAADJJREFUKM9j+I8EPjBQifeBAQSY6coLBYN6inhaq0Bg6SDn/f//akB466ExTS6P2ukMAKumzarJO/66AAAAAElFTkSuQmCC \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/app.png b/sca-cpp/trunk/modules/edit/htdocs/public/app.png deleted file mode 100644 index 1f73274b76..0000000000 Binary files a/sca-cpp/trunk/modules/edit/htdocs/public/app.png and /dev/null differ diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/app.xcf b/sca-cpp/trunk/modules/edit/htdocs/public/app.xcf deleted file mode 100644 index 741b7ff43f..0000000000 Binary files a/sca-cpp/trunk/modules/edit/htdocs/public/app.xcf and /dev/null differ diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/delete.b64 b/sca-cpp/trunk/modules/edit/htdocs/public/delete.b64 deleted file mode 100644 index c8137d7ab4..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/public/delete.b64 +++ /dev/null @@ -1 +0,0 @@ -iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAAXNSR0IArs4c6QAAAAZiS0dEANAAPwBBXloXjQAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sEFhQaKzNh4PgAAAMKSURBVEjHxZZPTBNBFMa/maVbWjcUi0YiIHIoNBADTUgsqCWgUUFjwkk5CXLUBKIc9KIXjx64oMSDoiggGC8koImCGDWYkADRIiQQgikWCq0WoXW33R0PpYjSLeWP8btN3sv85s17894QrKNeIBng8gFmJSDZgGIAqJeBjQCkH5AHioGZaHsQNUMP+ByKYB0ByVjvIAxsUkHcrRJI9pggXYBWB1pLQUqxQSlg3X4o9WWAqArpAhL04JoIYMQmxQCPD3JlGbCwBtIFaPXgWrcC+AtUEY6Ihg060NrtACyf3KgDrQ2v6e8kbzwH0URBSnvA56xAKIJ1kRzNbS2ZNhYssjodVj41VbPaxqemaqxOh9XGgkXmtpbMyKDQvqQXSKbg2iKGzfPE0v8uV7BYDIuDg95B66FhJkmM8DyxfHifK+TlGRaHhryDBwuHmSSxyBUnn6Ohh6aSQElin86U26XZWVGwWAxZD5tMAGBufmAS8vIMkssl2s+Uj6gBQuLySS/oTQpyONr9GmxHhAMvnltovJZ+73vjTiyyJSmipHw8WTrkfd33Y52385arAr1EAF00R3HqixRwu38mnT61O35/uh4AJq7Ujc0/affEUGsCDfWi9TXX3uEOeDwBABCnp/3OO42uGPuAgQLUG4urueVRlsZo1ACANiVFZ7rTkBFjMXtpqJtGV9q1q3uNJ47vlpd88kTt5VEWCLLk6gtpeyrP74qheY5wlaB6AhSqOSUUFOzIun8vh8RxZKKmZvRrw20X0WjkxCKbceexo0Z3Z+d8wDUXVIeQdgrIA6rFl5DAmVsfZ1MtT+faO5zOxrtzADB1/Ybj28tX85wgxOU8e5pN9XqqHos8QIuBGQY2GTEPD5tM8en79P7x8aWxqurx1bbPZytGRYfDrzOZBHPzA5PanCkGZki4d3GQG7DNksFdLIFkpwBQAsmugHVvJ0AB6w5PypW79EOpZ4BnOwAM8Pih1P/R6gGgDBB9kCu3Clo1GcU1kGXQgg9yxWavTgHrXp6IC///t/Iv/l2/AGa0Qa2X0eC0AAAAAElFTkSuQmCC \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/delete.png b/sca-cpp/trunk/modules/edit/htdocs/public/delete.png deleted file mode 100644 index fb56bae030..0000000000 Binary files a/sca-cpp/trunk/modules/edit/htdocs/public/delete.png and /dev/null differ diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/delete.xcf b/sca-cpp/trunk/modules/edit/htdocs/public/delete.xcf deleted file mode 100644 index 7691f50cc5..0000000000 Binary files a/sca-cpp/trunk/modules/edit/htdocs/public/delete.xcf and /dev/null differ diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/grid72.b64 b/sca-cpp/trunk/modules/edit/htdocs/public/grid72.b64 deleted file mode 100644 index 34be13e5ca..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/public/grid72.b64 +++ /dev/null @@ -1 +0,0 @@ -iVBORw0KGgoAAAANSUhEUgAAAEgAAABIAgMAAAAog1vUAAAABGdBTUEAALGPC/xhBQAAAAlQTFRFwuD84/T+////fj9v9QAAACxJREFUOMtjWLUqa9WsVctWrYQxVjAMCqFQdBDCMOrUUaeOOnXUqYPPqZgAABmg/C7pJC7lAAAAAElFTkSuQmCC \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/grid72.png b/sca-cpp/trunk/modules/edit/htdocs/public/grid72.png deleted file mode 100644 index cf6008171a..0000000000 Binary files a/sca-cpp/trunk/modules/edit/htdocs/public/grid72.png and /dev/null differ diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/iframe.html b/sca-cpp/trunk/modules/edit/htdocs/public/iframe.html deleted file mode 100644 index e2b862dbaa..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/public/iframe.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - -
frame ...
- - - diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/img.b64 b/sca-cpp/trunk/modules/edit/htdocs/public/img.b64 deleted file mode 100644 index 97dae687a0..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/public/img.b64 +++ /dev/null @@ -1 +0,0 @@ -iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAAIRQTFRFwdt/w9yEw9+MxN2GxN6NxN+Oxd2Mxd6Nxt6Lx96Lx96Nx9+NyN6MyN+MyN+N8u2I8+2I+NBq+NFr+NFt+NFu+NJz+NN0+dR1+dR3+dZw+dh4+9Fy+9Nz++5++++B+++F/NNz/PCH/PCI/PGW/PKc/fKd/vzp/vzq/v7+/v/z/9Jx////nQZfHwAAAIxJREFUOMtj0CYAGKiiQANdUAPdBAZmFMCIYQUzHwrgpKECblYwYEJ2LYoCHi0FMBCEAmF0E3hkxFGABJICXnYWFhY2aVE4EENTwCWgCARKCCCFoUAJFQw9BYycnBz8eBSA04cqPhNAQIX+CiSFhIRE8CiQ10ROMNgUqKNnHGU5FCCrhqZAg7Z5Ey8AALiBh6brcmloAAAAAElFTkSuQmCC \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/img.png b/sca-cpp/trunk/modules/edit/htdocs/public/img.png deleted file mode 100644 index 2363b25e8e..0000000000 Binary files a/sca-cpp/trunk/modules/edit/htdocs/public/img.png and /dev/null differ diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/img.xcf b/sca-cpp/trunk/modules/edit/htdocs/public/img.xcf deleted file mode 100644 index ffcc124584..0000000000 Binary files a/sca-cpp/trunk/modules/edit/htdocs/public/img.xcf and /dev/null differ diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/notauth/index.html b/sca-cpp/trunk/modules/edit/htdocs/public/notauth/index.html deleted file mode 100644 index f366533e17..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/public/notauth/index.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - -Sorry - - - - - - - -
- -
- -
- - - -
- - - -

- -
-
Sorry, you're not authorized to view this page.
-
- -
- - - -
-
- -
- - diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/notfound/index.html b/sca-cpp/trunk/modules/edit/htdocs/public/notfound/index.html deleted file mode 100644 index 24efb159ea..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/public/notfound/index.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - -Page not found - - - - - - - -
- -
- -
- - - -
- - - -

- -
-
Sorry, that page was not found.
-
You may have clicked an expired link or mistyped the address.
-
- -
- - - -
-
- -
- - diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/notyet/index.html b/sca-cpp/trunk/modules/edit/htdocs/public/notyet/index.html deleted file mode 100644 index b8457485fb..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/public/notyet/index.html +++ /dev/null @@ -1,167 +0,0 @@ - - - - -Page not found - - - - - - - -
- -
- -
- - - -
- - - -

- -
-
Sorry, that page is still under construction.
-
Please check back later.
-
- -
- - - -
-
- -
- - diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/oops/index.html b/sca-cpp/trunk/modules/edit/htdocs/public/oops/index.html deleted file mode 100644 index ca3e7706e3..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/public/oops/index.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - -Oops - - - - - - -
- -
- -
- - - -
- - - -

- -
-
Oops, something went wrong...
-
- -
- - - -
-
- -
- - diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/touchicon.b64 b/sca-cpp/trunk/modules/edit/htdocs/public/touchicon.b64 deleted file mode 100644 index 2239f6ae0f..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/public/touchicon.b64 +++ /dev/null @@ -1 +0,0 @@ -iVBORw0KGgoAAAANSUhEUgAAADkAAAA5CAIAAAADehTSAAAAAXNSR0IArs4c6QAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sDGxMkCJXGmL8AAAHwSURBVGje7ZpNbhNBEIXf625sCzA/QUhkg8SGiGxZcpDcgRux5hLkEjkE7BAS9gIyk+muxyZIsSeOG09bsXHX0p4pfVNdP8/loSTsiTnsj1XWyrrMutVSG+ic/ftNqe1mIMtSjsPUu9EQJ6H/UdvNLr59cgwFWaM1p8dnLx6dFGYF6RhIXzLVGIChB3VX8Fg0DWrPqqyHxTq4MUnKKEEBoNvIN4uxiqTkofUXpgZKsqtMx3Djpb45lNWAxxbfXf6wtdH9+vkKBLLGrFLz4M1HTk+K5gAIgBCVcaTI1gOK/acazqqbw2PdYzE7tdyh9AFJTL0zNDIJMInAZpKPzBzmIZuUnjoa9QQkOBHAyWbigYDaTslybg/59f7Q4+003pqwhqcbqjLH9H2OXw0Ksl6XsWB/a39lhf1rz8vOnKoHKmtlrayVtbLuuc6SFK1Z2hEZkBwAv1us4zA9PT7rDX3v9dPiOeBxT/uY0A+qd6Pbl2Sax/kXDN9LlcrXO3Rk9k/QWluVtbIe2O5toBGwFum3bLH/pEso7RarrPNHH/D8JbBIpsjJqx2Lq3Xu2Xv61yvXJzf6/b3nK2Htyu8WB9P/XltF/wfVllgFxet9azGL+bjMD5IUYbPSMktwT8hRSdalkizcufKcs77vUlkr61bsD5lbwtgOKPT2AAAAAElFTkSuQmCC \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/touchicon.png b/sca-cpp/trunk/modules/edit/htdocs/public/touchicon.png deleted file mode 100644 index f22c33d2a0..0000000000 Binary files a/sca-cpp/trunk/modules/edit/htdocs/public/touchicon.png and /dev/null differ diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/touchicon.xcf b/sca-cpp/trunk/modules/edit/htdocs/public/touchicon.xcf deleted file mode 100644 index fc713b478b..0000000000 Binary files a/sca-cpp/trunk/modules/edit/htdocs/public/touchicon.xcf and /dev/null differ diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/user.b64 b/sca-cpp/trunk/modules/edit/htdocs/public/user.b64 deleted file mode 100644 index 7ed235aa14..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/public/user.b64 +++ /dev/null @@ -1 +0,0 @@ -iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAABGdBTUEAALGPC/xhBQAAAAxQTFRFyN+N+dR1/PCI////6HjE5gAAADJJREFUKM9j+I8EPjBQifeBAQSY6coLBYN6inhaq0Bg6SDn/f//akB466ExTS6P2ukMAKumzarJO/66AAAAAElFTkSuQmCC \ No newline at end of file diff --git a/sca-cpp/trunk/modules/edit/htdocs/public/user.png b/sca-cpp/trunk/modules/edit/htdocs/public/user.png deleted file mode 100644 index 1f73274b76..0000000000 Binary files a/sca-cpp/trunk/modules/edit/htdocs/public/user.png and /dev/null differ diff --git a/sca-cpp/trunk/modules/edit/htdocs/robots.txt b/sca-cpp/trunk/modules/edit/htdocs/robots.txt deleted file mode 100644 index 1f53798bb4..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/robots.txt +++ /dev/null @@ -1,2 +0,0 @@ -User-agent: * -Disallow: / diff --git a/sca-cpp/trunk/modules/edit/htdocs/stats/index.html b/sca-cpp/trunk/modules/edit/htdocs/stats/index.html deleted file mode 100644 index 81f06c95e4..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/stats/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - -
- - - - - - -

- - - - - - - -
Stats - -
- -
- - - - - - - - - - - -
App Icon:
Sharing:
Shared
App Title:
Updated:
Description:
-
- - - -
diff --git a/sca-cpp/trunk/modules/edit/htdocs/store/index.html b/sca-cpp/trunk/modules/edit/htdocs/store/index.html deleted file mode 100644 index bcb3ba7c85..0000000000 --- a/sca-cpp/trunk/modules/edit/htdocs/store/index.html +++ /dev/null @@ -1,168 +0,0 @@ - - -
- - - - - - -

- -
- -
- - - -
diff --git a/sca-cpp/trunk/modules/edit/log.py b/sca-cpp/trunk/modules/edit/log.py deleted file mode 100644 index 8aa3d3bd30..0000000000 --- a/sca-cpp/trunk/modules/edit/log.py +++ /dev/null @@ -1,24 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# Log service component -from sys import stderr - -# Log a message -def log(msg): - print >> stderr, '[rconsole]', msg - diff --git a/sca-cpp/trunk/modules/edit/mkapplinks b/sca-cpp/trunk/modules/edit/mkapplinks deleted file mode 100755 index a68a2896ec..0000000000 --- a/sca-cpp/trunk/modules/edit/mkapplinks +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -aprefix=$1 -tprefix=$2 -nprefix=$3 - -# Create app links to Nuvem and Tuscany components -cd $1 -for n in `ls apps | awk '{ printf "apps/%s/nuvem\n", $1 }'`; do - if [ ! -e "$n" ]; then - ln -s "$nprefix/nuvem-parallel/nuvem" "$n" - fi -done - -for n in `ls apps | awk '{ printf "apps/%s/lib\n", $1 }'`; do - if [ ! -e "$n" ]; then - ln -s "$tprefix/components" "$n" - fi -done - diff --git a/sca-cpp/trunk/modules/edit/pages.py b/sca-cpp/trunk/modules/edit/pages.py deleted file mode 100644 index 99392aeeef..0000000000 --- a/sca-cpp/trunk/modules/edit/pages.py +++ /dev/null @@ -1,44 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# App pages collection implementation -from util import * - -# Convert an id to an app id -def appid(id): - return ("'" + car(id), "'htdocs", "'app.html") - -# Put an app page into the apps db -def put(id, app, cache): - xhtml = cdr(cadddr(car(app))) - cache.put(appid(id), xhtml) - return True - -# Get an app page from the apps db -def get(id, cache): - if isNil(id): - return (("'feed", ("'title", "Pages"), ("'id", "pages")),) - xhtml = cache.get(appid(id)) - if isNil(xhtml) or xhtml is None: - return (("'entry", ("'title", car(id)), ("'id", car(id))),) - return (("'entry", ("'title", car(id)), ("'id", car(id)), ("'content", car(xhtml))),) - -# Delete an app page from the apps db -def delete(id, cache): - cache.delete(appid(id)) - return True - diff --git a/sca-cpp/trunk/modules/edit/palettes.py b/sca-cpp/trunk/modules/edit/palettes.py deleted file mode 100644 index 5cb303e053..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes.py +++ /dev/null @@ -1,36 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# Palettes collection implementation -from util import * - -# Convert an id to a palette id -def paletteid(id): - return ("'" + car(id), "'palette.composite") - -# Put a palette into the palettes db -def put(id, palette, cache): - comp = cdr(cadddr(car(palette))) - cache.put(paletteid(id), comp) - return True - -# Get a palette from the palettes db -def get(id, cache): - if isNil(id): - return (("'feed", ("'title", "Palettes"), ("'id", "palettes")),) - return (("'entry", ("'title", car(id)), ("'id", car(id)), ("'content", car(cache.get(paletteid(id))))),) - diff --git a/sca-cpp/trunk/modules/edit/palettes/animation/palette.composite b/sca-cpp/trunk/modules/edit/palettes/animation/palette.composite deleted file mode 100644 index 75cbf497b6..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes/animation/palette.composite +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/palettes/control/palette.composite b/sca-cpp/trunk/modules/edit/palettes/control/palette.composite deleted file mode 100644 index f89cae2c5d..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes/control/palette.composite +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/palettes/database/palette.composite b/sca-cpp/trunk/modules/edit/palettes/database/palette.composite deleted file mode 100644 index cca0b174b8..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes/database/palette.composite +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/palettes/http/palette.composite b/sca-cpp/trunk/modules/edit/palettes/http/palette.composite deleted file mode 100644 index 6c8cbaa553..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes/http/palette.composite +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - x - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/palettes/lists/palette.composite b/sca-cpp/trunk/modules/edit/palettes/lists/palette.composite deleted file mode 100644 index 2f4051d7b9..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes/lists/palette.composite +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/palettes/logic/palette.composite b/sca-cpp/trunk/modules/edit/palettes/logic/palette.composite deleted file mode 100644 index 4d84272fd5..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes/logic/palette.composite +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/palettes/math/palette.composite b/sca-cpp/trunk/modules/edit/palettes/math/palette.composite deleted file mode 100644 index 7dc4e88f2f..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes/math/palette.composite +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/palettes/python/palette.composite b/sca-cpp/trunk/modules/edit/palettes/python/palette.composite deleted file mode 100644 index 2cc03ae365..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes/python/palette.composite +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/palettes/search/palette.composite b/sca-cpp/trunk/modules/edit/palettes/search/palette.composite deleted file mode 100644 index db58cdcd08..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes/search/palette.composite +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/palettes/social/palette.composite b/sca-cpp/trunk/modules/edit/palettes/social/palette.composite deleted file mode 100644 index 5e02303857..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes/social/palette.composite +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/palettes/talk/palette.composite b/sca-cpp/trunk/modules/edit/palettes/talk/palette.composite deleted file mode 100644 index 90a48291ca..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes/talk/palette.composite +++ /dev/null @@ -1,55 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/palettes/text/palette.composite b/sca-cpp/trunk/modules/edit/palettes/text/palette.composite deleted file mode 100644 index 6b9214f6e4..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes/text/palette.composite +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/palettes/transform/palette.composite b/sca-cpp/trunk/modules/edit/palettes/transform/palette.composite deleted file mode 100644 index 566278c44b..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes/transform/palette.composite +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sca-cpp/trunk/modules/edit/palettes/values/palette.composite b/sca-cpp/trunk/modules/edit/palettes/values/palette.composite deleted file mode 100644 index 4cd3a9d14e..0000000000 --- a/sca-cpp/trunk/modules/edit/palettes/values/palette.composite +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - - - - - - - - - - - - comment - - - - - - - - - - name - - - - - name - - - - - - - - - - - - - - 123 - - - - - text - - - - - - - - - name - - diff --git a/sca-cpp/trunk/modules/edit/ssl-start b/sca-cpp/trunk/modules/edit/ssl-start deleted file mode 100755 index fdc5a8b8dc..0000000000 --- a/sca-cpp/trunk/modules/edit/ssl-start +++ /dev/null @@ -1,170 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# For this module to work, add the sca-store.com domain to your /etc/hosts as follows: -# 127.0.0.1 sca-store.com - -here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $here` -jsprefix=`echo "import os; print os.path.realpath('$here/../js')" | python` - -# Create SSL certificates -../../modules/http/ssl-ca-conf tmp sca-store.com -../../modules/http/ssl-cert-conf tmp sca-store.com server - -# Configure and start logging -if [ -x ../../components/log/scribe-cat ]; then - ../../components/log/scribed-central-conf tmp - ../../components/log/scribed-client-conf tmp localhost - ../../components/log/scribed-central-start tmp - ../../components/log/scribed-client-start tmp -fi - -# Start memcached -../../components/cache/memcached-start tmp 11211 -../../components/cache/memcached-start tmp 11212 - -# Configure server -../../modules/http/httpd-conf tmp sca-store.com 8090 htdocs -../../modules/http/httpd-event-conf tmp -../../modules/http/httpd-ssl-conf tmp 8453 - -# Configure password authentication -#../../modules/http/open-auth-conf tmp -#../../modules/http/passwd-auth-conf tmp john john -#../../modules/http/passwd-auth-conf tmp jane jane -#../../modules/http/passwd-auth-conf tmp admin admin - -# Configure OAuth authentication -# Configure your OAuth app keys here -../../modules/oauth/oauth-conf tmp -../../modules/oauth/oauth-memcached-conf tmp localhost 11212 -../../modules/oauth/oauth2-appkey-conf tmp facebook.com 12345 67890 - -# Configure OpenID step2 authentication -../../modules/openid/openid-conf tmp -../../modules/openid/openid-step2-conf tmp -../../modules/openid/openid-memcached-conf tmp localhost 11212 - -# Configure authorized users -#../../modules/http/group-auth-conf tmp john -#../../modules/http/group-auth-conf tmp jane -#../../modules/http/group-auth-conf tmp admin -# Configure the email addresses associated with your OpenID and OAuth ids here -../../modules/http/group-auth-conf tmp john@sca-store.com -../../modules/http/group-auth-conf tmp jane@sca-store.com - -# Configure mod-security -../../modules/http/mod-security-conf tmp - -# Configure Python component support -../../modules/server/server-conf tmp -../../modules/python/python-conf tmp - -# Configure server log streaming -if [ -x ../../components/log/scribe-cat ]; then - cat >tmp/conf/log.conf <tmp/conf/log-ssl.conf <tmp/conf/mod-security-log.conf <>tmp/conf/svhost-ssl.conf < -ForceType application/x-x509-ca-cert - - -EOF - -# Configure error pages -cat >>tmp/conf/svhost-ssl.conf <>tmp/conf/httpd.conf <>tmp/conf/httpd.conf <>tmp/conf/svhost-ssl.conf < -RewriteEngine on - -# Map /v// to htdocs/app/ -RewriteCond %{REQUEST_URI} ^/v/.+/.*$ -RewriteRule /v/(.+)/(.*)$ $here/htdocs/app/\$2 [L] - -# Redirect /v/ to // -RewriteCond %{REQUEST_URI} ^/v/[^/]+$ -RewriteRule /v/([^/]+)$ /\$1/ [L,R] - - - -EOF - -# Create application database directories -mkdir -p tmp/appdata/filedb - -# Start server -../../modules/http/httpd-start tmp - diff --git a/sca-cpp/trunk/modules/edit/start b/sca-cpp/trunk/modules/edit/start deleted file mode 100755 index a6c417bbb1..0000000000 --- a/sca-cpp/trunk/modules/edit/start +++ /dev/null @@ -1,121 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# For this module to work, add the sca-store.com domain to your /etc/hosts as follows: -# 127.0.0.1 sca-store.com - -here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $here` -jsprefix=`echo "import os; print os.path.realpath('$here/../js')" | python` - -# Configure and start logging -if [ -x ../../components/log/scribe-cat ]; then - ../../components/log/scribed-central-conf tmp - ../../components/log/scribed-client-conf tmp localhost - ../../components/log/scribed-central-start tmp - ../../components/log/scribed-client-start tmp -fi - -# Start memcached -../../components/cache/memcached-start tmp 11211 -../../components/cache/memcached-start tmp 11212 - -# Configure server -../../modules/http/httpd-conf tmp sca-store.com 8090 htdocs -../../modules/http/httpd-event-conf tmp - -# Configure Python component support -../server/server-conf tmp -../python/python-conf tmp - -# Configure server log streaming -if [ -x ../../components/log/scribe-cat ]; then - cat >tmp/conf/log.conf <tmp/conf/log-ssl.conf <>tmp/conf/svhost.conf <>tmp/conf/httpd.conf <>tmp/conf/httpd.conf <>tmp/conf/svhost.conf < -RewriteEngine on - -# Map /v// to htdocs/app/ -RewriteCond %{REQUEST_URI} ^/v/.+/.*$ -RewriteRule /v/(.+)/(.*)$ $here/htdocs/app/\$2 [L] - -# Redirect /v/ to // -RewriteCond %{REQUEST_URI} ^/v/[^/]+$ -RewriteRule /v/([^/]+)$ /\$1/ [L,R] - - - -EOF - -# Create application database directories -mkdir -p tmp/appdata/filedb - -# Start server -../../modules/http/httpd-start tmp - diff --git a/sca-cpp/trunk/modules/edit/stop b/sca-cpp/trunk/modules/edit/stop deleted file mode 100755 index e1fd92705c..0000000000 --- a/sca-cpp/trunk/modules/edit/stop +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -../../modules/http/httpd-stop tmp - -../../components/cache/memcached-stop tmp 11211 -../../components/cache/memcached-stop tmp 11212 - -if [ -x ../../components/log/scribe-cat ]; then - ../../components/log/scribed-client-stop tmp - ../../components/log/scribed-central-stop tmp -fi - diff --git a/sca-cpp/trunk/modules/edit/store.py b/sca-cpp/trunk/modules/edit/store.py deleted file mode 100644 index 79750975a5..0000000000 --- a/sca-cpp/trunk/modules/edit/store.py +++ /dev/null @@ -1,80 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# stores collection implementation -from util import * - -# Convert a particular store tag to a store id -def storeid(tag): - return ("'" + tag, "'store.apps") - -# Get a store from the cache -def getstore(id, cache): - store = cache.get(id) - if isNil(store) or store is None: - return () - return store - -# Put an app into a store -def put(key, app, cache): - def putapp(app, store): - if isNil(store): - return app - if cadr(caddr(car(app))) == cadr(caddr(car(store))): - return cons(car(app), cdr(store)) - return cons(car(store), putapp(app, cdr(store))) - - tag = car(key) - store = putapp(app, getstore(storeid(tag), cache)) - cache.put(storeid(tag), store) - return True - -# Get apps from a store -def get(key, cache): - tag = car(key) - id = cdr(key) - - def findapp(id, store): - if isNil(store): - return None - if car(id) == cadr(caddr(car(store))): - return (car(store),) - return findapp(id, cdr(store)) - - if isNil(id): - return ((("'feed", ("'title", "App Store"), ("'id", tag)) + getstore(storeid(tag), cache)),) - return findapp(id, getstore(storeid(tag), cache)) - -# Delete apps from a store -def delete(key, cache): - tag = car(key) - id = cdr(key) - - if isNil(id): - return cache.delete(storeid(tag)) - - def deleteapp(id, store): - if isNil(store): - return () - if car(id) == cadr(caddr(car(store))): - return cdr(store) - return cons(car(store), deleteapp(id, cdr(store))) - - store = deleteapp(id, getstore(storeid(tag), cache)) - cache.put(storeid(tag), store) - return True - diff --git a/sca-cpp/trunk/modules/edit/store/all/store.apps b/sca-cpp/trunk/modules/edit/store/all/store.apps deleted file mode 100644 index caf7142403..0000000000 --- a/sca-cpp/trunk/modules/edit/store/all/store.apps +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Check my public social data") (id "me360")) (entry (title "Where are my friends") (id "nearme")) (entry (title "Where are my friends") (id "nearme2")) (entry (title "Our photos of an event") (id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online store") (id "shoppingcart")) (entry (title "SMS send service") (id "twsms")) (entry (title "An empty test app") (id "test")) (entry (title "Test values and lists") (id "testvalues")) (entry (title "Test social components") (id "testsocial")) (entry (title "Test URL components") (id "testurl")) (entry (title "Test logic components") (id "testlogic")) (entry (title "Test text processing components") (id "testtext")) (entry (title "Test HTTP components") (id "testhttp")) (entry (title "Test SMS API") (id "testsms")) (entry (title "Test widgets") (id "testwidgets")) (entry (title "Test more widgets") (id "testwidgets2")) (entry (title "Test event components") (id "testevents")) (entry (title "Test search components") (id "testsearch")) (entry (title "Test database components") (id "testdb")) (entry (title "Test HTML generator components") (id "testwidgets3")) (entry (title "Test animation components") (id "testanimation"))) diff --git a/sca-cpp/trunk/modules/edit/store/featured/store.apps b/sca-cpp/trunk/modules/edit/store/featured/store.apps deleted file mode 100644 index 18bd47e8dd..0000000000 --- a/sca-cpp/trunk/modules/edit/store/featured/store.apps +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Check my public social data") (id "me360")) (entry (title "Where are my friends") (id "nearme")) (entry (title "Where are my friends") (id "nearme2")) (entry (title "Our photos of an event") (id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online store") (id "shoppingcart")) (entry (title "SMS send service") (id "twsms"))) diff --git a/sca-cpp/trunk/modules/edit/store/new/store.apps b/sca-cpp/trunk/modules/edit/store/new/store.apps deleted file mode 100644 index 18bd47e8dd..0000000000 --- a/sca-cpp/trunk/modules/edit/store/new/store.apps +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Check my public social data") (id "me360")) (entry (title "Where are my friends") (id "nearme")) (entry (title "Where are my friends") (id "nearme2")) (entry (title "Our photos of an event") (id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online store") (id "shoppingcart")) (entry (title "SMS send service") (id "twsms"))) diff --git a/sca-cpp/trunk/modules/edit/store/top/store.apps b/sca-cpp/trunk/modules/edit/store/top/store.apps deleted file mode 100644 index 18bd47e8dd..0000000000 --- a/sca-cpp/trunk/modules/edit/store/top/store.apps +++ /dev/null @@ -1 +0,0 @@ -((entry (title "Check my public social data") (id "me360")) (entry (title "Where are my friends") (id "nearme")) (entry (title "Where are my friends") (id "nearme2")) (entry (title "Our photos of an event") (id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online store") (id "shoppingcart")) (entry (title "SMS send service") (id "twsms"))) diff --git a/sca-cpp/trunk/modules/edit/user.py b/sca-cpp/trunk/modules/edit/user.py deleted file mode 100644 index 227722ac48..0000000000 --- a/sca-cpp/trunk/modules/edit/user.py +++ /dev/null @@ -1,28 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# User info service component - -# Return the user id -def id(user, email, nick, full, first, last, realm): - if email.eval() != '?': - return email.eval() - if nick.eval() != '?': - return nick.eval() + '@' + realm.eval() - if user.eval() != '?': - return user.eval() + '@' + realm.eval() - return 'joe@localhost' diff --git a/sca-cpp/trunk/modules/edit/util.py b/sca-cpp/trunk/modules/edit/util.py deleted file mode 100644 index 24467fd2cb..0000000000 --- a/sca-cpp/trunk/modules/edit/util.py +++ /dev/null @@ -1,164 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one -# or more contributor license agreements. See the NOTICE file -# distributed with this work for additional information -# regarding copyright ownership. The ASF licenses this file -# to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance -# with the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, -# software distributed under the License is distributed on an -# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the -# specific language governing permissions and limitations -# under the License. - -# Simple utility functions -from sys import maxint - -# Scheme-like lists -def cons(a, b): - return (a,) + b - -def car(l): - return l[0] - -def first(l): - return car(l) - -def cdr(l): - return l[1:] - -def rest(l): - return cdr(l) - -def cadr(l): - return car(cdr(l)) - -def cddr(l): - return cdr(cdr(l)) - -def caddr(l): - return car(cddr(l)) - -def cdddr(l): - return cdr(cdr(cdr(l))) - -def cadddr(l): - return car(cdddr(l)) - -def append(a, b): - return a + b - -def reverse(l): - r = list(l) - r.reverse() - return tuple(r) - -def isNil(l): - if isinstance(l, streampair): - return l.isNil() - return l == () - -def isSymbol(v): - return isinstance(v, basestring) and v[0:1] == "'" - -def isString(v): - return isinstance(v, basestring) and v[0:1] != "'" - -def isList(v): - if getattr(v, '__iter__', False) == False: - return False - if isinstance(v, basestring) or isinstance(v, dict): - return False - return True - -def isTaggedList(v, t): - return isList(v) and not isNil(v) and car(v) == t - - -# Scheme-like streams -class streampair(object): - def __init__(self, car, cdr): - self.car = car - self.cdr = cdr - - def __repr__(self): - return repr(self[0:len(self)]) - - def isNil(self): - return self.cdr == () - - def __len__(self): - if self.cdr == (): - return 0 - return 1 + len(self.cdr()) - - def __getitem__(self, i): - if i == 0: - return self.car - return self.cdr()[i - 1] - - def __getslice__(self, i, j): - if isNil(self): - return () - if i > 0: - if j == maxint: - return self.cdr()[i - 1: j] - return self.cdr()[i - 1: j - 1] - if j == maxint: - return self - if j == 0: - return (self.car,) - return (self.car,) + self.cdr()[: j - 1] - - def __eq__(self, other): - sl = len(self) - ol = len(other) - if sl != ol: - return False - return self[0: sl] == other[0: ol] - - def __ne__(self, other): - return not self.__eq__(other) - -def cons_stream(car, cdr): - return streampair(car, cdr) - - -# Scheme-like associations -def assoc(k, l): - if l == (): - return None - - if k == car(car(l)): - return car(l) - return assoc(k, cdr(l)) - -# Currying / partial function application -def curry(f, *args): - return lambda *a: f(*(args + a)) - -# Convert a path represented as a list of values to a string -def path(p): - if isNil(p): - return "" - return "/" + car(p) + path(cdr(p)) - -# Split a path into a list of segments -def tokens(path): - return tuple(filter(lambda s: len(s) != 0, path.split("/"))) - -# Return true if s1 contains s2 -def contains(s1, s2): - return s1.find(s2) != -1 - -# Write a list of strings to a stream -def writeStrings(l, os): - if l == (): - return os - os.write(car(l)) - return writeStrings(cdr(l), os) - diff --git a/sca-cpp/trunk/modules/http/http-test b/sca-cpp/trunk/modules/http/http-test index 7874a1037f..73cfe700a6 100755 --- a/sca-cpp/trunk/modules/http/http-test +++ b/sca-cpp/trunk/modules/http/http-test @@ -24,7 +24,7 @@ sleep 2 # Test -./curl-test +./curl-test 2>/dev/null rc=$? # Cleanup diff --git a/sca-cpp/trunk/modules/http/httpd.hpp b/sca-cpp/trunk/modules/http/httpd.hpp index f4e3767881..7c839c1306 100644 --- a/sca-cpp/trunk/modules/http/httpd.hpp +++ b/sca-cpp/trunk/modules/http/httpd.hpp @@ -205,7 +205,7 @@ const string serverName(request_rec* r, const string& def = "localhost") { /** * Return true if a request is targeting a virtual host. */ -const bool isVirtualHostRequest(const server_rec* s, const string& d, request_rec* r) { +const bool isVhostRequest(const server_rec* s, const string& d, request_rec* r) { const string rh = hostName(r); return rh != hostName(s) && http::topDomain(rh) == d; } diff --git a/sca-cpp/trunk/modules/http/proxy-test b/sca-cpp/trunk/modules/http/proxy-test index bf4e2bf460..9f3d248fdf 100755 --- a/sca-cpp/trunk/modules/http/proxy-test +++ b/sca-cpp/trunk/modules/http/proxy-test @@ -29,7 +29,7 @@ sleep 2 # Test -./curl-test +./curl-test 2>/dev/null rc=$? # Cleanup diff --git a/sca-cpp/trunk/modules/server/Makefile.am b/sca-cpp/trunk/modules/server/Makefile.am index edc0dfb251..e2fd67d9b8 100644 --- a/sca-cpp/trunk/modules/server/Makefile.am +++ b/sca-cpp/trunk/modules/server/Makefile.am @@ -25,19 +25,14 @@ moddir = $(prefix)/modules/server EXTRA_DIST = domain-test.composite client-test.scm server-test.scm htdocs/*.html htdocs/test/*.xml htdocs/test/*.txt -mod_LTLIBRARIES = libmod_tuscany_eval.la libmod_tuscany_wiring.la -noinst_DATA = libmod_tuscany_eval${libsuffix} libmod_tuscany_wiring${libsuffix} +mod_LTLIBRARIES = libmod_tuscany_eval.la +noinst_DATA = libmod_tuscany_eval${libsuffix} libmod_tuscany_eval_la_SOURCES = mod-eval.cpp libmod_tuscany_eval_la_LDFLAGS = -lxml2 -lcurl -lmozjs libmod_tuscany_eval${libsuffix}: ln -s .libs/libmod_tuscany_eval${libsuffix} -libmod_tuscany_wiring_la_SOURCES = mod-wiring.cpp -libmod_tuscany_wiring_la_LDFLAGS = -lxml2 -lcurl -lmozjs -libmod_tuscany_wiring${libsuffix}: - ln -s .libs/libmod_tuscany_wiring${libsuffix} - noinst_test_LTLIBRARIES = libimpl-test.la noinst_testdir = `pwd`/tmp noinst_DATA += libimpl-test${libsuffix} diff --git a/sca-cpp/trunk/modules/server/client-test.cpp b/sca-cpp/trunk/modules/server/client-test.cpp index 5de7ab6e7b..3f5ff20c56 100644 --- a/sca-cpp/trunk/modules/server/client-test.cpp +++ b/sca-cpp/trunk/modules/server/client-test.cpp @@ -29,7 +29,7 @@ int main() { tuscany::cout << "Testing..." << tuscany::endl; - tuscany::server::testURI = "http://localhost:8090/test"; + tuscany::server::testURI = "http://localhost:8090/scheme"; tuscany::server::testServer(); diff --git a/sca-cpp/trunk/modules/server/client-test.hpp b/sca-cpp/trunk/modules/server/client-test.hpp index 50b246a073..2dab7b6dfd 100644 --- a/sca-cpp/trunk/modules/server/client-test.hpp +++ b/sca-cpp/trunk/modules/server/client-test.hpp @@ -36,7 +36,7 @@ namespace tuscany { namespace server { -string testURI = "http://localhost:8090/test"; +string testURI = "http://localhost:8090/scheme"; bool testBlobs = true; ostream* curlWriter(const string& s, ostream* os) { diff --git a/sca-cpp/trunk/modules/server/domain-test.composite b/sca-cpp/trunk/modules/server/domain-test.composite index b003dd15cd..1819b3bf4c 100644 --- a/sca-cpp/trunk/modules/server/domain-test.composite +++ b/sca-cpp/trunk/modules/server/domain-test.composite @@ -23,8 +23,8 @@ - - + + diff --git a/sca-cpp/trunk/modules/server/httpd-test b/sca-cpp/trunk/modules/server/httpd-test index d541c145e9..63b268d7b3 100755 --- a/sca-cpp/trunk/modules/server/httpd-test +++ b/sca-cpp/trunk/modules/server/httpd-test @@ -41,31 +41,31 @@ rc=$? # Test ATOMPub if [ "$rc" = "0" ]; then - $curl_prefix/bin/curl http://localhost:8090/test/ >tmp/feed.xml 2>/dev/null + $curl_prefix/bin/curl http://localhost:8090/scheme/ >tmp/feed.xml 2>/dev/null diff tmp/feed.xml htdocs/test/feed.xml rc=$? fi if [ "$rc" = "0" ]; then - $curl_prefix/bin/curl http://localhost:8090/test/111 >tmp/entry.xml 2>/dev/null + $curl_prefix/bin/curl http://localhost:8090/scheme/111 >tmp/entry.xml 2>/dev/null diff tmp/entry.xml htdocs/test/entry.xml rc=$? fi if [ "$rc" = "0" ]; then - $curl_prefix/bin/curl http://localhost:8090/test/ -X POST -H "Content-type: application/atom+xml" --data @htdocs/test/entry.xml 2>/dev/null + $curl_prefix/bin/curl http://localhost:8090/scheme/ -X POST -H "Content-type: application/atom+xml" --data @htdocs/test/entry.xml 2>/dev/null rc=$? fi if [ "$rc" = "0" ]; then - $curl_prefix/bin/curl http://localhost:8090/test/111 -X PUT -H "Content-type: application/atom+xml" --data @htdocs/test/entry.xml 2>/dev/null + $curl_prefix/bin/curl http://localhost:8090/scheme/111 -X PUT -H "Content-type: application/atom+xml" --data @htdocs/test/entry.xml 2>/dev/null rc=$? fi if [ "$rc" = "0" ]; then - $curl_prefix/bin/curl http://localhost:8090/test/111 -X DELETE 2>/dev/null + $curl_prefix/bin/curl http://localhost:8090/scheme/111 -X DELETE 2>/dev/null rc=$? fi # Test JSON-RPC if [ "$rc" = "0" ]; then - $curl_prefix/bin/curl http://localhost:8090/test/ -X POST -H "Content-type: application/json-rpc" --data @htdocs/test/json-request.txt >tmp/json-result.txt 2>/dev/null + $curl_prefix/bin/curl http://localhost:8090/scheme/ -X POST -H "Content-type: application/json-rpc" --data @htdocs/test/json-request.txt >tmp/json-result.txt 2>/dev/null diff tmp/json-result.txt htdocs/test/json-result.txt rc=$? fi diff --git a/sca-cpp/trunk/modules/server/mod-eval.hpp b/sca-cpp/trunk/modules/server/mod-eval.hpp index 62d91c6236..999a5793ad 100644 --- a/sca-cpp/trunk/modules/server/mod-eval.hpp +++ b/sca-cpp/trunk/modules/server/mod-eval.hpp @@ -51,51 +51,62 @@ namespace tuscany { namespace server { namespace modeval { +/** + * Set to true to wire using mod_proxy, false to wire using HTTP client redirects. + */ +const bool useModProxy = true; + /** * Server configuration. */ class ServerConf { public: - ServerConf(apr_pool_t* p, server_rec* s) : p(p), server(s), contributionPath(""), compositeName(""), virtualHostDomain(""), virtualHostContributionPath(""), virtualHostCompositeName(""), ca(""), cert(""), key("") { + ServerConf(apr_pool_t* p, server_rec* s) : p(p), server(s) { } - ServerConf(apr_pool_t* p, const ServerConf& ssc, const string& name) : p(p), server(ssc.server), lifecycle(ssc.lifecycle), contributionPath(ssc.virtualHostContributionPath + name + "/"), compositeName(ssc.virtualHostCompositeName), virtualHostDomain(""), virtualHostContributionPath(""), virtualHostCompositeName(""), ca(ssc.ca), cert(ssc.cert), key(ssc.key) { + ServerConf(apr_pool_t* p, const ServerConf& ssc, const string& name) : p(p), server(ssc.server), lifecycle(ssc.lifecycle), vhostName(name), compositeName(ssc.vhostCompositeName), ca(ssc.ca), cert(ssc.cert), key(ssc.key), vhostContributor(ssc.vhostContributor) { + contributionPath = length(ssc.vhostContributionPath) != 0? ssc.vhostContributionPath + name + "/" : ssc.contributionPath; } const gc_pool p; server_rec* server; lambda&)> lifecycle; + string vhostName; string contributionPath; string compositeName; - string virtualHostDomain; - string virtualHostContributionPath; - string virtualHostCompositeName; + string vhostDomain; + string vhostContributionPath; + string vhostCompositeName; + string vhostContributorName; string ca; string cert; string key; + list references; + list services; list implementations; list implTree; + value vhostContributor; }; /** - * Return true if a server contains a composite configuration. + * Return true if a server contains a contribution configuration. */ -const bool hasCompositeConf(const ServerConf& sc) { - return sc.contributionPath != "" && sc.compositeName != ""; +const bool hasContributionConf(const ServerConf& sc) { + return length(sc.contributionPath) != 0; } /** * Return true if a server contains a virtual host domain configuration. */ -const bool hasVirtualDomainConf(const ServerConf& sc) { - return sc.virtualHostDomain != ""; +const bool hasVhostDomainConf(const ServerConf& sc) { + return length(sc.vhostDomain) != 0; } /** - * Return true if a server contains a virtual host composite configuration. + * Return true if a server contains a virtual host contribution configuration. */ -const bool hasVirtualCompositeConf(const ServerConf& sc) { - return sc.virtualHostContributionPath != "" && sc.virtualHostCompositeName != ""; +const bool hasVhostContributionConf(const ServerConf& sc) { + return length(sc.vhostContributionPath) != 0 || length(sc.vhostContributorName) != 0; } /** @@ -128,262 +139,6 @@ public: } }; -/** - * Handle an HTTP GET. - */ -const failable get(const list& rpath, request_rec* r, const lambda&)>& impl) { - debug(r->uri, "modeval::get::uri"); - - // Inspect the query string - const list > args = httpd::queryArgs(r); - const list ia = assoc(value("id"), args); - const list ma = assoc(value("method"), args); - - // Evaluate a JSON-RPC request and return a JSON result - if (!isNil(ia) && !isNil(ma)) { - - // Extract the request id, method and params - const value id = cadr(ia); - const value func = c_str(json::funcName(string(cadr(ma)))); - - // Apply the requested function - const failable val = failableResult(impl(cons(func, json::queryParams(args)))); - if (!hasContent(val)) - return mkfailure(reason(val)); - - // Return JSON result - js::JSContext cx; - return httpd::writeResult(json::jsonResult(id, content(val), cx), "application/json-rpc; charset=utf-8", r); - } - - // Evaluate the GET expression - const list params(append(cddr(rpath), mkvalues(args))); - const failable val = failableResult(impl(cons("get", mklist(params)))); - if (!hasContent(val)) - return mkfailure(reason(val)); - const value c = content(val); - debug(c, "modeval::get::content"); - - // Check if the client requested a specific format - const list fmt = assoc("format", args); - - // Write as a scheme value if requested by the client - if (!isNil(fmt) && cadr(fmt) == "scheme") - return httpd::writeResult(mklist(scheme::writeValue(c)), "text/plain; charset=utf-8", r); - - // Write a simple value as a JSON value - if (!isList(c)) { - js::JSContext cx; - if (isSymbol(c)) { - const list lc = mklist(mklist("name", value(string(c)))); - debug(lc, "modeval::get::symbol"); - return httpd::writeResult(json::writeJSON(valuesToElements(lc), cx), "application/json; charset=utf-8", r); - } - const list lc = mklist(mklist("value", c)); - debug(lc, "modeval::get::value"); - return httpd::writeResult(json::writeJSON(valuesToElements(lc), cx), "application/json; charset=utf-8", r); - } - - // Write an empty list as a JSON empty value - if (isNil((list)c)) { - js::JSContext cx; - debug(list(), "modeval::get::empty"); - return httpd::writeResult(json::writeJSON(list(), cx), "application/json; charset=utf-8", r); - } - - // Write content-type / content-list pair - if (isString(car(c)) && !isNil(cdr(c)) && isList(cadr(c))) - return httpd::writeResult(convertValues(cadr(c)), car(c), r); - - // Write an assoc value as a JSON result - if (isSymbol(car(c)) && !isNil(cdr(c))) { - js::JSContext cx; - const list lc = mklist(c); - debug(lc, "modeval::get::assoc"); - debug(valuesToElements(lc), "modeval::get::assoc::element"); - return httpd::writeResult(json::writeJSON(valuesToElements(lc), cx), "application/json; charset=utf-8", r); - } - - // Write value as JSON if requested by the client - if (!isNil(fmt) && cadr(fmt) == "json") { - js::JSContext cx; - return httpd::writeResult(json::writeJSON(valuesToElements(c), cx), "application/json; charset=utf-8", r); - } - - // Convert list of values to element values - const list e = valuesToElements(c); - debug(e, "modeval::get::elements"); - - // Write an ATOM feed or entry - if (isList(car(e)) && !isNil(car(e))) { - const list el = car(e); - if (isSymbol(car(el)) && car(el) == element && !isNil(cdr(el)) && isSymbol(cadr(el)) && elementHasChildren(el) && !elementHasValue(el)) { - if (cadr(el) == atom::feed) - return httpd::writeResult(atom::writeATOMFeed(e), "application/atom+xml; charset=utf-8", r); - if (cadr(el) == atom::entry) - return httpd::writeResult(atom::writeATOMEntry(e), "application/atom+xml; charset=utf-8", r); - } - } - - // Write any other compound value as a JSON value - js::JSContext cx; - return httpd::writeResult(json::writeJSON(e, cx), "application/json; charset=utf-8", r); -} - -/** - * Handle an HTTP POST. - */ -const failable post(const list& rpath, request_rec* r, const lambda&)>& impl) { - debug(r->uri, "modeval::post::url"); - - // Evaluate a JSON-RPC request and return a JSON result - const string ct = httpd::contentType(r); - if (contains(ct, "application/json-rpc") || contains(ct, "text/plain") || contains(ct, "application/x-www-form-urlencoded")) { - - // Read the JSON request - const int rc = httpd::setupReadPolicy(r); - if(rc != OK) - return rc; - const list ls = httpd::read(r); - debug(ls, "modeval::post::input"); - js::JSContext cx; - const list json = elementsToValues(content(json::readJSON(ls, cx))); - const list > args = httpd::postArgs(json); - - // Extract the request id, method and params - const value id = cadr(assoc(value("id"), args)); - const value func = c_str(json::funcName(cadr(assoc(value("method"), args)))); - const list params = (list)cadr(assoc(value("params"), args)); - - // Evaluate the request expression - const failable val = failableResult(impl(cons(func, params))); - if (!hasContent(val)) - return mkfailure(reason(val)); - - // Return JSON result - return httpd::writeResult(json::jsonResult(id, content(val), cx), "application/json-rpc; charset=utf-8", r); - } - - // Evaluate an ATOM POST request and return the location of the corresponding created resource - if (contains(ct, "application/atom+xml")) { - - // Read the ATOM entry - const int rc = httpd::setupReadPolicy(r); - if(rc != OK) - return rc; - const list ls = httpd::read(r); - debug(ls, "modeval::post::input"); - const value entry = elementsToValues(content(atom::readATOMEntry(ls))); - - // Evaluate the POST expression - const failable val = failableResult(impl(cons("post", mklist(cddr(rpath), entry)))); - if (!hasContent(val)) - return mkfailure(reason(val)); - - // Return the created resource location - debug(content(val), "modeval::post::location"); - apr_table_setn(r->headers_out, "Location", apr_pstrdup(r->pool, c_str(httpd::url(r->uri, content(val), r)))); - r->status = HTTP_CREATED; - return OK; - } - - // Unknown content type, wrap the HTTP request struct in a value and pass it to - // the component implementation function - const failable val = failableResult(impl(cons("handle", mklist(httpd::requestValue(r))))); - if (!hasContent(val)) - return mkfailure(reason(val)); - return (int)content(val); -} - -/** - * Handle an HTTP PUT. - */ -const failable put(const list& rpath, request_rec* r, const lambda&)>& impl) { - debug(r->uri, "modeval::put::url"); - - // Read the ATOM entry - const int rc = httpd::setupReadPolicy(r); - if(rc != OK) - return rc; - const list ls = httpd::read(r); - debug(ls, "modeval::put::input"); - const value entry = elementsToValues(content(atom::readATOMEntry(ls))); - - // Evaluate the PUT expression and update the corresponding resource - const failable val = failableResult(impl(cons("put", mklist(cddr(rpath), entry)))); - if (!hasContent(val)) - return mkfailure(reason(val)); - if (val == value(false)) - return HTTP_NOT_FOUND; - return OK; -} - -/** - * Handle an HTTP DELETE. - */ -const failable del(const list& rpath, request_rec* r, const lambda&)>& impl) { - debug(r->uri, "modeval::delete::url"); - - // Evaluate an ATOM delete request - const failable val = failableResult(impl(cons("delete", mklist(cddr(rpath))))); - if (!hasContent(val)) - return mkfailure(reason(val)); - if (val == value(false)) - return HTTP_NOT_FOUND; - return OK; -} - -/** - * Translate a component request. - */ -const int translateRequest(const ServerConf& sc, const list& rpath, request_rec *r) { - debug(rpath, "modeval::translateRequest::path"); - if (isNil(rpath)) - return DECLINED; - - // Translate a component request - const value c = car(rpath); - if (c == string("components") || c == string("c")) { - r->handler = "mod_tuscany_eval"; - return OK; - } - - // Translate a request targeting a virtual host or virtual app - if (hasVirtualCompositeConf(sc) && !isNil(cdr(rpath))) { - const string cp = sc.virtualHostContributionPath + string(c) + "/" + sc.virtualHostCompositeName; - struct stat st; - const int s = stat(c_str(cp), &st); - if (s != -1) { - const value d = cadr(rpath); - if (d == string("components") || d == string("c")) { - r->handler = "mod_tuscany_eval"; - return OK; - } - } - } - - return DECLINED; -} - -/** - * Translate a component request. - */ -int translate(request_rec *r) { - if(r->method_number != M_GET && r->method_number != M_POST && r->method_number != M_PUT && r->method_number != M_DELETE) - return DECLINED; - - // Create a scoped memory pool - gc_scoped_pool pool(r->pool); - - httpdDebugRequest(r, "modeval::translate::input"); - - // Get the server configuration - const ServerConf& sc = httpd::serverConf(r, &mod_tuscany_eval); - - // Translate the request - return translateRequest(sc, pathValues(r->uri), r); -} - /** * Make an HTTP proxy lambda to a component reference. */ @@ -573,7 +328,7 @@ struct appPropProxy { appPropProxy(const value& v) : v(v) { } const value operator()(unused const list& params) const { - const char* n = apr_table_get(currentRequest->headers_in, "X-Request-AppName"); + const char* n = apr_table_get(currentRequest->notes, "X-Request-AppName"); const value a = n != NULL? value(string(n)) : v; debug(a, "modeval::appPropProxy::value"); return a; @@ -584,7 +339,7 @@ struct pathPropProxy { pathPropProxy(unused const value& v) { } const value operator()(unused const list& params) const { - const char* u = apr_table_get(currentRequest->headers_in, "X-Request-URI"); + const char* u = apr_table_get(currentRequest->notes, "X-Request-URI"); const value v = u != NULL? pathValues(string(u)) : list(); debug(v, "modeval::pathPropProxy::value"); return v; @@ -743,30 +498,88 @@ const failable > applyLifecycleExpr(const list& impls, const } /** - * Configure the components declared in the deployed composite. + * Return a list of component-name + references pairs. The references are + * arranged in trees of reference-name + reference-target pairs. */ -const failable confComponents(ServerConf& sc) { - if (!hasCompositeConf(sc)) - return false; - debug(sc.contributionPath, "modeval::confComponents::contributionPath"); - debug(sc.compositeName, "modeval::confComponents::compositeName"); - if (sc.ca != "") debug(sc.ca, "modeval::confComponents::sslCA"); - if (sc.cert != "") debug(sc.cert, "modeval::confComponents::sslCert"); - if (sc.key != "") debug(sc.key, "modeval::confComponents::sslKey"); +const list componentReferenceToTargetTree(const value& c) { + return mklist(scdl::name(c), mkbtree(sort(scdl::referenceToTargetAssoc(scdl::references(c))))); +} - // Read the components and get their implementation lambda functions - const failable > comps = readComponents(scdl::resourcePath(sc.contributionPath, sc.compositeName)); - if (!hasContent(comps)) - return mkfailure(reason(comps)); - sc.implementations = componentToImplementationAssoc(sc, content(comps)); - debug(sc.implementations, "modeval::confComponents::implementations"); - return true; +const list componentReferenceToTargetAssoc(const list& c) { + if (isNil(c)) + return c; + return cons(componentReferenceToTargetTree(car(c)), componentReferenceToTargetAssoc(cdr(c))); } /** - * Start the components declared in the deployed composite. + * Return a list of service-URI-path + component-name pairs. Service-URI-paths are + * represented as lists of URI path fragments. */ -const failable startComponents(ServerConf& sc) { +const list defaultBindingURI(const string& cn, const string& sn) { + return mklist(cn, sn); +} + +const list bindingToComponentAssoc(const string& cn, const string& sn, const list& b) { + if (isNil(b)) + return b; + const value uri(scdl::uri(car(b))); + if (isNil(uri)) + return cons(mklist(defaultBindingURI(cn, sn), cn), bindingToComponentAssoc(cn, sn, cdr(b))); + return cons(mklist(pathValues(c_str(string(uri))), cn), bindingToComponentAssoc(cn, sn, cdr(b))); +} + +const list serviceToComponentAssoc(const string& cn, const list& s) { + if (isNil(s)) + return s; + const string sn(scdl::name(car(s))); + const list btoc(bindingToComponentAssoc(cn, sn, scdl::bindings(car(s)))); + if (isNil(btoc)) + return cons(mklist(defaultBindingURI(cn, sn), cn), serviceToComponentAssoc(cn, cdr(s))); + return append(btoc, serviceToComponentAssoc(cn, cdr(s))); +} + +const list uriToComponentAssoc(const list& c) { + if (isNil(c)) + return c; + return append(serviceToComponentAssoc(scdl::name(car(c)), scdl::services(car(c))), uriToComponentAssoc(cdr(c))); +} + +/** + * Configure the components declared in the deployed composite. + */ +const failable confComponents(ServerConf& sc) { + if (!hasContributionConf(sc)) + return false; + debug(sc.contributionPath, "modeval::confComponents::contributionPath"); + debug(sc.contributionPath, "modeval::confComponents::contributorName"); + debug(sc.compositeName, "modeval::confComponents::compositeName"); + if (sc.ca != "") debug(sc.ca, "modeval::confComponents::sslCA"); + if (sc.cert != "") debug(sc.cert, "modeval::confComponents::sslCert"); + if (sc.key != "") debug(sc.key, "modeval::confComponents::sslKey"); + + // Read the components and get their services, references and implementation + // lambda functions + const failable > comps = readComponents(scdl::resourcePath(sc.contributionPath, sc.compositeName)); + if (!hasContent(comps)) + return mkfailure(reason(comps)); + + const list refs = componentReferenceToTargetAssoc(content(comps)); + debug(refs, "modeval::confComponents::references"); + sc.references = mkbtree(sort(refs)); + + const list svcs = uriToComponentAssoc(content(comps)); + debug(svcs, "modeval::confComponents::services"); + sc.services = mkbtree(sort(svcs)); + + sc.implementations = componentToImplementationAssoc(sc, content(comps)); + debug(sc.implementations, "modeval::confComponents::implementations"); + return true; +} + +/** + * Start the components declared in the deployed composite. + */ +const failable startComponents(ServerConf& sc) { // Start the components and record the returned implementation lambda functions debug(sc.implementations, "modeval::startComponents::start"); @@ -781,21 +594,36 @@ const failable startComponents(ServerConf& sc) { /** * Configure and start the components deployed in a virtual host. */ -const failable virtualHostConfig(ServerConf& sc, const ServerConf& ssc, request_rec* r) { - debug(httpd::serverName(ssc.server), "modeval::virtualHostConfig::serverName"); - debug(httpd::serverName(r), "modeval::virtualHostConfig::virtualHostName"); - debug(ssc.virtualHostContributionPath, "modwiring::virtualHostConfig::virtualHostContributionPath"); - debug(sc.contributionPath, "modeval::virtualHostConfig::contributionPath"); - - // Chdir to the virtual host's contribution - if (chdir(c_str(sc.contributionPath)) != 0) - return mkfailure(string("Couldn't chdir to the deployed contribution: ") + sc.contributionPath); +const failable vhostConfig(ServerConf& sc, const ServerConf& ssc, request_rec* r) { + debug(httpd::serverName(ssc.server), "modeval::vhostConfig::serverName"); + debug(httpd::serverName(r), "modeval::vhostConfig::vhostName"); + debug(ssc.vhostContributionPath, "modeval::vhostConfig::vhostContributionPath"); + debug(sc.contributionPath, "modeval::vhostConfig::contributionPath"); // Configure the deployed components const failable cr = confComponents(sc); if (!hasContent(cr)) return cr; + // Store the virtual host configuration in the request config + + return true; +} + +/** + * Start the components deployed in a virtual host. + */ +const failable vhostStart(ServerConf& sc, const ServerConf& ssc, request_rec* r) { + debug(httpd::serverName(ssc.server), "modeval::vhostStart::serverName"); + debug(httpd::serverName(r), "modeval::vhostStart::vhostName"); + debug(ssc.vhostContributionPath, "modeval::vhostStart::vhostContributionPath"); + debug(sc.contributionPath, "modeval::vhostStart::contributionPath"); + + // Configure the components deployed in a virtual host + const failable cr = vhostConfig(sc, ssc, r); + if (!hasContent(cr)) + return cr; + // Start the configured components const failable sr = startComponents(sc); if (!hasContent(sr)) @@ -808,22 +636,440 @@ const failable virtualHostConfig(ServerConf& sc, const ServerConf& ssc, re } /** - * Cleanup a virtual host. + * Stop a virtual host. */ -const failable virtualHostCleanup(const ServerConf& sc, const ServerConf& ssc) { - if (!hasCompositeConf(sc)) +const failable vhostStop(const ServerConf& sc, unused const ServerConf& ssc) { + if (!hasContributionConf(sc)) return true; - debug("modeval::virtualHostCleanup"); + debug("modeval::vhostStop"); // Stop the component implementations applyLifecycleExpr(sc.implementations, mklist("stop")); - // Chdir back to the main server's contribution - if (chdir(c_str(ssc.contributionPath)) != 0) - return mkfailure(string("Couldn't chdir to the deployed contribution: ") + ssc.contributionPath); return true; } +/** + * Handle an HTTP GET. + */ +const failable get(const list& rpath, request_rec* r, const lambda&)>& impl) { + debug(r->uri, "modeval::get::uri"); + + // Inspect the query string + const list > args = httpd::queryArgs(r); + const list ia = assoc(value("id"), args); + const list ma = assoc(value("method"), args); + + // Evaluate a JSON-RPC request and return a JSON result + if (!isNil(ia) && !isNil(ma)) { + + // Extract the request id, method and params + const value id = cadr(ia); + const value func = c_str(json::funcName(string(cadr(ma)))); + + // Apply the requested function + const failable val = failableResult(impl(cons(func, json::queryParams(args)))); + if (!hasContent(val)) + return mkfailure(reason(val)); + + // Return JSON result + js::JSContext cx; + return httpd::writeResult(json::jsonResult(id, content(val), cx), "application/json-rpc; charset=utf-8", r); + } + + // Evaluate the GET expression + const list params(append(cddr(rpath), mkvalues(args))); + const failable val = failableResult(impl(cons("get", mklist(params)))); + if (!hasContent(val)) + return mkfailure(reason(val)); + const value c = content(val); + debug(c, "modeval::get::content"); + + // Check if the client requested a specific format + const list fmt = assoc("format", args); + + // Write as a scheme value if requested by the client + if (!isNil(fmt) && cadr(fmt) == "scheme") + return httpd::writeResult(mklist(scheme::writeValue(c)), "text/plain; charset=utf-8", r); + + // Write a simple value as a JSON value + if (!isList(c)) { + js::JSContext cx; + if (isSymbol(c)) { + const list lc = mklist(mklist("name", value(string(c)))); + debug(lc, "modeval::get::symbol"); + return httpd::writeResult(json::writeJSON(valuesToElements(lc), cx), "application/json; charset=utf-8", r); + } + const list lc = mklist(mklist("value", c)); + debug(lc, "modeval::get::value"); + return httpd::writeResult(json::writeJSON(valuesToElements(lc), cx), "application/json; charset=utf-8", r); + } + + // Write an empty list as a JSON empty value + if (isNil((list)c)) { + js::JSContext cx; + debug(list(), "modeval::get::empty"); + return httpd::writeResult(json::writeJSON(list(), cx), "application/json; charset=utf-8", r); + } + + // Write content-type / content-list pair + if (isString(car(c)) && !isNil(cdr(c)) && isList(cadr(c))) + return httpd::writeResult(convertValues(cadr(c)), car(c), r); + + // Write an assoc value as a JSON result + if (isSymbol(car(c)) && !isNil(cdr(c))) { + js::JSContext cx; + const list lc = mklist(c); + debug(lc, "modeval::get::assoc"); + debug(valuesToElements(lc), "modeval::get::assoc::element"); + return httpd::writeResult(json::writeJSON(valuesToElements(lc), cx), "application/json; charset=utf-8", r); + } + + // Write value as JSON if requested by the client + if (!isNil(fmt) && cadr(fmt) == "json") { + js::JSContext cx; + return httpd::writeResult(json::writeJSON(valuesToElements(c), cx), "application/json; charset=utf-8", r); + } + + // Convert list of values to element values + const list e = valuesToElements(c); + debug(e, "modeval::get::elements"); + + // Write an ATOM feed or entry + if (isList(car(e)) && !isNil(car(e))) { + const list el = car(e); + if (isSymbol(car(el)) && car(el) == element && !isNil(cdr(el)) && isSymbol(cadr(el)) && elementHasChildren(el) && !elementHasValue(el)) { + if (cadr(el) == atom::feed) + return httpd::writeResult(atom::writeATOMFeed(e), "application/atom+xml; charset=utf-8", r); + if (cadr(el) == atom::entry) + return httpd::writeResult(atom::writeATOMEntry(e), "application/atom+xml; charset=utf-8", r); + } + } + + // Write any other compound value as a JSON value + js::JSContext cx; + return httpd::writeResult(json::writeJSON(e, cx), "application/json; charset=utf-8", r); +} + +/** + * Handle an HTTP POST. + */ +const failable post(const list& rpath, request_rec* r, const lambda&)>& impl) { + debug(r->uri, "modeval::post::uri"); + + // Evaluate a JSON-RPC request and return a JSON result + const string ct = httpd::contentType(r); + if (contains(ct, "application/json-rpc") || contains(ct, "text/plain") || contains(ct, "application/x-www-form-urlencoded")) { + + // Read the JSON request + const int rc = httpd::setupReadPolicy(r); + if(rc != OK) + return rc; + const list ls = httpd::read(r); + debug(ls, "modeval::post::input"); + js::JSContext cx; + const list json = elementsToValues(content(json::readJSON(ls, cx))); + const list > args = httpd::postArgs(json); + + // Extract the request id, method and params + const value id = cadr(assoc(value("id"), args)); + const value func = c_str(json::funcName(cadr(assoc(value("method"), args)))); + const list params = (list)cadr(assoc(value("params"), args)); + + // Evaluate the request expression + const failable val = failableResult(impl(cons(func, params))); + if (!hasContent(val)) + return mkfailure(reason(val)); + + // Return JSON result + return httpd::writeResult(json::jsonResult(id, content(val), cx), "application/json-rpc; charset=utf-8", r); + } + + // Evaluate an ATOM POST request and return the location of the corresponding created resource + if (contains(ct, "application/atom+xml")) { + + // Read the ATOM entry + const int rc = httpd::setupReadPolicy(r); + if(rc != OK) + return rc; + const list ls = httpd::read(r); + debug(ls, "modeval::post::input"); + const value entry = elementsToValues(content(atom::readATOMEntry(ls))); + + // Evaluate the POST expression + const failable val = failableResult(impl(cons("post", mklist(cddr(rpath), entry)))); + if (!hasContent(val)) + return mkfailure(reason(val)); + + // Return the created resource location + debug(content(val), "modeval::post::location"); + apr_table_setn(r->headers_out, "Location", apr_pstrdup(r->pool, c_str(httpd::url(r->uri, content(val), r)))); + r->status = HTTP_CREATED; + return OK; + } + + // Unknown content type, wrap the HTTP request struct in a value and pass it to + // the component implementation function + const failable val = failableResult(impl(cons("handle", mklist(httpd::requestValue(r))))); + if (!hasContent(val)) + return mkfailure(reason(val)); + return (int)content(val); +} + +/** + * Handle an HTTP PUT. + */ +const failable put(const list& rpath, request_rec* r, const lambda&)>& impl) { + debug(r->uri, "modeval::put::uri"); + + // Read the ATOM entry + const int rc = httpd::setupReadPolicy(r); + if(rc != OK) + return rc; + const list ls = httpd::read(r); + debug(ls, "modeval::put::input"); + const value entry = elementsToValues(content(atom::readATOMEntry(ls))); + + // Evaluate the PUT expression and update the corresponding resource + const failable val = failableResult(impl(cons("put", mklist(cddr(rpath), entry)))); + if (!hasContent(val)) + return mkfailure(reason(val)); + if (val == value(false)) + return HTTP_NOT_FOUND; + return OK; +} + +/** + * Handle an HTTP DELETE. + */ +const failable del(const list& rpath, request_rec* r, const lambda&)>& impl) { + debug(r->uri, "modeval::delete::uri"); + + // Evaluate an ATOM delete request + const failable val = failableResult(impl(cons("delete", mklist(cddr(rpath))))); + if (!hasContent(val)) + return mkfailure(reason(val)); + if (val == value(false)) + return HTTP_NOT_FOUND; + return OK; +} + +/** + * Route a /references/component-name/reference-name request, + * to the target of the component reference. + */ +int translateReference(const ServerConf& sc, request_rec *r, const list& rpath, const list& apath) { + httpdDebugRequest(r, "modeval::translateReference::input"); + debug(r->uri, "modeval::translateReference::uri"); + debug(apath, "modeval::translateReference::apath"); + debug(rpath, "modeval::translateReference::rpath"); + + // Find the requested component + if (isNil(cdr(rpath))) + return HTTP_NOT_FOUND; + const list comp(assoctree(cadr(rpath), sc.references)); + if (isNil(comp)) + return HTTP_NOT_FOUND; + + // Find the requested reference and target configuration + const list ref(assoctree(caddr(rpath), cadr(comp))); + if (isNil(ref)) + return HTTP_NOT_FOUND; + const string target(cadr(ref)); + debug(target, "modeval::translateReference::target"); + + // Route to an absolute target URI using mod_proxy or an HTTP client redirect + const list pathInfo = cdddr(rpath); + if (http::isAbsolute(target)) { + if (useModProxy) { + // Build proxy URI + string turi = target + path(pathInfo) + (r->args != NULL? string("?") + r->args : string("")); + const string proxy(string("proxy:") + turi); + debug(proxy, "modeval::translateReference::proxy"); + r->filename = apr_pstrdup(r->pool, c_str(proxy)); + r->proxyreq = PROXYREQ_REVERSE; + r->handler = "proxy-server"; + apr_table_setn(r->notes, "proxy-nocanon", "1"); + return OK; + } + + debug(target, "modeval::translateReference::location"); + r->handler = "mod_tuscany_eval"; + return httpd::externalRedirect(target, r); + } + + // Route to a relative target URI using a local internal redirect + // /components/, target component name and request path info + const value tname = substr(target, 0, find(target, '/')); + const string redir = path(append(apath, cons(string("c"), cons(tname, pathInfo)))); + debug(redir, "modeval::translateReference::redirect"); + r->uri = apr_pstrdup(r->pool, c_str(redir)); + r->handler = "mod_tuscany_eval"; + return OK; +} + +/** + * Find a leaf matching a request path in a tree of URI paths. + */ +const int matchPath(const list& k, const list& p) { + if (isNil(p)) + return true; + if (isNil(k)) + return false; + if (car(k) != car(p)) + return false; + return matchPath(cdr(k), cdr(p)); +} + +const list assocPath(const value& k, const list& tree) { + if (isNil(tree)) + return tree; + if (matchPath(k, car(car(tree)))) + return car(tree); + if (k < car(car(tree))) + return assocPath(k, cadr(tree)); + return assocPath(k, caddr(tree)); +} + +/** + * Route a service request to the component providing the requested service. + */ +int translateService(const ServerConf& sc, request_rec *r, const list& rpath, const list& apath) { + httpdDebugRequest(r, "modeval::translateService::input"); + debug(r->uri, "modeval::translateService::uri"); + + // Find the requested component + debug(sc.services, "modeval::translateService::services"); + const list svc(assocPath(rpath, sc.services)); + if (isNil(svc)) + return DECLINED; + debug(svc, "modeval::translateService::service"); + + // Build a component-name + path-info URI + const list target(append(apath, cons(string("c"), cons(cadr(svc), httpd::pathInfo(rpath, car(svc)))))); + debug(target, "modeval::translateService::target"); + + // Dispatch to the target component using a local internal redirect + const string redir(path(target)); + debug(redir, "modeval::translateService::redirect"); + r->uri = apr_pstrdup(r->pool, c_str(redir)); + r->handler = "mod_tuscany_eval"; + return OK; +} + +/** + * Translate a request to the target app and component. + */ +const int translateRequest(const ServerConf& sc, request_rec* r, const list& rpath, const list& apath) { + debug(apath, "modeval::translateRequest::apath"); + debug(rpath, "modeval::translateRequest::rpath"); + if (isNil(apath) && isNil(rpath)) + return DECLINED; + + if (!isNil(rpath)) { + + // If the request is targeting a virtual host, use the corresponding + // virtual host configuration + if (isNil(apath)) { + if (hasVhostDomainConf(sc) && hasVhostContributionConf(sc) && httpd::isVhostRequest(sc.server, sc.vhostDomain, r)) { + const string aname = httpd::hostName(r); + ServerConf vsc(r->pool, sc, aname); + if (!hasContent(vhostConfig(vsc, sc, r))) + return DECLINED; + return translateRequest(vsc, r, rpath, mklist(aname)); + } + } + + // Let default handler handle a resource request + const value prefix = car(rpath); + if (prefix == string("vhosts") || prefix == string("v")) + return DECLINED; + + // Let our handler handle a component request + if (prefix == string("components") || prefix == string("c")) { + r->handler = "mod_tuscany_eval"; + return OK; + } + + // Translate a component reference request + if (prefix == string("references") || prefix == string("r")) + return translateReference(sc, r, rpath, apath); + + // Attempt to translate the request to a service request + if (translateService(sc, r, rpath, apath) == OK) + return OK; + + // Attempt to map the request to an actual file + if (isNil(apath)) { + const failable fnr = httpd::internalSubRequest(r->uri, r); + if (!hasContent(fnr)) + return HTTP_INTERNAL_SERVER_ERROR; + request_rec* nr = content(fnr); + nr->uri = r->filename; + const int tr = ap_core_translate(nr); + if (tr != OK) + return tr; + if (ap_directory_walk(nr) == OK && ap_file_walk(nr) == OK && nr->finfo.filetype != APR_NOFILE) { + debug(nr->filename, "modeval::translateRequest::file"); + return DECLINED; + } + + // If the request is targeting a virtual app, use the corresponding + // virtual host configuration + if (hasVhostContributionConf(sc)) { + const string cp = sc.vhostContributionPath + string(prefix) + "/" + sc.vhostCompositeName; + ServerConf vsc(r->pool, sc, string(prefix)); + if (!hasContent(vhostConfig(vsc, sc, r))) + return DECLINED; + return translateRequest(vsc, r, cdr(rpath), mklist(car(rpath))); + } + } + } + + // If we're in a virtual app and the request didn't match a service, + // reference or component, redirect it to /v/. This will allow + // mapping to the actual app resources using HTTPD aliases. + if (!isNil(apath)) { + if (isNil(rpath) && r->uri[strlen(r->uri) -1] != '/') { + + // Make sure a document root request ends with a '/', using + // an external redirect + const string target = string(r->uri) + string("/") + (r->args != NULL? string("?") + r->args : string(""));; + debug(target, "modeval::translateRequest::location"); + r->handler = "mod_tuscany_eval"; + return httpd::externalRedirect(target, r); + } + + // Do an internal redirect to /v/ + const string redir = string("/redirect:") + string("/v") + string(r->uri); + debug(redir, "modeval::translateRequest::redirect"); + r->filename = apr_pstrdup(r->pool, c_str(redir)); + r->handler = "mod_tuscany_eval"; + return OK; + } + + return DECLINED; +} + +/** + * Translate a request. + */ +int translate(request_rec *r) { + if(r->method_number != M_GET && r->method_number != M_POST && r->method_number != M_PUT && r->method_number != M_DELETE) + return DECLINED; + + // Create a scoped memory pool + gc_scoped_pool pool(r->pool); + + httpdDebugRequest(r, "modeval::translate::input"); + + // Get the server configuration + const ServerConf& sc = httpd::serverConf(r, &mod_tuscany_eval); + + // Translate the request + return translateRequest(sc, r, pathValues(r->uri), list()); +} + /** * Handle a component request. */ @@ -832,45 +1078,44 @@ const int handleRequest(const ServerConf& sc, const list& rpath, request_ if (isNil(cdr(rpath))) return HTTP_NOT_FOUND; - // Handle a request targeting a virtual host or virtual app - if (hasVirtualCompositeConf(sc)) { - if (hasVirtualDomainConf(sc) && httpd::isVirtualHostRequest(sc.server, sc.virtualHostDomain, r)) { + if (hasVhostContributionConf(sc)) { + + // Handle a request targeting a component in a virtual host + if (hasVhostDomainConf(sc) && httpd::isVhostRequest(sc.server, sc.vhostDomain, r)) { // Determine the app name from the host sub-domain name, and - // store it in a header + // store it in a request note const string app = http::subDomain(httpd::hostName(r)); - apr_table_setn(r->headers_in, "X-Request-AppName", apr_pstrdup(r->pool, c_str(app))); + apr_table_setn(r->notes, "X-Request-AppName", apr_pstrdup(r->pool, c_str(app))); ServerConf vsc(r->pool, sc, app); - if (!hasContent(virtualHostConfig(vsc, sc, r))) + if (!hasContent(vhostStart(vsc, sc, r))) return HTTP_INTERNAL_SERVER_ERROR; const int rc = handleRequest(vsc, rpath, r); - virtualHostCleanup(vsc, sc); + vhostStop(vsc, sc); return rc; } + // Handle a request targeting a component in a virtual app const value c = car(rpath); if (c != string("components") && c != string("c")) { - // Determine the app name from the request URI path + // Determine the app name from the request URI path and + // store it in a request note const string app = string(c); - const string cp = sc.virtualHostContributionPath + app + "/" + sc.virtualHostCompositeName; - struct stat st; - const int s = stat(c_str(cp), &st); - if (s != -1) { - // Store the app name in a header - apr_table_setn(r->headers_in, "X-Request-AppName", apr_pstrdup(r->pool, c_str(app))); - ServerConf vsc(r->pool, sc, app); - if (!hasContent(virtualHostConfig(vsc, sc, r))) - return HTTP_INTERNAL_SERVER_ERROR; - const int rc = handleRequest(vsc, cdr(rpath), r); - virtualHostCleanup(vsc, sc); - return rc; - } + const string cp = sc.vhostContributionPath + app + "/" + sc.vhostCompositeName; + apr_table_setn(r->notes, "X-Request-AppName", apr_pstrdup(r->pool, c_str(app))); + + ServerConf vsc(r->pool, sc, app); + if (!hasContent(vhostStart(vsc, sc, r))) + return HTTP_INTERNAL_SERVER_ERROR; + const int rc = handleRequest(vsc, cdr(rpath), r); + vhostStop(vsc, sc); + return rc; } } - // Store the request uri path in a header - apr_table_setn(r->headers_in, "X-Request-URI", apr_pstrdup(r->pool, c_str(path(rpath)))); + // Store the request uri path in a request note + apr_table_setn(r->notes, "X-Request-URI", apr_pstrdup(r->pool, c_str(path(rpath)))); // Get the component implementation lambda const list impl(assoctree(cadr(rpath), sc.implTree)); @@ -903,11 +1148,20 @@ int handler(request_rec *r) { if(strcmp(r->handler, "mod_tuscany_eval")) return DECLINED; - // Create a scoped memory pool - gc_scoped_pool pool(r->pool); + // Nothing to do for an external redirect + if (r->status == HTTP_MOVED_TEMPORARILY) + return OK; + + // Handle an internal redirect as directed by the translate hook + if (r->filename != NULL && !strncmp(r->filename, "/redirect:", 10)) { + if (r->args == NULL) + return httpd::internalRedirect(httpd::redirectURI(string(r->filename + 10), string(r->path_info)), r); + return httpd::internalRedirect(httpd::redirectURI(string(r->filename + 10), string(r->path_info), string(r->args)), r); + } + + // Create a scope for the current request ScopedRequest sr(r); - httpdDebugRequest(r, "modeval::handler::input"); // Get the server configuration const ServerConf& sc = httpd::serverConf(r, &mod_tuscany_eval); @@ -946,16 +1200,21 @@ const int postConfigMerge(const ServerConf& mainsc, server_rec* s) { ServerConf& sc = httpd::serverConf(s, &mod_tuscany_eval); debug(httpd::serverName(s), "modeval::postConfigMerge::serverName"); sc.lifecycle = mainsc.lifecycle; + sc.vhostName = mainsc.vhostName; sc.contributionPath = mainsc.contributionPath; sc.compositeName = mainsc.compositeName; - sc.virtualHostDomain = mainsc.virtualHostDomain; - sc.virtualHostContributionPath = mainsc.virtualHostContributionPath; - sc.virtualHostCompositeName = mainsc.virtualHostCompositeName; + sc.vhostDomain = mainsc.vhostDomain; + sc.vhostContributionPath = mainsc.vhostContributionPath; + sc.vhostCompositeName = mainsc.vhostCompositeName; + sc.vhostContributorName = mainsc.vhostContributorName; if (sc.ca == "") sc.ca = mainsc.ca; if (sc.cert == "") sc.cert = mainsc.cert; if (sc.key == "") sc.key = mainsc.key; + sc.references = mainsc.references; + sc.services = mainsc.services; sc.implementations = mainsc.implementations; sc.implTree = mainsc.implTree; + sc.vhostContributor = mainsc.vhostContributor; return postConfigMerge(mainsc, s->next); } @@ -964,7 +1223,7 @@ int postConfig(apr_pool_t *p, unused apr_pool_t *plog, unused apr_pool_t *ptemp, gc_scoped_pool pool(p); - // Get the server configuration and determine the wiring server name + // Get the server configuration and determine the server name ServerConf& sc = httpd::serverConf(s, &mod_tuscany_eval); debug(httpd::serverName(s), "modeval::postConfig::serverName"); @@ -1037,6 +1296,10 @@ void childInit(apr_pool_t* p, server_rec* s) { // Store the implementation lambda functions in a tree for fast retrieval sc.implTree = mkbtree(sort(sc.implementations)); + // Create a proxy for the vhost contributor if needed + if (length(sc.vhostContributorName) != 0) + sc.vhostContributor = mkimplProxy(sc, sc.vhostContributorName); + // Merge the updated configuration into the virtual hosts postConfigMerge(sc, s->next); @@ -1062,19 +1325,25 @@ const char* confComposite(cmd_parms *cmd, unused void *c, const char *arg) { const char* confVirtualDomain(cmd_parms *cmd, unused void *c, const char *arg) { gc_scoped_pool pool(cmd->pool); ServerConf& sc = httpd::serverConf(cmd, &mod_tuscany_eval); - sc.virtualHostDomain = arg; + sc.vhostDomain = arg; return NULL; } const char* confVirtualContribution(cmd_parms *cmd, unused void *c, const char *arg) { gc_scoped_pool pool(cmd->pool); ServerConf& sc = httpd::serverConf(cmd, &mod_tuscany_eval); - sc.virtualHostContributionPath = arg; + sc.vhostContributionPath = arg; + return NULL; +} +const char* confVirtualContributor(cmd_parms *cmd, unused void *c, const char *arg) { + gc_scoped_pool pool(cmd->pool); + ServerConf& sc = httpd::serverConf(cmd, &mod_tuscany_eval); + sc.vhostContributorName = arg; return NULL; } const char* confVirtualComposite(cmd_parms *cmd, unused void *c, const char *arg) { gc_scoped_pool pool(cmd->pool); ServerConf& sc = httpd::serverConf(cmd, &mod_tuscany_eval); - sc.virtualHostCompositeName = arg; + sc.vhostCompositeName = arg; return NULL; } const char* confCAFile(cmd_parms *cmd, unused void *c, const char *arg) { @@ -1108,7 +1377,8 @@ const command_rec commands[] = { AP_INIT_TAKE1("SCAContribution", (const char*(*)())confContribution, NULL, RSRC_CONF, "SCA contribution location"), AP_INIT_TAKE1("SCAComposite", (const char*(*)())confComposite, NULL, RSRC_CONF, "SCA composite location"), AP_INIT_TAKE1("SCAVirtualDomain", (const char*(*)())confVirtualDomain, NULL, RSRC_CONF, "SCA virtual host domain"), - AP_INIT_TAKE1("SCAVirtualContribution", (const char*(*)())confVirtualContribution, NULL, RSRC_CONF, "SCA virtual host contribution location"), + AP_INIT_TAKE1("SCAVirtualContribution", (const char*(*)())confVirtualContribution, NULL, RSRC_CONF, "SCA virtual host contribution path"), + AP_INIT_TAKE1("SCAVirtualContributor", (const char*(*)())confVirtualContributor, NULL, RSRC_CONF, "SCA virtual host contributor component"), AP_INIT_TAKE1("SCAVirtualComposite", (const char*(*)())confVirtualComposite, NULL, RSRC_CONF, "SCA virtual composite location"), AP_INIT_TAKE12("SCASetEnv", (const char*(*)())confEnv, NULL, OR_FILEINFO, "Environment variable name and optional value"), AP_INIT_TAKE1("SCAWiringSSLCACertificateFile", (const char*(*)())confCAFile, NULL, RSRC_CONF, "SCA wiring SSL CA certificate file"), @@ -1122,7 +1392,7 @@ void registerHooks(unused apr_pool_t *p) { ap_hook_post_config(postConfig, NULL, NULL, APR_HOOK_MIDDLE); ap_hook_child_init(childInit, NULL, NULL, APR_HOOK_MIDDLE); ap_hook_handler(handler, NULL, NULL, APR_HOOK_MIDDLE); - ap_hook_translate_name(translate, NULL, NULL, APR_HOOK_FIRST); + ap_hook_translate_name(translate, NULL, NULL, APR_HOOK_LAST); } } diff --git a/sca-cpp/trunk/modules/server/mod-wiring.cpp b/sca-cpp/trunk/modules/server/mod-wiring.cpp deleted file mode 100644 index 0dd0529a42..0000000000 --- a/sca-cpp/trunk/modules/server/mod-wiring.cpp +++ /dev/null @@ -1,530 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -/* $Rev$ $Date$ */ - -/** - * HTTPD module used to wire component references and route requests to - * target service components. - */ - -#include - -#define WANT_HTTPD_LOG 1 -#include "string.hpp" -#include "stream.hpp" -#include "list.hpp" -#include "tree.hpp" -#include "value.hpp" -#include "monad.hpp" -#include "../scdl/scdl.hpp" -#include "../http/http.hpp" -#include "../http/httpd.hpp" - -extern "C" { -extern module AP_MODULE_DECLARE_DATA mod_tuscany_wiring; -} - -namespace tuscany { -namespace server { -namespace modwiring { - -/** - * Set to true to wire using mod_proxy, false to wire using HTTP client redirects. - */ -const bool useModProxy = true; - -/** - * Server configuration. - */ -class ServerConf { -public: - ServerConf(apr_pool_t* p, server_rec* s) : p(p), server(s), contributionPath(""), compositeName(""), virtualHostDomain(""), virtualHostContributionPath(""), virtualHostCompositeName("") { - } - - ServerConf(apr_pool_t* p, const ServerConf& ssc, const string& name) : p(p), server(ssc.server), contributionPath(ssc.virtualHostContributionPath + name + "/"), compositeName(ssc.virtualHostCompositeName), virtualHostDomain(""), virtualHostContributionPath(""), virtualHostCompositeName("") { - } - - const gc_pool p; - server_rec* server; - string contributionPath; - string compositeName; - string virtualHostDomain; - string virtualHostContributionPath; - string virtualHostCompositeName; - list references; - list services; -}; - -/** - * Return true if a server contains a composite configuration. - */ -const bool hasCompositeConf(const ServerConf& sc) { - return sc.contributionPath != "" && sc.compositeName != ""; -} - -/** - * Return true if a server contains a virtual host domain configuration. - */ -const bool hasVirtualDomainConf(const ServerConf& sc) { - return sc.virtualHostDomain != ""; -} - -/** - * Return true if a server contains a virtual host composite configuration. - */ -const bool hasVirtualCompositeConf(const ServerConf& sc) { - return sc.virtualHostContributionPath != "" && sc.virtualHostCompositeName != ""; -} - -/** - * Route a /references/component-name/reference-name request, - * to the target of the component reference. - */ -int translateReference(const ServerConf& sc, request_rec *r, const list& rpath, const list& apath) { - httpdDebugRequest(r, "modwiring::translateReference::input"); - debug(r->uri, "modwiring::translateReference::uri"); - debug(apath, "modwiring::translateReference::apath"); - debug(rpath, "modwiring::translateReference::rpath"); - - // Find the requested component - if (isNil(cdr(rpath))) - return HTTP_NOT_FOUND; - const list comp(assoctree(cadr(rpath), sc.references)); - if (isNil(comp)) - return HTTP_NOT_FOUND; - - // Find the requested reference and target configuration - const list ref(assoctree(caddr(rpath), cadr(comp))); - if (isNil(ref)) - return HTTP_NOT_FOUND; - const string target(cadr(ref)); - debug(target, "modwiring::translateReference::target"); - - // Route to an absolute target URI using mod_proxy or an HTTP client redirect - const list pathInfo = cdddr(rpath); - if (http::isAbsolute(target)) { - if (useModProxy) { - // Build proxy URI - string turi = target + path(pathInfo) + (r->args != NULL? string("?") + r->args : string("")); - const string proxy(string("proxy:") + turi); - debug(proxy, "modwiring::translateReference::proxy"); - r->filename = apr_pstrdup(r->pool, c_str(proxy)); - r->proxyreq = PROXYREQ_REVERSE; - r->handler = "proxy-server"; - apr_table_setn(r->notes, "proxy-nocanon", "1"); - return OK; - } - - debug(target, "modwiring::translateReference::location"); - r->handler = "mod_tuscany_wiring"; - return httpd::externalRedirect(target, r); - } - - // Route to a relative target URI using a local internal redirect - // /components/, target component name and request path info - const value tname = substr(target, 0, find(target, '/')); - const string tp = path(append(apath, cons(string("c"), cons(tname, pathInfo)))) + (r->args != NULL? string("?") + r->args : string("")); - const string redir(string("/redirect:") + tp); - debug(redir, "modwiring::translateReference::redirect"); - r->filename = apr_pstrdup(r->pool, c_str(redir)); - r->handler = "mod_tuscany_wiring"; - return OK; -} - -/** - * Find a leaf matching a request path in a tree of URI paths. - */ -const int matchPath(const list& k, const list& p) { - if (isNil(p)) - return true; - if (isNil(k)) - return false; - if (car(k) != car(p)) - return false; - return matchPath(cdr(k), cdr(p)); -} - -const list assocPath(const value& k, const list& tree) { - if (isNil(tree)) - return tree; - if (matchPath(k, car(car(tree)))) - return car(tree); - if (k < car(car(tree))) - return assocPath(k, cadr(tree)); - return assocPath(k, caddr(tree)); -} - -/** - * Route a service request to the component providing the requested service. - */ -int translateService(const ServerConf& sc, request_rec *r, const list& rpath, const list& apath) { - httpdDebugRequest(r, "modwiring::translateService::input"); - debug(r->uri, "modwiring::translateService::uri"); - - // Find the requested component - debug(sc.services, "modwiring::translateService::services"); - const list svc(assocPath(rpath, sc.services)); - if (isNil(svc)) - return DECLINED; - debug(svc, "modwiring::translateService::service"); - - // Build a component-name + path-info URI - const list target(append(apath, cons(string("c"), cons(cadr(svc), httpd::pathInfo(rpath, car(svc)))))); - debug(target, "modwiring::translateService::target"); - - // Dispatch to the target component using a local internal redirect - const string tp(path(target) + (r->args != NULL? string("?") + r->args : string(""))); - const string redir(string("/redirect:") + tp); - debug(redir, "modwiring::translateService::redirect"); - r->filename = apr_pstrdup(r->pool, c_str(redir)); - r->handler = "mod_tuscany_wiring"; - return OK; -} - -/** - * Read the components declared in a composite. - */ -const failable > readComponents(const string& path) { - ifstream is(path); - if (fail(is)) - return mkfailure >(string("Could not read composite: ") + path); - return scdl::components(readXML(streamList(is))); -} - -/** - * Return a list of component-name + references pairs. The references are - * arranged in trees of reference-name + reference-target pairs. - */ -const list componentReferenceToTargetTree(const value& c) { - return mklist(scdl::name(c), mkbtree(sort(scdl::referenceToTargetAssoc(scdl::references(c))))); -} - -const list componentReferenceToTargetAssoc(const list& c) { - if (isNil(c)) - return c; - return cons(componentReferenceToTargetTree(car(c)), componentReferenceToTargetAssoc(cdr(c))); -} - -/** - * Return a list of service-URI-path + component-name pairs. Service-URI-paths are - * represented as lists of URI path fragments. - */ -const list defaultBindingURI(const string& cn, const string& sn) { - return mklist(cn, sn); -} - -const list bindingToComponentAssoc(const string& cn, const string& sn, const list& b) { - if (isNil(b)) - return b; - const value uri(scdl::uri(car(b))); - if (isNil(uri)) - return cons(mklist(defaultBindingURI(cn, sn), cn), bindingToComponentAssoc(cn, sn, cdr(b))); - return cons(mklist(pathValues(c_str(string(uri))), cn), bindingToComponentAssoc(cn, sn, cdr(b))); -} - -const list serviceToComponentAssoc(const string& cn, const list& s) { - if (isNil(s)) - return s; - const string sn(scdl::name(car(s))); - const list btoc(bindingToComponentAssoc(cn, sn, scdl::bindings(car(s)))); - if (isNil(btoc)) - return cons(mklist(defaultBindingURI(cn, sn), cn), serviceToComponentAssoc(cn, cdr(s))); - return append(btoc, serviceToComponentAssoc(cn, cdr(s))); -} - -const list uriToComponentAssoc(const list& c) { - if (isNil(c)) - return c; - return append(serviceToComponentAssoc(scdl::name(car(c)), scdl::services(car(c))), uriToComponentAssoc(cdr(c))); -} - -/** - * Configure the components declared in the server's deployment composite. - */ -const bool confComponents(ServerConf& sc) { - if (!hasCompositeConf(sc)) - return true; - debug(sc.contributionPath, "modwiring::confComponents::contributionPath"); - debug(sc.compositeName, "modwiring::confComponents::compositeName"); - - // Read the component configuration and store the references and service URIs - // in trees for fast retrieval later - const failable > comps = readComponents(scdl::resourcePath(sc.contributionPath, sc.compositeName)); - if (!hasContent(comps)) - return true; - const list refs = componentReferenceToTargetAssoc(content(comps)); - debug(refs, "modwiring::confComponents::references"); - sc.references = mkbtree(sort(refs)); - - const list svcs = uriToComponentAssoc(content(comps)); - debug(svcs, "modwiring::confComponents::services"); - sc.services = mkbtree(sort(svcs)); - return true; -} - -/** - * Configure and start the components deployed in a virtual host. - */ -const failable virtualHostConfig(ServerConf& sc, const ServerConf& ssc, request_rec* r) { - debug(httpd::serverName(ssc.server), "modwiring::virtualHostConfig::serverName"); - debug(httpd::serverName(r), "modwiring::virtualHostConfig::virtualHostName"); - debug(ssc.virtualHostContributionPath, "modwiring::virtualHostConfig::virtualHostContributionPath"); - debug(sc.contributionPath, "modwiring::virtualHostConfig::contributionPath"); - - // Configure the wiring for the deployed components - confComponents(sc); - - return sc; -} - -/** - * Translate an HTTP service or reference request and route it - * to the target component. - */ -const int translateRequest(const ServerConf& sc, request_rec *r, const list& rpath, const list& apath) { - debug(apath, "modwiring::translateRequest::apath"); - debug(rpath, "modwiring::translateRequest::rpath"); - if (isNil(apath) && isNil(rpath)) - return DECLINED; - - if (!isNil(rpath)) { - - // No translation needed for a component or resource request - const value c = car(rpath); - if (c == string("components") || c == string("c") || c == string("vhosts") || c == string("v")) - return DECLINED; - - // If the request is targeting a virtual host, use the corresponding - // virtual host configuration - const bool vdc = hasVirtualDomainConf(sc); - const bool vcc = hasVirtualCompositeConf(sc); - if (vdc && vcc && httpd::isVirtualHostRequest(sc.server, sc.virtualHostDomain, r)) { - ServerConf vsc(r->pool, sc, http::subDomain(httpd::hostName(r))); - if (!hasContent(virtualHostConfig(vsc, sc, r))) - return HTTP_INTERNAL_SERVER_ERROR; - return translateRequest(vsc, r, rpath, list()); - } - - // Translate a component reference request - if (c == string("references") || c == string("r")) - return translateReference(sc, r, rpath, apath); - - // Attempt to translate the request to a service request - if (translateService(sc, r, rpath, apath) == OK) - return OK; - - // If the request is targeting a virtual app, use the corresponding - // virtual host configuration - if (vcc) { - const string cp = sc.virtualHostContributionPath + string(c) + "/" + sc.virtualHostCompositeName; - struct stat st; - const int s = stat(c_str(cp), &st); - if (s == -1) - return DECLINED; - ServerConf vsc(r->pool, sc, string(c)); - if (!hasContent(virtualHostConfig(vsc, sc, r))) - return HTTP_INTERNAL_SERVER_ERROR; - return translateRequest(vsc, r, cdr(rpath), mklist(car(rpath))); - } - } - - // If we're in a virtual app and the request is targeting a regular - // resource, redirect it to /v/. This will allow mapping to the - // actual resources using HTTPD aliases. - if (!isNil(apath)) { - const string tp = string("/v") + string(r->uri) + (r->args != NULL? string("?") + r->args : string("")); - const string redir = string("/redirect:") + tp; - debug(redir, "modwiring::translateRequest::redirect"); - r->filename = apr_pstrdup(r->pool, c_str(redir)); - r->handler = "mod_tuscany_wiring"; - return OK; - } - - return DECLINED; -} - -/** - * Translate an HTTP service or reference request and route it - * to the target component. - */ -int translate(request_rec *r) { - if(r->method_number != M_GET && r->method_number != M_POST && r->method_number != M_PUT && r->method_number != M_DELETE) - return DECLINED; - - // Create a scoped memory pool - gc_scoped_pool pool(r->pool); - httpdDebugRequest(r, "modwiring::translate::input"); - - // Get the server configuration - const ServerConf& sc = httpd::serverConf(r, &mod_tuscany_wiring); - - // Translate the request - return translateRequest(sc, r, pathValues(r->uri), list()); -} - -/** - * HTTP request handler, redirect to a target component. - */ -int handler(request_rec *r) { - if(r->method_number != M_GET && r->method_number != M_POST && r->method_number != M_PUT && r->method_number != M_DELETE) - return DECLINED; - if(strcmp(r->handler, "mod_tuscany_wiring")) - return DECLINED; - if (r->filename == NULL || strncmp(r->filename, "/redirect:", 10) != 0) - return DECLINED; - - // Nothing to do for an external redirect - if (r->status == HTTP_MOVED_TEMPORARILY) - return OK; - - // Create a scoped memory pool - gc_scoped_pool pool(r->pool); - - httpdDebugRequest(r, "modwiring::handler::input"); - debug(r->uri, "modwiring::handler::uri"); - debug(r->filename, "modwiring::handler::filename"); - debug(r->path_info, "modwiring::handler::path info"); - - // Do an internal redirect - if (r->args == NULL) - return httpd::internalRedirect(httpd::redirectURI(string(r->filename + 10), string(r->path_info)), r); - return httpd::internalRedirect(httpd::redirectURI(string(r->filename + 10), string(r->path_info), string(r->args)), r); -} - -/** - * Called after all the configuration commands have been run. - * Process the server configuration and configure the wiring for the deployed components. - */ -const int postConfigMerge(const ServerConf& mainsc, server_rec* s) { - if (s == NULL) - return OK; - debug(httpd::serverName(s), "modwiring::postConfigMerge::serverName"); - ServerConf& sc = httpd::serverConf(s, &mod_tuscany_wiring); - sc.contributionPath = mainsc.contributionPath; - sc.compositeName = mainsc.compositeName; - sc.virtualHostDomain = mainsc.virtualHostDomain; - sc.virtualHostContributionPath = mainsc.virtualHostContributionPath; - sc.virtualHostCompositeName = mainsc.virtualHostCompositeName; - sc.references = mainsc.references; - sc.services = mainsc.services; - return postConfigMerge(mainsc, s->next); -} - -int postConfig(apr_pool_t *p, unused apr_pool_t *plog, unused apr_pool_t *ptemp, server_rec *s) { - gc_scoped_pool pool(p); - - // Count the calls to post config, skip the first one as - // postConfig is always called twice - const string k("tuscany::modwiring::postConfig"); - const long int count = (long int)httpd::userData(k, s); - httpd::putUserData(k, (void*)(count + 1), s); - if (count == 0) - return OK; - - // Configure the wiring for the deployed components - debug(httpd::serverName(s), "modwiring::postConfig::serverName"); - ServerConf& sc = httpd::serverConf(s, &mod_tuscany_wiring); - confComponents(sc); - - // Merge the config into any virtual hosts - return postConfigMerge(sc, s->next); -} - -/** - * Child process initialization. - */ -void childInit(apr_pool_t* p, server_rec* s) { - gc_scoped_pool pool(p); - if(ap_get_module_config(s->module_config, &mod_tuscany_wiring) == NULL) { - cfailure << "[Tuscany] Due to one or more errors mod_tuscany_wiring loading failed. Causing apache to stop loading." << endl; - exit(APEXIT_CHILDFATAL); - } -} - -/** - * Configuration commands. - */ -const char *confContribution(cmd_parms *cmd, unused void *c, const char *arg) { - gc_scoped_pool pool(cmd->pool); - ServerConf& sc = httpd::serverConf(cmd, &mod_tuscany_wiring); - sc.contributionPath = arg; - return NULL; -} -const char *confComposite(cmd_parms *cmd, unused void *c, const char *arg) { - gc_scoped_pool pool(cmd->pool); - ServerConf& sc = httpd::serverConf(cmd, &mod_tuscany_wiring); - sc.compositeName = arg; - return NULL; -} -const char *confVirtualDomain(cmd_parms *cmd, unused void *c, const char *arg) { - gc_scoped_pool pool(cmd->pool); - ServerConf& sc = httpd::serverConf(cmd, &mod_tuscany_wiring); - sc.virtualHostDomain = arg; - return NULL; -} -const char *confVirtualContribution(cmd_parms *cmd, unused void *c, const char *arg) { - gc_scoped_pool pool(cmd->pool); - ServerConf& sc = httpd::serverConf(cmd, &mod_tuscany_wiring); - sc.virtualHostContributionPath = arg; - return NULL; -} -const char *confVirtualComposite(cmd_parms *cmd, unused void *c, const char *arg) { - gc_scoped_pool pool(cmd->pool); - ServerConf& sc = httpd::serverConf(cmd, &mod_tuscany_wiring); - sc.virtualHostCompositeName = arg; - return NULL; -} - -/** - * HTTP server module declaration. - */ -const command_rec commands[] = { - AP_INIT_TAKE1("SCAContribution", (const char*(*)())confContribution, NULL, RSRC_CONF, "SCA contribution location"), - AP_INIT_TAKE1("SCAComposite", (const char*(*)())confComposite, NULL, RSRC_CONF, "SCA composite location"), - AP_INIT_TAKE1("SCAVirtualDomain", (const char*(*)())confVirtualDomain, NULL, RSRC_CONF, "SCA virtual host domain"), - AP_INIT_TAKE1("SCAVirtualContribution", (const char*(*)())confVirtualContribution, NULL, RSRC_CONF, "SCA virtual host contribution location"), - AP_INIT_TAKE1("SCAVirtualComposite", (const char*(*)())confVirtualComposite, NULL, RSRC_CONF, "SCA virtual host composite location"), - {NULL, NULL, NULL, 0, NO_ARGS, NULL} -}; - -void registerHooks(unused apr_pool_t *p) { - ap_hook_post_config(postConfig, NULL, NULL, APR_HOOK_MIDDLE); - ap_hook_child_init(childInit, NULL, NULL, APR_HOOK_MIDDLE); - ap_hook_handler(handler, NULL, NULL, APR_HOOK_MIDDLE); - ap_hook_translate_name(translate, NULL, NULL, APR_HOOK_FIRST); -} - -} -} -} - -extern "C" { - -module AP_MODULE_DECLARE_DATA mod_tuscany_wiring = { - STANDARD20_MODULE_STUFF, - // dir config and merger - NULL, NULL, - // server config and merger - tuscany::httpd::makeServerConf, NULL, - // commands and hooks - tuscany::server::modwiring::commands, tuscany::server::modwiring::registerHooks -}; - -} diff --git a/sca-cpp/trunk/modules/server/server-conf b/sca-cpp/trunk/modules/server/server-conf index 47934f973e..83eea0cc6c 100755 --- a/sca-cpp/trunk/modules/server/server-conf +++ b/sca-cpp/trunk/modules/server/server-conf @@ -31,13 +31,6 @@ else libsuffix=".so" fi -cat >>$root/conf/modules.conf <>$root/conf/httpd.conf <