Added: tuscany/sca-cpp/trunk/modules/edit/apps/twsms/app.composite
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/apps/twsms/app.composite?rev=1135048&view=auto
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/apps/twsms/app.composite (added)
+++ tuscany/sca-cpp/trunk/modules/edit/apps/twsms/app.composite Mon Jun 13 
07:57:30 2011
@@ -0,0 +1,171 @@
+<?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"; name="app" 
targetNamespace="http://app";>
+ <service name="item" promote="property"/>
+ <service name="send" promote="send"/>
+ <component x="750" y="320" name="format1" title="format" color="magenta1">
+  <implementation.python script="nuvem/format_.py"/>
+  <service name="format"/>
+  <reference target="text12" name="pattern"/>
+  <reference target="list2" name="values"/>
+ </component>
+ <component x="120" y="10" name="format2" title="format" color="magenta1">
+  <implementation.python script="nuvem/format_.py"/>
+  <service name="format"/>
+  <reference target="text1" name="pattern"/>
+  <reference target="list1" name="values"/>
+ </component>
+ <component x="530" y="90" name="format3" title="format" color="magenta1">
+  <implementation.python script="nuvem/format_.py"/>
+  <service name="format"/>
+  <reference target="text2" name="pattern"/>
+  <reference target="list5" name="values"/>
+ </component>
+ <component x="630" y="190" name="host1" title="host" color="green1">
+  <implementation.python script="nuvem/host.py"/>
+  <service name="host"/>
+  <property name="host" visible="false"/>
+ </component>
+ <component x="520" y="80" name="item1" title="{propval} :" color="orange1">
+  <implementation.python script="nuvem/item.py"/>
+  <service name="item"/>
+  <reference target="format3" name="value"/>
+  <property>sampleurl1</property>
+ </component>
+ <component x="520" y="180" name="item2" title="{propval} :" color="orange1">
+  <implementation.python script="nuvem/item.py"/>
+  <service name="item"/>
+  <reference target="text3" name="value"/>
+  <property>sampleurl2</property>
+ </component>
+ <component name="list1" title="list" color="yellow1">
+  <implementation.python script="nuvem/list_.py"/>
+  <service name="list"/>
+  <reference target="param1" name="item" clonable="true"/>
+  <reference target="param3" name="item" clonable="true"/>
+  <reference target="param2" name="item" clonable="true"/>
+  <reference target="text10" name="item" clonable="true"/>
+  <reference name="item" clonable="true"/>
+ </component>
+ <component name="list2" title="list" color="yellow1">
+  <implementation.python script="nuvem/list_.py"/>
+  <service name="list"/>
+  <reference target="param4" name="item" clonable="true"/>
+  <reference target="param5" name="item" clonable="true"/>
+  <reference target="param6" name="item" clonable="true"/>
+  <reference name="item" clonable="true"/>
+ </component>
+ <component name="list3" title="list" color="yellow1">
+  <implementation.python script="nuvem/list_.py"/>
+  <service name="list"/>
+  <reference target="text15" name="item" clonable="true"/>
+  <reference target="list4" name="item" clonable="true"/>
+  <reference name="item" clonable="true"/>
+ </component>
+ <component name="list4" title="list" color="yellow1">
+  <implementation.python script="nuvem/list_.py"/>
+  <service name="list"/>
+  <reference target="format1" name="item" clonable="true"/>
+  <reference name="item" clonable="true"/>
+ </component>
+ <component name="list5" title="list" color="yellow1">
+  <implementation.python script="nuvem/list_.py"/>
+  <service name="list"/>
+  <reference target="host1" name="item" clonable="true"/>
+  <reference name="item" clonable="true"/>
+ </component>
+ <component x="160" y="60" name="param1" title="?param" color="green1">
+  <implementation.python script="nuvem/param.py"/>
+  <service name="param"/>
+  <property>sid</property>
+  <property name="query" visible="false"/>
+ </component>
+ <component x="530" y="100" name="param2" title="?param" color="green1">
+  <implementation.python script="nuvem/param.py"/>
+  <service name="param"/>
+  <property>sid</property>
+  <property name="query" visible="false"/>
+ </component>
+ <component x="530" y="70" name="param3" title="?param" color="green1">
+  <implementation.python script="nuvem/param.py"/>
+  <service name="param"/>
+  <property>token</property>
+  <property name="query" visible="false"/>
+ </component>
+ <component x="250" y="240" name="param4" title="?param" color="green1">
+  <implementation.python script="nuvem/param.py"/>
+  <service name="param"/>
+  <property>from</property>
+  <property name="query" visible="false"/>
+ </component>
+ <component x="260" y="270" name="param5" title="?param" color="green1">
+  <implementation.python script="nuvem/param.py"/>
+  <service name="param"/>
+  <property>to</property>
+  <property name="query" visible="false"/>
+ </component>
+ <component x="260" y="300" name="param6" title="?param" color="green1">
+  <implementation.python script="nuvem/param.py"/>
+  <service name="param"/>
+  <property>msg</property>
+  <property name="query" visible="false"/>
+ </component>
+ <component x="80" y="10" name="post1" title="post" color="green1">
+  <implementation.cpp path="lib/http" library="libhttppost"/>
+  <service name="post"/>
+  <reference target="format2" name="url"/>
+  <reference target="list3" name="content"/>
+ </component>
+ <component x="30" y="10" name="send" title="{compname}" color="green1">
+  <implementation.python script="nuvem/service.py"/>
+  <service name="service" visible="false"/>
+  <reference target="post1" name="content"/>
+ </component>
+ <component x="450" y="300" name="text1" title=" '{propval}'" color="orange1">
+  <implementation.python script="nuvem/text.py"/>
+  <service name="text"/>
+  
<property>https://{0}:{1}@api.twilio.com/2010-04-01/Accounts/{2}/SMS/Messages</property>
+ </component>
+ <component x="540" y="130" name="text10" title=" '{propval}'" color="orange1">
+  <implementation.python script="nuvem/text.py"/>
+  <service name="text"/>
+  <property>SMS/Messages</property>
+ </component>
+ <component x="550" y="450" name="text12" title=" '{propval}'" color="orange1">
+  <implementation.python script="nuvem/text.py"/>
+  <service name="text"/>
+  <property>From={0}&amp;To={1}&amp;Body={2}</property>
+ </component>
+ <component x="710" y="290" name="text15" title=" '{propval}'" color="orange1">
+  <implementation.python script="nuvem/text.py"/>
+  <service name="text"/>
+  <property>application/x-www-form-urlencoded</property>
+ </component>
+ <component x="590" y="100" name="text2" title=" '{propval}'" color="orange1">
+  <implementation.python script="nuvem/text.py"/>
+  <service name="text"/>
+  <property>http://{0}/c/send?sid=...&amp;</property>
+ </component>
+ <component x="600" y="180" name="text3" title=" '{propval}'" color="orange1">
+  <implementation.python script="nuvem/text.py"/>
+  <service name="text"/>
+  <property>token=...&amp;from=...&amp;to=...&amp;msg=...</property>
+ </component>
+</composite>

