You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2011/08/11 11:28:49 UTC

svn commit: r1156555 - in /tuscany/sca-cpp/trunk: ./ macos/ modules/js/ modules/json/ modules/server/htdocs/test/ samples/store-cpp/htdocs/test/ samples/store-python/htdocs/test/ ubuntu/

Author: jsdelfino
Date: Thu Aug 11 09:28:49 2011
New Revision: 1156555

URL: http://svn.apache.org/viewvc?rev=1156555&view=rev
Log:
Upgrade to SpiderMonkey 1.8.5.

Modified:
    tuscany/sca-cpp/trunk/INSTALL
    tuscany/sca-cpp/trunk/macos/macos-install
    tuscany/sca-cpp/trunk/modules/js/eval.hpp
    tuscany/sca-cpp/trunk/modules/json/json-test.cpp
    tuscany/sca-cpp/trunk/modules/json/json.hpp
    tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-properties.txt
    tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-request.txt
    tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-result.txt
    tuscany/sca-cpp/trunk/samples/store-cpp/htdocs/test/items-request.txt
    tuscany/sca-cpp/trunk/samples/store-cpp/htdocs/test/items-result.txt
    tuscany/sca-cpp/trunk/samples/store-python/htdocs/test/items-result.txt
    tuscany/sca-cpp/trunk/ubuntu/ubuntu-bin-all-image
    tuscany/sca-cpp/trunk/ubuntu/ubuntu-bin-image
    tuscany/sca-cpp/trunk/ubuntu/ubuntu-install
    tuscany/sca-cpp/trunk/ubuntu/ubuntu-install-all

Modified: tuscany/sca-cpp/trunk/INSTALL
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/INSTALL?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/INSTALL (original)
+++ tuscany/sca-cpp/trunk/INSTALL Thu Aug 11 09:28:49 2011
@@ -106,8 +106,8 @@ curl-7-19-5
 libcurl4-openssl-7.19.5
 
 JSON:
