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 2009/12/29 03:07:42 UTC

svn commit: r894303 - in /incubator/photark/trunk/photark-webapp: build-dojo.xml src/main/resources/photo-gallery.composite src/main/webapp/gallery.html

Author: lresende
Date: Tue Dec 29 03:07:41 2009
New Revision: 894303

URL: http://svn.apache.org/viewvc?rev=894303&view=rev
Log:
PHOTARK-6 Applying patch from avdhesh yadav

Added:
    incubator/photark/trunk/photark-webapp/build-dojo.xml   (with props)
Modified:
    incubator/photark/trunk/photark-webapp/src/main/resources/photo-gallery.composite
    incubator/photark/trunk/photark-webapp/src/main/webapp/gallery.html

Added: incubator/photark/trunk/photark-webapp/build-dojo.xml
URL: http://svn.apache.org/viewvc/incubator/photark/trunk/photark-webapp/build-dojo.xml?rev=894303&view=auto
==============================================================================
--- incubator/photark/trunk/photark-webapp/build-dojo.xml (added)
+++ incubator/photark/trunk/photark-webapp/build-dojo.xml Tue Dec 29 03:07:41 2009
@@ -0,0 +1,92 @@
+<?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.
+-->
+<project name="DojoZipInstaller">
+	
+
+    <property name="dojo.version" value="1.4.0"/>
+    <property name="unpack.location" value="${basedir}/src/main/webapp/dojo"/>
+
+    <target name="check-dojo-installed">
+    	<echo message="Building ${localRepository} ..."/>
+        <condition property="already.installed" >
+            <available file="${localRepository}/dojo/dojo/${dojo.version}/dojo-${dojo.version}.zip"/>
+        </condition>
+        <condition property="maven.suffix" value="">
+            <os family="unix"/>
+        </condition>
+        <condition property="maven.suffix" value=".bat">
+            <os family="windows"/>
+        </condition>
+    </target>
+	
+
+    <target name="check-dojo-unpacked">
+        <condition property="already.unpacked" >
+            <available file="${unpack.location}"/>
+        </condition>
+    </target>
+
+    <target name="install-dojo" depends="check-dojo-installed" unless="already.installed">
+        <mkdir dir="${basedir}/target/dojo-download/"/>
+        <get src="http://download.dojotoolkit.org/release-${dojo.version}/dojo-release-${dojo.version}.zip"
+            dest="${basedir}/target/dojo-download/dojo-release-${dojo.version}.zip"
+            verbose="true"
+            usetimestamp="true"/>
+        <exec executable="mvn${maven.suffix}" dir="${basedir}" failonerror="false">
+            <arg line="install:install-file -DgroupId=dojo  -DartifactId=dojo -Dversion=${dojo.version} -Dpackaging=zip -DgeneratePom=true -Dfile=${basedir}/target/dojo-download/dojo-release-${dojo.version}.zip"/>
+        </exec>
+    </target>
+
+    <target name="install-dojo-nomaven" depends="check-dojo-installed" unless="already.installed">
+        <mkdir dir="${basedir}/target/dojo-download/"/>
+        <get src="http://download.dojotoolkit.org/release-${dojo.version}/dojo-release-${dojo.version}.zip"
+            dest="${basedir}/target/dojo-download/dojo-release-${dojo.version}.zip"
+            verbose="true"
+            usetimestamp="true"/>
+        <copy file="${basedir}/target/dojo-download/dojo-release-${dojo.version}.zip" 
+              tofile="${localRepository}/dojo/dojo/${dojo.version}/dojo-${dojo.version}.zip"/>
+    </target>
+	
+
+    <target name="unpack-dojo-files" depends="check-dojo-installed, check-dojo-unpacked" unless="already.unpacked">
+        <fail message="dojo zip file not installed in local repository: ${localRepository}" unless="already.installed"/>
+        <mkdir dir="${basedir}/target/dojo-unpack-temp/"/>
+        <unzip src="${localRepository}/dojo/dojo/${dojo.version}/dojo-${dojo.version}.zip"
+               dest="${basedir}/target/dojo-unpack-temp/"
+               overwrite="true">
+            <patternset>
+                <include name="dojo-release-${dojo.version}/dojo/**"/>
+                <exclude name="dojo-release-${dojo.version}/dojo/tests/**"/>
+                <include name="dojo-release-${dojo.version}/dijit/**"/>
+                <exclude name="dojo-release-${dojo.version}/dojox/**"/>
+                <exclude name="dojo-release-${dojo.version}/util/**"/>
+            </patternset>
+        </unzip>
+        <move file="${basedir}/target/dojo-unpack-temp/dojo-release-${dojo.version}"
+              tofile="${unpack.location}"
+              verbose="true"/>
+        <delete dir="${basedir}/target/dojo-unpack-temp/"/>
+    </target>
+	
+
+    <target name="clean-dojo-files">
+        <delete dir="${unpack.location}"/>
+    </target>
+</project>

