summaryrefslogtreecommitdiffstats
path: root/sandbox/sca-cloud-tutorial/store-appengine-webapp/war/store.html
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/sca-cloud-tutorial/store-appengine-webapp/war/store.html')
-rw-r--r--sandbox/sca-cloud-tutorial/store-appengine-webapp/war/store.html70
1 files changed, 55 insertions, 15 deletions
diff --git a/sandbox/sca-cloud-tutorial/store-appengine-webapp/war/store.html b/sandbox/sca-cloud-tutorial/store-appengine-webapp/war/store.html
index 2fc5fcc434..c28e417913 100644
--- a/sandbox/sca-cloud-tutorial/store-appengine-webapp/war/store.html
+++ b/sandbox/sca-cloud-tutorial/store-appengine-webapp/war/store.html
@@ -21,6 +21,8 @@
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Online Store - Powered by Apache Tuscany</title>
+<link href="store.css" rel="stylesheet" type="text/css">
+
<script type="text/javascript" src="dojo/dojo/dojo.js"></script>
<script type="text/javascript">
@@ -29,25 +31,52 @@
<script language="JavaScript">
- var catalog = new dojo.rpc.JsonService("/catalogAggregator?smd");
+ var userServices = new dojo.rpc.JsonService("/User?smd");
+
+ var catalog = new dojo.rpc.JsonService("/CatalogAggregator?smd");
+
+ var shoppingCart = new dojo.rpc.JsonService("/ShoppingCart/Cart?smd");
- var shoppingCart = new dojo.rpc.JsonService("/shoppingCart/Cart?smd");
+ var shoppingTotal = new dojo.rpc.JsonService("/ShoppingCart/Total?smd");
- var shoppingTotal = new dojo.rpc.JsonService("/shoppingCart/Total?smd");
+ var userContext;
var catalogItems;
- function catalog_getResponse(items) {
- var catalog = "";
- for (var i=0; i<items.length; i++) {
- var item = items[i].name + ' - ' + items[i].price;
- catalog += '<input name="items" type="checkbox" value="' +
- item + '">' + item + ' <br>';
+ function showHeader() {
+ var userContextCallback = function(context) {
+ userContext = context;
+ //alert(userContext.userId + " --> " + userContext.loginUrl);
+
+ var html='';
+ if(! userContext.userId) {
+ html = "<a href='" + userContext.loginUrl +"'>Login</a>";
+ } else {
+ html = userContext.email + " | <a href='" + userContext.logoutUrl +"'> Logout</a>";
+ }
+
+ document.getElementById('appHeader').innerHTML = html;
+ }
+
+ userServices.getUserContext(document.URL, "").addCallback(userContextCallback);
+ }
+
+ function showCatalogs() {
+ var catalogCallback = function(items) {
+ var catalog = "";
+ for (var i=0; i<items.length; i++) {
+ var item = items[i].name + ' - ' + items[i].price;
+ catalog += '<input name="items" type="checkbox" value="' +
+ item + '">' + item + ' <br>';
+ }
+ document.getElementById('catalog').innerHTML=catalog;
+ catalogItems = items;
}
- document.getElementById('catalog').innerHTML=catalog;
- catalogItems = items;
+
+ catalog.get().addCallback(catalogCallback);
}
+
// This handles the response from shoppingCart.getAll
// which is a collection of Entry<K,D>
function shoppingCart_getResponse(items) {
@@ -112,12 +141,16 @@
document.getElementById('shoppingCart').innerHTML = "";
document.getElementById('total').innerHTML = "";
}
+
function init() {
try {
- catalog.get().addCallback(catalog_getResponse);
- shoppingCart.get("").addCallback(shoppingCart_getResponse);
+ showHeader();
+
+ showCatalogs();
+
+ shoppingCart.getAll().addCallback(shoppingCart_getResponse);
} catch (e) {
alert(e);
}
@@ -129,7 +162,13 @@
</head>
<body onload="init()">
-<h1>Store</h1>
+ <div id="appHeader" class="header">
+ </div>
+
+ <h1>Store</h1>
+
+
+
<div id="store">
<h2>Catalog</h2>
<form name="catalogForm">
@@ -152,4 +191,5 @@
</form>
</div>
</body>
-</html>
+
+</html> \ No newline at end of file