-Mozilla TraceMonkey libmozjs (https://wiki.mozilla.org/JavaScript:TraceMonkey)
-also included in xulrunner-1.9.2
+Mozilla SpiderMonkey libmozjs 1.8.5
+(https://developer.mozilla.org/en/SpiderMonkey)
 
 Key/value store:
 tinycdb-0.77 (http://www.corpit.ru/mjt/tinycdb.html)
@@ -222,8 +222,8 @@ dependencies installed under $HOME:
 --with-memcached=$HOME/memcached-1.4.5-bin \
 --with-tinycdb=$HOME/tinycdb-0.77-bin \
 --with-curl=$HOME/curl-7.19.5-bin --with-libxml2=/usr \
---with-js-include=/usr/include/xulrunner-1.9.2 \
---with-js-lib=/usr/lib/xulrunner-1.9.2 \
+--with-js-include=$HOME/js-1.8.5-bin/include \
+--with-js-lib=$HOME/js-1.8.5-bin/lib \
 --enable-libcloud \
 --with-libcloud=$HOME/libcloud-0.3.1-bin \
 --enable-threads \

Modified: tuscany/sca-cpp/trunk/macos/macos-install
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/macos/macos-install?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/macos/macos-install (original)
+++ tuscany/sca-cpp/trunk/macos/macos-install Thu Aug 11 09:28:49 2011
@@ -43,18 +43,6 @@ if [ "$?" != "0" ]; then
 fi
 cd $build
 
-# Install autoconf-2.13
-curl -OL http://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz
-tar xzf autoconf-2.13.tar.gz
-cd autoconf-2.13
-./configure --prefix=$build/autoconf-2.13-bin
-make
-make install
-if [ "$?" != "0" ]; then
-    exit $?
-fi
-cd $build
-
 # Build Libexpat
 curl -OL http://sourceforge.net/projects/expat/files/expat/2.0.1/expat-2.0.1.tar.gz/download
 mv download expat-2.0.1.tar.gz
@@ -161,16 +149,14 @@ if [ "$?" != "0" ]; then
 fi
 cd $build
 
-# Build TraceMonkey
-curl -OL http://hg.mozilla.org/tracemonkey/archive/e4364736e170.tar.gz
-mv e4364736e170.tar.gz tracemonkey-e4364736e170.tar.gz
-tar xzf tracemonkey-e4364736e170.tar.gz
-cd tracemonkey-e4364736e170/js/src
-$build/autoconf-2.13-bin/bin/autoconf
-./configure --prefix=$build/tracemonkey-bin
+# Build SpiderMonkey
+curl -OL http://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.5.tar.gz
+tar xzf js185-1.0.0.tar.gz
+cd js-1.8.5/js/src
+./configure --prefix=$build/js-1.8.5-bin
 make
 make install
-install_name_tool -id $build/tracemonkey-bin/lib/libmozjs.dylib $build/tracemonkey-bin/lib/libmozjs.dylib
+ln -s $build/js-1.8.5-bin/lib/libmozjs185.dylib $build/js-1.8.5-bin/lib/libmozjs.dylib
 if [ "$?" != "0" ]; then
     exit $?
 fi

Modified: tuscany/sca-cpp/trunk/modules/js/eval.hpp
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/js/eval.hpp?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/js/eval.hpp (original)
+++ tuscany/sca-cpp/trunk/modules/js/eval.hpp Thu Aug 11 09:28:49 2011
@@ -27,7 +27,17 @@
  */
 
 #define XP_UNIX
+#ifdef WANT_MAINTAINER_MODE
+#pragma GCC diagnostic ignored "-Wunused-parameter"
+#pragma GCC diagnostic ignored "-Wsign-compare"
+#pragma GCC diagnostic ignored "-Wredundant-decls"
+#endif
 #include <jsapi.h>
+#ifdef WANT_MAINTAINER_MODE
+#pragma GCC diagnostic warning "-Wunused-parameter"
+#pragma GCC diagnostic warning "-Wsign-compare"
+#pragma GCC diagnostic ignored "-Wredundant-decls"
+#endif
 #include "string.hpp"
 #include "list.hpp"
 #include "value.hpp"
@@ -85,8 +95,12 @@ private:
     ::JSRuntime* rt;
 } jsRuntime;
 
-JSClass jsGlobalClass = { "global", JSCLASS_GLOBAL_FLAGS, JS_PropertyStub, JS_PropertyStub, JS_PropertyStub,
-        JS_PropertyStub, JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub, JSCLASS_NO_OPTIONAL_MEMBERS};
+JSClass jsGlobalClass = { "global", JSCLASS_GLOBAL_FLAGS,
+    JS_PropertyStub, JS_PropertyStub,
+    JS_PropertyStub, JS_StrictPropertyStub,
+    JS_EnumerateStub, JS_ResolveStub,
+    JS_ConvertStub, JS_FinalizeStub,
+    JSCLASS_NO_OPTIONAL_MEMBERS };
 
 /**
  * Represents a JavaScript context. Create one per thread.
@@ -99,12 +113,12 @@ public:
         cx = JS_NewContext(jsRuntime, 8192);
         if(cx == NULL)
             return;
-        JS_SetOptions(cx, JSOPTION_VAROBJFIX);
-        JS_SetVersion(cx, JSVERSION_DEFAULT);
+        JS_SetOptions(cx, JSOPTION_VAROBJFIX | JSOPTION_JIT | JSOPTION_METHODJIT);
+        JS_SetVersion(cx, JSVERSION_LATEST);
         JS_SetErrorReporter(cx, reportError);
 
         // Create global JS object
-        global = JS_NewObject(cx, &jsGlobalClass, NULL, NULL);
+        global = JS_NewCompartmentAndGlobalObject(cx, &jsGlobalClass, NULL);
         if(global == NULL) {
             cleanup();
             return;
@@ -167,17 +181,22 @@ const list<value> jsPropertiesToValues(c
     const value jsValToValue(const jsval& jsv, const js::JSContext& cx);
 
     jsid id;
-    if(!JS_NextProperty(cx, i, &id) || id == JSVAL_VOID)
+    if(!JS_NextProperty(cx, i, &id))
+        return propertiesSoFar;
+    jsval idv;
+    JS_IdToValue(cx, id, &idv);
+    if (idv == JSVAL_VOID)
         return propertiesSoFar;
+
     jsval jsv;
     if(!JS_GetPropertyById(cx, o, id, &jsv))
         return propertiesSoFar;
     const value val = jsValToValue(jsv, cx);
 
-    jsval idv;
-    JS_IdToValue(cx, id, &idv);
     if(JSVAL_IS_STRING(idv)) {
-        const string name = JS_GetStringBytes(JSVAL_TO_STRING(idv));
+        char* cname = JS_EncodeString(cx, JSVAL_TO_STRING(idv));
+        const string name = cname;
+        JS_free(cx, cname);
         if (isNil(val) && !isList(val))
             return jsPropertiesToValues(cons<value> (mklist<value> (element, c_str(name), val), propertiesSoFar), o, i, cx);
             //return jsPropertiesToValues(propertiesSoFar, o, i, cx);
@@ -196,7 +215,10 @@ const list<value> jsPropertiesToValues(c
 const value jsValToValue(const jsval& jsv, const js::JSContext& cx) {
     switch(JS_TypeOfValue(cx, jsv)) {
     case JSTYPE_STRING: {
-        return value(string(JS_GetStringBytes(JSVAL_TO_STRING(jsv))));
+        char* cvalue = JS_EncodeString(cx, JSVAL_TO_STRING(jsv));
+        const string svalue = string(cvalue);
+        JS_free(cx, cvalue);
+        return value(svalue);
     }
     case JSTYPE_BOOLEAN: {
         return value((bool)JSVAL_TO_BOOLEAN(jsv));
@@ -251,7 +273,10 @@ const jsval valueToJSVal(const value& va
         return BOOLEAN_TO_JSVAL((bool)val);
     }
     case value::Number: {
-        return DOUBLE_TO_JSVAL(JS_NewDouble(cx, (double)val));
+        jsval jsv;
+        if (!JS_NewNumberValue(cx, (jsdouble)val, &jsv))
+            return DOUBLE_TO_JSVAL(0);
+        return jsv;
     }
     case value::List: {
         if (isJSArray(val))

Modified: tuscany/sca-cpp/trunk/modules/json/json-test.cpp
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/json/json-test.cpp?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/json/json-test.cpp (original)
+++ tuscany/sca-cpp/trunk/modules/json/json-test.cpp Thu Aug 11 09:28:49 2011
@@ -37,31 +37,32 @@ ostream* jsonWriter(const string& s, ost
 }
 
 const string jscustomer("{\n"
-    " \"customer\":{\n"
-    "  \"@name\":\"jdoe\",\n"
-    "  \"address\":{\n"
-    "   \"@city\":\"san francisco\",\n"
-    "   \"@state\":\"ca\"\n"
+    " \"customer\": {\n"
+    "  \"@name\": \"jdoe\",\n"
+    "  \"address\": {\n"
+    "   \"@city\": \"san francisco\",\n"
+    "   \"@state\": \"ca\"\n"
     "  },\n"
-    "  \"account\":{\n"
-    "   \"id\":\"1234\",\n"
-    "   \"@balance\":1000\n"
+    "  \"account\": {\n"
+    "   \"id\": \"1234\",\n"
+    "   \"@balance\": 1000\n"
     "  }\n"
     " }\n"
     "}");
 
 const string jsphones("{\n"
-    " \"phones\":[\"408-1234\",\n"
+    " \"phones\": [\n"
+    "  \"408-1234\",\n"
     "  \"650-1234\"\n"
     " ],\n"
-    " \"lastName\":\"test\\u0009tab\",\n"
-    " \"@firstName\":\"test1\"\n"
+    " \"lastName\": \"test\\u0009tab\",\n"
+    " \"@firstName\": \"test1\"\n"
     "}");
 
 const string jsecho("{\n"
-    " \"ns1:echoString\":{\n"
-    "  \"@xmlns:ns1\":\"http://ws.apache.org/axis2/services/echo\",\n"
-    "  \"text\":\"Hello World!\"\n"
+    " \"ns1:echoString\": {\n"
+    "  \"@xmlns:ns1\": \"http://ws.apache.org/axis2/services/echo\",\n"
+    "  \"text\": \"Hello World!\"\n"
     " }\n"
     "}");
 
@@ -110,81 +111,88 @@ bool testJSON() {
 }
 
 const string jsitem("{\n"
-    " \"id\":3,\n"
-    " \"result\":[{\n"
-    "   \"price\":\"$2.99\",\n"
-    "   \"name\":\"Apple\"\n"
+    " \"id\": 3,\n"
+    " \"result\": [\n"
+    "  {\n"
+    "   \"price\": \"$2.99\",\n"
+    "   \"name\": \"Apple\"\n"
     "  },\n"
     "  {\n"
-    "   \"price\":\"$3.55\",\n"
-    "   \"name\":\"Orange\"\n"
+    "   \"price\": \"$3.55\",\n"
+    "   \"name\": \"Orange\"\n"
     "  },\n"
     "  {\n"
-    "   \"price\":\"$1.55\",\n"
-    "   \"name\":\"Pear\"\n"
+    "   \"price\": \"$1.55\",\n"
+    "   \"name\": \"Pear\"\n"
     "  }\n"
     " ]\n"
     "}");
 
 const string jsresult("{\n"
-    " \"id\":1,\n"
-    " \"result\":[\"Service.get\",\n"
+    " \"id\": 1,\n"
+    " \"result\": [\n"
+    "  \"Service.get\",\n"
     "  \"Service.getTotal\"\n"
     " ]\n"
     "}");
 
 const string jsfeed("{\n"
-    " \"id\":1,\n"
-    " \"result\":[\"Sample Feed\",\n"
+    " \"id\": 1,\n"
+    " \"result\": [\n"
+    "  \"Sample Feed\",\n"
     "  \"123456789\",\n"
-    "  [\"Item\",\n"
+    "  [\n"
+    "   \"Item\",\n"
     "   \"111\",\n"
     "   {\n"
-    "    \"name\":\"Apple\",\n"
-    "    \"currencyCode\":\"USD\",\n"
-    "    \"currencySymbol\":\"$\",\n"
-    "    \"price\":2.99\n"
+    "    \"name\": \"Apple\",\n"
+    "    \"currencyCode\": \"USD\",\n"
+    "    \"currencySymbol\": \"$\",\n"
+    "    \"price\": 2.99\n"
     "   }\n"
     "  ],\n"
-    "  [\"Item\",\n"
+    "  [\n"
+    "   \"Item\",\n"
     "   \"222\",\n"
     "   {\n"
-    "    \"name\":\"Orange\",\n"
-    "    \"currencyCode\":\"USD\",\n"
-    "    \"currencySymbol\":\"$\",\n"
-    "    \"price\":3.55\n"
+    "    \"name\": \"Orange\",\n"
+    "    \"currencyCode\": \"USD\",\n"
+    "    \"currencySymbol\": \"$\",\n"
+    "    \"price\": 3.55\n"
     "   }\n"
     "  ],\n"
-    "  [\"Item\",\n"
+    "  [\n"
+    "   \"Item\",\n"
     "   \"333\",\n"
     "   {\n"
-    "    \"name\":\"Pear\",\n"
-    "    \"currencyCode\":\"USD\",\n"
-    "    \"currencySymbol\":\"$\",\n"
-    "    \"price\":1.55\n"
+    "    \"name\": \"Pear\",\n"
+    "    \"currencyCode\": \"USD\",\n"
+    "    \"currencySymbol\": \"$\",\n"
+    "    \"price\": 1.55\n"
     "   }\n"
     "  ]\n"
     " ]\n"
     "}");
 
 const string jsechoreq("{\n"
-    " \"id\":1,\n"
-    " \"method\":\"echo\",\n"
-    " \"params\":[{\n"
-    "   \"ns1:echoString\":{\n"
-    "    \"@xmlns:ns1\":\"http://ws.apache.org/axis2/services/echo\",\n"
-    "    \"text\":\"Hello World!\"\n"
+    " \"id\": 1,\n"
+    " \"method\": \"echo\",\n"
+    " \"params\": [\n"
+    "  {\n"
+    "   \"ns1:echoString\": {\n"
+    "    \"@xmlns:ns1\": \"http://ws.apache.org/axis2/services/echo\",\n"
+    "    \"text\": \"Hello World!\"\n"
     "   }\n"
     "  }\n"
     " ]\n"
     "}");
 
 const string jsechores("{\n"
-    " \"id\":1,\n"
-    " \"result\":{\n"
-    "  \"ns1:echoString\":{\n"
-    "   \"@xmlns:ns1\":\"http://ws.apache.org/axis2/c/samples\",\n"
-    "   \"text\":\"Hello World!\"\n"
+    " \"id\": 1,\n"
+    " \"result\": {\n"
+    "  \"ns1:echoString\": {\n"
+    "   \"@xmlns:ns1\": \"http://ws.apache.org/axis2/c/samples\",\n"
+    "   \"text\": \"Hello World!\"\n"
     "  }\n"
     " }\n"
     "}");
@@ -200,7 +208,7 @@ bool testJSONRPC() {
         assert(assoc<value>("params", v) == mklist<value>("params", list<value>()));
     }
     {
-        const string i2 = "{\"id\":3,\"result\":{\"0\":{\"price\":\"$2.99\",\"name\":\"Apple\"},\"1\":{\"price\":\"$3.55\",\"name\":\"Orange\"},\"2\":{\"price\":\"$1.55\",\"name\":\"Pear\"}}}";
+        const string i2 = "{\"id\": 3,\"result\": {\"0\": {\"price\": \"$2.99\",\"name\": \"Apple\"},\"1\": {\"price\": \"$3.55\",\"name\": \"Orange\"},\"2\": {\"price\": \"$1.55\",\"name\": \"Pear\"}}}";
         const list<value> e = content(readJSON(mklist(jsitem), cx));
         const list<value> e2 = content(readJSON(mklist(i2), cx));
         assert(e == e2);

Modified: tuscany/sca-cpp/trunk/modules/json/json.hpp
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/json/json.hpp?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/json/json.hpp (original)
+++ tuscany/sca-cpp/trunk/modules/json/json.hpp Thu Aug 11 09:28:49 2011
@@ -53,7 +53,7 @@ failable<bool> consume(JSONParser* parse
     if (isNil(ilist))
         return true;
     JSString* jstr = JS_NewStringCopyZ(cx, c_str(car(ilist)));
-    if(!JS_ConsumeJSONText(cx, parser, JS_GetStringChars(jstr), (uint32)JS_GetStringLength(jstr)))
+    if(!JS_ConsumeJSONText(cx, parser, JS_GetStringCharsZ(cx, jstr), (uint32)JS_GetStringLength(jstr)))
         return mkfailure<bool>("JS_ConsumeJSONText failed");
     return consume(parser, cdr(ilist), cx);
 }
@@ -95,7 +95,10 @@ public:
 template<typename R> JSBool writeCallback(const jschar *buf, uint32 len, void *data) {
     WriteContext<R>& wcx = *(static_cast<WriteContext<R>*> (data));
     JSString* jstr = JS_NewUCStringCopyN(wcx.cx, buf, len);
-    wcx.accum = wcx.reduce(string(JS_GetStringBytes(jstr), JS_GetStringLength(jstr)), wcx.accum);
+    char* cstr = JS_EncodeString(wcx.cx, jstr);
+    const string str(cstr, JS_GetStringLength(jstr));
+    JS_free(wcx.cx, cstr);
+    wcx.accum = wcx.reduce(str, wcx.accum);
     return JS_TRUE;
 }
 

Modified: tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-properties.txt
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-properties.txt?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-properties.txt (original)
+++ tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-properties.txt Thu Aug 11 09:28:49 2011
@@ -1,13 +1,14 @@
 {
- "id":"1",
- "result":{
-  "host":"localhost",
-  "path":["components",
+ "id": "1",
+ "result": {
+  "host": "localhost",
+  "path": [
+   "components",
    "property-test"
   ],
-  "query":{
-   "id":"1",
-   "method":"print"
+  "query": {
+   "id": "1",
+   "method": "print"
   }
  }
 }
\ No newline at end of file

Modified: tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-request.txt
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-request.txt?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-request.txt (original)
+++ tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-request.txt Thu Aug 11 09:28:49 2011
@@ -1 +1,7 @@
-{"id":1,"method":"echo","params":["Hello"]}
+{
+ "id": 1,
+ "method": "echo",
+ "params": [
+  "Hello"
+ ]
+}

Modified: tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-result.txt
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-result.txt?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-result.txt (original)
+++ tuscany/sca-cpp/trunk/modules/server/htdocs/test/json-result.txt Thu Aug 11 09:28:49 2011
@@ -1,4 +1,4 @@
 {
- "id":1,
- "result":"Hello"
+ "id": 1,
+ "result": "Hello"
 }
\ No newline at end of file

Modified: tuscany/sca-cpp/trunk/samples/store-cpp/htdocs/test/items-request.txt
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/samples/store-cpp/htdocs/test/items-request.txt?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/samples/store-cpp/htdocs/test/items-request.txt (original)
+++ tuscany/sca-cpp/trunk/samples/store-cpp/htdocs/test/items-request.txt Thu Aug 11 09:28:49 2011
@@ -1 +1,6 @@
-{"id": 1, "method": "items", "params": []}
+{
+ "id": 1,
+ "method": "items",
+ "params": [
+ ]
+}

Modified: tuscany/sca-cpp/trunk/samples/store-cpp/htdocs/test/items-result.txt
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/samples/store-cpp/htdocs/test/items-result.txt?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/samples/store-cpp/htdocs/test/items-result.txt (original)
+++ tuscany/sca-cpp/trunk/samples/store-cpp/htdocs/test/items-result.txt Thu Aug 11 09:28:49 2011
@@ -1,22 +1,23 @@
 {
- "id":1,
- "result":[{
-   "name":"Apple",
-   "currencyCode":"USD",
-   "currencySymbol":"$",
-   "price":2.99
+ "id": 1,
+ "result": [
+  {
+   "name": "Apple",
+   "currencyCode": "USD",
+   "currencySymbol": "$",
+   "price": 2.99
   },
   {
-   "name":"Orange",
-   "currencyCode":"USD",
-   "currencySymbol":"$",
-   "price":3.55
+   "name": "Orange",
+   "currencyCode": "USD",
+   "currencySymbol": "$",
+   "price": 3.55
   },
   {
-   "name":"Pear",
-   "currencyCode":"USD",
-   "currencySymbol":"$",
-   "price":1.55
+   "name": "Pear",
+   "currencyCode": "USD",
+   "currencySymbol": "$",
+   "price": 1.55
   }
  ]
 }
\ No newline at end of file

Modified: tuscany/sca-cpp/trunk/samples/store-python/htdocs/test/items-result.txt
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/samples/store-python/htdocs/test/items-result.txt?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/samples/store-python/htdocs/test/items-result.txt (original)
+++ tuscany/sca-cpp/trunk/samples/store-python/htdocs/test/items-result.txt Thu Aug 11 09:28:49 2011
@@ -1,22 +1,23 @@
 {
- "id":1,
- "result":[{
-   "name":"Mango",
-   "currencyCode":"USD",
-   "currencySymbol":"$",
-   "price":2.99
+ "id": 1,
+ "result": [
+  {
+   "name": "Mango",
+   "currencyCode": "USD",
+   "currencySymbol": "$",
+   "price": 2.99
   },
   {
-   "name":"Passion",
-   "currencyCode":"USD",
-   "currencySymbol":"$",
-   "price":3.55
+   "name": "Passion",
+   "currencyCode": "USD",
+   "currencySymbol": "$",
+   "price": 3.55
   },
   {
-   "name":"Kiwi",
-   "currencyCode":"USD",
-   "currencySymbol":"$",
-   "price":1.55
+   "name": "Kiwi",
+   "currencyCode": "USD",
+   "currencySymbol": "$",
+   "price": 1.55
   }
  ]
 }
\ No newline at end of file

Modified: tuscany/sca-cpp/trunk/ubuntu/ubuntu-bin-all-image
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/ubuntu/ubuntu-bin-all-image?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/ubuntu/ubuntu-bin-all-image (original)
+++ tuscany/sca-cpp/trunk/ubuntu/ubuntu-bin-all-image Thu Aug 11 09:28:49 2011
@@ -48,11 +48,6 @@ sudo apt-get -y install libevent-dev
 if [ "$?" != "0" ]; then
     exit $?
 fi
-# Required by TraceMonkey
-sudo apt-get -y install autoconf2.13 zip
-if [ "$?" != "0" ]; then
-    exit $?
-fi
 # Required by Apache Qpid/C++
 sudo apt-get -y install libboost-dev libboost-program-options-dev libboost-filesystem-dev uuid-dev
 if [ "$?" != "0" ]; then

Modified: tuscany/sca-cpp/trunk/ubuntu/ubuntu-bin-image
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/ubuntu/ubuntu-bin-image?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/ubuntu/ubuntu-bin-image (original)
+++ tuscany/sca-cpp/trunk/ubuntu/ubuntu-bin-image Thu Aug 11 09:28:49 2011
@@ -48,11 +48,6 @@ sudo apt-get -y install libevent-dev
 if [ "$?" != "0" ]; then
     exit $?
 fi
-# Required by TraceMonkey
-sudo apt-get -y install autoconf2.13 zip
-if [ "$?" != "0" ]; then
-    exit $?
-fi
 # Required by HTML Tidy
 sudo apt-get -y install cvs
 if [ "$?" != "0" ]; then

Modified: tuscany/sca-cpp/trunk/ubuntu/ubuntu-install
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/ubuntu/ubuntu-install?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/ubuntu/ubuntu-install (original)
+++ tuscany/sca-cpp/trunk/ubuntu/ubuntu-install Thu Aug 11 09:28:49 2011
@@ -121,18 +121,14 @@ if [ "$?" != "0" ]; then
 fi
 cd $build
 
-# Build TraceMonkey
-sudo apt-get -y install autoconf2.13 zip
-if [ "$?" != "0" ]; then
-    exit $?
-fi
-wget -O tracemonkey-e4364736e170.tar.gz http://hg.mozilla.org/tracemonkey/archive/e4364736e170.tar.gz
-tar xzf tracemonkey-e4364736e170.tar.gz
-cd tracemonkey-e4364736e170/js/src
-autoconf2.13
-./configure --prefix=$build/tracemonkey-bin
+# Build SpiderMonkey
+wget http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz
+tar xzf js185-1.0.0.tar.gz
+cd js-1.8.5/js/src
+./configure --prefix=$build/js-1.8.5-bin
 make
 make install
+ln -s $build/js-1.8.5-bin/lib/libmozjs185.so $build/js-1.8.5-bin/lib/libmozjs.so
 if [ "$?" != "0" ]; then
     exit $?
 fi
@@ -289,7 +285,7 @@ cd $build
 git clone git://git.apache.org/tuscany-sca-cpp.git
 cd tuscany-sca-cpp
 ./bootstrap
-./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.5-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/tracemonkey-bin/include/js --with-js-lib=$build/tracemonkey-bin/lib --with-libcloud=$build/libcloud-0.4.2-bin --enable-threads --enable-python --with-libxml2=$build/libxml2-2.7.7-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin --enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.0-bin
+./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.5-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/js-1.8.5-bin/include/js --with-js-lib=$build/js-1.8.5-bin/lib --with-libcloud=$build/libcloud-0.4.2-bin --enable-threads --enable-python --with-libxml2=$build/libxml2-2.7.7-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin --enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.0-bin
 make
 make install
 if [ "$?" != "0" ]; then
@@ -298,8 +294,8 @@ fi
 cd $build
 
 # Create src archive
-tar czf tuscany-sca-cpp-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.5 memcached-1.4.5-bin memcached-1.4.5.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.0 modsecurity-apache-2.6.0-bin modsecurity-apache_2.6.0.tar.gz modsecurity-crs_2.2.0 modsecurity-crs_2.2.0.tar.gz nuvem scribe scribe-2.2-bin scribe-2.2.tar.gz thrift-0.2.0 thrift-0.2.0-bin thrift-0.2.0-incubating.tar.gz tidy tinycdb-0.77 tinycdb-0.77-bin tinycdb_0.77.tar.gz tracemonkey-bin tracemonkey-e4364736e170 tracemonkey-e4364736e170.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin
+tar czf tuscany-sca-cpp-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.5 memcached-1.4.5-bin memcached-1.4.5.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.0 modsecurity-apache-2.6.0-bin modsecurity-apache_2.6.0.tar.gz modsecurity-crs_2.2.0 modsecurity-crs_2.2.0.tar.gz nuvem scribe scribe-2.2-bin scribe-2.2.tar.gz thrift-0.2.0 thrift-0.2.0-bin thrift-0.2.0-incubating.tar.gz tidy tinycdb-0.77 tinycdb-0.77-bin tinycdb_0.77.tar.gz js-1.8.5-bin js-1.8.5 js185-1.0.0.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin
 
 # Create bin archive
-tar czf tuscany-sca-cpp-1.0.tar.gz apr-1.4.x-bin curl-7.19.5-bin expat-2.0.1-bin htmltidy-bin httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.5-bin mod-auth-openid-bin modsecurity-apache-2.6.0-bin nuvem/nuvem-parallel scribe-2.2-bin thrift-0.2.0-bin tinycdb-0.77-bin tracemonkey-bin tuscany-sca-cpp tuscany-sca-cpp-bin
+tar czf tuscany-sca-cpp-1.0.tar.gz apr-1.4.x-bin curl-7.19.5-bin expat-2.0.1-bin htmltidy-bin httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.5-bin mod-auth-openid-bin modsecurity-apache-2.6.0-bin nuvem/nuvem-parallel scribe-2.2-bin thrift-0.2.0-bin tinycdb-0.77-bin js-1.8.5-bin tuscany-sca-cpp tuscany-sca-cpp-bin
 

Modified: tuscany/sca-cpp/trunk/ubuntu/ubuntu-install-all
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/ubuntu/ubuntu-install-all?rev=1156555&r1=1156554&r2=1156555&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/ubuntu/ubuntu-install-all (original)
+++ tuscany/sca-cpp/trunk/ubuntu/ubuntu-install-all Thu Aug 11 09:28:49 2011
@@ -121,18 +121,14 @@ if [ "$?" != "0" ]; then
 fi
 cd $build
 
-# Build TraceMonkey
-sudo apt-get -y install autoconf2.13 zip
-if [ "$?" != "0" ]; then
-    exit $?
-fi
-wget -O tracemonkey-e4364736e170.tar.gz http://hg.mozilla.org/tracemonkey/archive/e4364736e170.tar.gz
-tar xzf tracemonkey-e4364736e170.tar.gz
-cd tracemonkey-e4364736e170/js/src
-autoconf2.13
-./configure --prefix=$build/tracemonkey-bin
+# Build SpiderMonkey
+wget http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz
+tar xzf js185-1.0.0.tar.gz
+cd js-1.8.5/js/src
+./configure --prefix=$build/js-1.8.5-bin
 make
 make install
+ln -s $build/js-1.8.5-bin/lib/libmozjs185.so $build/js-1.8.5-bin/lib/libmozjs.so
 if [ "$?" != "0" ]; then
     exit $?
 fi
@@ -359,7 +355,7 @@ cd $build
 git clone git://git.apache.org/tuscany-sca-cpp.git
 cd tuscany-sca-cpp
 ./bootstrap
-./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.5-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/tracemonkey-bin/include/js --with-js-lib=$build/tracemonkey-bin/lib --with-libcloud=$build/libcloud-0.4.2-bin --enable-threads --enable-python --enable-gae --with-gae=$build/google_appengine --enable-java --with-java=/usr/lib/jvm/java-6-openjdk --enable-webservice --with-libxml2=$build/libxml2-2.7.7-bin --with-axis2c=$build/axis2c-1.6.0-bin --enable-queue --with-qpidc=$build/qpidc-0.6-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --with-vysper=$build/vysper-0.6 --enable-sqldb --with-pgsql=$build/postgresql-9.0.3-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin --enable-oauth --with-liboauth=$build/libo
 auth-0.9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.0-bin
+./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.5-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/js-1.8.5-bin/include/js --with-js-lib=$build/js-1.8.5-bin/lib --with-libcloud=$build/libcloud-0.4.2-bin --enable-threads --enable-python --enable-gae --with-gae=$build/google_appengine --enable-java --with-java=/usr/lib/jvm/java-6-openjdk --enable-webservice --with-libxml2=$build/libxml2-2.7.7-bin --with-axis2c=$build/axis2c-1.6.0-bin --enable-queue --with-qpidc=$build/qpidc-0.6-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --with-vysper=$build/vysper-0.6 --enable-sqldb --with-pgsql=$build/postgresql-9.0.3-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin --enable-oauth --with-liboauth=$build/liboauth-0
 .9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.0-bin
 make
 make install
 if [ "$?" != "0" ]; then
@@ -368,8 +364,8 @@ fi
 cd $build
 
 # Create src archive
-tar czf tuscany-sca-cpp-all-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin axis2c-1.6.0-bin axis2c-src-1.6.0 axis2c-src-1.6.0.tar.gz curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz google_appengine google_appengine_1.4.0.zip htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.5 memcached-1.4.5-bin memcached-1.4.5.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.0 modsecurity-apache-2.6.0-bin modsecurity-apache_2.6.0.tar.gz modsecurity-crs_2.2.0 modsecurity-crs_2.2.0.tar.gz nuvem postgresql-9.0.3 postgresql-9.0.3-bin postgresql-9.0.3.tar.gz qpidc-0.6 qpidc-0.6-bin qpid-cpp-0.6.tar.gz scribe scribe-2.2-bin scribe-2.2.tar.gz thrift-0.2.0 
 thrift-0.2.0-bin thrift-0.2.0-incubating.tar.gz tidy tinycdb-0.77 tinycdb-0.77-bin tinycdb_0.77.tar.gz tracemonkey-bin tracemonkey-e4364736e170 tracemonkey-e4364736e170.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin vysper-0.6 vysper-0.6-bin.tar.gz
+tar czf tuscany-sca-cpp-all-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin axis2c-1.6.0-bin axis2c-src-1.6.0 axis2c-src-1.6.0.tar.gz curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz google_appengine google_appengine_1.4.0.zip htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.5 memcached-1.4.5-bin memcached-1.4.5.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.0 modsecurity-apache-2.6.0-bin modsecurity-apache_2.6.0.tar.gz modsecurity-crs_2.2.0 modsecurity-crs_2.2.0.tar.gz nuvem postgresql-9.0.3 postgresql-9.0.3-bin postgresql-9.0.3.tar.gz qpidc-0.6 qpidc-0.6-bin qpid-cpp-0.6.tar.gz scribe scribe-2.2-bin scribe-2.2.tar.gz thrift-0.2.0 
 thrift-0.2.0-bin thrift-0.2.0-incubating.tar.gz tidy tinycdb-0.77 tinycdb-0.77-bin tinycdb_0.77.tar.gz js-1.8.5-bin js-1.8.5 js185-1.0.0.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin vysper-0.6 vysper-0.6-bin.tar.gz
 
 # Create bin archive
-tar czf tuscany-sca-cpp-all-1.0.tar.gz apr-1.4.x-bin axis2c-1.6.0-bin curl-7.19.5-bin expat-2.0.1-bin google_appengine htmltidy-bin httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.5-bin mod-auth-openid-bin modsecurity-apache-2.6.0-bin nuvem/nuvem-parallel postgresql-9.0.3-bin qpidc-0.6-bin scribe-2.2-bin thrift-0.2.0-bin tinycdb-0.77-bin tracemonkey-bin tuscany-sca-cpp tuscany-sca-cpp-bin vysper-0.6
+tar czf tuscany-sca-cpp-all-1.0.tar.gz apr-1.4.x-bin axis2c-1.6.0-bin curl-7.19.5-bin expat-2.0.1-bin google_appengine htmltidy-bin httpd-2.3.10-bin libcloud-0.4.2-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.5-bin mod-auth-openid-bin modsecurity-apache-2.6.0-bin nuvem/nuvem-parallel postgresql-9.0.3-bin qpidc-0.6-bin scribe-2.2-bin thrift-0.2.0-bin tinycdb-0.77-bin js-1.8.5-bin tuscany-sca-cpp tuscany-sca-cpp-bin vysper-0.6