Propchange: incubator/photark/trunk/photark-webapp/build-dojo.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/photark/trunk/photark-webapp/build-dojo.xml
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Propchange: incubator/photark/trunk/photark-webapp/build-dojo.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: incubator/photark/trunk/photark-webapp/src/main/resources/photo-gallery.composite
URL: http://svn.apache.org/viewvc/incubator/photark/trunk/photark-webapp/src/main/resources/photo-gallery.composite?rev=894303&r1=894302&r2=894303&view=diff
==============================================================================
--- incubator/photark/trunk/photark-webapp/src/main/resources/photo-gallery.composite (original)
+++ incubator/photark/trunk/photark-webapp/src/main/resources/photo-gallery.composite Tue Dec 29 03:07:41 2009
@@ -21,19 +21,14 @@
 		xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.0"
 		targetNamespace="http://org.apache.photoark"
 		name="photo-gallery">
-    
-   <component name="Gallery">
-        <tuscany:implementation.widget location="gallery.html"/>
-		<reference name="gallery" target="GalleryComponentService">
-		 	<tuscany:binding.jsonrpc uri="http://localhost:8080/photark/GalleryService"/>
-		 </reference>		 
-    </component>
-        
-    <component name="GalleryComponentService">
+  
+    <component name="Gallery">
    		<implementation.java class="org.apache.photark.services.gallery.filesystem.GalleryImpl"/>
    		<property name="name">gallery</property>
    		<service name="Gallery">
-   			<tuscany:binding.jsonrpc uri="http://localhost:8080/photark/GalleryService"/>
+   			<interface.java interface="org.apache.photark.services.gallery.Gallery"/>
+   			<tuscany:binding.jsonrpc uri="/Gallery"/>
    		</service>
     </component>
+    
 </composite>

Modified: incubator/photark/trunk/photark-webapp/src/main/webapp/gallery.html
URL: http://svn.apache.org/viewvc/incubator/photark/trunk/photark-webapp/src/main/webapp/gallery.html?rev=894303&r1=894302&r2=894303&view=diff
==============================================================================
--- incubator/photark/trunk/photark-webapp/src/main/webapp/gallery.html (original)
+++ incubator/photark/trunk/photark-webapp/src/main/webapp/gallery.html Tue Dec 29 03:07:41 2009
@@ -22,7 +22,10 @@
 
 <link href="styles.css" rel="stylesheet">
 
-<script type="text/javascript" src="gallery.js"></script>
+<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.4/dojo/dojo.xd.js">
+	
+</script>
+
 <script language="JavaScript">
 
     index_off= new Image(31,31); index_off.src = "index.gif";
@@ -32,19 +35,35 @@
     prev_off = new Image(31,31); prev_off.src = "prev.gif";
     prev_on  = new Image(31,31); prev_on.src = "prev_on.gif";
 