Added: tuscany/sca-cpp/trunk/modules/edit/apps/twsms/app.stats
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/apps/twsms/app.stats?rev=1135048&view=auto
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/apps/twsms/app.stats (added)
+++ tuscany/sca-cpp/trunk/modules/edit/apps/twsms/app.stats Mon Jun 13 07:57:30 
2011
@@ -0,0 +1 @@
+((entry (title "SMS send service") (id "twsms")))
\ No newline at end of file

Copied: tuscany/sca-cpp/trunk/modules/edit/apps/twsms/htdocs/app.html (from 
r1135047, tuscany/sca-cpp/trunk/modules/edit/apps/new/htdocs/app.html)
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/apps/twsms/htdocs/app.html?p2=tuscany/sca-cpp/trunk/modules/edit/apps/twsms/htdocs/app.html&p1=tuscany/sca-cpp/trunk/modules/edit/apps/new/htdocs/app.html&r1=1135047&r2=1135048&rev=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/apps/new/htdocs/app.html (original)
+++ tuscany/sca-cpp/trunk/modules/edit/apps/twsms/htdocs/app.html Mon Jun 13 
07:57:30 2011
@@ -18,16 +18,16 @@
  * under the License.    
 -->
 <DIV id="page">
- <SPAN id="page:h1" class="h1" style="position: absolute; top: 0px; left: 0px; 
">
-  <H1>Hello</H1>
- </SPAN>
- <SPAN id="me" class="h1" style="position: absolute; top: 0px; left: 56px; ">
-  <H1>=me</H1>
+ <SPAN id="page:h1" class="h1" style="position: absolute; top: 0px; left: 2px; 
">
+  <H1>SMS Send Service</H1>
  </SPAN>
  <SPAN id="page:text" class="text" style="position: absolute; top: 36px; left: 
2px; ">
-  <SPAN>The time is:</SPAN>
+  <SPAN>To send an SMS use a URL like this:</SPAN>
+ </SPAN>
+ <SPAN id="page:text" class="text" style="position: absolute; top: 63px; left: 
2px; ">
+  <SPAN>http://twsms..../?sid=...&amp;token=...&amp;from=...</SPAN>
  </SPAN>
- <SPAN id="time" class="text" style="position: absolute; top: 36px; left: 
74px; ">
-  <SPAN>=time</SPAN>
+ <SPAN id="page:text" class="text" style="position: absolute; top: 81px; left: 
2px; ">
+  <SPAN>&amp;to=...&amp;msg=...</SPAN>
  </SPAN>
 </DIV>

Modified: tuscany/sca-cpp/trunk/modules/edit/dashboards/jane@localhost/user.apps
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/dashboards/jane%40localhost/user.apps?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/dashboards/jane@localhost/user.apps 
(original)
+++ tuscany/sca-cpp/trunk/modules/edit/dashboards/jane@localhost/user.apps Mon 
Jun 13 07:57:30 2011
@@ -1 +1 @@
-((entry (title "Check my public social data") (id "me360")) (entry (title 
"Where are my friends") (id "nearme")) (entry (title "Our photos of an event") 
(id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online 
store") (id "shoppingcart")) (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 empty test app") (id "test")))

Modified: 
tuscany/sca-cpp/trunk/modules/edit/dashboards/[email protected]/user.apps
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/dashboards/jane%40sca-store.com/user.apps?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/dashboards/[email protected]/user.apps 
(original)
+++ tuscany/sca-cpp/trunk/modules/edit/dashboards/[email protected]/user.apps 
Mon Jun 13 07:57:30 2011
@@ -1 +1 @@
-((entry (title "Check my public social data") (id "me360")) (entry (title 
"Where are my friends") (id "nearme")) (entry (title "Our photos of an event") 
(id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online 
store") (id "shoppingcart")) (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 empty test app") (id "test")))

Modified: tuscany/sca-cpp/trunk/modules/edit/dashboards/john@localhost/user.apps
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/dashboards/john%40localhost/user.apps?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/dashboards/john@localhost/user.apps 
(original)
+++ tuscany/sca-cpp/trunk/modules/edit/dashboards/john@localhost/user.apps Mon 
Jun 13 07:57:30 2011
@@ -1 +1 @@
-((entry (title "Check my public social data") (id "me360")) (entry (title 
"Where are my friends") (id "nearme")) (entry (title "Our photos of an event") 
(id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online 
store") (id "shoppingcart")) (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 empty test app") (id "test")))

