You are viewing a plain text version of this content. The canonical link for it is here.
Posted to photark-commits@incubator.apache.org by lr...@apache.org on 2010/06/08 04:20:40 UTC

svn commit: r952532 - in /incubator/photark/branches/photark-rest: photark-filesystem/ photark-filesystem/src/main/java/org/apache/photark/filesystem/services/ photark-filesystem/src/main/java/org/apache/photark/services/ photark-filesystem/src/main/ja...

Author: lresende
Date: Tue Jun  8 04:20:39 2010
New Revision: 952532

URL: http://svn.apache.org/viewvc?rev=952532&view=rev
Log:
Initial support for adding domain objects for the gallery related atifacts and providing initial set of rest services

Added:
    incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/services/
    incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/services/filesystem/
    incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/services/filesystem/FileSystemGallery.java   (with props)
    incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/services/filesystem/FileSystemImageFilter.java
      - copied, changed from r952530, incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/album/ImageFilter.java
    incubator/photark/branches/photark-rest/photark-filesystem/src/test/java/org/apache/photark/services/
    incubator/photark/branches/photark-rest/photark-filesystem/src/test/java/org/apache/photark/services/filesystem/
    incubator/photark/branches/photark-rest/photark-filesystem/src/test/java/org/apache/photark/services/filesystem/FileSystemGalleryTestCase.java   (with props)
    incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-root/
    incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-root/album-1/
    incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-root/album-1/IMG_0735.jpg   (contents, props changed)
      - copied, changed from r952530, incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-home/album-1/IMG_0735.jpg
    incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-root/album-2/
    incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-root/album-2/IMG_0735.jpg   (contents, props changed)
      - copied, changed from r952530, incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-home/album-2/IMG_0735.jpg
    incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery.composite
      - copied, changed from r952530, incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/ImageUploadService.java
    incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/Album.java   (with props)
    incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/AlbumList.java   (contents, props changed)
      - copied, changed from r952530, incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/album/ImageFilter.java
    incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/AlbumRef.java   (with props)
    incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/ImageRef.java   (with props)
    incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/GalleryService.java   (with props)
Removed:
    incubator/photark/branches/photark-rest/photark-filesystem/src/test/java/org/apache/photark/filesystem/services/FileSystemGalleryTestCase.java
    incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-home/album-1/IMG_0735.jpg
    incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-home/album-2/IMG_0735.jpg
    incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/album/ImageFilter.java
Modified:
    incubator/photark/branches/photark-rest/photark-filesystem/pom.xml
    incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/filesystem/services/FileSystemAlbumImpl.java
    incubator/photark/branches/photark-rest/photark-jcr/src/main/java/org/apache/photark/jcr/services/JCRAlbumImpl.java
    incubator/photark/branches/photark-rest/photark/pom.xml
    incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/Image.java
    incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/ImageMetadata.java
    incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/ImageCollection.java
    incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/ImageUploadService.java
    incubator/photark/branches/photark-rest/photark/src/test/java/org/apache/photark/services/gallery/filesystem/ImageMetadataScannerTestCase.java

Modified: incubator/photark/branches/photark-rest/photark-filesystem/pom.xml
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark-filesystem/pom.xml?rev=952532&r1=952531&r2=952532&view=diff
==============================================================================
--- incubator/photark/branches/photark-rest/photark-filesystem/pom.xml (original)
+++ incubator/photark/branches/photark-rest/photark-filesystem/pom.xml Tue Jun  8 04:20:39 2010
@@ -41,6 +41,12 @@
 			<version>1.0-incubating-SNAPSHOT</version>
 		</dependency>
 
+		<dependency>
+			<groupId>javax.ws.rs</groupId>
+			<artifactId>jsr311-api</artifactId>
+			<version>1.1</version>
+		</dependency>
+		
 		<!-- marking dependency as provided to exclude from war file -->
 		<dependency>
 			<groupId>javax.servlet</groupId>
@@ -49,12 +55,34 @@
 			<scope>provided</scope>
 		</dependency>
 		
+
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-node-impl</artifactId>
+			<version>${tuscany.version}</version>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-host-jetty</artifactId>
+			<version>${tuscany.version}</version>
+			<scope>test</scope>
+		</dependency>
+
 		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
 			<version>4.8.1</version>
 			<scope>test</scope>
 		</dependency>
+
+		<dependency>
+			<groupId>httpunit</groupId>
+			<artifactId>httpunit</artifactId>
+			<version>1.7</version>
+			<scope>test</scope>
+		</dependency>
 	</dependencies>
 
 	<build>