-    //@Reference
-	var gallery = new tuscany.sca.Reference("gallery");
-
+    var gallery;
+     
 	var galleryName;
 	var galleryAlbums;
+	var albumCovers = new Array();
 	var albumName;
 	var albumItems;
 	var albumPos = 0;
 
-	function initGallery() {
-		try {
-			gallery.getAlbums(gallery_getAlbumsResponse);
-		} catch(exception) {
+	var pos = 0;
+
+	
+	dojo.addOnLoad(function(){ 
+		dojo.require("dojo.rpc.JsonService");
+	    dojo.addOnLoad(initServices);
+	    dojo.addOnLoad(initGallery);
+	 });
+
+	 
+	function initServices(){
+		gallery = new dojo.rpc.JsonService("/photark/Gallery?smd");
+	}
+
+	
+	function initGallery(){
+		try{
+			gallery.getAlbums().addCallback(gallery_getAlbumsResponse);
+		 } 
+		catch(exception){
 			alert(e);
 		}
 	}
@@ -54,9 +73,21 @@
 			alert(exception.msg);
 			return;
 		}
+		
 		galleryAlbums = albums;
+		
+		for(i=0; i< galleryAlbums.length; i++)
+		{
+			gallery.getAlbumCover(galleryAlbums[i].name).addCallback(gallery_getAlbumCoverResponse);
+		}
+	}
 
-		if(galleryAlbums.length > 0) {
+	function gallery_getAlbumCoverResponse(cover, exception)
+	{
+		albumCovers[pos] = cover;
+		pos += 1;
+		if(albumCovers.length == galleryAlbums.length) 
+		{
 			initializeGallery();
 			displayGallery();
 		}
@@ -68,12 +99,11 @@
 		for(i=0; i<galleryAlbums.length; i++) {
 			   var row=table.insertRow(lastRow++);
 			   var column=row.insertCell(0);
-
 			   var albumName = galleryAlbums[i].name;
-			   var albumCover = gallery.getAlbumCover(albumName);
-			   var img_src = albumCover;
-			   var img_html = "<img src=" + "gallery/" + albumName + "/" + img_src + " class=\"slideImage\" height=25% width=25% ondragstart=\"return false\" onselectstart=\"return false\" oncontextmenu=\"return false\" galleryimg=\"no\" usemap=\"#imagemap\" alt=\"\"/>";
-			   var html="<a href=\"javascript:initializeAlbum('" +  albumName +"')\">" + img_html + "</a>";
+			   var img = document.createElement("img");
+			   img.src = "gallery/" + albumName + "/" + albumCovers[i];
+			   var img_html = "<img src=" + img.src + " class=\"slideImage\" height=25% width=25% ondragstart=\"return false\" onselectstart=\"return false\" oncontextmenu=\"return false\" galleryimg=\"no\" usemap=\"#imagemap\" alt=\"\"/>";
+			   var html="<a href=\"javascript:initializeAlbum('" +  albumName +"')\">" +  img_html + "</a>";
 			   column.innerHTML = html;
 
 			   row = table.insertRow(lastRow++);
@@ -95,7 +125,7 @@
 	function initializeAlbum(albumName) {
 		try {
 			this.albumName = albumName; 
-			gallery.getAlbumPictures(albumName, gallery_getAlbumPicturesResponse);
+			gallery.getAlbumPictures(albumName).addCallback(gallery_getAlbumPicturesResponse)
 		} catch(exception) {
 			alert(e);
 		}		
@@ -131,6 +161,7 @@
 	        document.getElementById("albumImage").width=this.width;
 	        document.getElementById("albumImage").height=this.height;
 	    }
+	    var vvv = albumItems[albumPos];
 	    img.src = "gallery/" + albumName + "/" + albumItems[albumPos];
 	    return false;
 	}
@@ -163,8 +194,6 @@
 		}
 	} 
 
-
-
 </script>
 
 </head>