summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2011-04-04 08:45:59 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2011-04-04 08:45:59 +0000
commit37104d47a3ce5234ff708588b68e8d9cbd13131d (patch)
treee6390b074588bcdd7a21b1b4ee112f516d3fcbdc
parentba94229ea5cf77d9d9048dcb1e5dc6910f94dc8c (diff)
Add sample database and search components, sample apps and corresponding test cases, and minor refactoring of component categories.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1088507 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--sca-cpp/trunk/components/filedb/filedb.hpp12
-rw-r--r--sca-cpp/trunk/modules/edit/apps/me360/app.composite36
-rw-r--r--sca-cpp/trunk/modules/edit/apps/me360/app.html4
-rw-r--r--sca-cpp/trunk/modules/edit/apps/nearme/app.composite519
-rw-r--r--sca-cpp/trunk/modules/edit/apps/nearme/app.html45
-rw-r--r--sca-cpp/trunk/modules/edit/apps/test/app.composite8
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testdb/app.composite99
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testevents/app.composite111
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testsearch/app.composite193
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testsocial/app.composite64
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testtext/app.composite22
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testvalues/app.composite24
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testwidgets/app.composite102
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testwidgets/app.html3
-rw-r--r--sca-cpp/trunk/modules/edit/apps/testwidgets2/app.composite66
-rw-r--r--sca-cpp/trunk/modules/edit/dashboards/jane@localhost1
-rw-r--r--sca-cpp/trunk/modules/edit/dashboards/jane@sca-store.com1
-rw-r--r--sca-cpp/trunk/modules/edit/dashboards/joe@localhost2
-rw-r--r--sca-cpp/trunk/modules/edit/dashboards/joe@sca-store.com2
-rw-r--r--sca-cpp/trunk/modules/edit/edit.composite20
-rw-r--r--sca-cpp/trunk/modules/edit/palettes/database/palette.composite84
-rw-r--r--sca-cpp/trunk/modules/edit/palettes/event/palette.composite8
-rw-r--r--sca-cpp/trunk/modules/edit/palettes/http/palette.composite8
-rw-r--r--sca-cpp/trunk/modules/edit/palettes/list/palette.composite10
-rw-r--r--sca-cpp/trunk/modules/edit/palettes/search/palette.composite29
-rw-r--r--sca-cpp/trunk/modules/edit/palettes/value/palette.composite14
-rw-r--r--sca-cpp/trunk/modules/edit/store/tests2
27 files changed, 1174 insertions, 315 deletions
diff --git a/sca-cpp/trunk/components/filedb/filedb.hpp b/sca-cpp/trunk/components/filedb/filedb.hpp
index b5690d0f1b..d368522669 100644
--- a/sca-cpp/trunk/components/filedb/filedb.hpp
+++ b/sca-cpp/trunk/components/filedb/filedb.hpp
@@ -165,7 +165,9 @@ const failable<bool> post(const value& key, const value& val, FileDB& db) {
if (isList(key))
mkdirs(key, db.name);
- ofstream os(filename(key, db.name));
+ const string fn = filename(key, db.name);
+ debug(fn, "filedb::post::filename");
+ ofstream os(fn);
if (os.fail())
return mkfailure<bool>("Couldn't post file database entry.");
const failable<bool> r = write(val, os, db.format, db);
@@ -184,7 +186,9 @@ const failable<bool> put(const value& key, const value& val, FileDB& db) {
if (isList(key))
mkdirs(key, db.name);
- ofstream os(filename(key, db.name));
+ const string fn = filename(key, db.name);
+ debug(fn, "filedb::put::filename");
+ ofstream os(fn);
if (os.fail())
return mkfailure<bool>("Couldn't put file database entry.");
const failable<bool> r = write(val, os, db.format, db);
@@ -218,7 +222,9 @@ const failable<bool> del(const value& key, FileDB& db) {
debug(key, "filedb::delete::key");
debug(db.name, "filedb::delete::dbname");
- const int rc = unlink(c_str(filename(key, db.name)));
+ const string fn = filename(key, db.name);
+ debug(fn, "filedb::del::filename");
+ const int rc = unlink(c_str(fn));
if (rc == -1)
return mkfailure<bool>("Couldn't delete file database entry.");
diff --git a/sca-cpp/trunk/modules/edit/apps/me360/app.composite b/sca-cpp/trunk/modules/edit/apps/me360/app.composite
index 21f61aa97b..6188773f22 100644
--- a/sca-cpp/trunk/modules/edit/apps/me360/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/me360/app.composite
@@ -28,7 +28,7 @@
<service name="get"/>
<reference target="format" name="url"/>
</component>
- <component t:x="635" t:y="232" name="list" t:title="make list" t:color="yellow1">
+ <component t:x="635" t:y="232" name="list" t:title="list" t:color="yellow1">
<t:implementation.python script="nuvem/list_.py"/>
<service name="list"/>
<reference target="text4" name="item" t:clonable="true"/>
@@ -46,7 +46,7 @@
<service name="page" t:visible="false">
<t:binding.http uri="page"/>
</service>
- <reference target="assoc4" name="content"/>
+ <reference target="pair4" name="content"/>
</component>
<component t:x="393" t:y="86" name="name" t:title="name" t:color="orange1">
<t:implementation.python script="nuvem/name.py"/>
@@ -84,35 +84,35 @@
<service name="name"/>
<property>buzzprofile</property>
</component>
- <component t:x="392" t:y="44" name="assoc" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="392" t:y="44" name="pair" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name" name="name"/>
<reference target="fbprofile" name="value"/>
</component>
- <component t:x="315" t:y="44" name="list2" t:title="make list" t:color="yellow1">
+ <component t:x="315" t:y="44" name="list2" t:title="list" t:color="yellow1">
<t:implementation.python script="nuvem/list_.py"/>
<service name="list"/>
- <reference target="assoc" name="item" t:clonable="true"/>
- <reference target="assoc2" name="item" t:clonable="true"/>
+ <reference target="pair" name="item" t:clonable="true"/>
+ <reference target="pair2" name="item" t:clonable="true"/>
<reference name="item" t:clonable="true"/>
</component>
- <component t:x="256" t:y="16" name="assoc4" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="256" t:y="16" name="pair4" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name4" name="name"/>
<reference target="list2" name="value"/>
</component>
- <component t:x="392" t:y="116" name="assoc2" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="392" t:y="116" name="pair2" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name2" name="name"/>
<reference target="twprofile" name="value"/>
</component>
- <service name="assoc3" promote="assoc3"/>
- <component t:x="173" t:y="275" name="assoc3" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <service name="pair3" promote="pair3"/>
+ <component t:x="173" t:y="275" name="pair3" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name3" name="name"/>
<reference target="get" name="value"/>
</component>
diff --git a/sca-cpp/trunk/modules/edit/apps/me360/app.html b/sca-cpp/trunk/modules/edit/apps/me360/app.html
index 148e0a43c9..ebc98e5072 100644
--- a/sca-cpp/trunk/modules/edit/apps/me360/app.html
+++ b/sca-cpp/trunk/modules/edit/apps/me360/app.html
@@ -52,7 +52,7 @@
<SPAN id="section" class="section" style="position: absolute; top: 253px; left: 1px; ">
<SPAN>Twitter</SPAN>
</SPAN>
- <SPAN id="h1" class="h1" style="position: absolute; top: 6px; left: 0px; ">
- <H1>My profiles</H1>
+ <SPAN id="h2" class="h2" style="position: absolute; top: 11px; left: 0px; ">
+ <H2>Me360</H2>
</SPAN>
</DIV>
diff --git a/sca-cpp/trunk/modules/edit/apps/nearme/app.composite b/sca-cpp/trunk/modules/edit/apps/nearme/app.composite
index 777c11b885..74af00ee41 100644
--- a/sca-cpp/trunk/modules/edit/apps/nearme/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/nearme/app.composite
@@ -18,105 +18,468 @@
* under the License.
-->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" xmlns:t="http://tuscany.apache.org/xmlns/sca/1.1" targetNamespace="http://nearme" name="nearme">
- <component t:x="234" t:y="25" name="fbfriend" t:color="yellow1">
- <t:implementation.python script="item.py"/>
- <service name="item"/>
- <property name="property"/>
- </component>
- <component t:x="233" t:y="97" name="fbfriends" t:title="facebook friends" t:color="blue1">
- <t:implementation.python script="fbfriends.py"/>
- <service name="fbfriends"/>
- <reference target="find" name="id"/>
- </component>
- <component t:x="352" t:y="96" name="find" t:title="find by name" t:color="yellow1">
- <t:implementation.python script="find.py"/>
- <service name="find"/>
+ <service name="location" promote="location"/>
+ <component t:x="1" t:y="138" name="location" t:title="on location change" t:color="green1">
+ <t:implementation.python script="nuvem/location.py"/>
+ <service name="location" t:visible="false">
+ <t:binding.http uri="location"/>
+ </service>
+ <reference target="put" name="content"/>
+ </component>
+ <component t:x="827" t:y="143" name="filedb2" t:title="File database" t:color="green1">
+ <t:implementation.python script="nuvem/filedb.py"/>
+ <service name="filedb"/>
+ <reference name="db" target="AppDataFileCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
+ </component>
+ <component t:x="761" t:y="257" name="filedb3" t:title="File database" t:color="green1">
+ <t:implementation.python script="nuvem/filedb.py"/>
+ <service name="filedb"/>
+ <reference name="db" target="AppDataFileCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
+ </component>
+ <component t:x="779" t:y="386" name="get3" t:title="get" t:color="green1">
+ <t:implementation.python script="nuvem/get.py"/>
+ <service name="get"/>
+ <reference target="filedb4" name="collection"/>
+ <reference target="param4" name="id"/>
+ </component>
+ <component t:x="811" t:y="384" name="filedb4" t:title="File database" t:color="green1">
+ <t:implementation.python script="nuvem/filedb.py"/>
+ <service name="filedb"/>
+ <reference name="db" target="AppDataFileCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
+ </component>
+ <component t:x="777" t:y="543" name="get4" t:title="get" t:color="green1">
+ <t:implementation.python script="nuvem/get.py"/>
+ <service name="get"/>
+ <reference target="filedb5" name="collection"/>
+ <reference target="param5" name="id"/>
+ </component>
+ <component t:x="814" t:y="554" name="filedb5" t:title="File database" t:color="green1">
+ <t:implementation.python script="nuvem/filedb.py"/>
+ <service name="filedb"/>
+ <reference name="db" target="AppDataFileCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
+ </component>
+ <component t:x="773" t:y="193" name="get2" t:title="get" t:color="green1">
+ <t:implementation.python script="nuvem/get.py"/>
+ <service name="get"/>
+ <reference target="filedb3" name="collection"/>
+ <reference target="param3" name="id"/>
+ </component>
+ <component t:x="720" t:y="585" name="pair5" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name9" name="name"/>
+ <reference target="get4" name="value"/>
+ </component>
+ <component t:x="717" t:y="394" name="pair" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name" name="name"/>
- <reference target="params" name="assoc"/>
+ <reference target="get3" name="value"/>
</component>
- <component t:x="453" t:y="97" name="name" t:title="name" t:color="orange1">
- <t:implementation.python script="name.py"/>
+ <component t:x="721" t:y="201" name="pair4" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name8" name="name"/>
+ <reference target="get2" name="value"/>
+ </component>
+ <component t:x="314" t:y="147" name="name2" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
<service name="name"/>
- <property>fbid</property>
+ <property>longitude</property>
</component>
- <component t:x="453" t:y="138" name="params" t:title="?params" t:color="green1">
- <t:implementation.python script="params.py"/>
- <service name="params"/>
- <property>fbid=1234567</property>
+ <component t:x="311" t:y="222" name="name3" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>latitude</property>
</component>
- <component t:x="274" t:y="97" name="mile" t:title="number" t:color="orange1">
- <t:implementation.python script="number.py"/>
- <service name="number"/>
- <property>1</property>
+ <component t:x="865" t:y="408" name="name7" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>friend2</property>
</component>
- <component t:x="484" t:y="68" name="name2" t:title="name" t:color="orange1">
- <t:implementation.python script="name.py"/>
+ <component t:x="866" t:y="527" name="name10" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
<service name="name"/>
- <property>id</property>
+ <property>friend3</property>
</component>
- <component t:x="226" t:y="29" name="lesser" t:title="lt" t:color="magenta1">
- <t:implementation.python script="lesser.py"/>
- <service name="lesser"/>
- <reference target="distance" name="value1"/>
- <reference target="mile" name="value2"/>
+ <component t:x="654" t:y="72" name="get" t:title="get" t:color="green1">
+ <t:implementation.python script="nuvem/get.py"/>
+ <service name="get"/>
+ <reference target="filedb2" name="collection"/>
+ <reference target="user2" name="id"/>
</component>
- <component t:x="378" t:y="25" name="text2" t:title="text" t:color="orange1">
- <t:implementation.python script="text.py"/>
- <service name="text"/>
- <property>jane</property>
+ <component t:x="170" t:y="126" name="list" t:title="list" t:color="yellow1">
+ <t:implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="text7" name="item" t:clonable="true"/>
+ <reference target="param2" name="item" t:clonable="true"/>
+ <reference target="param" name="item" t:clonable="true"/>
+ <reference target="now" name="item" t:clonable="true"/>
+ <reference name="item" t:clonable="true"/>
</component>
- <component t:x="227" t:y="240" name="nothing" t:title="nothing" t:color="orange1">
- <t:implementation.python script="text.py"/>
- <service name="nothing"/>
+ <service name="page" promote="page"/>
+ <component t:x="0" t:y="45" name="page" t:title="when page opens" t:color="green1">
+ <t:implementation.python script="nuvem/page.py"/>
+ <service name="page" t:visible="false">
+ <t:binding.http uri="page"/>
+ </service>
+ <reference target="pair13" name="content"/>
</component>
- <component t:x="132" t:y="31" name="if" t:title="if" t:color="magenta1">
- <t:implementation.python script="if_.py"/>
- <service name="if"/>
- <reference target="lesser" name="condition"/>
- <reference target="assoc" name="then"/>
- <reference target="nothing" name="else"/>
+ <component t:x="127" t:y="415" name="pair13" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name13" name="name"/>
+ <reference target="user3" name="value"/>
</component>
- <component t:x="600" t:y="113" name="text" t:title="text" t:color="orange1">
- <t:implementation.python script="text.py"/>
- <service name="text"/>
- <property>joe</property>
+ <component t:x="169" t:y="416" name="name13" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>me</property>
+ </component>
+ <component t:x="169" t:y="144" name="filedb" t:title="File database" t:color="green1">
+ <t:implementation.python script="nuvem/filedb.py"/>
+ <service name="filedb"/>
+ <reference name="db" target="AppDataFileCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
</component>
- <service name="opened" promote="opened"/>
- <component t:x="205" t:y="84" name="opened" t:title="when page opened" t:color="green1">
- <t:implementation.python script="opened.py"/>
- <service name="opened" t:visible="false"/>
- <reference target="if" name="content"/>
+ <component t:x="162" t:y="77" name="user3" t:title="user" t:color="green1">
+ <t:implementation.python script="nuvem/user.py"/>
+ <service name="user"/>
+ <property name="user" t:visible="false"/>
</component>
- <component t:x="175" t:y="198" name="assoc" t:title="assoc" t:color="orange1">
- <t:implementation.python script="assoc.py"/>
- <service name="assoc"/>
+ <component t:x="214" t:y="259" name="param2" t:title="?param" t:color="green1">
+ <t:implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
<reference target="name3" name="name"/>
- <reference target="text3" name="value"/>
+ <property name="query" t:visible="false"/>
+ </component>
+ <component t:x="215" t:y="296" name="param" t:title="?param" t:color="green1">
+ <t:implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <reference target="name2" name="name"/>
+ <property name="query" t:visible="false"/>
</component>
- <component t:x="331" t:y="383" name="text3" t:title="text" t:color="orange1">
- <t:implementation.python script="text.py"/>
+ <component t:x="217" t:y="231" name="text7" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
<service name="text"/>
- <property>jane</property>
+ <property>green</property>
+ </component>
+ <component t:x="216" t:y="329" name="now" t:title="now" t:color="orange1">
+ <t:implementation.python script="nuvem/now.py"/>
+ <service name="now"/>
+ </component>
+ <component t:x="169" t:y="168" name="user" t:title="user" t:color="green1">
+ <t:implementation.python script="nuvem/user.py"/>
+ <service name="user"/>
+ <property name="user" t:visible="false"/>
</component>
- <component t:x="218" t:y="195" name="name3" t:title="name" t:color="orange1">
- <t:implementation.python script="name.py"/>
+ <component t:x="796" t:y="196" name="user2" t:title="user" t:color="green1">
+ <t:implementation.python script="nuvem/user.py"/>
+ <service name="user"/>
+ <property name="user" t:visible="false"/>
+ </component>
+ <component t:x="796" t:y="298" name="param3" t:title="?param" t:color="green1">
+ <t:implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <reference target="name4" name="name"/>
+ <property name="query" t:visible="false"/>
+ </component>
+ <component t:x="794" t:y="409" name="param4" t:title="?param" t:color="green1">
+ <t:implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <reference target="name7" name="name"/>
+ <property name="query" t:visible="false"/>
+ </component>
+ <component t:x="797" t:y="516" name="param5" t:title="?param" t:color="green1">
+ <t:implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <reference target="name10" name="name"/>
+ <property name="query" t:visible="false"/>
+ </component>
+ <component t:x="130" t:y="138" name="put" t:title="put" t:color="green1">
+ <t:implementation.python script="nuvem/put.py"/>
+ <service name="put"/>
+ <reference target="filedb" name="collection"/>
+ <reference target="user" name="id"/>
+ <reference target="list" name="value"/>
+ </component>
+ <service name="every" promote="every"/>
+ <component t:x="493" t:y="13" name="every" t:title="every n millisec" t:color="green1">
+ <t:implementation.python script="nuvem/every.py"/>
+ <service name="every" t:visible="false">
+ <t:binding.http uri="every"/>
+ </service>
+ <reference target="number" name="n"/>
+ <reference target="list2" name="content"/>
+ </component>
+ <service name="map" promote="map"/>
+ <component t:x="3" t:y="389" name="map" t:title="on {compname} widget" t:color="green1">
+ <t:implementation.python script="nuvem/widget.py"/>
+ <service name="widget" t:visible="false"/>
+ <reference target="googlemap" name="content"/>
+ </component>
+ <component t:x="705" t:y="137" name="pair6" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name11" name="name"/>
+ <reference target="get" name="value"/>
+ </component>
+ <component t:x="866" t:y="334" name="name4" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>friend1</property>
+ </component>
+ <component t:x="677" t:y="178" name="list5" t:title="list" t:color="yellow1">
+ <t:implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="pair6" name="item" t:clonable="true"/>
+ <reference target="pair4" name="item" t:clonable="true"/>
+ <reference target="pair" name="item" t:clonable="true"/>
+ <reference target="pair5" name="item" t:clonable="true"/>
+ <reference name="item" t:clonable="true"/>
+ </component>
+ <component t:x="619" t:y="103" name="params" t:title="?params" t:color="green1">
+ <t:implementation.python script="nuvem/params.py"/>
+ <service name="params"/>
+ <property name="query" t:visible="false"/>
+ </component>
+ <component t:x="561" t:y="55" name="name5" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
<service name="name"/>
- <property>near</property>
+ <property>mapimg</property>
+ </component>
+ <component t:x="561" t:y="83" name="format" t:title="format" t:color="magenta1">
+ <t:implementation.python script="nuvem/format_.py"/>
+ <service name="format"/>
+ <reference target="text" name="pattern"/>
+ <reference target="params" name="values"/>
+ </component>
+ <component t:x="792" t:y="284" name="filedb6" t:title="File database" t:color="green1">
+ <t:implementation.python script="nuvem/filedb.py"/>
+ <service name="filedb"/>
+ <reference name="db" target="AppDataFileCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
+ </component>
+ <component t:x="653" t:y="212" name="user4" t:title="user" t:color="green1">
+ <t:implementation.python script="nuvem/user.py"/>
+ <service name="user"/>
+ <property name="user" t:visible="false"/>
+ </component>
+ <component t:x="648" t:y="185" name="filedb7" t:title="File database" t:color="green1">
+ <t:implementation.python script="nuvem/filedb.py"/>
+ <service name="filedb"/>
+ <reference name="db" target="AppDataFileCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
+ </component>
+ <component t:x="651" t:y="313" name="param6" t:title="?param" t:color="green1">
+ <t:implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <reference target="name15" name="name"/>
+ <property name="query" t:visible="false"/>
+ </component>
+ <component t:x="897" t:y="309" name="param7" t:title="?param" t:color="green1">
+ <t:implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <reference target="name18" name="name"/>
+ <property name="query" t:visible="false"/>
+ </component>
+ <component t:x="898" t:y="284" name="filedb8" t:title="File database" t:color="green1">
+ <t:implementation.python script="nuvem/filedb.py"/>
+ <service name="filedb"/>
+ <reference name="db" target="AppDataFileCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
+ </component>
+ <component t:x="675" t:y="394" name="filedb9" t:title="File database" t:color="green1">
+ <t:implementation.python script="nuvem/filedb.py"/>
+ <service name="filedb"/>
+ <reference name="db" target="AppDataFileCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
+ </component>
+ <component t:x="676" t:y="419" name="param8" t:title="?param" t:color="green1">
+ <t:implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <reference target="name16" name="name"/>
+ <property name="query" t:visible="false"/>
</component>
- <component t:x="216" t:y="23" name="distance" t:title="distance" t:color="red1">
- <t:implementation.python script="distance.py"/>
- <service name="distance"/>
- <reference target="location" name="location1"/>
- <reference target="location2" name="location2"/>
+ <component t:x="569" t:y="366" name="pair8" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name14" name="name"/>
+ <reference target="first3" name="value"/>
</component>
- <component t:x="473" t:y="84" name="location" t:title="location" t:color="red1">
- <t:implementation.python script="location.py"/>
- <service name="location"/>
- <reference target="text2" name="user"/>
+ <component t:x="574" t:y="415" name="pair9" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name17" name="name"/>
+ <reference target="first4" name="value"/>
</component>
- <component t:x="473" t:y="120" name="location2" t:title="location" t:color="red1">
- <t:implementation.python script="location.py"/>
- <service name="location"/>
- <reference target="text" name="user"/>
+ <component t:x="729" t:y="311" name="name15" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>friend1</property>
+ </component>
+ <component t:x="730" t:y="417" name="name16" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>friend2</property>
+ </component>
+ <component t:x="730" t:y="531" name="name18" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>friend3</property>
+ </component>
+ <component t:x="604" t:y="41" name="list2" t:title="list" t:color="yellow1">
+ <t:implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="pair2" name="item" t:clonable="true"/>
+ <reference target="pair7" name="item" t:clonable="true"/>
+ <reference target="pair3" name="item" t:clonable="true"/>
+ <reference target="pair8" name="item" t:clonable="true"/>
+ <reference target="pair9" name="item" t:clonable="true"/>
+ <reference name="item" t:clonable="true"/>
+ </component>
+ <component t:x="652" t:y="141" name="pair7" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name12" name="name"/>
+ <reference target="first" name="value"/>
+ </component>
+ <component t:x="652" t:y="241" name="pair3" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name6" name="name"/>
+ <reference target="first2" name="value"/>
+ </component>
+ <component t:x="692" t:y="141" name="name12" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>myloc</property>
+ </component>
+ <component t:x="692" t:y="241" name="name6" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>friend1loc</property>
+ </component>
+ <component t:x="692" t:y="349" name="name14" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>friend2loc</property>
+ </component>
+ <component t:x="692" t:y="457" name="name17" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>friend3loc</property>
+ </component>
+ <component t:x="272" t:y="489" name="name8" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>1</property>
+ </component>
+ <component t:x="272" t:y="597" name="name" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>2</property>
+ </component>
+ <component t:x="272" t:y="705" name="name9" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>3</property>
+ </component>
+ <component t:x="272" t:y="389" name="name11" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>X</property>
+ </component>
+ <component t:x="66" t:y="389" name="googlemap" t:title="google map" t:color="red1">
+ <t:implementation.python script="nuvem/gmap.py"/>
+ <service name="googlemap"/>
+ <reference target="list5" name="locations"/>
+ <reference name="s" t:visible="false">
+ <t:binding.http uri="http://maps.google.com/maps/api/staticmap"/>
+ </reference>
+ </component>
+ <component t:x="763" t:y="168" name="reverse" t:title="reverse" t:color="yellow1">
+ <t:implementation.python script="nuvem/reverse.py"/>
+ <service name="reverse"/>
+ <reference target="get6" name="list"/>
+ </component>
+ <component t:x="965" t:y="221" name="get6" t:title="get" t:color="green1">
+ <t:implementation.python script="nuvem/get.py"/>
+ <service name="get"/>
+ <reference target="filedb7" name="collection"/>
+ <reference target="user4" name="id"/>
+ </component>
+ <component t:x="765" t:y="279" name="reverse2" t:title="reverse" t:color="yellow1">
+ <t:implementation.python script="nuvem/reverse.py"/>
+ <service name="reverse"/>
+ <reference target="get5" name="list"/>
+ </component>
+ <component t:x="912" t:y="228" name="get5" t:title="get" t:color="green1">
+ <t:implementation.python script="nuvem/get.py"/>
+ <service name="get"/>
+ <reference target="filedb6" name="collection"/>
+ <reference target="param6" name="id"/>
+ </component>
+ <component t:x="914" t:y="403" name="get7" t:title="get" t:color="green1">
+ <t:implementation.python script="nuvem/get.py"/>
+ <service name="get"/>
+ <reference target="filedb8" name="collection"/>
+ <reference target="param7" name="id"/>
+ </component>
+ <component t:x="767" t:y="526" name="reverse3" t:title="reverse" t:color="yellow1">
+ <t:implementation.python script="nuvem/reverse.py"/>
+ <service name="reverse"/>
+ <reference target="get7" name="list"/>
+ </component>
+ <component t:x="693" t:y="165" name="first" t:title="first item" t:color="yellow1">
+ <t:implementation.python script="nuvem/first.py"/>
+ <service name="first"/>
+ <reference target="reverse" name="list"/>
+ </component>
+ <component t:x="697" t:y="283" name="first2" t:title="first item" t:color="yellow1">
+ <t:implementation.python script="nuvem/first.py"/>
+ <service name="first"/>
+ <reference target="reverse2" name="list"/>
+ </component>
+ <component t:x="698" t:y="407" name="first3" t:title="first item" t:color="yellow1">
+ <t:implementation.python script="nuvem/first.py"/>
+ <service name="first"/>
+ <reference target="reverse4" name="list"/>
+ </component>
+ <component t:x="694" t:y="526" name="first4" t:title="first item" t:color="yellow1">
+ <t:implementation.python script="nuvem/first.py"/>
+ <service name="first"/>
+ <reference target="reverse3" name="list"/>
+ </component>
+ <component t:x="768" t:y="410" name="reverse4" t:title="reverse" t:color="yellow1">
+ <t:implementation.python script="nuvem/reverse.py"/>
+ <service name="reverse"/>
+ <reference target="get8" name="list"/>
+ </component>
+ <component t:x="832" t:y="412" name="get8" t:title="get" t:color="green1">
+ <t:implementation.python script="nuvem/get.py"/>
+ <service name="get"/>
+ <reference target="filedb9" name="collection"/>
+ <reference target="param8" name="id"/>
+ </component>
+ <component t:x="749" t:y="69" name="text" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>/components/map?friend1={friend1}&amp;friend2={friend2}&amp;friend3={friend3}</property>
+ </component>
+ <component t:x="652" t:y="41" name="pair2" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name5" name="name"/>
+ <reference target="format" name="value"/>
+ </component>
+ <component t:x="604" t:y="13" name="number" t:title="number" t:color="orange1">
+ <t:implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>5000</property>
</component>
</composite>
diff --git a/sca-cpp/trunk/modules/edit/apps/nearme/app.html b/sca-cpp/trunk/modules/edit/apps/nearme/app.html
index 5c7c7219bb..32dd393d69 100644
--- a/sca-cpp/trunk/modules/edit/apps/nearme/app.html
+++ b/sca-cpp/trunk/modules/edit/apps/nearme/app.html
@@ -17,4 +17,47 @@
* specific language governing permissions and limitations
* under the License.
-->
-<DIV id="page"/>
+<DIV id="page">
+ <SPAN id="mapimg" class="img" style="position: absolute; top: 268px; left: 2px; ">
+ <IMG src="https://nearme.sca-store.com:8453/components/map"/>
+ </SPAN>
+ <SPAN id="h2" class="h2" style="position: absolute; top: 0px; left: 0px; ">
+ <H2>Nearme</H2>
+ </SPAN>
+ <SPAN id="friend3" class="entry" style="position: absolute; top: 224px; left: 1px; ">
+ <INPUT type="text" value="field" size="20"/>
+ </SPAN>
+ <SPAN id="friend3loc" class="text" style="position: absolute; top: 228px; left: 174px; ">
+ <SPAN>last seen...</SPAN>
+ </SPAN>
+ <SPAN id="text" class="text" style="position: absolute; top: 205px; left: 4px; ">
+ <SPAN>Friend 3:</SPAN>
+ </SPAN>
+ <SPAN id="friend2" class="entry" style="position: absolute; top: 173px; left: 2px; ">
+ <INPUT type="text" value="field" size="20"/>
+ </SPAN>
+ <SPAN id="text" class="text" style="position: absolute; top: 152px; left: 4px; ">
+ <SPAN>Friend 2:</SPAN>
+ </SPAN>
+ <SPAN id="friend2loc" class="text" style="position: absolute; top: 178px; left: 173px; ">
+ <SPAN>last seen...</SPAN>
+ </SPAN>
+ <SPAN id="friend1" class="entry" style="position: absolute; top: 122px; left: 2px; ">
+ <INPUT type="text" value="field" size="20"/>
+ </SPAN>
+ <SPAN id="text" class="text" style="position: absolute; top: 99px; left: 5px; ">
+ <SPAN>Friend 1:</SPAN>
+ </SPAN>
+ <SPAN id="friend1loc" class="text" style="position: absolute; top: 126px; left: 173px; ">
+ <SPAN>last seen...</SPAN>
+ </SPAN>
+ <SPAN id="text" class="text" style="position: absolute; top: 71px; left: 4px; ">
+ <SPAN>Last seen:</SPAN>
+ </SPAN>
+ <SPAN id="myloc" class="text" style="position: absolute; top: 69px; left: 173px; ">
+ <SPAN>updating...</SPAN>
+ </SPAN>
+ <SPAN id="me" class="section" style="position: absolute; top: 33px; left: 1px; ">
+ <SPAN>me</SPAN>
+ </SPAN>
+</DIV>
diff --git a/sca-cpp/trunk/modules/edit/apps/test/app.composite b/sca-cpp/trunk/modules/edit/apps/test/app.composite
index 29969de5c1..7b5df3c630 100644
--- a/sca-cpp/trunk/modules/edit/apps/test/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/test/app.composite
@@ -27,10 +27,10 @@
<reference name="n"/>
<reference name="content"/>
</component>
- <service name="assoc" promote="assoc"/>
- <component t:x="207" t:y="48" name="assoc" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <service name="pair" promote="pair"/>
+ <component t:x="207" t:y="48" name="pair" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference name="name"/>
<reference name="value"/>
</component>
diff --git a/sca-cpp/trunk/modules/edit/apps/testdb/app.composite b/sca-cpp/trunk/modules/edit/apps/testdb/app.composite
new file mode 100644
index 0000000000..48530ae93f
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/testdb/app.composite
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" xmlns:t="http://tuscany.apache.org/xmlns/sca/1.1" targetNamespace="http://testdb" name="testdb">
+ <component t:x="405" t:y="143" name="text3" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>testkey</property>
+ </component>
+ <component t:x="177" t:y="36" name="text" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>testkey</property>
+ </component>
+ <component t:x="102" t:y="35" name="list" t:title="list" t:color="yellow1">
+ <t:implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="text" name="item" t:clonable="true"/>
+ <reference name="item" t:clonable="true"/>
+ </component>
+ <component t:x="103" t:y="91" name="text2" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>testvalue</property>
+ </component>
+ <component t:x="105" t:y="8" name="filedb" t:title="File database" t:color="green1">
+ <t:implementation.python script="nuvem/filedb.py"/>
+ <service name="filedb"/>
+ <reference name="db" target="AppDataFileCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
+ </component>
+ <service name="put" promote="put"/>
+ <component t:x="59" t:y="63" name="put" t:title="put" t:color="green1">
+ <t:implementation.python script="nuvem/put.py"/>
+ <service name="put"/>
+ <reference target="filedb" name="collection"/>
+ <reference target="list" name="id"/>
+ <reference target="text2" name="value"/>
+ </component>
+ <component t:x="311" t:y="186" name="list2" t:title="list" t:color="yellow1">
+ <t:implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="text3" name="item" t:clonable="true"/>
+ <reference name="item" t:clonable="true"/>
+ </component>
+ <service name="get" promote="get"/>
+ <component t:x="300" t:y="61" name="get" t:title="get" t:color="green1">
+ <t:implementation.python script="nuvem/get.py"/>
+ <service name="get"/>
+ <reference target="filedb3" name="collection"/>
+ <reference target="list2" name="id"/>
+ </component>
+ <component t:x="311" t:y="155" name="filedb3" t:title="File database" t:color="green1">
+ <t:implementation.python script="nuvem/filedb.py"/>
+ <service name="filedb"/>
+ <reference name="db" target="AppDataFileCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
+ </component>
+ <service name="delete" promote="delete"/>
+ <component t:x="58" t:y="221" name="delete" t:title="delete" t:color="green1">
+ <t:implementation.python script="nuvem/delete.py"/>
+ <service name="delete"/>
+ <reference target="filedb2" name="collection"/>
+ <reference target="list3" name="id"/>
+ </component>
+ <component t:x="113" t:y="223" name="filedb2" t:title="File database" t:color="green1">
+ <t:implementation.python script="nuvem/filedb.py"/>
+ <service name="filedb"/>
+ <reference name="db" target="AppDataFileCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
+ </component>
+ <component t:x="111" t:y="243" name="list3" t:title="list" t:color="yellow1">
+ <t:implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="text4" name="item" t:clonable="true"/>
+ <reference name="item" t:clonable="true"/>
+ </component>
+ <component t:x="187" t:y="249" name="text4" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>testkey</property>
+ </component>
+</composite>
diff --git a/sca-cpp/trunk/modules/edit/apps/testevents/app.composite b/sca-cpp/trunk/modules/edit/apps/testevents/app.composite
index bc7ac2a4be..bbf0a52851 100644
--- a/sca-cpp/trunk/modules/edit/apps/testevents/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/testevents/app.composite
@@ -24,17 +24,17 @@
<service name="page" t:visible="false">
<t:binding.http uri="page"/>
</service>
- <reference target="assoc" name="content"/>
+ <reference target="pair" name="content"/>
</component>
<service name="testbutton1" promote="testbutton1"/>
- <component t:x="42" t:y="127" name="testbutton1" t:title="on {compname} click" t:color="green1">
- <t:implementation.python script="nuvem/button.py"/>
- <service name="button" t:visible="false"/>
- <reference target="assoc5" name="content"/>
- </component>
- <component t:x="167" t:y="12" name="assoc" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="42" t:y="127" name="testbutton1" t:title="on {compname} widget" t:color="green1">
+ <t:implementation.python script="nuvem/widget.py"/>
+ <service name="widget" t:visible="false"/>
+ <reference target="pair5" name="content"/>
+ </component>
+ <component t:x="167" t:y="12" name="pair" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name" name="name"/>
<reference target="text" name="value"/>
</component>
@@ -54,14 +54,14 @@
<property>status</property>
</component>
<service name="testbutton2" promote="testbutton2"/>
- <component t:x="409" t:y="9" name="testbutton2" t:title="on {compname} click" t:color="green1">
- <t:implementation.python script="nuvem/button.py"/>
- <service name="button" t:visible="false"/>
- <reference target="assoc3" name="content"/>
- </component>
- <component t:x="591" t:y="130" name="assoc3" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="409" t:y="9" name="testbutton2" t:title="on {compname} widget" t:color="green1">
+ <t:implementation.python script="nuvem/widget.py"/>
+ <service name="widget" t:visible="false"/>
+ <reference target="pair3" name="content"/>
+ </component>
+ <component t:x="591" t:y="130" name="pair3" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name3" name="name"/>
<reference target="text3" name="value"/>
</component>
@@ -70,17 +70,12 @@
<service name="name"/>
<property>status</property>
</component>
- <component t:x="269" t:y="132" name="assoc2" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="269" t:y="132" name="pair2" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name2" name="name"/>
<reference target="text2" name="value"/>
</component>
- <component t:x="364" t:y="221" name="name4" t:title="name" t:color="orange1">
- <t:implementation.python script="nuvem/name.py"/>
- <service name="name"/>
- <property>testfield</property>
- </component>
<component t:x="319" t:y="204" name="name5" t:title="name" t:color="orange1">
<t:implementation.python script="nuvem/name.py"/>
<service name="name"/>
@@ -91,30 +86,24 @@
<service name="name"/>
<property>data</property>
</component>
- <component t:x="245" t:y="167" name="list" t:title="make list" t:color="yellow1">
+ <component t:x="245" t:y="167" name="list" t:title="list" t:color="yellow1">
<t:implementation.python script="nuvem/list_.py"/>
<service name="list"/>
- <reference target="assoc2" name="item" t:clonable="true"/>
- <reference target="assoc4" name="item" t:clonable="true"/>
+ <reference target="pair2" name="item" t:clonable="true"/>
+ <reference target="pair4" name="item" t:clonable="true"/>
<reference name="item" t:clonable="true"/>
</component>
- <component t:x="190" t:y="127" name="assoc5" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="190" t:y="127" name="pair5" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name6" name="name"/>
<reference target="list" name="value"/>
</component>
- <component t:x="869" t:y="373" name="find" t:title="find by name" t:color="yellow1">
- <t:implementation.python script="nuvem/find.py"/>
- <service name="find"/>
- <reference target="name4" name="name"/>
- <reference target="params" name="assoc"/>
- </component>
- <component t:x="321" t:y="256" name="assoc4" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="321" t:y="256" name="pair4" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name5" name="name"/>
- <reference target="find" name="value"/>
+ <reference target="param" name="value"/>
</component>
<component t:x="373" t:y="207" name="text2" t:title="text" t:color="orange1">
<t:implementation.python script="nuvem/text.py"/>
@@ -132,16 +121,11 @@
<service name="location" t:visible="false">
<t:binding.http uri="location"/>
</service>
- <reference target="assoc6" name="content"/>
- </component>
- <component t:x="454" t:y="335" name="params" t:title="?params" t:color="green1">
- <t:implementation.python script="nuvem/params.py"/>
- <service name="params"/>
- <property name="query"/>
+ <reference target="pair6" name="content"/>
</component>
- <component t:x="756" t:y="287" name="assoc6" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="756" t:y="287" name="pair6" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name7" name="name"/>
<reference target="params2" name="value"/>
</component>
@@ -155,9 +139,9 @@
<service name="params"/>
<property name="query" t:visible="false"/>
</component>
- <component t:x="783" t:y="255" name="assoc8" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="783" t:y="255" name="pair8" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name9" name="name"/>
<reference target="text4" name="value"/>
</component>
@@ -171,11 +155,11 @@
<service name="number"/>
<property>3000</property>
</component>
- <component t:x="675" t:y="146" name="assoc7" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="675" t:y="146" name="pair7" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name8" name="name"/>
- <reference target="assoc8" name="value"/>
+ <reference target="pair8" name="value"/>
</component>
<service name="every" promote="every"/>
<component t:x="601" t:y="103" name="every" t:title="every n milliseconds" t:color="green1">
@@ -184,7 +168,7 @@
<t:binding.http uri="every"/>
</service>
<reference target="number" name="n"/>
- <reference target="assoc7" name="content"/>
+ <reference target="pair7" name="content"/>
</component>
<component t:x="733" t:y="164" name="name8" t:title="name" t:color="orange1">
<t:implementation.python script="nuvem/name.py"/>
@@ -196,4 +180,15 @@
<service name="name"/>
<property>status</property>
</component>
+ <component t:x="360" t:y="250" name="name4" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>testfield</property>
+ </component>
+ <component t:x="301" t:y="247" name="param" t:title="?param" t:color="green1">
+ <t:implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <reference target="name4" name="name"/>
+ <property name="query" t:visible="false"/>
+ </component>
</composite>
diff --git a/sca-cpp/trunk/modules/edit/apps/testsearch/app.composite b/sca-cpp/trunk/modules/edit/apps/testsearch/app.composite
new file mode 100644
index 0000000000..3170a1a726
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/apps/testsearch/app.composite
@@ -0,0 +1,193 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912" xmlns:t="http://tuscany.apache.org/xmlns/sca/1.1" targetNamespace="http://testsearch" name="testsearch">
+ <service name="googlesearch" promote="googlesearch"/>
+ <component t:x="72" t:y="31" name="googlesearch" t:title="google search" t:color="red1">
+ <t:implementation.python script="nuvem/gsearch.py"/>
+ <service name="googlesearch"/>
+ <reference target="text" name="query"/>
+ <reference name="s" t:visible="false">
+ <t:binding.http uri="http://ajax.googleapis.com/ajax/services/search/web"/>
+ </reference>
+ </component>
+ <component t:x="173" t:y="31" name="text" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>apache+tuscany</property>
+ </component>
+ <service name="weather" promote="weather"/>
+ <component t:x="76" t:y="95" name="weather" t:title="weather" t:color="red1">
+ <t:implementation.python script="nuvem/gweather.py"/>
+ <service name="weather"/>
+ <reference target="number" name="zip"/>
+ <reference name="ws" t:visible="false">
+ <t:binding.http uri="http://www.google.com/ig/api"/>
+ </reference>
+ </component>
+ <component t:x="141" t:y="95" name="number" t:title="number" t:color="orange1">
+ <t:implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>94070</property>
+ </component>
+ <service name="weather2" promote="weather2"/>
+ <component t:x="76" t:y="162" name="weather2" t:title="weather" t:color="red1">
+ <t:implementation.python script="nuvem/gweather.py"/>
+ <service name="weather"/>
+ <reference target="text2" name="zip"/>
+ <reference name="ws" t:visible="false">
+ <t:binding.http uri="http://www.google.com/ig/api"/>
+ </reference>
+ </component>
+ <component t:x="141" t:y="162" name="text2" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>94070</property>
+ </component>
+ <service name="get" promote="get"/>
+ <component t:x="77" t:y="234" name="get" t:title="http get" t:color="green1">
+ <implementation.cpp path="lib/http" library="libhttpget"/>
+ <service name="get"/>
+ <reference target="text3" name="url"/>
+ </component>
+ <component t:x="141" t:y="234" name="text3" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>http://maps.google.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&amp;zoom=14&amp;size=512x512&amp;maptype=roadmap%20&amp;markers=color:blue|label:S|40.702147,-74.015794&amp;markers=color:green|label:G|40.711614,-74.012318%20&amp;markers=color:red|color:red|label:C|40.718217,-73.998284&amp;sensor=false</property>
+ </component>
+ <service name="googlemap" promote="googlemap"/>
+ <component t:x="77" t:y="307" name="googlemap" t:title="google map" t:color="red1">
+ <t:implementation.python script="nuvem/gmap.py"/>
+ <service name="googlemap"/>
+ <reference target="list2" name="locations"/>
+ <reference name="s" t:visible="false">
+ <t:binding.http uri="http://maps.google.com/maps/api/staticmap"/>
+ </reference>
+ </component>
+ <service name="googlemap2" promote="googlemap2"/>
+ <component t:x="79" t:y="530" name="googlemap2" t:title="google map" t:color="red1">
+ <t:implementation.python script="nuvem/gmap.py"/>
+ <service name="googlemap"/>
+ <reference target="list3" name="locations"/>
+ <reference name="s" t:visible="false">
+ <t:binding.http uri="http://maps.google.com/maps/api/staticmap"/>
+ </reference>
+ </component>
+ <component t:x="218" t:y="529" name="pair2" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name2" name="name"/>
+ <reference target="pair4" name="value"/>
+ </component>
+ <component t:x="256" t:y="530" name="name2" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>A</property>
+ </component>
+ <component t:x="219" t:y="596" name="pair3" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name3" name="name"/>
+ <reference target="pair5" name="value"/>
+ </component>
+ <component t:x="254" t:y="594" name="name3" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>B</property>
+ </component>
+ <component t:x="300" t:y="391" name="number3" t:title="number" t:color="orange1">
+ <t:implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>-122.260526</property>
+ </component>
+ <component t:x="260" t:y="553" name="pair4" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="text7" name="name"/>
+ <reference target="text5" name="value"/>
+ </component>
+ <component t:x="294" t:y="558" name="text7" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>yellow</property>
+ </component>
+ <component t:x="254" t:y="658" name="pair5" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="text8" name="name"/>
+ <reference target="text6" name="value"/>
+ </component>
+ <component t:x="303" t:y="659" name="text8" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>green</property>
+ </component>
+ <component t:x="294" t:y="586" name="text5" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>San+Francisco,+CA</property>
+ </component>
+ <component t:x="294" t:y="686" name="text6" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>San+Carlos,+CA</property>
+ </component>
+ <component t:x="166" t:y="530" name="list3" t:title="list" t:color="yellow1">
+ <t:implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="pair2" name="item" t:clonable="true"/>
+ <reference target="pair3" name="item" t:clonable="true"/>
+ <reference name="item" t:clonable="true"/>
+ </component>
+ <component t:x="252" t:y="307" name="name" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>A</property>
+ </component>
+ <component t:x="300" t:y="335" name="text4" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>green</property>
+ </component>
+ <component t:x="212" t:y="307" name="pair" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name" name="name"/>
+ <reference target="list" name="value"/>
+ </component>
+ <component t:x="252" t:y="335" name="list" t:title="list" t:color="yellow1">
+ <t:implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="text4" name="item" t:clonable="true"/>
+ <reference target="number2" name="item" t:clonable="true"/>
+ <reference target="number3" name="item" t:clonable="true"/>
+ <reference name="item" t:clonable="true"/>
+ </component>
+ <component t:x="300" t:y="363" name="number2" t:title="number" t:color="orange1">
+ <t:implementation.python script="nuvem/number.py"/>
+ <service name="number"/>
+ <property>37.507156</property>
+ </component>
+ <component t:x="164" t:y="307" name="list2" t:title="list" t:color="yellow1">
+ <t:implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="pair" name="item" t:clonable="true"/>
+ <reference name="item" t:clonable="true"/>
+ </component>
+</composite>
diff --git a/sca-cpp/trunk/modules/edit/apps/testsocial/app.composite b/sca-cpp/trunk/modules/edit/apps/testsocial/app.composite
index e0d765b510..4da0708d11 100644
--- a/sca-cpp/trunk/modules/edit/apps/testsocial/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/testsocial/app.composite
@@ -26,16 +26,9 @@
</service>
<reference target="me360" name="content"/>
</component>
- <component t:x="184" t:y="58" name="list3" t:title="make list" t:color="yellow1">
- <t:implementation.python script="nuvem/list_.py"/>
- <service name="list"/>
- <reference target="assoc" name="item" t:clonable="true"/>
- <reference target="assoc2" name="item" t:clonable="true"/>
- <reference name="item" t:clonable="true"/>
- </component>
- <component t:x="262" t:y="152" name="assoc2" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="262" t:y="152" name="pair2" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name2" name="name"/>
<reference target="twprofile" name="value"/>
</component>
@@ -44,15 +37,9 @@
<service name="name"/>
<property>twprofile</property>
</component>
- <component t:x="256" t:y="52" name="assoc" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
- <reference target="name" name="name"/>
- <reference target="fbprofile" name="value"/>
- </component>
- <component t:x="128" t:y="12" name="me360" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="128" t:y="12" name="me360" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name3" name="name"/>
<reference target="list3" name="value"/>
</component>
@@ -88,24 +75,11 @@
<t:binding.http uri="http://api.twitter.com/1/statuses/followers.json"/>
</reference>
</component>
- <component t:x="473" t:y="71" name="fbprofile" t:title="facebook profile" t:color="blue1">
- <t:implementation.python script="nuvem/fbprofile.py"/>
- <service name="fbprofile"/>
- <reference target="text" name="id"/>
- <reference name="fb" t:visible="false">
- <t:binding.http uri="https://graph.facebook.com"/>
- </reference>
- </component>
<component t:x="337" t:y="15" name="name3" t:title="name" t:color="orange1">
<t:implementation.python script="nuvem/name.py"/>
<service name="name"/>
<property>me360</property>
</component>
- <component t:x="473" t:y="43" name="name" t:title="name" t:color="orange1">
- <t:implementation.python script="nuvem/name.py"/>
- <service name="name"/>
- <property>fbprofile</property>
- </component>
<component t:x="589" t:y="71" name="text" t:title="text" t:color="orange1">
<t:implementation.python script="nuvem/text.py"/>
<service name="text"/>
@@ -134,4 +108,30 @@
<service name="text"/>
<property>jsdelfino</property>
</component>
+ <component t:x="284" t:y="32" name="pair" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name" name="name"/>
+ <reference target="fbprofile" name="value"/>
+ </component>
+ <component t:x="236" t:y="32" name="list3" t:title="list" t:color="yellow1">
+ <t:implementation.python script="nuvem/list_.py"/>
+ <service name="list"/>
+ <reference target="pair" name="item" t:clonable="true"/>
+ <reference target="pair2" name="item" t:clonable="true"/>
+ <reference name="item" t:clonable="true"/>
+ </component>
+ <component t:x="324" t:y="32" name="name" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>fbprofile</property>
+ </component>
+ <component t:x="324" t:y="60" name="fbprofile" t:title="facebook profile" t:color="blue1">
+ <t:implementation.python script="nuvem/fbprofile.py"/>
+ <service name="fbprofile"/>
+ <reference target="text" name="id"/>
+ <reference name="fb" t:visible="false">
+ <t:binding.http uri="https://graph.facebook.com"/>
+ </reference>
+ </component>
</composite>
diff --git a/sca-cpp/trunk/modules/edit/apps/testtext/app.composite b/sca-cpp/trunk/modules/edit/apps/testtext/app.composite
index 34db4b61bb..9a9b41a939 100644
--- a/sca-cpp/trunk/modules/edit/apps/testtext/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/testtext/app.composite
@@ -109,7 +109,7 @@
<service name="text"/>
<property>abcxdefxghi</property>
</component>
- <component t:x="583" t:y="60" name="list2" t:title="make list" t:color="yellow1">
+ <component t:x="583" t:y="60" name="list2" t:title="list" t:color="yellow1">
<t:implementation.python script="nuvem/list_.py"/>
<service name="list"/>
<reference target="text7" name="item" t:clonable="true"/>
@@ -145,7 +145,7 @@
<service name="text"/>
<property>The {0} brown {1}</property>
</component>
- <component t:x="369" t:y="238" name="list" t:title="make list" t:color="yellow1">
+ <component t:x="369" t:y="238" name="list" t:title="list" t:color="yellow1">
<t:implementation.python script="nuvem/list_.py"/>
<service name="list"/>
<reference target="text15" name="item" t:clonable="true"/>
@@ -167,22 +167,22 @@
<service name="text"/>
<property>The {a} brown {b}</property>
</component>
- <component t:x="603" t:y="239" name="list3" t:title="make list" t:color="yellow1">
+ <component t:x="603" t:y="239" name="list3" t:title="list" t:color="yellow1">
<t:implementation.python script="nuvem/list_.py"/>
<service name="list"/>
- <reference target="assoc" name="item" t:clonable="true"/>
- <reference target="assoc2" name="item" t:clonable="true"/>
+ <reference target="pair" name="item" t:clonable="true"/>
+ <reference target="pair2" name="item" t:clonable="true"/>
<reference name="item" t:clonable="true"/>
</component>
- <component t:x="675" t:y="243" name="assoc" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="675" t:y="243" name="pair" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name" name="name"/>
<reference target="text17" name="value"/>
</component>
- <component t:x="673" t:y="287" name="assoc2" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="673" t:y="287" name="pair2" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name2" name="name"/>
<reference target="text18" name="value"/>
</component>
diff --git a/sca-cpp/trunk/modules/edit/apps/testvalues/app.composite b/sca-cpp/trunk/modules/edit/apps/testvalues/app.composite
index c371fb68f1..953363a750 100644
--- a/sca-cpp/trunk/modules/edit/apps/testvalues/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/testvalues/app.composite
@@ -39,7 +39,7 @@
<t:implementation.python script="nuvem/find.py"/>
<service name="find"/>
<reference target="name3" name="name"/>
- <reference target="list2" name="assoc"/>
+ <reference target="list2" name="pair"/>
</component>
<component t:x="283" t:y="351" name="name3" t:title="name" t:color="orange1">
<t:implementation.python script="nuvem/name.py"/>
@@ -187,7 +187,7 @@
<service name="valueof"/>
<property>nb</property>
</component>
- <component t:x="167" t:y="13" name="list7" t:title="make list" t:color="yellow1">
+ <component t:x="167" t:y="13" name="list7" t:title="list" t:color="yellow1">
<t:implementation.python script="nuvem/list_.py"/>
<service name="list"/>
<reference target="number2" name="item" t:clonable="true"/>
@@ -209,7 +209,7 @@
<t:implementation.python script="nuvem/nothing.py"/>
<service name="nothing"/>
</component>
- <component t:x="488" t:y="11" name="list" t:title="make list" t:color="yellow1">
+ <component t:x="488" t:y="11" name="list" t:title="list" t:color="yellow1">
<t:implementation.python script="nuvem/list_.py"/>
<service name="list"/>
<reference target="number" name="item" t:clonable="true"/>
@@ -226,23 +226,23 @@
<service name="number"/>
<property>34</property>
</component>
- <component t:x="902" t:y="56" name="assoc2" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="902" t:y="56" name="pair2" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name4" name="name"/>
<reference target="text3" name="value"/>
</component>
- <component t:x="896" t:y="137" name="assoc3" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="896" t:y="137" name="pair3" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name5" name="name"/>
<reference target="text4" name="value"/>
</component>
- <component t:x="823" t:y="49" name="list2" t:title="make list" t:color="yellow1">
+ <component t:x="823" t:y="49" name="list2" t:title="list" t:color="yellow1">
<t:implementation.python script="nuvem/list_.py"/>
<service name="list"/>
- <reference target="assoc2" name="item" t:clonable="true"/>
- <reference target="assoc3" name="item" t:clonable="true"/>
+ <reference target="pair2" name="item" t:clonable="true"/>
+ <reference target="pair3" name="item" t:clonable="true"/>
<reference name="item" t:clonable="true"/>
</component>
<component t:x="252" t:y="352" name="reverse" t:title="reverse" t:color="yellow1">
diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets/app.composite b/sca-cpp/trunk/modules/edit/apps/testwidgets/app.composite
index a7b83b7577..479cfa67e4 100644
--- a/sca-cpp/trunk/modules/edit/apps/testwidgets/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/testwidgets/app.composite
@@ -24,11 +24,11 @@
<service name="page" t:visible="false">
<t:binding.http uri="page"/>
</service>
- <reference target="assoc8" name="content"/>
+ <reference target="pair8" name="content"/>
</component>
- <component t:x="516" t:y="121" name="assoc" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="516" t:y="121" name="pair" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name" name="name"/>
<reference target="text" name="value"/>
</component>
@@ -82,27 +82,27 @@
<service name="text"/>
<property>http://tuscany.apache.org/images/TuscanyLogo.jpg</property>
</component>
- <component t:x="405" t:y="268" name="assoc3" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="405" t:y="268" name="pair3" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name3" name="name"/>
<reference target="text3" name="value"/>
</component>
- <component t:x="407" t:y="355" name="assoc5" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="407" t:y="355" name="pair5" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name7" name="name"/>
<reference target="text5" name="value"/>
</component>
- <component t:x="409" t:y="178" name="assoc6" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="409" t:y="178" name="pair6" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name2" name="name"/>
<reference target="text2" name="value"/>
</component>
- <component t:x="407" t:y="445" name="assoc2" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="407" t:y="445" name="pair2" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name4" name="name"/>
<reference target="text4" name="value"/>
</component>
@@ -126,15 +126,15 @@
<service name="name"/>
<property>test</property>
</component>
- <component t:x="460" t:y="660" name="assoc4" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="460" t:y="660" name="pair4" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name5" name="name"/>
<reference target="text6" name="value"/>
</component>
- <component t:x="460" t:y="569" name="assoc9" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="460" t:y="569" name="pair9" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name9" name="name"/>
<reference target="text8" name="value"/>
</component>
@@ -148,29 +148,30 @@
<service name="text"/>
<property>test text</property>
</component>
- <component t:x="458" t:y="128" name="assoc7" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="458" t:y="128" name="pair7" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name6" name="name"/>
<reference target="text7" name="value"/>
</component>
- <component t:x="330" t:y="0" name="assoc8" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="330" t:y="0" name="pair8" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name8" name="name"/>
<reference target="list" name="value"/>
</component>
- <component t:x="385" t:y="40" name="list" t:title="make list" t:color="yellow1">
+ <component t:x="385" t:y="40" name="list" t:title="list" t:color="yellow1">
<t:implementation.python script="nuvem/list_.py"/>
<service name="list"/>
- <reference target="assoc" name="item" t:clonable="true"/>
- <reference target="assoc7" name="item" t:clonable="true"/>
- <reference target="assoc6" name="item" t:clonable="true"/>
- <reference target="assoc3" name="item" t:clonable="true"/>
- <reference target="assoc5" name="item" t:clonable="true"/>
- <reference target="assoc2" name="item" t:clonable="true"/>
- <reference target="assoc9" name="item" t:clonable="true"/>
- <reference target="assoc4" name="item" t:clonable="true"/>
+ <reference target="pair" name="item" t:clonable="true"/>
+ <reference target="pair7" name="item" t:clonable="true"/>
+ <reference target="pair6" name="item" t:clonable="true"/>
+ <reference target="pair3" name="item" t:clonable="true"/>
+ <reference target="pair5" name="item" t:clonable="true"/>
+ <reference target="pair2" name="item" t:clonable="true"/>
+ <reference target="pair9" name="item" t:clonable="true"/>
+ <reference target="pair4" name="item" t:clonable="true"/>
+ <reference target="pair10" name="item" t:clonable="true"/>
<reference name="item" t:clonable="true"/>
</component>
<component t:x="513" t:y="520" name="text4" t:title="text" t:color="orange1">
@@ -178,4 +179,31 @@
<service name="text"/>
<property>http://tuscany.apache.org</property>
</component>
+ <component t:x="515" t:y="541" name="name10" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>testpath1</property>
+ </component>
+ <component t:x="512" t:y="568" name="pair11" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name11" name="name"/>
+ <reference target="text9" name="value"/>
+ </component>
+ <component t:x="571" t:y="567" name="name11" t:title="name" t:color="orange1">
+ <t:implementation.python script="nuvem/name.py"/>
+ <service name="name"/>
+ <property>testpath2</property>
+ </component>
+ <component t:x="567" t:y="596" name="text9" t:title="text" t:color="orange1">
+ <t:implementation.python script="nuvem/text.py"/>
+ <service name="text"/>
+ <property>test path</property>
+ </component>
+ <component t:x="457" t:y="540" name="pair10" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference target="name10" name="name"/>
+ <reference target="pair11" name="value"/>
+ </component>
</composite>
diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets/app.html b/sca-cpp/trunk/modules/edit/apps/testwidgets/app.html
index 7db0f3e36f..ee20dcef38 100644
--- a/sca-cpp/trunk/modules/edit/apps/testwidgets/app.html
+++ b/sca-cpp/trunk/modules/edit/apps/testwidgets/app.html
@@ -55,4 +55,7 @@
<SPAN id="testimg" class="img" style="position: absolute; top: 12px; left: 252px; ">
<IMG src="/public/img.png"/>
</SPAN>
+ <SPAN id="testpath1.testpath2" class="text" style="position: absolute; top: 282px; left: 17px; ">
+ <SPAN>text</SPAN>
+ </SPAN>
</DIV>
diff --git a/sca-cpp/trunk/modules/edit/apps/testwidgets2/app.composite b/sca-cpp/trunk/modules/edit/apps/testwidgets2/app.composite
index 6ad9b104eb..133b214b92 100644
--- a/sca-cpp/trunk/modules/edit/apps/testwidgets2/app.composite
+++ b/sca-cpp/trunk/modules/edit/apps/testwidgets2/app.composite
@@ -26,7 +26,7 @@
<component t:x="74" t:y="10" name="name" t:title="name" t:color="orange1">
<t:implementation.python script="nuvem/name.py"/>
<service name="name"/>
- <property>testtable1</property>
+ <property>testlist1</property>
</component>
<service name="page" promote="page"/>
<component t:x="109" t:y="0" name="page" t:title="when page opens" t:color="green1">
@@ -36,27 +36,27 @@
</service>
<reference target="list" name="content"/>
</component>
- <component t:x="305" t:y="202" name="assoc" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="305" t:y="202" name="pair" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name" name="name"/>
<reference target="text" name="value"/>
</component>
<component t:x="355" t:y="129" name="name2" t:title="name" t:color="orange1">
<t:implementation.python script="nuvem/name.py"/>
<service name="name"/>
- <property>testtable2</property>
+ <property>testlist2</property>
</component>
- <component t:x="355" t:y="177" name="list2" t:title="make list" t:color="yellow1">
+ <component t:x="355" t:y="177" name="list2" t:title="list" t:color="yellow1">
<t:implementation.python script="nuvem/list_.py"/>
<service name="list"/>
- <reference target="assoc3" name="item" t:clonable="true"/>
- <reference target="assoc4" name="item" t:clonable="true"/>
+ <reference target="pair3" name="item" t:clonable="true"/>
+ <reference target="pair4" name="item" t:clonable="true"/>
<reference name="item" t:clonable="true"/>
</component>
- <component t:x="435" t:y="165" name="assoc3" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="435" t:y="165" name="pair3" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name3" name="name"/>
<reference target="number" name="value"/>
</component>
@@ -70,9 +70,9 @@
<service name="number"/>
<property>1</property>
</component>
- <component t:x="435" t:y="256" name="assoc4" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="435" t:y="256" name="pair4" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name4" name="name"/>
<reference target="number2" name="value"/>
</component>
@@ -81,9 +81,9 @@
<service name="number"/>
<property>2</property>
</component>
- <component t:x="303" t:y="126" name="assoc2" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="303" t:y="126" name="pair2" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name2" name="name"/>
<reference target="list2" name="value"/>
</component>
@@ -92,19 +92,19 @@
<service name="name"/>
<property>b</property>
</component>
- <component t:x="230" t:y="38" name="list" t:title="make list" t:color="yellow1">
+ <component t:x="230" t:y="38" name="list" t:title="list" t:color="yellow1">
<t:implementation.python script="nuvem/list_.py"/>
<service name="list"/>
- <reference target="assoc" name="item" t:clonable="true"/>
- <reference target="assoc2" name="item" t:clonable="true"/>
- <reference target="assoc5" name="item" t:clonable="true"/>
- <reference target="assoc6" name="item" t:clonable="true"/>
- <reference target="assoc7" name="item" t:clonable="true"/>
+ <reference target="pair" name="item" t:clonable="true"/>
+ <reference target="pair2" name="item" t:clonable="true"/>
+ <reference target="pair5" name="item" t:clonable="true"/>
+ <reference target="pair6" name="item" t:clonable="true"/>
+ <reference target="pair7" name="item" t:clonable="true"/>
<reference name="item" t:clonable="true"/>
</component>
- <component t:x="312" t:y="294" name="assoc5" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="312" t:y="294" name="pair5" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name5" name="name"/>
<reference target="text2" name="value"/>
</component>
@@ -118,9 +118,9 @@
<service name="text"/>
<property>&lt;b&gt;test bold text&lt;/b&gt;</property>
</component>
- <component t:x="315" t:y="362" name="assoc6" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="315" t:y="362" name="pair6" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name6" name="name"/>
<reference target="list3" name="value"/>
</component>
@@ -134,7 +134,7 @@
<service name="text"/>
<property>http://www.apache.org/</property>
</component>
- <component t:x="369" t:y="387" name="list3" t:title="make list" t:color="yellow1">
+ <component t:x="369" t:y="387" name="list3" t:title="list" t:color="yellow1">
<t:implementation.python script="nuvem/list_.py"/>
<service name="list"/>
<reference target="text3" name="item" t:clonable="true"/>
@@ -146,9 +146,9 @@
<service name="text"/>
<property>Apache</property>
</component>
- <component t:x="319" t:y="478" name="assoc7" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
+ <component t:x="319" t:y="478" name="pair7" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
<reference target="name7" name="name"/>
<reference target="text5" name="value"/>
</component>
diff --git a/sca-cpp/trunk/modules/edit/dashboards/jane@localhost b/sca-cpp/trunk/modules/edit/dashboards/jane@localhost
new file mode 100644
index 0000000000..f78bc0b38e
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/dashboards/jane@localhost
@@ -0,0 +1 @@
+((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 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 "An app that shows my social profiles") (id "me360")) (entry (title "An app that shows friends near me") (id "nearme")) (entry (title "An app that returns somebody's Buzz profile") (id "buzzprofile")))
diff --git a/sca-cpp/trunk/modules/edit/dashboards/jane@sca-store.com b/sca-cpp/trunk/modules/edit/dashboards/jane@sca-store.com
new file mode 100644
index 0000000000..f78bc0b38e
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/dashboards/jane@sca-store.com
@@ -0,0 +1 @@
+((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 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 "An app that shows my social profiles") (id "me360")) (entry (title "An app that shows friends near me") (id "nearme")) (entry (title "An app that returns somebody's Buzz profile") (id "buzzprofile")))
diff --git a/sca-cpp/trunk/modules/edit/dashboards/joe@localhost b/sca-cpp/trunk/modules/edit/dashboards/joe@localhost
index 81ceb8f53d..f78bc0b38e 100644
--- a/sca-cpp/trunk/modules/edit/dashboards/joe@localhost
+++ b/sca-cpp/trunk/modules/edit/dashboards/joe@localhost
@@ -1 +1 @@
-((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 widgets") (id "testwidgets")) (entry (title "Test more widgets") (id "testwidgets2")) (entry (title "Test event components") (id "testevents")) (entry (title "An app that shows my social profiles") (id "me360")) (entry (title "An app that shows friends near me") (id "nearme")) (entry (title "An app that returns somebody's Buzz profile") (id "buzzprofile")))
+((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 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 "An app that shows my social profiles") (id "me360")) (entry (title "An app that shows friends near me") (id "nearme")) (entry (title "An app that returns somebody's Buzz profile") (id "buzzprofile")))
diff --git a/sca-cpp/trunk/modules/edit/dashboards/joe@sca-store.com b/sca-cpp/trunk/modules/edit/dashboards/joe@sca-store.com
index 81ceb8f53d..f78bc0b38e 100644
--- a/sca-cpp/trunk/modules/edit/dashboards/joe@sca-store.com
+++ b/sca-cpp/trunk/modules/edit/dashboards/joe@sca-store.com
@@ -1 +1 @@
-((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 widgets") (id "testwidgets")) (entry (title "Test more widgets") (id "testwidgets2")) (entry (title "Test event components") (id "testevents")) (entry (title "An app that shows my social profiles") (id "me360")) (entry (title "An app that shows friends near me") (id "nearme")) (entry (title "An app that returns somebody's Buzz profile") (id "buzzprofile")))
+((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 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 "An app that shows my social profiles") (id "me360")) (entry (title "An app that shows friends near me") (id "nearme")) (entry (title "An app that returns somebody's Buzz profile") (id "buzzprofile")))
diff --git a/sca-cpp/trunk/modules/edit/edit.composite b/sca-cpp/trunk/modules/edit/edit.composite
index 0243542035..a7230296c2 100644
--- a/sca-cpp/trunk/modules/edit/edit.composite
+++ b/sca-cpp/trunk/modules/edit/edit.composite
@@ -172,6 +172,26 @@
</service>
</component>
+ <component name="AppDataFileCache">
+ <implementation.cpp path="../../components/cache" library="libdatacache"/>
+ <service name="AppDataFileCache">
+ <t:binding.http uri="appdatafilecache"/>
+ </service>
+ <reference name="l1reader" target="Memcache"/>
+ <reference name="l1writer" target="Memcache"/>
+ <reference name="l2reader" target="AppDataFileDB"/>
+ <reference name="l2writer" target="AppDataFileDB"/>
+ </component>
+
+ <component name="AppDataFileDB">
+ <implementation.cpp path="../../components/filedb" library="libfiledb"/>
+ <property name="dbname">tmp/appdata/filedb</property>
+ <property name="format">scheme</property>
+ <service name="AppDataFileDB">
+ <t:binding.http uri="appdatafiledb"/>
+ </service>
+ </component>
+
<component name="Memcache">
<implementation.cpp path="../../components/cache" library="libmemcache"/>
<service name="Memcache">
diff --git a/sca-cpp/trunk/modules/edit/palettes/database/palette.composite b/sca-cpp/trunk/modules/edit/palettes/database/palette.composite
new file mode 100644
index 0000000000..2b37912ed4
--- /dev/null
+++ b/sca-cpp/trunk/modules/edit/palettes/database/palette.composite
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * 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.
+-->
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+ xmlns:t="http://tuscany.apache.org/xmlns/sca/1.1"
+ targetNamespace="http://database"
+ name="palette">
+
+ <service name="filedb" promote="filedb"/>
+ <service name="nosqldb" promote="nosqldb"/>
+ <service name="sqldb" promote="sqldb"/>
+ <service name="get" promote="get"/>
+ <service name="post" promote="post"/>
+ <service name="put" promote="put"/>
+ <service name="delete" promote="delete"/>
+
+ <component name="filedb" t:title="File database" t:color="green1">
+ <t:implementation.python script="nuvem/filedb.py"/>
+ <service name="filedb"/>
+ <reference name="db" target="AppDataFileCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
+ </component>
+
+ <component name="nosqldb" t:title="Indexed database" t:color="green1">
+ <t:implementation.python script="nuvem/nosqldb.py"/>
+ <service name="nosqldb"/>
+ <reference name="db" target="AppDataNoSQLCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
+ </component>
+
+ <component name="sqldb" t:title="SQL database" t:color="green1">
+ <t:implementation.python script="nuvem/sqldb.py"/>
+ <service name="sqldb"/>
+ <reference name="db" target="AppDataSQLCache" t:visible="false"/>
+ <property name="host" t:visible="false"/>
+ </component>
+
+ <component name="get" t:title="get" t:color="green1">
+ <t:implementation.python script="nuvem/get.py"/>
+ <service name="get"/>
+ <reference name="collection"/>
+ <reference name="id"/>
+ </component>
+
+ <component name="post" t:title="post" t:color="green1">
+ <t:implementation.python script="nuvem/post.py"/>
+ <service name="post"/>
+ <reference name="collection"/>
+ <reference name="id"/>
+ <reference name="value"/>
+ </component>
+
+ <component name="put" t:title="put" t:color="green1">
+ <t:implementation.python script="nuvem/put.py"/>
+ <service name="put"/>
+ <reference name="collection"/>
+ <reference name="id"/>
+ <reference name="value"/>
+ </component>
+
+ <component name="delete" t:title="delete" t:color="green1">
+ <t:implementation.python script="nuvem/delete.py"/>
+ <service name="delete"/>
+ <reference name="collection"/>
+ <reference name="id"/>
+ </component>
+
+</composite>
diff --git a/sca-cpp/trunk/modules/edit/palettes/event/palette.composite b/sca-cpp/trunk/modules/edit/palettes/event/palette.composite
index 0bb69eeccd..51675139aa 100644
--- a/sca-cpp/trunk/modules/edit/palettes/event/palette.composite
+++ b/sca-cpp/trunk/modules/edit/palettes/event/palette.composite
@@ -23,7 +23,7 @@
name="palette">
<service name="page" promote="page"/>
- <service name="button" promote="button"/>
+ <service name="widget" promote="widget"/>
<service name="every" promote="every"/>
<service name="location" promote="location"/>
@@ -35,9 +35,9 @@
<reference name="content"/>
</component>
- <component name="button" t:title="on {compname} click" t:color="green1">
- <t:implementation.python script="nuvem/button.py"/>
- <service name="button" t:visible="false"/>
+ <component name="widget" t:title="on {compname} widget" t:color="green1">
+ <t:implementation.python script="nuvem/widget.py"/>
+ <service name="widget" t:visible="false"/>
<reference name="content"/>
</component>
diff --git a/sca-cpp/trunk/modules/edit/palettes/http/palette.composite b/sca-cpp/trunk/modules/edit/palettes/http/palette.composite
index fb46490dea..fc6ba48a55 100644
--- a/sca-cpp/trunk/modules/edit/palettes/http/palette.composite
+++ b/sca-cpp/trunk/modules/edit/palettes/http/palette.composite
@@ -25,6 +25,7 @@
<service name="host" promote="host"/>
<service name="path" promote="path"/>
<service name="params" promote="params"/>
+ <service name="param" promote="param"/>
<service name="user" promote="user"/>
<service name="email" promote="email"/>
<service name="get" promote="get"/>
@@ -50,6 +51,13 @@
<property name="query" t:visible="false"></property>
</component>
+ <component name="param" t:title="?param" t:color="green1">
+ <t:implementation.python script="nuvem/param.py"/>
+ <service name="param"/>
+ <reference name="name"/>
+ <property name="query" t:visible="false"></property>
+ </component>
+
<component name="user" t:title="user" t:color="green1">
<t:implementation.python script="nuvem/user.py"/>
<service name="user"/>
diff --git a/sca-cpp/trunk/modules/edit/palettes/list/palette.composite b/sca-cpp/trunk/modules/edit/palettes/list/palette.composite
index be3f15ea66..36cde72a17 100644
--- a/sca-cpp/trunk/modules/edit/palettes/list/palette.composite
+++ b/sca-cpp/trunk/modules/edit/palettes/list/palette.composite
@@ -22,6 +22,7 @@
targetNamespace="http://list"
name="palette">
+ <service name="pair" promote="pair"/>
<service name="list" promote="list"/>
<service name="first" promote="first"/>
<service name="rest" promote="rest"/>
@@ -31,7 +32,14 @@
<service name="find" promote="find"/>
<service name="range" promote="range"/>
- <component name="list" t:title="make list" t:color="yellow1">
+ <component name="pair" t:title="pair" t:color="yellow1">
+ <t:implementation.python script="nuvem/pair.py"/>
+ <service name="pair"/>
+ <reference name="name"/>
+ <reference name="value"/>
+ </component>
+
+ <component name="list" t:title="list" t:color="yellow1">
<t:implementation.python script="nuvem/list_.py"/>
<service name="list"/>
<reference name="item" t:clonable="true"/>
diff --git a/sca-cpp/trunk/modules/edit/palettes/search/palette.composite b/sca-cpp/trunk/modules/edit/palettes/search/palette.composite
index eab03ac835..d6e4a0fa1e 100644
--- a/sca-cpp/trunk/modules/edit/palettes/search/palette.composite
+++ b/sca-cpp/trunk/modules/edit/palettes/search/palette.composite
@@ -25,14 +25,17 @@
<service name="googlesearch" promote="googlesearch"/>
<service name="yahoosearch" promote="yahoosearch"/>
<service name="bingsearch" promote="bingsearch"/>
- <service name="geomap" promote="geomap"/>
+ <service name="googlemap" promote="googlemap"/>
<service name="weather" promote="weather"/>
<service name="traffic" promote="traffic"/>
- <component name="googlesearch" t:title="google search **" t:color="red1">
- <t:implementation.python script="nuvem/googlesearch.py"/>
+ <component name="googlesearch" t:title="google search" t:color="red1">
+ <t:implementation.python script="nuvem/gsearch.py"/>
<service name="googlesearch"/>
<reference name="query"/>
+ <reference name="s" t:visible="false">
+ <t:binding.http uri="http://ajax.googleapis.com/ajax/services/search/web"/>
+ </reference>
</component>
<component name="yahoosearch" t:title="yahoo search **" t:color="red1">
@@ -47,16 +50,22 @@
<reference name="query"/>
</component>
- <component name="geomap" t:title="map **" t:color="red1">
- <t:implementation.python script="nuvem/geomap.py"/>
- <service name="geomap"/>
- <reference name="location"/>
+ <component name="googlemap" t:title="google map" t:color="red1">
+ <t:implementation.python script="nuvem/gmap.py"/>
+ <service name="googlemap"/>
+ <reference name="locations"/>
+ <reference name="s" t:visible="false">
+ <t:binding.http uri="http://maps.google.com/maps/api/staticmap"/>
+ </reference>
</component>
- <component name="weather" t:title="weather **" t:color="red1">
- <t:implementation.python script="nuvem/weather.py"/>
+ <component name="weather" t:title="weather" t:color="red1">
+ <t:implementation.python script="nuvem/gweather.py"/>
<service name="weather"/>
- <reference name="location"/>
+ <reference name="zip"/>
+ <reference name="ws" t:visible="false">
+ <t:binding.http uri="http://www.google.com/ig/api"/>
+ </reference>
</component>
<component name="traffic" t:title="traffic **" t:color="red1">
diff --git a/sca-cpp/trunk/modules/edit/palettes/value/palette.composite b/sca-cpp/trunk/modules/edit/palettes/value/palette.composite
index abdb47e460..1cd9022493 100644
--- a/sca-cpp/trunk/modules/edit/palettes/value/palette.composite
+++ b/sca-cpp/trunk/modules/edit/palettes/value/palette.composite
@@ -26,10 +26,10 @@
<service name="number" promote="number"/>
<service name="name" promote="name"/>
<service name="valueof" promote="valueof"/>
- <service name="assoc" promote="assoc"/>
<service name="nothing" promote="nothing"/>
<service name="true" promote="true"/>
<service name="false" promote="false"/>
+ <service name="now" promote="now"/>
<component name="text" t:title="text" t:color="orange1">
<t:implementation.python script="nuvem/text.py"/>
@@ -55,13 +55,6 @@
<property name="name">name</property>
</component>
- <component name="assoc" t:title="assoc" t:color="orange1">
- <t:implementation.python script="nuvem/assoc.py"/>
- <service name="assoc"/>
- <reference name="name"/>
- <reference name="value"/>
- </component>
-
<component name="nothing" t:title="nothing" t:color="orange1">
<t:implementation.python script="nuvem/nothing.py"/>
<service name="nothing"/>
@@ -77,4 +70,9 @@
<service name="false"/>
</component>
+ <component name="now" t:title="now" t:color="orange1">
+ <t:implementation.python script="nuvem/now.py"/>
+ <service name="now"/>
+ </component>
+
</composite>
diff --git a/sca-cpp/trunk/modules/edit/store/tests b/sca-cpp/trunk/modules/edit/store/tests
index ee6cbbe788..3872b753cd 100644
--- a/sca-cpp/trunk/modules/edit/store/tests
+++ b/sca-cpp/trunk/modules/edit/store/tests
@@ -1 +1 @@
-((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 widgets") (id "testwidgets")) (entry (title "Test more widgets") (id "testwidgets2")) (entry (title "Test event components") (id "testevents")))
+((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 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")))