Modified: incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/filesystem/services/FileSystemAlbumImpl.java
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/filesystem/services/FileSystemAlbumImpl.java?rev=952532&r1=952531&r2=952532&view=diff
==============================================================================
--- incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/filesystem/services/FileSystemAlbumImpl.java (original)
+++ incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/filesystem/services/FileSystemAlbumImpl.java Tue Jun  8 04:20:39 2010
@@ -25,7 +25,6 @@ import java.util.List;
 
 import org.apache.photark.Image;
 import org.apache.photark.services.album.Album;
-import org.apache.photark.services.album.ImageFilter;
 import org.oasisopen.sca.annotation.Init;
 import org.oasisopen.sca.annotation.Property;
 
@@ -49,7 +48,7 @@ public class FileSystemAlbumImpl impleme
 			if(location != null) {
 				java.io.File album = new java.io.File(location);
 				if (album.isDirectory() && album.exists()) {
-					String[] listPictures = album.list(new org.apache.photark.services.album.ImageFilter(".jpg"));
+					String[] listPictures = album.list(new org.apache.photark.services.filesystem.FileSystemImageFilter(".jpg"));
 					for(String image : listPictures) {
 						pictures.add(image);
 					}

Added: incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/services/filesystem/FileSystemGallery.java
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/services/filesystem/FileSystemGallery.java?rev=952532&view=auto
==============================================================================
--- incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/services/filesystem/FileSystemGallery.java (added)
+++ incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/services/filesystem/FileSystemGallery.java Tue Jun  8 04:20:39 2010
@@ -0,0 +1,164 @@
+/*
+ * 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 org.apache.photark.services.filesystem;
+
+import java.io.File;
+import java.security.InvalidParameterException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import javax.ws.rs.PathParam;
+
+import org.apache.photark.Album;
+import org.apache.photark.AlbumList;
+import org.apache.photark.AlbumRef;
+import org.apache.photark.Image;
+import org.apache.photark.services.GalleryService;
+import org.oasisopen.sca.annotation.Init;
+import org.oasisopen.sca.annotation.Property;
+
+/**
+ * File system based gallery
+ */
+public class FileSystemGallery implements GalleryService {    
+    private String galleryRoot; 
+    private Map<String, Album> albums = new HashMap<String, Album>();
+
+
+    public FileSystemGallery(@Property(name="galleryRoot") String galleryRoot) {
+        this.galleryRoot = galleryRoot;
+    }
+    
+    @Init
+    public void init() {
+        try {
+            
+            java.net.URL galleryURL = this.getClass().getClassLoader().getResource(galleryRoot);
+            if(galleryURL == null) {
+                // Accomodate for J2EE classpath that starts in WEB-INF\classes
+                galleryURL = this.getClass().getClassLoader().getResource("../../" + galleryRoot);
+            }
+            if(galleryURL == null) {
+                // Workaroud for Google apps Engine
+                String galleryDir = System.getProperty("user.dir") + "/"  + galleryRoot;
+                galleryURL = new java.net.URL("file://" + galleryDir);
+            }
+
+            
+            if(galleryRoot != null) {
+                java.io.File galleryDirectory = new java.io.File(galleryURL.toURI());
+                if (galleryDirectory.isDirectory() && galleryDirectory.exists()) {
+                    java.io.File[] albumDirectoryList = galleryDirectory.listFiles();
+                    for(java.io.File albumDirectory : albumDirectoryList) {
+                        if(! albumDirectory.getName().startsWith(".")) {
+                            if(albumDirectory.isDirectory() && albumDirectory.exists()) {
+                                Album album = createAlbum(albumDirectory);
+                                albums.put(album.getName(), album);
+                            }
+                        }
+                    }
+                }
+            }
+        } catch (Exception e) {
+            // FIXME: ignore for now
+            e.printStackTrace();
+        }
+    }
+
+
+    public AlbumList getAlbums() {
+        AlbumList albumList = new AlbumList();
+
+        Iterator<Entry<String, Album>> albumIterator = albums.entrySet().iterator();  
+        while(albumIterator.hasNext()) {
+            Album album = (Album) albumIterator.next().getValue();
+            albumList.getAlbums().add(AlbumRef.createAlbumRef(album));
+        }
+
+        return albumList;
+    }
+
+    public Album getAlbum(@PathParam("id") String albumId) {
+        if(albumId == null || albumId.isEmpty()) {
+            throw new InvalidParameterException("Invalid/Empty album id");
+        }
+
+        if(! albums.containsKey(albumId)) {
+            throw new InvalidParameterException("Album '" + albumId + "' not found");
+        }
+
+        return albums.get(albumId);
+    }
+
+    public void addAlbum(Album newAlbum) {
+        if(newAlbum.getName() == null || newAlbum.getName().isEmpty()) {
+            throw new InvalidParameterException("Album has no name");
+        }
+        this.albums.put(newAlbum.getName(), newAlbum);
+    }
+
+    public void updateAlbum(Album album) {
+        if(album.getName() == null || album.getName().isEmpty()) {
+            throw new InvalidParameterException("Album has no name");
+        }
+
+        if(! albums.containsKey(album.getName())) {
+            throw new InvalidParameterException("Album '" + album.getName() + "' not found");
+        }
+
+        albums.put(album.getName(), album);
+    }
+
+    public void removeAlbum(String albumId) {
+        if(albumId == null || albumId.isEmpty()) {
+            throw new InvalidParameterException("Invalid/Empty album id");
+        }
+
+        if(! albums.containsKey(albumId)) {
+            throw new InvalidParameterException("Album '" + albumId + "' not found");
+        }
+
+        albums.remove(albumId);
+    }
+    
+    /**
+     * Process a Album folder and return a Album model 
+     * @return the album model representing the album folder
+     */
+    private Album createAlbum(File albumDirectory) {
+
+        Album album = new Album();
+        album.setName(albumDirectory.getName());
+
+        String[] listPictures = albumDirectory.list(new FileSystemImageFilter(".jpg"));
+        for(String image : listPictures) {
+            String imageLocation = "http://localhost:8085/gallery/" + album.getName() + "/" + image;
+
+            Image albumImage = new Image();
+            albumImage.setLocation(imageLocation);
+
+            album.getImages().add(albumImage);
+        }
+
+        return album;   
+    }
+}

Propchange: incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/services/filesystem/FileSystemGallery.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/services/filesystem/FileSystemGallery.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/services/filesystem/FileSystemImageFilter.java (from r952530, incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/album/ImageFilter.java)
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/services/filesystem/FileSystemImageFilter.java?p2=incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/services/filesystem/FileSystemImageFilter.java&p1=incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/album/ImageFilter.java&r1=952530&r2=952532&rev=952532&view=diff
==============================================================================
--- incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/album/ImageFilter.java (original)
+++ incubator/photark/branches/photark-rest/photark-filesystem/src/main/java/org/apache/photark/services/filesystem/FileSystemImageFilter.java Tue Jun  8 04:20:39 2010
@@ -17,7 +17,7 @@
  * under the License.    
  */
 
-package org.apache.photark.services.album;
+package org.apache.photark.services.filesystem;
 
 import java.io.File;
 import java.io.FilenameFilter;
@@ -25,9 +25,9 @@ import java.io.FilenameFilter;
 /**
  * Inner fileFilter class
  */
-public class ImageFilter implements FilenameFilter {
+public class FileSystemImageFilter implements FilenameFilter {
     String afn;
-    public ImageFilter(String afn) { this.afn = afn; }
+    public FileSystemImageFilter(String afn) { this.afn = afn; }
     public boolean accept(File dir, String name) {
         // Strip path information:
         String f = new File(name).getName();

Added: incubator/photark/branches/photark-rest/photark-filesystem/src/test/java/org/apache/photark/services/filesystem/FileSystemGalleryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark-filesystem/src/test/java/org/apache/photark/services/filesystem/FileSystemGalleryTestCase.java?rev=952532&view=auto
==============================================================================
--- incubator/photark/branches/photark-rest/photark-filesystem/src/test/java/org/apache/photark/services/filesystem/FileSystemGalleryTestCase.java (added)
+++ incubator/photark/branches/photark-rest/photark-filesystem/src/test/java/org/apache/photark/services/filesystem/FileSystemGalleryTestCase.java Tue Jun  8 04:20:39 2010
@@ -0,0 +1,82 @@
+/*
+ * 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 org.apache.photark.services.filesystem;
+
+import java.io.IOException;
+
+import org.apache.tuscany.sca.node.Contribution;
+import org.apache.tuscany.sca.node.ContributionLocationHelper;
+import org.apache.tuscany.sca.node.Node;
+import org.apache.tuscany.sca.node.NodeFactory;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import com.meterware.httpunit.GetMethodWebRequest;
+import com.meterware.httpunit.WebConversation;
+import com.meterware.httpunit.WebRequest;
+import com.meterware.httpunit.WebResponse;
+
+public class FileSystemGalleryTestCase {
+    private static final String GALLERY_SERVICE_URL = "http://localhost:8085/gallery";
+    
+    private static Node node;
+
+    @BeforeClass
+    public static void BeforeClass() {
+        try {
+            String contribution = ContributionLocationHelper.getContributionLocation("gallery.composite");
+            node = NodeFactory.newInstance().createNode("gallery.composite", new Contribution("gallery", contribution));
+            node.start();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    
+    @AfterClass
+    public static void AfterClass() {
+        node.stop();
+    }
+    
+    @Test
+    public void testGetAlbums() throws IOException, JSONException {
+        WebConversation wc = new WebConversation();
+        WebRequest request = new GetMethodWebRequest(GALLERY_SERVICE_URL);
+        WebResponse response = wc.getResource(request);
+
+        JSONObject json = new JSONObject(response.getText());
+        
+        //for debug purposes
+        System.out.println(">>>" + json.toString());    
+    }
+    
+    
+    /*
+    @Test
+    public void testDiscoverAlbums() {
+        AlbumList albumList = gallery.getAlbums();
+
+        Assert.assertEquals(2, albumList.getAlbums().size());
+        Assert.assertTrue(albumList.getAlbums().get(0).getName().startsWith("album-"));
+        Assert.assertTrue(albumList.getAlbums().get(0).getName().startsWith("album-"));
+    }*/
+}

Propchange: incubator/photark/branches/photark-rest/photark-filesystem/src/test/java/org/apache/photark/services/filesystem/FileSystemGalleryTestCase.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/photark/branches/photark-rest/photark-filesystem/src/test/java/org/apache/photark/services/filesystem/FileSystemGalleryTestCase.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-root/album-1/IMG_0735.jpg (from r952530, incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-home/album-1/IMG_0735.jpg)
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-root/album-1/IMG_0735.jpg?p2=incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-root/album-1/IMG_0735.jpg&p1=incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-home/album-1/IMG_0735.jpg&r1=952530&r2=952532&rev=952532&view=diff
==============================================================================
Binary files - no diff available.

Propchange: incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-root/album-1/IMG_0735.jpg
------------------------------------------------------------------------------
    svn:mime-type = image/jpeg

Copied: incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-root/album-2/IMG_0735.jpg (from r952530, incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-home/album-2/IMG_0735.jpg)
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-root/album-2/IMG_0735.jpg?p2=incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-root/album-2/IMG_0735.jpg&p1=incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-home/album-2/IMG_0735.jpg&r1=952530&r2=952532&rev=952532&view=diff
==============================================================================
Binary files - no diff available.

Propchange: incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery-root/album-2/IMG_0735.jpg
------------------------------------------------------------------------------
    svn:mime-type = image/jpeg

Copied: incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery.composite (from r952530, incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/ImageUploadService.java)
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery.composite?p2=incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery.composite&p1=incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/ImageUploadService.java&r1=952530&r2=952532&rev=952532&view=diff
==============================================================================
--- incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/ImageUploadService.java (original)
+++ incubator/photark/branches/photark-rest/photark-filesystem/src/test/resources/gallery.composite Tue Jun  8 04:20:39 2010
@@ -1,4 +1,5 @@
-/*
+<?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
@@ -15,15 +16,19 @@
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
  * under the License.    
- */
-
-package org.apache.photark.services;
-
-import javax.servlet.Servlet;
-
-import org.oasisopen.sca.annotation.Remotable;
-
-@Remotable
-public interface ImageUploadService extends Servlet {
-
-}
+-->
+<composite	xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
+		xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
+		targetNamespace="http://photark"
+		name="gallery">
+		
+	<component name="Gallery">
+		<implementation.java class="org.apache.photark.services.filesystem.FileSystemGallery"/>
+		<property name="galleryRoot">gallery-root</property> 
+		<service name="GalleryService">
+			<tuscany:binding.rest uri="http://localhost:8085/gallery">
+			    <tuscany:operationSelector.jaxrs />
+    		</tuscany:binding.rest>
+   		</service>	
+	</component>
+</composite>

Modified: incubator/photark/branches/photark-rest/photark-jcr/src/main/java/org/apache/photark/jcr/services/JCRAlbumImpl.java
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark-jcr/src/main/java/org/apache/photark/jcr/services/JCRAlbumImpl.java?rev=952532&r1=952531&r2=952532&view=diff
==============================================================================
--- incubator/photark/branches/photark-rest/photark-jcr/src/main/java/org/apache/photark/jcr/services/JCRAlbumImpl.java (original)
+++ incubator/photark/branches/photark-rest/photark-jcr/src/main/java/org/apache/photark/jcr/services/JCRAlbumImpl.java Tue Jun  8 04:20:39 2010
@@ -35,9 +35,9 @@ import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
 import org.apache.photark.Image;
+import org.apache.photark.filesystem.services.ImageFilter;
 import org.apache.photark.jcr.JCRRepositoryManager;
 import org.apache.photark.services.album.Album;
-import org.apache.photark.services.album.ImageFilter;
 import org.oasisopen.sca.annotation.Destroy;
 import org.oasisopen.sca.annotation.Init;
 import org.oasisopen.sca.annotation.Property;

Modified: incubator/photark/branches/photark-rest/photark/pom.xml
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark/pom.xml?rev=952532&r1=952531&r2=952532&view=diff
==============================================================================
--- incubator/photark/branches/photark-rest/photark/pom.xml (original)
+++ incubator/photark/branches/photark-rest/photark/pom.xml Tue Jun  8 04:20:39 2010
@@ -45,20 +45,22 @@
 			<groupId>org.apache.tuscany.sca</groupId>
 			<artifactId>tuscany-implementation-java-runtime</artifactId>
 			<version>${tuscany.version}</version>
-			<scope>runtime</scope>
-			<exclusions>
-				<exclusion>
-					<groupId>asm</groupId>
-					<artifactId>asm</artifactId>
-				</exclusion>
-				<exclusion>
-					<groupId>cglib</groupId>
-					<artifactId>cglib</artifactId>
-				</exclusion>
-			</exclusions>			
+			<scope>runtime</scope>			
 		</dependency>
 
 		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-binding-rest-runtime</artifactId>
+			<version>${tuscany.version}</version>
+		</dependency>
+		
+		<dependency>
+			<groupId>javax.ws.rs</groupId>
+			<artifactId>jsr311-api</artifactId>
+			<version>1.1</version>
+		</dependency>
+		
+		<dependency>
 			<groupId>org.apache.sanselan</groupId>
 			<artifactId>sanselan</artifactId>
 			<version>0.97-incubator</version>
@@ -70,7 +72,21 @@
 			<artifactId>servlet-api</artifactId>
 			<version>2.5</version>
 			<scope>provided</scope>
-		</dependency>		
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-node-impl</artifactId>
+			<version>2.0-SNAPSHOT</version>
+			<scope>test</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.apache.tuscany.sca</groupId>
+			<artifactId>tuscany-host-jetty</artifactId>
+			<version>2.0-SNAPSHOT</version>
+			<scope>test</scope>
+		</dependency>
 
 		<dependency>
 			<groupId>junit</groupId>
@@ -79,6 +95,12 @@
 			<scope>test</scope>
 		</dependency>
 
+		<dependency>
+			<groupId>httpunit</groupId>
+			<artifactId>httpunit</artifactId>
+			<version>1.7</version>
+			<scope>test</scope>
+		</dependency>
 	</dependencies>
 
 	<build>

Added: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/Album.java
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/Album.java?rev=952532&view=auto
==============================================================================
--- incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/Album.java (added)
+++ incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/Album.java Tue Jun  8 04:20:39 2010
@@ -0,0 +1,103 @@
+/*
+ * 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 org.apache.photark;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Model representing a gallery album
+ * 
+ * @version $Rev$ $Date$
+ */
+public class Album {
+    private String name;
+    private String description;
+    private String location;
+    private Date dateCreated;
+    private Date dateUpdated;
+    private int size;
+
+    private List<Image> images = new ArrayList<Image>();
+
+    /**
+     * Default constructor
+     */
+    public Album() {
+
+    }
+
+    /**
+     * Get album name
+     * @return album name
+     */
+    public String getName() {
+        return name;
+    }
+
+    /**
+     * Set album name
+     * @param name album name
+     */
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    /**
+     * Get album description
+     * @return album description
+     */
+    public String getDescription() {
+        return description;
+    }
+
+    /**
+     * Set album description
+     * @param description album description
+     */
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    /**
+     * Get album location URL
+     * @return the album location URL
+     */
+    public String getLocation() {
+        return this.location;
+    }
+
+    /**
+     * Set album location URL
+     * @param location album location url
+     */
+    public void setLocation(String location) {
+        this.location = location;
+    }
+
+    /**
+     * List of album images
+     * @return the list of album images
+     */
+    public List<Image> getImages() {
+        return images;
+    }    
+}

Propchange: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/Album.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/Album.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Copied: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/AlbumList.java (from r952530, incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/album/ImageFilter.java)
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/AlbumList.java?p2=incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/AlbumList.java&p1=incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/album/ImageFilter.java&r1=952530&r2=952532&rev=952532&view=diff
==============================================================================
--- incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/album/ImageFilter.java (original)
+++ incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/AlbumList.java Tue Jun  8 04:20:39 2010
@@ -17,20 +17,27 @@
  * under the License.    
  */
 
-package org.apache.photark.services.album;
+package org.apache.photark;
 
-import java.io.File;
-import java.io.FilenameFilter;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
- * Inner fileFilter class
+ * Aggregate a list of album references, 
+ * useful to produce the proper json/xml output
+ * for gallery set of albums, without the full
+ * details of the album model object itself
+ * 
+ * @version $Rev$ $Date$
  */
-public class ImageFilter implements FilenameFilter {
-    String afn;
-    public 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;
+public class AlbumList {
+    private List<AlbumRef> albumRefs = new ArrayList<AlbumRef>();
+
+    /**
+     * Retrieve a list of albums
+     * @return the list of album references
+     */
+    public List<AlbumRef> getAlbums() {
+        return this.albumRefs;
     }
-}
\ No newline at end of file
+}

Propchange: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/AlbumList.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/AlbumList.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/AlbumRef.java
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/AlbumRef.java?rev=952532&view=auto
==============================================================================
--- incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/AlbumRef.java (added)
+++ incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/AlbumRef.java Tue Jun  8 04:20:39 2010
@@ -0,0 +1,105 @@
+/*
+ * 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 org.apache.photark;
+
+/**
+ * A Album Rerefence model object
+ * Useful to provide summary set of album 
+ * information over the wire
+ * 
+ * @version $Rev$ $Date$
+ */
+public class AlbumRef {
+    private String albumName;
+    private String coverImageRef;
+    private String albumRef;
+
+    /**
+     * Default constructor
+     */
+    public AlbumRef() {
+
+    }
+    
+    /**
+     * Get Album name
+     * @return the album name
+     */
+    public String getName() {
+        return albumName;
+    }
+
+    /**
+     * Set Album name
+     * @param name the album name
+     */
+    public void setName(String name) {
+        this.albumName = name;
+    }
+    
+    /**
+     * Get cover image reference
+     * @return the cover image url reference
+     */
+    public String getCoverImageRef() {
+        return coverImageRef;
+    }
+    
+    /**
+     * Set cover image reference
+     * @param coverImageRef the cover image url reference
+     */
+    public void setCoverImageRef(String coverImageRef) {
+        this.coverImageRef = coverImageRef;
+    }
+
+    /**
+     * Get album ref
+     * @return album ref
+     */
+    public String getRef() {
+        return albumRef;
+    }
+    
+    /**
+     * Set album ref
+     * @param albumRef album ref
+     */
+    public void setRef(String albumRef) {
+        this.albumRef = albumRef;
+    }
+    
+    /**
+     * Utility method to create a AlbumRef from a Album
+     * @param album
+     * @return
+     */
+    public static AlbumRef createAlbumRef(Album album) {
+        AlbumRef albumRef = new AlbumRef();
+        
+        albumRef.setName(album.getName());
+        if(! album.getImages().isEmpty()) {
+            albumRef.setCoverImageRef(album.getImages().get(0).getLocation());
+        }
+        albumRef.setRef(album.getLocation());
+        
+        return albumRef;
+    }
+}

Propchange: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/AlbumRef.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/AlbumRef.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/Image.java
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/Image.java?rev=952532&r1=952531&r2=952532&view=diff
==============================================================================
--- incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/Image.java (original)
+++ incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/Image.java Tue Jun  8 04:20:39 2010
@@ -19,37 +19,32 @@
 
 package org.apache.photark;
 
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
-import org.apache.photark.util.ImageMetadataScanner;
-
 /**
  * Model representing an album image
+ * 
+ * @version $Rev$ $Date$
  */
 public class Image {
-    private String imageName;
+    private String name;
+    private String title;
     private Date datePosted;
-    private InputStream imageStream;
-
-    private List<ImageMetadata> imageAttributes;
+    
+    private String url;
+    private String urlThumb;
+    
+    private List<ImageMetadata> imageAttributes = new ArrayList<ImageMetadata>();
 
     /**
      * Constructor
      * @param imageFile a File representing the image
      * @param datePosted Date when image is being added
      */
-    public Image(File imageFile, Date datePosted) {
-        this.imageName = imageFile.getName();
-        this.datePosted = datePosted;
-        try {
-            this.imageStream = new FileInputStream(imageFile);
-        } catch(Exception fnf) {
-            fnf.printStackTrace();
-        }
+    public Image() {
+
     }
     
     /**
@@ -58,10 +53,10 @@ public class Image {
      * @param datePosted Date when image is being added
      * @param imageStream Image stream content
      */
-    public Image(String name, Date datePosted, InputStream imageStream) {
-        this.imageName = name;
+    public Image(String name, String title, Date datePosted) {
+        this.name = name;
+        this.title = title;
         this.datePosted = datePosted;
-        this.imageStream = imageStream;
     }
 
     /**
@@ -69,23 +64,71 @@ public class Image {
      * @return image file name
      */
     public String getName() {
-        return imageName;
+        return name;
+    }
+    
+    /**
+     * Set image file name
+     * @param name image file name
+     */
+    public void setName(String name) {
+        this.name = name;
     }
 
     /**
+     * Get image title
+     * @return image title
+     */
+    public String getTitle() {
+        return title;
+    }
+    
+    /**
+     * Set image title
+     * @param title image title
+     */
+    public void setTitle(String title) {
+        this.title = title;
+    }
+    
+    /**
      * Get date when image was posted
      * @return date posted
      */
     public Date getDatePosted() {
         return datePosted;
     }
+    
+    /**
+     * Get Image URL
+     * @return the image URL
+     */
+    public String getLocation() {
+        return url;
+    }
+
+    /**
+     * Set Image URL
+     * @param url Image URL
+     */
+    public void setLocation(String location) {
+        this.url = location;
+    }
+
+    /**
+     * Get URL for the thumbnail version of the image
+     * @return URL for the thumbnail
+     */
+    public String getThumbnailLocation() {
+        return urlThumb;
+    }
 
     /**
-     * Return image content as stream
-     * @return image stream
+     * Set URL for the thumbnail version of the image
+     * @param urlThumb URL for the thumbnail
      */
-    public InputStream getImageAsStream() {
-        return imageStream;
+    public void setThumbnailLocation(String thumbnailLocation) {
+        this.urlThumb = thumbnailLocation;
     }
     
     /**
@@ -93,9 +136,6 @@ public class Image {
      * @return list of image metadata attributes
      */
     public List<ImageMetadata> getImageMetadata() {
-        if(imageAttributes == null) {
-            imageAttributes = ImageMetadataScanner.scanImageMetadata(imageName, imageStream);
-        }
         return imageAttributes;
     }
 

Modified: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/ImageMetadata.java
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/ImageMetadata.java?rev=952532&r1=952531&r2=952532&view=diff
==============================================================================
--- incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/ImageMetadata.java (original)
+++ incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/ImageMetadata.java Tue Jun  8 04:20:39 2010
@@ -24,15 +24,25 @@ import org.apache.sanselan.formats.tiff.
 /**
  * Represent a EXIF Metatada attribute/value from 
  * It implements the ExifTagConstants from Sanselan to leverage it's sxit field contants
+ * 
+ * @version $Rev$ $Date$
  */
 public class ImageMetadata implements ExifTagConstants {
     private String key;
     private String value;
     
+    /**
+     * Default constructor
+     */
     public ImageMetadata() {
         
     }
     
+    /**
+     * Constructor that initializes name/value pair for metadata
+     * @param key
+     * @param value
+     */
     public ImageMetadata(String key, String value) {
         this.key = key;
         this.value = value;

Added: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/ImageRef.java
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/ImageRef.java?rev=952532&view=auto
==============================================================================
--- incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/ImageRef.java (added)
+++ incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/ImageRef.java Tue Jun  8 04:20:39 2010
@@ -0,0 +1,76 @@
+/*
+ * 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 org.apache.photark;
+
+/**
+ * 
+ * @version $Rev$ $Date$
+ */
+public class ImageRef {
+    private String name;
+    private String title;
+    
+    private String url;
+    private String urlThumb;
+
+    private String imageRef;
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getLocation() {
+        return url;
+    }
+
+    public void setLocation(String location) {
+        this.url = location;
+    }
+
+    public String getThumbnailLocation() {
+        return urlThumb;
+    }
+
+    public void setThumbnailLocation(String thumbnailLocation) {
+        this.urlThumb = thumbnailLocation;
+    }
+
+    public String getImageRef() {
+        return imageRef;
+    }
+
+    public void setImageRef(String imageRef) {
+        this.imageRef = imageRef;
+    }
+    
+    
+}

Propchange: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/ImageRef.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/ImageRef.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Added: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/GalleryService.java
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/GalleryService.java?rev=952532&view=auto
==============================================================================
--- incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/GalleryService.java (added)
+++ incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/GalleryService.java Tue Jun  8 04:20:39 2010
@@ -0,0 +1,65 @@
+/*
+ * 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 org.apache.photark.services;
+
+import javax.ws.rs.DELETE;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.PUT;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.MediaType;
+
+import org.apache.photark.Album;
+import org.apache.photark.AlbumList;
+import org.oasisopen.sca.annotation.Remotable;
+
+/**
+ * Gallery facade service
+ * 
+ * @version $Rev$ $Date$
+ */
+@Remotable
+public interface GalleryService {
+
+    /**
+     * Retrieve a list of all Albums from the Gallery
+     * @return
+     */
+    @GET
+    @Produces(MediaType.APPLICATION_JSON)
+    AlbumList getAlbums();
+    
+    @GET
+    @Produces(MediaType.APPLICATION_JSON)
+    @Path("{id}")
+    Album getAlbum(@PathParam("id") String albumId);
+
+    @POST
+    void addAlbum(Album newAlbum);
+    
+    @PUT
+    void updateAlbum(Album album);
+    
+    @DELETE
+    void removeAlbum(String albumId);
+    
+}

Propchange: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/GalleryService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/GalleryService.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/ImageCollection.java
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/ImageCollection.java?rev=952532&r1=952531&r2=952532&view=diff
==============================================================================
--- incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/ImageCollection.java (original)
+++ incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/ImageCollection.java Tue Jun  8 04:20:39 2010
@@ -26,6 +26,7 @@ import org.oasisopen.sca.annotation.Remo
 
 /**
  * Image collection component
+ * @version $Rev$ $Date$
  */
 @Remotable
 public interface ImageCollection extends Collection<String, InputStream> {

Modified: incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/ImageUploadService.java
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/ImageUploadService.java?rev=952532&r1=952531&r2=952532&view=diff
==============================================================================
--- incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/ImageUploadService.java (original)
+++ incubator/photark/branches/photark-rest/photark/src/main/java/org/apache/photark/services/ImageUploadService.java Tue Jun  8 04:20:39 2010
@@ -23,6 +23,9 @@ import javax.servlet.Servlet;
 
 import org.oasisopen.sca.annotation.Remotable;
 
+/**
+ * @version $Rev$ $Date$
+ */
 @Remotable
 public interface ImageUploadService extends Servlet {
 

Modified: incubator/photark/branches/photark-rest/photark/src/test/java/org/apache/photark/services/gallery/filesystem/ImageMetadataScannerTestCase.java
URL: http://svn.apache.org/viewvc/incubator/photark/branches/photark-rest/photark/src/test/java/org/apache/photark/services/gallery/filesystem/ImageMetadataScannerTestCase.java?rev=952532&r1=952531&r2=952532&view=diff
==============================================================================
--- incubator/photark/branches/photark-rest/photark/src/test/java/org/apache/photark/services/gallery/filesystem/ImageMetadataScannerTestCase.java (original)
+++ incubator/photark/branches/photark-rest/photark/src/test/java/org/apache/photark/services/gallery/filesystem/ImageMetadataScannerTestCase.java Tue Jun  8 04:20:39 2010
@@ -19,22 +19,22 @@
 
 package org.apache.photark.services.gallery.filesystem;
 
-import java.io.File;
 import java.net.URISyntaxException;
-import java.util.Date;
 
-import org.apache.photark.Image;
-import org.junit.Assert;
+import org.junit.Ignore;
 import org.junit.Test;
 
+@Ignore
 public class ImageMetadataScannerTestCase {
 
     @Test
     public void testMetadataScanner() throws URISyntaxException {
+        /*
         File imageFile = new File(ImageMetadataScannerTestCase.class.getClassLoader().getResource("gallery-home/album-1/IMG_0735.jpg").toURI());
         Image image = new Image(imageFile, new Date());
         Assert.assertNotNull(image.getImageMetadata());
         Assert.assertTrue(image.getImageMetadata().size() > 0);
+        */
         /* for debug purpose
         for(ImageMetadata metadata : image.getImageMetadata()) {
             System.out.println(">>" + metadata.getKey() + "\t" + metadata.getValue());