Author: lresende
Date: Wed Jul 2 18:03:50 2008
New Revision: 673556
URL: http://svn.apache.org/viewvc?rev=673556&view=rev
Log:
Simple picture gallery just showing list of pictures from a album stored as
project resource
Added:
tuscany/java/sca/samples/photo-gallery/src/main/java/services/Album.java
(with props)
tuscany/java/sca/samples/photo-gallery/src/main/java/services/AlbumImpl.java
(with props)
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery.html
(contents, props changed)
- copied, changed from r673489,
tuscany/java/sca/samples/photo-gallery/src/main/resources/uiservices/gallery.html
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00368.jpg
(with props)
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00369.jpg
(with props)
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00370.jpg
(with props)
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00371.jpg
(with props)
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00373.jpg
(with props)
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00375.jpg
(with props)
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00376.jpg
(with props)
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00377.jpg
(with props)
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00378.jpg
(with props)
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00379.jpg
(with props)
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00380.jpg
(with props)
Removed:
tuscany/java/sca/samples/photo-gallery/src/main/resources/uiservices/
Modified:
tuscany/java/sca/samples/photo-gallery/src/main/java/launch/Launch.java
tuscany/java/sca/samples/photo-gallery/src/main/resources/photo-gallery.composite
Modified:
tuscany/java/sca/samples/photo-gallery/src/main/java/launch/Launch.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/java/launch/Launch.java?rev=673556&r1=673555&r2=673556&view=diff
==============================================================================
--- tuscany/java/sca/samples/photo-gallery/src/main/java/launch/Launch.java
(original)
+++ tuscany/java/sca/samples/photo-gallery/src/main/java/launch/Launch.java Wed
Jul 2 18:03:50 2008
@@ -25,7 +25,7 @@
public static void main(String[] args) throws Exception {
System.out.println("Starting ...");
SCADomain scaDomain = SCADomain.newInstance("photo-gallery.composite");
- System.out.println("store.composite ready for big business !!!");
+ System.out.println("photo.gallery.composite ready for big business
!!!");
System.in.read();
System.out.println("Stopping ...");
scaDomain.close();
Added: tuscany/java/sca/samples/photo-gallery/src/main/java/services/Album.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/java/services/Album.java?rev=673556&view=auto
==============================================================================
--- tuscany/java/sca/samples/photo-gallery/src/main/java/services/Album.java
(added)
+++ tuscany/java/sca/samples/photo-gallery/src/main/java/services/Album.java
Wed Jul 2 18:03:50 2008
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ */
+
+package services;
+
+import org.osoa.sca.annotations.Remotable;
+
[EMAIL PROTECTED]
+public interface Album {
+
+ public String[] getPictures();
+
+}
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/java/services/Album.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/java/services/Album.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added:
tuscany/java/sca/samples/photo-gallery/src/main/java/services/AlbumImpl.java
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/java/services/AlbumImpl.java?rev=673556&view=auto
==============================================================================
---
tuscany/java/sca/samples/photo-gallery/src/main/java/services/AlbumImpl.java
(added)
+++
tuscany/java/sca/samples/photo-gallery/src/main/java/services/AlbumImpl.java
Wed Jul 2 18:03:50 2008
@@ -0,0 +1,95 @@
+/*
+ * 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.
+ */
+
+package services;
+
+import java.io.File;
+import java.io.FilenameFilter;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.osoa.sca.annotations.Init;
+import org.osoa.sca.annotations.Property;
+
+public class AlbumImpl implements Album {
+ private String gallery;
+ private String album;
+ private String location;
+ private List<String> pictures = new ArrayList<String>();
+
+ @Property
+ public void setGallery(String gallery) {
+ this.gallery = gallery;
+ this.location = null;
+ }
+ @Property
+ public void setAlbum(String album) {
+ this.album = album;
+ this.location = null;
+ }
+
+ protected String getLocation() {
+ if (location == null) {
+ location = gallery + "/" + album + "/";
+ }
+ return location;
+
+ }
+
+ @Init
+ public void init() {
+ try {
+ URL albumURL =
this.getClass().getClassLoader().getResource(getLocation());
+ if(albumURL != null) {
+ File album = new File(albumURL.toURI());
+ if (album.isDirectory() && album.exists()) {
+ String[] listPictures = album.list(new
ImageFilter(".jpg"));
+ for(String image : listPictures) {
+ image = getLocation() + image;
+ pictures.add(image);
+ }
+ }
+ }
+ } catch (Exception e) {
+ // FIXME: ignore for now
+ e.printStackTrace();
+ }
+ }
+
+ public String[] getPictures() {
+ String[] pictureArray = new String[pictures.size()];
+ pictures.toArray(pictureArray);
+ return pictureArray;
+ }
+
+ /**
+ * Inner fileFilter class
+ */
+ private class ImageFilter implements FilenameFilter {
+ String afn;
+ ImageFilter(String afn) { this.afn = afn; }
+ public boolean accept(File dir, String name) {
+ // Strip path information:
+ String f = new File(name).getName();
+ return f.indexOf(afn) != -1;
+ }
+ } ///:~
+
+}
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/java/services/AlbumImpl.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/java/services/AlbumImpl.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery.html
(from r673489,
tuscany/java/sca/samples/photo-gallery/src/main/resources/uiservices/gallery.html)
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery.html?p2=tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery.html&p1=tuscany/java/sca/samples/photo-gallery/src/main/resources/uiservices/gallery.html&r1=673489&r2=673556&rev=673556&view=diff
==============================================================================
---
tuscany/java/sca/samples/photo-gallery/src/main/resources/uiservices/gallery.html
(original)
+++ tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery.html Wed
Jul 2 18:03:50 2008
@@ -18,96 +18,29 @@
-->
<html>
<head>
-<title>Store</title>
+<title>Photo Gallery</title>
-<script type="text/javascript" src="store.js"></script>
+<script type="text/javascript" src="gallery.js"></script>
<script language="JavaScript">
//@Reference
- var catalog = new Reference("catalog");
-
- //@Reference
- var shoppingCart = new Reference("shoppingCart");
+ var album = new Reference("album");
+
+ var albumItems;
- //@Reference
- var shoppingTotal = new Reference("shoppingTotal");
-
- var catalogItems;
-
- function catalog_getResponse(items) {
- var catalog = "";
+ function album_getResponse(items) {
+ var albumPictures = "";
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;
- }
-
- function shoppingCart_getResponse(feed) {
- if (feed != null) {
- var entries = feed.getElementsByTagName("entry");
- var list = "";
- for (var i=0; i<entries.length; i++) {
- var content =
entries[i].getElementsByTagName("content")[0];
- var name =
content.getElementsByTagName("name")[0].firstChild.nodeValue;
- var price =
content.getElementsByTagName("price")[0].firstChild.nodeValue;
- list += name + ' - ' + price + ' <br>';
- }
- document.getElementById("shoppingCart").innerHTML =
list;
-
- if (entries.length != 0) {
-
shoppingTotal.getTotal(shoppingTotal_getTotalResponse);
- }
+ albumPictures += '<img src="' + items[i] + '"> <br>';
}
+ document.getElementById('album').innerHTML=albumPictures;
+ albumItems = items;
}
-
- function shoppingTotal_getTotalResponse(total) {
- document.getElementById('total').innerHTML = total;
- }
-
- function shoppingCart_postResponse(entry) {
- shoppingCart.get("", shoppingCart_getResponse);
- }
-
- function addToCart() {
- var items = document.catalogForm.items;
- var j = 0;
- for (var i=0; i<items.length; i++)
- if (items[i].checked) {
- var entry = '<entry
xmlns="http://www.w3.org/2005/Atom"><title>item</title><content
type="text/xml">' +
- '<Item xmlns="http://services/">' +
- '<name xmlns="">' + catalogItems[i].name + '</name>' +
'<price xmlns="">' + catalogItems[i].price + '</price>' +
- '</Item>' + '</content></entry>';
- shoppingCart.post(entry,
shoppingCart_postResponse);
- items[i].checked = false;
- }
- }
- function checkoutCart() {
- document.getElementById('store').innerHTML='<h2>' +
- 'Thanks for Shopping With Us!</h2>'+
- '<h2>Your Order</h2>'+
- '<form name="orderForm">'+
-
document.getElementById('shoppingCart').innerHTML+
- '<br>'+
-
document.getElementById('total').innerHTML+
- '<br>'+
- '<br>'+
- '<input type="submit" value="Continue
Shopping">'+
- '</form>';
- shoppingCart.del("", null);
- }
- function deleteCart() {
- shoppingCart.del("", null);
- document.getElementById('shoppingCart').innerHTML = "";
- document.getElementById('total').innerHTML = "";
- }
-
+
+
function init() {
- catalog.get(catalog_getResponse);
- shoppingCart.get("", shoppingCart_getResponse);
+ album.getPictures(album_getResponse);
}
</script>
@@ -115,27 +48,10 @@
</head>
<body onload="init()">
-<h1>Store</h1>
- <div id="store">
- <h2>Catalog</h2>
- <form name="catalogForm">
- <div id="catalog" ></div>
- <br>
- <input type="button" onClick="addToCart()" value="Add to Cart">
- </form>
-
- <br>
-
- <h2>Your Shopping Cart</h2>
- <form name="shoppingCartForm">
- <div id="shoppingCart"></div>
- <br>
- <div id="total"></div>
- <br>
- <input type="button" onClick="checkoutCart()" value="Checkout">
- <input type="button" onClick="deleteCart()" value="Empty">
- <a href="../ShoppingCart/Cart/">(feed)</a>
- </form>
+<h1>Photo Gallery</h1>
+ <div id="gallery">
+ <div id="album" ></div>
+ <br>
</div>
</body>
</html>
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery.html
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery.html
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery.html
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed Jul 2 18:03:50 2008
@@ -0,0 +1 @@
+/tuscany/branches/sca-java-1.3/samples/photo-gallery/src/main/resources/uiservices/gallery.html:671193
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery.html
------------------------------------------------------------------------------
svn:mime-type = text/html
Added:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00368.jpg
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00368.jpg?rev=673556&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00368.jpg
------------------------------------------------------------------------------
svn:mime-type = image/jpeg
Added:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00369.jpg
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00369.jpg?rev=673556&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00369.jpg
------------------------------------------------------------------------------
svn:mime-type = image/jpeg
Added:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00370.jpg
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00370.jpg?rev=673556&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00370.jpg
------------------------------------------------------------------------------
svn:mime-type = image/jpeg
Added:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00371.jpg
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00371.jpg?rev=673556&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00371.jpg
------------------------------------------------------------------------------
svn:mime-type = image/jpeg
Added:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00373.jpg
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00373.jpg?rev=673556&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00373.jpg
------------------------------------------------------------------------------
svn:mime-type = image/jpeg
Added:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00375.jpg
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00375.jpg?rev=673556&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00375.jpg
------------------------------------------------------------------------------
svn:mime-type = image/jpeg
Added:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00376.jpg
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00376.jpg?rev=673556&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00376.jpg
------------------------------------------------------------------------------
svn:mime-type = image/jpeg
Added:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00377.jpg
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00377.jpg?rev=673556&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00377.jpg
------------------------------------------------------------------------------
svn:mime-type = image/jpeg
Added:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00378.jpg
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00378.jpg?rev=673556&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00378.jpg
------------------------------------------------------------------------------
svn:mime-type = image/jpeg
Added:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00379.jpg
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00379.jpg?rev=673556&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00379.jpg
------------------------------------------------------------------------------
svn:mime-type = image/jpeg
Added:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00380.jpg
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00380.jpg?rev=673556&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
tuscany/java/sca/samples/photo-gallery/src/main/resources/gallery/boston/dsc00380.jpg
------------------------------------------------------------------------------
svn:mime-type = image/jpeg
Modified:
tuscany/java/sca/samples/photo-gallery/src/main/resources/photo-gallery.composite
URL:
http://svn.apache.org/viewvc/tuscany/java/sca/samples/photo-gallery/src/main/resources/photo-gallery.composite?rev=673556&r1=673555&r2=673556&view=diff
==============================================================================
---
tuscany/java/sca/samples/photo-gallery/src/main/resources/photo-gallery.composite
(original)
+++
tuscany/java/sca/samples/photo-gallery/src/main/resources/photo-gallery.composite
Wed Jul 2 18:03:50 2008
@@ -22,43 +22,26 @@
targetNamespace="http://photo-gallery"
name="photo-gallery">
- <component name="Store">
- <t:implementation.widget location="uiservices/store.html"/>
+ <component name="Gallery">
+ <t:implementation.widget location="gallery.html"/>
<service name="Widget">
- <t:binding.http uri="/store"/>
+ <t:binding.http uri="/gallery"/>
</service>
- <reference name="catalog" target="Catalog">
- <t:binding.jsonrpc/>
- </reference>
- <reference name="shoppingCart" target="ShoppingCart/Cart">
- <t:binding.atom/>
- </reference>
- <reference name="shoppingTotal" target="ShoppingCart/Total">
+ <reference name="album" target="Album">
<t:binding.jsonrpc/>
</reference>
</component>
- <component name="Catalog">
- <implementation.java class="services.FruitsCatalogImpl"/>
- <property name="currencyCode">USD</property>
- <service name="Catalog">
+ <component name="Album">
+ <implementation.java class="services.AlbumImpl"/>
+ <property name="gallery">gallery</property>
+ <property name="album">boston</property>
+ <service name="Album">
<t:binding.jsonrpc/>
</service>
- <reference name="currencyConverter"
target="CurrencyConverter"/>
</component>
-
- <component name="ShoppingCart">
- <implementation.java class="services.ShoppingCartImpl"/>
- <service name="Cart">
- <t:binding.atom uri="/ShoppingCart/Cart"/>
- </service>
- <service name="Total">
- <t:binding.jsonrpc/>
- </service>
+
+ <component name="GalleryPictures">
+ <t:implementation.resource
location="gallery"></t:implementation.resource>
</component>
-
- <component name="CurrencyConverter">
- <implementation.java class="services.CurrencyConverterImpl"/>
- </component>
-
</composite>