summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-10-10 00:35:42 +0000
committerrfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68>2009-10-10 00:35:42 +0000
commitf0d916a6263878537dde5f76922c6d24913885e2 (patch)
treef47d13a9a4a245da8ff82f663d021f7f09ab3784
parent2e8a2ebd0d9f9ffbb7fc6bd9fcb2e0fa06c7f5fb (diff)
Add code to try memcache
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@823753 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--sandbox/rfeng/helloworld-jsp-google-appengine/src/org/apache/tuscany/sca/gae/services/DatastoreServiceImpl.java2
-rw-r--r--sandbox/rfeng/helloworld-jsp-google-appengine/src/sample/HelloworldService.java3
-rw-r--r--sandbox/rfeng/helloworld-jsp-google-appengine/src/sample/HelloworldServiceImpl.java25
-rw-r--r--sandbox/rfeng/helloworld-jsp-google-appengine/war/WEB-INF/web.composite1
4 files changed, 28 insertions, 3 deletions
diff --git a/sandbox/rfeng/helloworld-jsp-google-appengine/src/org/apache/tuscany/sca/gae/services/DatastoreServiceImpl.java b/sandbox/rfeng/helloworld-jsp-google-appengine/src/org/apache/tuscany/sca/gae/services/DatastoreServiceImpl.java
index 5d58358b76..05eb40ff2c 100644
--- a/sandbox/rfeng/helloworld-jsp-google-appengine/src/org/apache/tuscany/sca/gae/services/DatastoreServiceImpl.java
+++ b/sandbox/rfeng/helloworld-jsp-google-appengine/src/org/apache/tuscany/sca/gae/services/DatastoreServiceImpl.java
@@ -23,6 +23,7 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
+import org.oasisopen.sca.annotation.Init;
import org.oasisopen.sca.annotation.Scope;
import org.oasisopen.sca.annotation.Service;
@@ -44,6 +45,7 @@ import com.google.appengine.api.datastore.Transaction;
public class DatastoreServiceImpl implements DatastoreService {
private DatastoreService delegate;
+ @Init
public void init() {
delegate = DatastoreServiceFactory.getDatastoreService();
}
diff --git a/sandbox/rfeng/helloworld-jsp-google-appengine/src/sample/HelloworldService.java b/sandbox/rfeng/helloworld-jsp-google-appengine/src/sample/HelloworldService.java
index 9e19edbf9a..721d93ce8a 100644
--- a/sandbox/rfeng/helloworld-jsp-google-appengine/src/sample/HelloworldService.java
+++ b/sandbox/rfeng/helloworld-jsp-google-appengine/src/sample/HelloworldService.java
@@ -18,9 +18,8 @@
*/
package sample;
-import org.oasisopen.sca.annotation.Remotable;
-@Remotable
+
public interface HelloworldService {
String sayHello(String name);
diff --git a/sandbox/rfeng/helloworld-jsp-google-appengine/src/sample/HelloworldServiceImpl.java b/sandbox/rfeng/helloworld-jsp-google-appengine/src/sample/HelloworldServiceImpl.java
index 69227b1750..d7867c6a45 100644
--- a/sandbox/rfeng/helloworld-jsp-google-appengine/src/sample/HelloworldServiceImpl.java
+++ b/sandbox/rfeng/helloworld-jsp-google-appengine/src/sample/HelloworldServiceImpl.java
@@ -20,12 +20,16 @@ package sample;
import java.io.IOException;
import java.net.URL;
+import java.util.Date;
+import java.util.Stack;
import org.oasisopen.sca.annotation.EagerInit;
import org.oasisopen.sca.annotation.Init;
import org.oasisopen.sca.annotation.Reference;
import org.oasisopen.sca.annotation.Scope;
+import org.oasisopen.sca.annotation.Service;
+import com.google.appengine.api.memcache.MemcacheService;
import com.google.appengine.api.urlfetch.HTTPResponse;
import com.google.appengine.api.urlfetch.URLFetchService;
import com.google.appengine.api.users.User;
@@ -33,6 +37,7 @@ import com.google.appengine.api.users.UserService;
@EagerInit
@Scope("COMPOSITE")
+@Service(HelloworldService.class)
public class HelloworldServiceImpl implements HelloworldService {
@Reference
protected UserService userService;
@@ -40,9 +45,20 @@ public class HelloworldServiceImpl implements HelloworldService {
@Reference
protected URLFetchService fetchService;
+ @Reference
+ protected MemcacheService memcacheService;
+
public String sayHello(String name) {
User user = userService.getCurrentUser();
String id = (user == null) ? "" : user.getUserId();
+
+ Stack<String> stack = (Stack<String>)memcacheService.get("history");
+ if (stack == null) {
+ stack = new Stack<String>();
+ }
+ stack.push(new Date().toString() + ": " + name);
+ memcacheService.put("history", stack);
+
String content = "";
try {
HTTPResponse response = fetchService.fetch(new URL("http://tuscany.apache.org"));
@@ -53,7 +69,14 @@ public class HelloworldServiceImpl implements HelloworldService {
} catch (IOException e) {
e.printStackTrace();
}
- return "[" + id + "] Hello " + name + "<hr><h1>Content from Tuscany Web Site</h1><p>" + content;
+ return "[" + id
+ + "] Hello "
+ + name
+ + "<hr><h1>Content from Tuscany Web Site</h1><p>"
+ + content
+ + "<p>History<hr>"
+ + stack
+ + "</p>";
}
@Init
diff --git a/sandbox/rfeng/helloworld-jsp-google-appengine/war/WEB-INF/web.composite b/sandbox/rfeng/helloworld-jsp-google-appengine/war/WEB-INF/web.composite
index 6923254bc2..e7f05bb67b 100644
--- a/sandbox/rfeng/helloworld-jsp-google-appengine/war/WEB-INF/web.composite
+++ b/sandbox/rfeng/helloworld-jsp-google-appengine/war/WEB-INF/web.composite
@@ -24,6 +24,7 @@
</service>
<reference name="userService" target="UserService"/>
<reference name="fetchService" target="URLFetchService"/>
+ <reference name="memcacheService" target="MemcacheService"/>
</component>
<component name="UserService">