Modified: 
tuscany/sca-cpp/trunk/modules/edit/dashboards/[email protected]/user.apps
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/dashboards/john%40sca-store.com/user.apps?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/dashboards/[email protected]/user.apps 
(original)
+++ tuscany/sca-cpp/trunk/modules/edit/dashboards/[email protected]/user.apps 
Mon Jun 13 07:57:30 2011
@@ -1 +1 @@
-((entry (title "Check my public social data") (id "me360")) (entry (title 
"Where are my friends") (id "nearme")) (entry (title "Our photos of an event") 
(id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online 
store") (id "shoppingcart")) (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 empty test app") (id "test")))

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/account/index.html
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/account/index.html?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/account/index.html (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/account/index.html Mon Jun 13 
07:57:30 2011
@@ -60,6 +60,21 @@
 <br/>
 <table style="width: 100%;">
 <tr>
+<th class="thl thr" style="padding-top: 4px; padding-bottom: 4px; 
padding-left: 2px; padding-right: 2px; ">Calendar</th>
+</tr>
+</table>
+
+<table>
+<tr><td style="padding-right: 2px;"><input type="text" id="sched1" size="10" 
placeholder="Schedule" style="width: 80px;"/></td><td><input type="text" 
id="service1" size="2048" placeholder="Service URL" style="width: 
200px;"/></td></tr>
+<tr><td style="padding-right: 2px;"><input type="text" id="sched2" size="10" 
placeholder="Schedule" style="width: 80px;"/></td><td><input type="text" 
id="service2" size="2048" placeholder="Service URL" style="width: 
200px;"/></td></tr>
+<tr><td style="padding-right: 2px;"><input type="text" id="sched3" size="10" 
placeholder="Schedule" style="width: 80px;"/></td><td><input type="text" 
id="service3" size="2048" placeholder="Service URL" style="width: 
200px;"/></td></tr>
+<tr><td style="padding-right: 2px;"><input type="text" id="sched4" size="10" 
placeholder="Schedule" style="width: 80px;"/></td><td><input type="text" 
id="service4" size="2048" placeholder="Service URL" style="width: 
200px;"/></td></tr>
+<tr><td style="padding-right: 2px;"><input type="text" id="sched5" size="10" 
placeholder="Schedule" style="width: 80px;"/></td><td><input type="text" 
id="service5" size="2048" placeholder="Service URL" style="width: 
200px;"/></td></tr>
+</table>
+<br/>
+
+<table style="width: 100%;">
+<tr>
 <th class="thl thr" style="padding-top: 4px; padding-bottom: 4px; 
padding-left: 2px; padding-right: 2px; ">Key chain</th>
 </tr>
 </table>
@@ -70,6 +85,11 @@
 <tr><td style="padding-right: 2px;"><input type="text" id="name3" size="10" 
placeholder="Key name" style="width: 80px;"/></td><td><input type="text" 
id="value3" size="2048" placeholder="Key value" style="width: 
200px;"/></td></tr>
 <tr><td style="padding-right: 2px;"><input type="text" id="name4" size="10" 
placeholder="Key name" style="width: 80px;"/></td><td><input type="text" 
id="value4" size="2048" placeholder="Key value" style="width: 
200px;"/></td></tr>
 <tr><td style="padding-right: 2px;"><input type="text" id="name5" size="10" 
placeholder="Key name" style="width: 80px;"/></td><td><input type="text" 
id="value5" size="2048" placeholder="Key value" style="width: 
200px;"/></td></tr>
+<tr><td style="padding-right: 2px;"><input type="text" id="name6" size="10" 
placeholder="Key name" style="width: 80px;"/></td><td><input type="text" 
id="value6" size="2048" placeholder="Key value" style="width: 
200px;"/></td></tr>
+<tr><td style="padding-right: 2px;"><input type="text" id="name7" size="10" 
placeholder="Key name" style="width: 80px;"/></td><td><input type="text" 
id="value7" size="2048" placeholder="Key value" style="width: 
200px;"/></td></tr>
+<tr><td style="padding-right: 2px;"><input type="text" id="name8" size="10" 
placeholder="Key name" style="width: 80px;"/></td><td><input type="text" 
id="value8" size="2048" placeholder="Key value" style="width: 
200px;"/></td></tr>
+<tr><td style="padding-right: 2px;"><input type="text" id="name9" size="10" 
placeholder="Key name" style="width: 80px;"/></td><td><input type="text" 
id="value9" size="2048" placeholder="Key value" style="width: 
200px;"/></td></tr>
+<tr><td style="padding-right: 2px;"><input type="text" id="name10" size="10" 
placeholder="Key name" style="width: 80px;"/></td><td><input type="text" 
id="value10" size="2048" placeholder="Key value" style="width: 
200px;"/></td></tr>
 </table>
 </form>
 
@@ -115,6 +135,15 @@ function getaccount(name) {
         var desc = assoc("'description", acct);
         $('userDescription').innerHTML = isNil(desc) || isNil(cdr(desc))? '' : 
cadr(desc);
 
+        var cal = assoc("'calendar", acct);
+        reduce(function(i, evt) {
+                var sched = assoc("'@schedule", evt);
+                var svc = assoc("'@service", evt);
+                $('sched' + i).value = isNil(sched)? '' : cadr(sched);
+                $('service' + i).value = isNil(svc)? '' : cadr(svc);
+                return i + 1;
+            }, 1, isNil(cal)? mklist() : cadr(cadr(cal)));
+
         var keys = assoc("'keys", acct);
         reduce(function(i, key) {
                 var kn = assoc("'@name", key);
@@ -146,14 +175,19 @@ function save(entryxml) {
 function onaccountchange() {
     var title = $('userTitle').value;
     var desc = $('userDescription').value;
+    var cal = map(function(i) {
+        var sched = $('sched' + i).value;
+        var svc = $('service' + i).value;
+        return mklist("'event", mklist("'@schedule", sched), 
mklist("'@service", svc));
+    }, range(1, 6));
     var keys = map(function(i) {
         var kn = $('name' + i).value;
         var kv = $('value' + i).value;
         return mklist("'key", mklist("'@name", kn), mklist("'@value", kv));
-    }, range(1, 6));
+    }, range(1, 11));
 
     var accountentry = mklist("'entry", mklist("'title", title != ''? title : 
username), mklist("'id", username),
-                        mklist("'content", mklist("'account", 
mklist("'description", desc), cons("'keys", keys))));
+                        mklist("'content", mklist("'account", 
mklist("'description", desc), cons("'keys", keys), cons("'calendar", cal))));
     var entryxml = 
car(atom.writeATOMEntry(valuesToElements(mklist(accountentry))));
     if (savedaccountentryxml == entryxml)
         return false;
@@ -165,10 +199,15 @@ function onaccountchange() {
 $('userTitle').onchange = onaccountchange;
 $('userDescription').onchange = onaccountchange;
 map(function(i) {
+    $('sched' + i).onchange = onaccountchange;
+    $('service' + i).onchange = onaccountchange;
+    return true;
+}, range(1, 6));
+map(function(i) {
     $('name' + i).onchange = onaccountchange;
     $('value' + i).onchange = onaccountchange;
     return true;
-}, range(1, 6));
+}, range(1, 11));
 
 /**
  * Handle a form submit event.

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/app/index.html
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/app/index.html?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/app/index.html (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/app/index.html Mon Jun 13 
07:57:30 2011
@@ -50,17 +50,19 @@ document.title = window.location.hostnam
 var appdiv = $('app');
 
 /**
- * Start, stop, timer and location components.
+ * Start, stop, timer, animation and location components.
  */
 var startcomp = sca.httpclient('start', '/start');
 var stopcomp = sca.httpclient('stop', '/stop');
 var timercomp = sca.httpclient('timer', '/timer');
+var animationcomp = sca.httpclient('animation', '/animation');
 var locationcomp = sca.httpclient('location', '/location');
 
 /**
- * Find a named value in a tree of elements.
+ * Find a named value in a tree of elements. The value name is given
+ * as a list of ids.
  */
-function datavalue(l, id) {
+function namedvalue(l, id) {
     if (isNil(l))
         return null;
     var e = car(l);
@@ -74,7 +76,7 @@ function datavalue(l, id) {
 
         // Search for next id segments in child elements
         if (!elementHasValue(e)) {
-            var v = datavalue(elementChildren(e), cdr(id));
+            var v = namedvalue(elementChildren(e), cdr(id));
             if (v != null)
                 return v;
         }
@@ -82,11 +84,11 @@ function datavalue(l, id) {
 
     // Search for id through the whole element tree
     if (!elementHasValue(e)) {
-        var v = datavalue(elementChildren(e), id);
+        var v = namedvalue(elementChildren(e), id);
         if (v != null)
             return v;
     }
-    return datavalue(cdr(l), id);
+    return namedvalue(cdr(l), id);
 }
 
 /**
@@ -111,84 +113,101 @@ function inputvalue(e) {
 };
 
 /**
- * Set a data value into a widget.
+ * Set a value into a widget.
  */
 function setwidgetvalue(e, dv) {
-
-    function datatext(dv) {
-        if (!elementHasValue(dv))
-            return '';
-        var t = elementValue(dv);
-        return t == null? '' : t;
-    }
+    var htattrs = namedElementChild("'htattrs", dv);
+    var attrs = append(isNil(htattrs)? mklist() :
+                        map(function(ce) { return 
mklist(elementName(ce).substring(1), elementHasValue(ce)? elementValue(ce) : 
elementChildren(ce)); }, elementChildren(htattrs)),
+                        elementHasValue(dv)? mklist(mklist('value', 
isNil(elementValue(dv))? '' : elementValue(dv))) : mklist());
 
     if (e.className == 'h1' || e.className == 'h2' || e.className == 'text' || 
e.className == 'section') {
-        var t = datatext(dv);
-        car(childElements(e)).innerHTML = t;
-        return t;
+        var ce = car(childElements(e));
+        return map(function(a) { car(a) == 'value'? ce.innerHTML = cadr(a) : 
ce.setAttribute(car(a), cadr(a)); }, attrs);
     }
+
     if (e.className == 'entry' || e.className == 'password') {
-        var t = datatext(dv);
-        car(childElements(e)).defaultValue = t;
-        return t;
+        var ce = car(childElements(e));
+        return map(function(a) { car(a) == 'value'? ce.defaultValue = cadr(a) 
: ce.setAttribute(car(a), cadr(a)); }, attrs);
     }
+
     if (e.className == 'button') {
-        var t = datatext(dv);
-        car(childElements(e)).value = t;
-        return t;
+        var ce = car(childElements(e));
+        return map(function(a) { car(a) == 'value'? ce.value = cadr(a) : 
ce.setAttribute(car(a), cadr(a)); }, attrs);
     }
+
     if (e.className == 'checkbox') {
-        var t = datatext(dv);
-        car(childElements(e)).value = t;
-        map(function(n) { if (n.nodeName == "SPAN") n.innerHTML = t; return n; 
}, nodeList(e.childNodes));
-        return t;
+        var ce = car(childElements(e));
+
+        function setcheckvalue(ce, v) {
+            ce.value = v;
+            map(function(n) { if (n.nodeName == "SPAN") n.innerHTML = v; 
return n; }, nodeList(e.childNodes));
+            return true;
+        }
+
+        var r = map(function(a) { car(a) == 'value'? setcheckvalue(ce, 
cadr(a)) : ce.setAttribute(car(a), cadr(a)); }, attrs);
+        return r;
     }
+
     if (e.className == 'select') {
-        var t = datatext(dv);
         var ce = car(childElements(car(childElements(e))));
-        ce.value = t;
-        ce.innerHTML = t;
-        return t;
+
+        function setselectvalue(ce, v) {
+            ce.value = v;
+            ce.innerHTML = v;
+            return true;
+        }
+
+        var r = map(function(a) { car(a) == 'value'? setselectvalue(ce, 
cadr(a)) : ce.setAttribute(car(a), cadr(a)); }, attrs);
+        return r;
     }
     if (e.className == 'list') {
-        var t = ui.datalist(isNil(dv)? mklist() : mklist(dv));
-        e.innerHTML = t;
-        return t;
+        var dl = ui.datalist(isNil(dv)? mklist() : mklist(dv));
+        e.innerHTML = dl;
+        return dl;
     }
     if (e.className == 'table') {
-        var t = ui.datatable(isNil(dv)? mklist() : mklist(dv));
-        e.innerHTML = t;
-        return t;
+        var dl = ui.datatable(isNil(dv)? mklist() : mklist(dv));
+        e.innerHTML = dl;
+        return dl;
     }
     if (e.className == 'link') {
-        var t = datatext(dv);
         var ce = car(childElements(e));
-        ce.href = isList(t)? car(t) : t;
-        car(childElements(ce)).innerHTML = isList(t)? cadr(t) : t;
-        return t;
+
+        function setlinkvalue(ce, v) {
+            if (isList(v)) {
+                ce.href = car(v);
+                ce.innerHTML = cadr(v);
+                return true;
+            }
+            ce.href = v;
+            ce.innerHTML = v;
+            return true;
+        }
+
+        return map(function(a) { car(a) == 'value'? setlinkvalue(ce, cadr(a)) 
: ce.setAttribute(car(a), cadr(a)); }, attrs);
     }
     if (e.className == 'img') {
-        var t = datatext(dv);
-        var img = car(childElements(e));
-        img.setAttribute('src', t);
-        return t;
+        var ce = car(childElements(e));
+        return map(function(a) { car(a) == 'value'? ce.setAttribute('src', 
cadr(a)) : ce.setAttribute(car(a), cadr(a)); }, attrs);
     }
     if (e.className == 'iframe') {
-        var t = datatext(dv);
-        car(childElements(e)).src = t;
-        return t;
+        var ce = car(childElements(e));
+        return map(function(a) { car(a) == 'value'? ce.setAttribute('src', 
cadr(a)) : ce.setAttribute(car(a), cadr(a)); }, attrs);
     }
     return '';
 };
 
 /**
- * Display data on the app page.
+ * Update the app page with the given app data.
  */
-function displaydata(l) {
+function updatepage(l) {
+    if (isNil(l))
+        return true;
 
     // Update the widgets values
     function updatewidget(e) {
-        var dv = datavalue(l, map(function(t) { return "'" + t; }, 
e.id.split('.')));
+        var dv = namedvalue(l, map(function(t) { return "'" + t; }, 
e.id.split('.')));
         if (dv == null || isNil(dv))
             return e;
         setwidgetvalue(e, dv);
@@ -200,22 +219,22 @@ function displaydata(l) {
 }
 
 /**
- * Display data from a document on the app page.
+ * Convert a document to application data.
  */
-function displaydoc(doc) {
+function docdata(doc) {
     if (isNil(doc))
-        return true;
+        return null;
 
     if (json.isJSON(mklist(doc)))
-        return displaydata(json.readJSON(mklist(doc)));
+        return json.readJSON(mklist(doc));
 
     if (atom.isATOMEntry(mklist(doc)))
-        return displaydata(atom.readATOMEntry(mklist(doc)));
+        return atom.readATOMEntry(mklist(doc));
 
     if (atom.isATOMFeed(mklist(doc)))
-        return displaydata(atom.readATOMFeed(mklist(doc)));
+        return atom.readATOMFeed(mklist(doc));
 
-    return displaydata(doc);
+    return doc;
 }
 
 /**
@@ -278,6 +297,18 @@ function initwidget(e) {
 }
 
 /**
+ * Get document from a component.
+ */
+function getdoc(comp, name, uri) {
+    try {
+        return comp.get(uri);
+    } catch(e) {
+        log('exception on get(' + name + ', ' + uri + ')', e);
+        return null;
+    }
+}
+
+/**
  * Get app data from the main app page component.
  */
 function getpagedata() {
@@ -285,8 +316,7 @@ function getpagedata() {
 
         // Display component data on the page
         function displaypage(doc) {
-            if (!isNil(doc))
-                displaydoc(doc);
+            updatepage(docdata(doc));
 
             // Reveal the page
             ui.showbody();
@@ -312,42 +342,35 @@ function getpagedata() {
         }
 
         // Get the component app data
-        var doc = startcomp.get(window.location.search);
-        try {
-            var appFrame = $('appFrame');
-            if (!isNil(appFrame.contentDocument.body)) {
-                appdiv.innerHTML = appFrame.contentDocument.body.innerHTML;
-            } else {
-                
$('appebuffer').appendChild(appFrame.contentDocument.documentElement);
-                appdiv.innerHTML = appebuffer.innerHTML;
-                appebuffer.innerHTML = '';
-            }
+        var doc = getdoc(startcomp, 'start', window.location.search);
 
-            // Initial setup of the widgets
-            map(setupwidget, filter(function(e) { return !isNil(e.id); }, 
nodeList(ui.elementByID(appdiv, 'page').childNodes)));
+        // Prepare app HTML page
+        var appFrame = $('appFrame');
+        if (!isNil(appFrame.contentDocument.body)) {
+            appdiv.innerHTML = appFrame.contentDocument.body.innerHTML;
+        } else {
+            
$('appebuffer').appendChild(appFrame.contentDocument.documentElement);
+            appdiv.innerHTML = appebuffer.innerHTML;
+            appebuffer.innerHTML = '';
+        }
 
-            // Display data on the page
-            displaypage(doc);
+        // Setup the widgets
+        map(setupwidget, filter(function(e) { return !isNil(e.id); }, 
nodeList(ui.elementByID(appdiv, 'page').childNodes)));
 
-            // Get and eval the optional timer and location watch setup scripts
-            evalcompinit(timercomp.get('setup'));
-            evalcompinit(locationcomp.get('setup'));
-            return true;
+        // Display data on the page
+        displaypage(doc);
+
+        // Get and eval the optional timer, animation and location watch setup 
scripts
+        evalcompinit(getdoc(timercomp, 'timer', 'setup'));
+        evalcompinit(getdoc(animationcomp, 'animation', 'setup'));
+        evalcompinit(getdoc(locationcomp, 'location', 'setup'));
+
+        return true;
 
-        } catch(e) {
-            log('exception on startcomp.get()', e);
-        }
     } catch(e) {
         log('exception in getpagedata()', e);
+        return true;
     }
-    return true;
-}
-
-/**
- * Get app data from a component.
- */
-function getcompdata(comp, qs) {
-    return displaydoc(comp.get(qs));
 }
 
 /**
@@ -380,9 +403,10 @@ function compquery() {
  */
 function buttonClickHandler(id) {
     try {
-        return getcompdata(sca.component(id), compquery());
+        return updatepage(docdata(getdoc(sca.component(id), 'button', 
compquery())));
     } catch(e) {
         log('exception in buttonClickHandler()', e);
+        return true;
     }
 }
 
@@ -391,9 +415,10 @@ function buttonClickHandler(id) {
  */
 function intervalHandler() {
     try {
-        return getcompdata(timercomp, compquery());
+        return updatepage(docdata(getdoc(timercomp, 'timer', compquery())));
     } catch(e) {
         log('exception in intervalHandler()', e);
+        return true;
     }
 }
 
@@ -406,6 +431,76 @@ function setupIntervalHandler(msec) {
         return setInterval(intervalHandler, msec);
     } catch(e) {
         log('exception in setupIntervalHandler()', e);
+        return true;
+    }
+}
+
+/**
+ * Handle an animation event.
+ */
+var animationData = null;
+var currentAnimationData = null;
+var animationLoop = 0;
+var currentAnimationLoop = 0;
+
+function animationHandler() {
+    try {
+        // Get animation data if necessary
+        if (isNil(animationData)) {
+            animationData = docdata(getdoc(animationcomp, 'animation', 
compquery()));
+            if (isNil(animationData)) {
+                // Retry later
+                return true;
+            }
+            currentAnimationData = animationData;
+            currentAnimationLoop = animationLoop;
+        }
+
+        // Update page with animation data
+        updatepage(car(currentAnimationData));
+
+        // End of animation?
+        if (isNil(cdr(currentAnimationData))) {
+            if (currentAnimationLoop == -1) {
+                // Repeat current animation forever
+                currentAnimationData = animationData;
+                return true;
+            }
+
+            currentAnimationLoop = currentAnimationLoop - 1;
+            if (currentAnimationLoop <= 0) {
+                // Get next animation data
+                currentAnimationData = null;
+                animationData = null;
+                return true;
+            }
+
+            // Repeat animation
+            currentAnimationData = animationData;
+            return true;
+        }
+
+        // Move to the next animation frame
+        currentAnimationData = cdr(currentAnimationData);
+        return true;
+
+    } catch(e) {
+        log('exception in animationHandler()', e);
+        return true;
+    }
+}
+
+/**
+ * Setup an animation.
+ */
+function setupAnimationHandler(msec, loop) {
+    animationLoop = loop;
+    animationHandler();
+    try {
+        return setInterval(animationHandler, msec);
+    } catch(e) {
+        log('exception in setupAnimationHandler()', e);
+        return true;
     }
 }
 
@@ -418,7 +513,7 @@ var geoposition = null;
 function locationHandler(pos) {
     try {
         geoposition = pos;
-        return getcompdata(locationcomp, compquery());
+        return updatepage(docdata(getdoc(locationcomp, 'location', 
compquery())));
     } catch(e) {
         locationErrorHandler(e);
     }

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/graph/index.html
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/graph/index.html?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/graph/index.html (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/graph/index.html Mon Jun 13 
07:57:30 2011
@@ -384,6 +384,7 @@ installpalette('lists', pos.rmove(0, 35)
 installpalette('transform', pos.rmove(0, 35), g, bg, spalette, gpalettes);
 installpalette('text', pos.rmove(0, 35), g, bg, spalette, gpalettes);
 installpalette('http', pos.rmove(0, 35), g, bg, spalette, gpalettes);
+installpalette('animation', pos.rmove(0, 35), g, bg, spalette, gpalettes);
 installpalette('talk', pos.rmove(0, 35), g, bg, spalette, gpalettes);
 installpalette('social', pos.rmove(0, 35), g, bg, spalette, gpalettes);
 installpalette('search', pos.rmove(0, 35), g, bg, spalette, gpalettes);

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/page/page.js
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/page/page.js?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/page/page.js (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/page/page.js Mon Jun 13 07:57:30 
2011
@@ -428,9 +428,8 @@ page.widgetselect = function(n, s, wvalu
         // Clear the widget outline
         if (!isNil(n))
             n.cover.style.borderWidth = '0px';
-    }
-    if (isNil(n))
         return true;
+    }
 
     // Update the widget value field
     wvalue.value = page.text(n);
@@ -438,7 +437,7 @@ page.widgetselect = function(n, s, wvalu
     wdelete.disabled = false;
 
     // Outline the widget
-    n.cover.style.borderWidth = s? '2px' : '0px';
+    n.cover.style.borderWidth = '2px';
     return true;
 };
 

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/store/index.html
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/store/index.html?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/store/index.html (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/store/index.html Mon Jun 13 
07:57:30 2011
@@ -139,7 +139,8 @@ function getapps(category) {
     function display(doc) {
         var apps = '<div>';
         var feed = car(elementsToValues(atom.readATOMFeed(mklist(doc))));
-        var entries = cadr(assoc("'entry", cdr(feed)));
+        var aentries = assoc("'entry", cdr(feed));
+        var entries = isNil(aentries)? mklist() : isList(car(cadr(aentries)))? 
cadr(aentries) : mklist(cdr(aentries));
         for (var i = 0; i < length(entries); i++) {
             var entry = entries[i];
             var title = cadr(assoc("'title", entry))

Added: tuscany/sca-cpp/trunk/modules/edit/palettes/animation/palette.composite
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/palettes/animation/palette.composite?rev=1135048&view=auto
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/palettes/animation/palette.composite 
(added)
+++ tuscany/sca-cpp/trunk/modules/edit/palettes/animation/palette.composite Mon 
Jun 13 07:57:30 2011
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"; 
name="palette" targetNamespace="http://palette";>
+ <service name="htattrs" promote="htattrs"/>
+ <service name="htbutton" promote="htbutton"/>
+ <service name="htcheck" promote="htcheck"/>
+ <service name="htimg" promote="htimg"/>
+ <service name="htlink" promote="htlink"/>
+ <service name="htstyle" promote="htstyle"/>
+ <service name="pixels" promote="pixels"/>
+ <component x="90" y="110" name="htattrs" title="html attrs:" color="magenta1">
+  <implementation.python script="nuvem/htattrs.py"/>
+  <service name="htattrs"/>
+  <reference name="value"/>
+ </component>
+ <component x="180" y="10" name="htbutton" title="html button" 
color="magenta1">
+  <implementation.python script="nuvem/htbutton.py"/>
+  <service name="htbutton"/>
+  <reference name="value"/>
+ </component>
+ <component x="180" y="60" name="htcheck" title="html checkbox" 
color="magenta1">
+  <implementation.python script="nuvem/htcheck.py"/>
+  <service name="htcheck"/>
+  <reference name="value"/>
+ </component>
+ <component x="90" y="10" name="htimg" title="html img" color="magenta1">
+  <implementation.python script="nuvem/htimg.py"/>
+  <service name="htimg"/>
+  <reference name="value"/>
+ </component>
+ <component x="90" y="60" name="htlink" title="html link" color="magenta1">
+  <implementation.python script="nuvem/htlink.py"/>
+  <service name="htlink"/>
+  <reference name="value"/>
+ </component>
+ <component x="190" y="110" name="htstyle" title="html style" color="magenta1">
+  <implementation.python script="nuvem/htstyle.py"/>
+  <service name="htstyle"/>
+  <reference name="value"/>
+ </component>
+ <component x="90" y="160" name="pixels" title="pixels" color="magenta1">
+  <implementation.python script="nuvem/pixels.py"/>
+  <service name="pixels"/>
+  <reference name="value"/>
+ </component>
+</composite>

Modified: tuscany/sca-cpp/trunk/modules/edit/palettes/control/palette.composite
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/palettes/control/palette.composite?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/palettes/control/palette.composite 
(original)
+++ tuscany/sca-cpp/trunk/modules/edit/palettes/control/palette.composite Mon 
Jun 13 07:57:30 2011
@@ -1,11 +1,22 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"; 
name="palette" targetNamespace="http://palette";>
+ <service name="animation" promote="animation"/>
  <service name="call" promote="call"/>
  <service name="location" promote="location"/>
+ <service name="schedule" promote="schedule"/>
  <service name="service" promote="service"/>
  <service name="start" promote="start"/>
  <service name="stop" promote="stop"/>
  <service name="timer" promote="timer"/>
+ <component x="90" y="170" name="animation" title="animation" color="green1">
+  <implementation.python script="nuvem/animation.py"/>
+  <service name="animation" visible="false">
+   <binding.http uri="animation"/>
+  </service>
+  <reference name="n"/>
+  <reference name="loop"/>
+  <reference name="content"/>
+ </component>
  <component x="90" y="70" name="call" title="call" color="green1">
   <implementation.python script="nuvem/call.py"/>
   <service name="call"/>
@@ -19,7 +30,15 @@
   </service>
   <reference name="content"/>
  </component>
- <component x="160" y="70" name="service" title="{compname}" color="green1">
+ <component x="170" y="120" name="schedule" title="schedule" color="green1">
+  <implementation.python script="nuvem/schedule.py"/>
+  <service name="schedule" visible="false">
+   <binding.http uri="schedule"/>
+  </service>
+  <reference name="n"/>
+  <reference name="content"/>
+ </component>
+ <component x="150" y="70" name="service" title="{compname}" color="green1">
   <implementation.python script="nuvem/service.py"/>
   <service name="service" visible="false"/>
   <reference name="content"/>

Modified: tuscany/sca-cpp/trunk/modules/edit/palettes/math/palette.composite
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/palettes/math/palette.composite?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/palettes/math/palette.composite 
(original)
+++ tuscany/sca-cpp/trunk/modules/edit/palettes/math/palette.composite Mon Jun 
13 07:57:30 2011
@@ -7,6 +7,7 @@
  <service name="max" promote="max"/>
  <service name="min" promote="min"/>
  <service name="multiply" promote="multiply"/>
+ <service name="pi" promote="pi"/>
  <service name="random" promote="random"/>
  <service name="round" promote="round"/>
  <service name="sin" promote="sin"/>
@@ -57,6 +58,10 @@
   <reference name="value1"/>
   <reference name="value2"/>
  </component>
+ <component x="240" y="130" name="pi" title="pi" color="magenta1">
+  <implementation.python script="nuvem/pi_.py"/>
+  <service name="pi"/>
+ </component>
  <component x="170" y="130" name="random" title="rand" color="magenta1">
   <implementation.python script="nuvem/random_.py"/>
   <service name="random"/>

Modified: tuscany/sca-cpp/trunk/modules/edit/palettes/talk/palette.composite
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/palettes/talk/palette.composite?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/palettes/talk/palette.composite 
(original)
+++ tuscany/sca-cpp/trunk/modules/edit/palettes/talk/palette.composite Mon Jun 
13 07:57:30 2011
@@ -2,7 +2,7 @@
 <composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"; 
name="palette" targetNamespace="http://palette";>
  <service name="sendemail" promote="sendemail"/>
  <service name="sendgtalk" promote="sendgtalk"/>
- <service name="sendsms" promote="sendsms"/>
+ <service name="twsms" promote="twsms"/>
  <service name="voicecall" promote="voicecall"/>
  <component x="170" y="10" name="sendemail" title="email **" color="blue1">
   <implementation.python script="nuvem/sendemail.py"/>
@@ -19,12 +19,15 @@
   <reference name="to"/>
   <reference name="msg"/>
  </component>
- <component x="90" y="120" name="sendsms" title="sms **" color="blue1">
-  <implementation.python script="nuvem/sendsms.py"/>
-  <service name="sendsms"/>
-  <reference name="user"/>
+ <component x="90" y="120" name="twsms" title="sms" color="blue1">
+  <implementation.python script="nuvem/twsms.py"/>
+  <service name="twsms"/>
+  <reference name="sid"/>
+  <reference name="token"/>
+  <reference name="from"/>
   <reference name="to"/>
   <reference name="msg"/>
+  <reference name="s" wiredByImpl="true" visible="false"/>
  </component>
  <component x="170" y="120" name="voicecall" title="voice **" color="blue1">
   <implementation.python script="nuvem/voicecall.py"/>

Modified: tuscany/sca-cpp/trunk/modules/edit/palettes/text/palette.composite
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/palettes/text/palette.composite?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/palettes/text/palette.composite 
(original)
+++ tuscany/sca-cpp/trunk/modules/edit/palettes/text/palette.composite Mon Jun 
13 07:57:30 2011
@@ -50,7 +50,7 @@
   <reference name="separator"/>
   <reference name="string"/>
  </component>
- <component x="170" y="230" name="uppercase" title="upper" color="magenta1">
+ <component x="160" y="230" name="uppercase" title="upper" color="magenta1">
   <implementation.python script="nuvem/uppercase.py"/>
   <service name="uppercase"/>
   <reference name="string"/>

Modified: tuscany/sca-cpp/trunk/modules/edit/store/all/store.apps
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/store/all/store.apps?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/store/all/store.apps (original)
+++ tuscany/sca-cpp/trunk/modules/edit/store/all/store.apps Mon Jun 13 07:57:30 
2011
@@ -1 +1 @@
-((entry (title "Check my public social data") (id "me360")) (entry (title 
"Where are my friends") (id "nearme")) (entry (title "Our photos of an event") 
(id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online 
store") (id "shoppingcart")) (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 "Check my public social data") (id "me360")) (entry (title 
"Where are my friends") (id "nearme")) (entry (title "Our photos of an event") 
(id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online 
store") (id "shoppingcart")) (entry (title "SMS send service") (id "twsms")) 
(entry (title "An empty test app") (id "test")) (entry (title "Test values and 
lists") (id "testvalues")) (entry (title "Test social components") (id 
"testsocial")) (entry (title "Test URL components") (id "testurl")) (entry 
(title "Test logic components") (id "testlogic")) (entry (title "Test text 
processing components") (id "testtext")) (entry (title "Test HTTP components") 
(id "testhttp")) (entry (title "Test SMS API") (id "testsms")) (entry (title 
"Test widgets") (id "testwidgets")) (entry (title "Test more widgets") (id 
"testwidgets2")) (entry (title "Test event components") (id "testevents")) 
(entry (title "Test search components") (id "testsearch")) (entry (title 
 "Test database components") (id "testdb")) (entry (title "Test HTML generator 
components") (id "testwidgets3")) (entry (title "Test animation components") 
(id "testanimation")))

Modified: tuscany/sca-cpp/trunk/modules/edit/store/featured/store.apps
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/store/featured/store.apps?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/store/featured/store.apps (original)
+++ tuscany/sca-cpp/trunk/modules/edit/store/featured/store.apps Mon Jun 13 
07:57:30 2011
@@ -1 +1 @@
-((entry (title "Check my public social data") (id "me360")) (entry (title 
"Where are my friends") (id "nearme")) (entry (title "Our photos of an event") 
(id "ourphotos")) (entry (title "My online store") (id "shoppingcart")) (entry 
(title "Slice") (id "slice")))
+((entry (title "Check my public social data") (id "me360")) (entry (title 
"Where are my friends") (id "nearme")) (entry (title "Our photos of an event") 
(id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online 
store") (id "shoppingcart")) (entry (title "SMS send service") (id "twsms")))

Modified: tuscany/sca-cpp/trunk/modules/edit/store/new/store.apps
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/store/new/store.apps?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/store/new/store.apps (original)
+++ tuscany/sca-cpp/trunk/modules/edit/store/new/store.apps Mon Jun 13 07:57:30 
2011
@@ -1 +1 @@
-((entry (title "Check my public social data") (id "me360")) (entry (title 
"Where are my friends") (id "nearme")) (entry (title "Our photos of an event") 
(id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online 
store") (id "shoppingcart")) (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 "Check my public social data") (id "me360")) (entry (title 
"Where are my friends") (id "nearme")) (entry (title "Our photos of an event") 
(id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online 
store") (id "shoppingcart")) (entry (title "SMS send service") (id "twsms")))

Modified: tuscany/sca-cpp/trunk/modules/edit/store/top/store.apps
URL: 
http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/store/top/store.apps?rev=1135048&r1=1135047&r2=1135048&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/store/top/store.apps (original)
+++ tuscany/sca-cpp/trunk/modules/edit/store/top/store.apps Mon Jun 13 07:57:30 
2011
@@ -1 +1 @@
-((entry (title "Check my public social data") (id "me360")) (entry (title 
"Where are my friends") (id "nearme")) (entry (title "Our photos of an event") 
(id "ourphotos")) (entry (title "My online store") (id "shoppingcart")) (entry 
(title "Slice") (id "slice")))
+((entry (title "Check my public social data") (id "me360")) (entry (title 
"Where are my friends") (id "nearme")) (entry (title "Our photos of an event") 
(id "ourphotos")) (entry (title "Slice") (id "slice")) (entry (title "My online 
store") (id "shoppingcart")) (entry (title "SMS send service") (id "twsms")))


Reply via email to