You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rave.apache.org by mp...@apache.org on 2011/08/13 00:04:23 UTC

svn commit: r1157267 - in /incubator/rave/sandbox/science-gateways: ./ gateway-gadgets/ rave-gateway-extensions/ rave-gateway-extensions/src/ rave-gateway-extensions/src/main/ rave-gateway-extensions/src/main/java/ rave-gateway-extensions/src/main/java...

Author: mpierce
Date: Fri Aug 12 22:04:22 2011
New Revision: 1157267

URL: http://svn.apache.org/viewvc?rev=1157267&view=rev
Log:
(RAVE-187) Committing gateway partial skeleton code layout into the Rave sandbox.
 

Added:
    incubator/rave/sandbox/science-gateways/gateway-gadgets/
    incubator/rave/sandbox/science-gateways/gateway-gadgets/myproxy.xml
    incubator/rave/sandbox/science-gateways/pom.xml
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/pom.xml
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/java/
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/java/org/
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/java/org/apache/
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/java/org/apache/rave/
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/java/org/apache/rave/portal/
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/java/org/apache/rave/portal/service/
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/java/org/apache/rave/portal/service/impl/
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/java/org/apache/rave/portal/service/impl/GsiUserService.java
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/webapp/
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/webapp/WEB-INF/
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/webapp/WEB-INF/applicationContext-security.xml
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/webapp/WEB-INF/web.xml
    incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/test/
    incubator/rave/sandbox/science-gateways/rave-merger/
    incubator/rave/sandbox/science-gateways/rave-merger/pom.xml
    incubator/rave/sandbox/science-gateways/rave-merger/src/
    incubator/rave/sandbox/science-gateways/rave-merger/src/assembly/
    incubator/rave/sandbox/science-gateways/rave-merger/src/assembly/merge.xml
    incubator/rave/sandbox/science-gateways/svn_ext.txt
Modified:
    incubator/rave/sandbox/science-gateways/   (props changed)

Propchange: incubator/rave/sandbox/science-gateways/
------------------------------------------------------------------------------
--- svn:externals (added)
+++ svn:externals Fri Aug 12 22:04:22 2011
@@ -0,0 +1 @@
+rave http://svn.apache.org/repos/asf/incubator/rave/trunk

Added: incubator/rave/sandbox/science-gateways/gateway-gadgets/myproxy.xml
URL: http://svn.apache.org/viewvc/incubator/rave/sandbox/science-gateways/gateway-gadgets/myproxy.xml?rev=1157267&view=auto
==============================================================================
--- incubator/rave/sandbox/science-gateways/gateway-gadgets/myproxy.xml (added)
+++ incubator/rave/sandbox/science-gateways/gateway-gadgets/myproxy.xml Fri Aug 12 22:04:22 2011
@@ -0,0 +1,352 @@
+<?xml version="1.0" encoding="UTF-8" ?> 
+<Module>
+  <ModulePrefs title="MyProxy"
+     title_url=""
+     description="A gadget for interaction with MyProxy"
+     height="250" 
+     screenshot=""
+     thumbnail=""
+     scrolling="true"
+     author="Gerald Guo"
+     author_affiliation="CGL, IU"
+     author_email="zhguo@indiana.edu" 
+     author_location="Innovation Center, IU"
+	 category="tools"
+     author_link=""
+     author_photo=""
+     author_aboutme=""
+     author_quote="" >
+  <Require feature="rpc"/>
+  <Require feature="dynamic-height"/>
+  <Require feature="tabs"/>
+  </ModulePrefs>
+
+  <UserPref name="myproxy_url" datatype="string" 
+    default_value="myproxy.teragrid.org"
+    display_name="MyProxy server Domain" />
+
+  <UserPref name="action_domain" datatype="string" 
+    default_value="@gadgetServerLocation@"
+    display_name="Action Domain" />
+
+  <UserPref name="action_path" datatype="string" 
+    default_value="/authn/myproxy"
+    display_name="Form Action Path" />
+
+
+  <Content type="html" view="home, canvas">
+     <![CDATA[
+     <!-- <script type="text/javascript"                                     -->
+     <!--   src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"/> -->
+    <style>
+    .fieldName {
+      width: 100px;
+    }
+    </style>
+	<script type="text/javascript">
+
+      function ajaxCall (func, args) {
+        gadgets.rpc.call("..", "getUserInfo", function() {
+          var tmp = function(msg) {
+            var obj = eval('('+msg+')');
+            if (arguments.callee.args != null)
+              arguments.callee.cb(obj, arguments.callee.args);
+            else
+              arguments.callee.cb(obj);
+          };
+          tmp.cb = func;
+          if (args != null) tmp.args = args;
+          return tmp;
+        }());
+      }
+
+      function deleteCred(obj, args) {
+        var hash = args[0];
+        var username = obj.username, sessionId = obj.sessionId;
+        var params = {};
+        params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.NONE;
+        params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
+        params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;
+        params[gadgets.io.RequestParameters.HEADERS] = {'Accept': 'application/json'};
+        params[gadgets.io.RequestParameters.REFRESH_INTERVAL] = 1;
+
+        var prefs = new gadgets.Prefs();
+        var url = prefs.getString('action_domain') + prefs.getString('action_path');
+
+        var reqparams = {
+          myproxy_credhash : hash, 
+          myproxy_action  : 'delete-cert',
+          portal_username: username
+        };
+        var qstring = gadgets.io.encodeValues(reqparams);
+        url += ';JSESSIONID=' + sessionId + '?' + qstring;
+
+        gadgets.io.makeRequest(url, function(result) {
+          var errors = result.errors;
+          if (errors.length > 0) {
+            setMsg("Error occurred during makerequest invocation. Make sure you have configured url correctly.");
+            gadgets.window.adjustHeight();
+            return;
+          }
+          var obj = eval('('+result.data+')');
+          if (obj.status == 0) {
+            setMsg(obj.description);
+          }
+          setTimeout(function(){ajaxCall(myproxyGetAll);}, 200);
+        },params);
+      }
+
+      function setDefaultCert(obj, args) {
+        var hash = args[0];
+        var username = obj.username, sessionId = obj.sessionId;
+        var params = {};
+        params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.NONE;
+        params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
+        params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;
+        params[gadgets.io.RequestParameters.HEADERS] = {'Accept': 'application/json'};
+        params[gadgets.io.RequestParameters.REFRESH_INTERVAL] = 1;
+
+        var prefs = new gadgets.Prefs();
+        var url = prefs.getString('action_domain') + prefs.getString('action_path');
+
+        var reqparams = {
+          myproxy_credhash : hash,
+          myproxy_action  : 'set-default-cert',
+          portal_username: username
+        };
+        var qstring = gadgets.io.encodeValues(reqparams);
+        url += ';JSESSIONID=' + sessionId + '?' + qstring;
+
+        gadgets.io.makeRequest(url, function(result) {
+          var errors = result.errors;
+          if (errors.length > 0) {
+            setMsg("Error occurred during makerequest invocation. Make sure you have configured url correctly.");
+            gadgets.window.adjustHeight();
+            return;
+          }
+          var obj = eval('('+result.data+')');
+          if (obj.status == 0) {
+            setMsg(obj.description);
+          }
+          ajaxCall(myproxyGetAll);
+        },params);
+      }
+
+      function myproxyGetAll(obj) {
+        var username = obj.username, sessionId = obj.sessionId;
+        var params = {};
+        params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.NONE;
+        params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
+        params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;
+        params[gadgets.io.RequestParameters.HEADERS] = {'Accept': 'application/json'};
+        params[gadgets.io.RequestParameters.REFRESH_INTERVAL] = 1;
+
+        var ele = document.getElementById('certsDiv');
+        ele.innerHTML = "";
+
+        var prefs = new gadgets.Prefs();
+        var url = prefs.getString('action_domain') + prefs.getString('action_path');
+
+        var reqparams = {
+          portal_username : username, 
+          myproxy_action  : 'get-all-certs'
+        };
+        var qstring = gadgets.io.encodeValues(reqparams);
+        url += ';JSESSIONID=' + sessionId + '?' + qstring;
+
+        var numcertele = document.getElementById('num_certs');
+        numcertele.innerHTML = '(0)';
+
+        gadgets.io.makeRequest(url, function(result) {
+          var errors = result.errors;
+          if (errors.length > 0) {
+            setMsg("Error occurred during makerequest invocation. Make sure you have configured url correctly.");
+            gadgets.window.adjustHeight();
+            return;
+          }
+          var obj = eval('('+result.data+')');
+          if (obj.status == 0) {
+            var arr = obj.data;
+            var html = '';
+
+            numcertele.innerHTML = '('+arr.length+')';
+
+            for (var i = 0; i < arr.length; ++i) {
+              html += '<div style="margin-bottom:10px;">'+
+                  '<form>' + 'Name:' + arr[i]['name'] +
+                  '<br>Remaining Time:' +  arr[i]['remain_life_time'] +
+                  "<input type='hidden' name='myproxy_credhash' value='"+username+"'>" +
+                  "<input type='hidden' name='myproxy_action' value='delete-cert'>" +
+                  "<br><input type='Submit' value='Delete' " +
+                  "onclick='javascript: ajaxCall(deleteCred,[\""+arr[i]['hash']+"\"]); return false;'>" +
+                  "<input type='Submit' value='Set As Default' ";
+
+              if (arr[i]['isdefault'] == 1)
+                html += 'disabled=disabled ';
+              html += "onclick='javascript: ajaxCall(setDefaultCert,[\""+arr[i]['hash']+"\"]); return false;'>";
+              if (arr[i]['isdefault'] == 1)
+                html += " [default]";
+              html += '</form></div>';
+            }
+            if (arr.length == 0) html += "You don't have certs.";
+            ele.innerHTML = html;
+          } else {
+            setMsg(obj.description);
+          }
+          gadgets.window.adjustHeight();
+        }, params);
+      }
+
+      function myproxyGetDeflt(obj) {
+        var username = obj.username, sessionId = obj.sessionId;
+        var params = {};
+        params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.NONE;
+        params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
+        params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;
+        params[gadgets.io.RequestParameters.HEADERS] = {'Accept': 'application/json'};
+        params[gadgets.io.RequestParameters.REFRESH_INTERVAL] = 1;
+
+        var prefs = new gadgets.Prefs();
+        var url = prefs.getString('action_domain') + prefs.getString('action_path');
+
+        var reqparams = {
+          portal_username : username, 
+          myproxy_action: 'get-default-cert'
+        };
+        var qstring = gadgets.io.encodeValues(reqparams);
+        url += ';JSESSIONID=' + sessionId + '?' + qstring;
+
+        gadgets.io.makeRequest(url, function(result) {
+          var errors = result.errors;
+          if (errors.length > 0) {
+            setMsg("Error occurred during makerequest invocation. Make sure you have configured url correctly.");
+            gadgets.window.adjustHeight();
+            return;
+          }
+          alert(result.data);
+        }, params);
+      }
+
+      function myproxyCheckout (obj) {
+        var pusername = obj.username, sessionId = obj.sessionId;
+        var form = document.getElementById("fetch_proxy_form");
+        var host = form.myproxy_host.value;
+        var username = form.myproxy_username.value;
+        var password = form.myproxy_password.value;
+
+        var params = {};
+        params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.NONE;
+        params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.TEXT;
+        params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.GET;
+        params[gadgets.io.RequestParameters.HEADERS] = {'Accept': 'application/json'};
+        params[gadgets.io.RequestParameters.REFRESH_INTERVAL] = 1;
+
+        var myproxyparams = {
+          myproxy_host: host,
+          portal_username: pusername,
+          myproxy_username : username, 
+          myproxy_password: password,
+          myproxy_action: 'fetch-cert'
+        };
+        var qstring = gadgets.io.encodeValues(myproxyparams);
+
+        var prefs = new gadgets.Prefs();
+        var url = prefs.getString('action_domain') + prefs.getString('action_path');
+
+        gadgets.io.makeRequest(url+";JSESSIONID="+sessionId+"?"+qstring, 
+          function(result) {
+            var errors = result.errors;
+            if (errors.length > 0) {
+              setMsg("Error occurred during makerequest invocation. Make sure you have configured url correctly.");
+              gadgets.window.adjustHeight();
+              return;
+            }
+            var obj = eval('('+result.data+')');
+            if (obj.status == 0) {
+              setMsg("succeeded");
+              ajaxCall(myproxyGetAll);
+            } else {
+              setMsg("Failed! " + obj.description);
+            }
+          }, params);
+      }
+
+      function setMsg(msg) {
+        var ele = document.getElementById("resultDiv");
+        ele.innerHTML = msg;
+      }
+
+      /**
+       * not used right now
+       */
+      function init() {
+        var tabs = new gadgets.TabSet(__MODULE_ID__, "MyProxy-Tabs"); 
+        var tabId = tabs.addTab("All Certs", {
+          callback: function(tabId) {
+            var selectedTab = tabs.getSelectedTab();
+            if (selectedTab.ishindig == null)
+              selectedTab.ishindig = {};
+            if (selectedTab.ishindig.allcerts != null) return;
+            document.getElementById(tabId).innerHTML = "";
+          }
+        });
+      }
+
+      gadgets.util.registerOnLoadHandler(function() {
+        setTimeout(function() { ajaxCall(myproxyGetAll); }, 100);
+        setTimeout("gadgets.window.adjustHeight();", 300);
+      });
+    </script>
+
+    <div class="authsec">
+      <div><h3 style="display:inline;">Your certificates</h3><span id="num_certs"></span></div>
+      <div id="certsDiv"></div>
+
+      <h3>Certificate checkout from MyProxy</h3>
+      <form method="POST" action="#" id="fetch_proxy_form">
+      <table>
+        <tr><td>
+        <span class="fieldName">Host: </span>
+        </td><td>
+        <input type="text" name="myproxy_host" value="__UP_myproxy_url__"><br>
+        </td></tr><tr><td>
+        <span class="fieldName">User name: </span>
+        </td><td>
+        <input type="text" name="myproxy_username"> <br>
+        </td></tr><tr><td>
+        <span class="fieldName">Password: </span>
+        </td><td>
+        <input type="password" name="myproxy_password"><br>
+        </td></tr><tr><td colspan="2">
+        <input type="hidden" name="myproxy_action" value="fetch-cert">
+        <input type="submit" onclick="javascript: ajaxCall(myproxyCheckout); return false;" value="Submit">
+        <input type="reset" value="Clear">
+        </td></tr>
+        </table>
+        <!-- <input type="submit" onclick="javascript:return true;" value="Submit"> -->
+      </form>
+
+
+      <!-- <h3>Get all your certs from proxy store</h3>                                 -->
+      <!-- <form method="POST" action="__UP_form_action_url__" id="get_all_certs_form"> -->
+      <!--   <input type="hidden" name="myproxy_action" value="get-all-certs"><br>      -->
+        <!-- <input type="submit" onclick="javascript:return true;" value="Submit"> -->
+      <!--   <input type="submit" onclick="javascript:ajaxCall(myproxyGetAll);return false;" value="Submit"> -->
+      <!-- </form>                                                                                           -->
+
+      <!-- <h3>Get your default cert from proxy store</h3>                                 -->
+      <!-- <form method="POST" action="__UP_form_action_url__" id="get_default_cert_form"> -->
+      <!--   <input type="hidden" name="myproxy_action" value="get-default-cert"><br>      -->
+        <!-- <input type="submit" onclick="javascript:return true;" value="Submit"> -->
+      <!--   <input type="submit" onclick="javascript:ajaxCall(myproxyGetDeflt); return false;" value="Submit"> -->
+      <!-- </form>                                                                                              -->
+
+      <div> <span style="font-weight:bold;">Status</span>:
+        <div id="resultDiv" style="display:inline;"></div>
+      </div>
+    </div>
+
+    ]]>
+  </Content> 
+</Module>
+

Added: incubator/rave/sandbox/science-gateways/pom.xml
URL: http://svn.apache.org/viewvc/incubator/rave/sandbox/science-gateways/pom.xml?rev=1157267&view=auto
==============================================================================
--- incubator/rave/sandbox/science-gateways/pom.xml (added)
+++ incubator/rave/sandbox/science-gateways/pom.xml Fri Aug 12 22:04:22 2011
@@ -0,0 +1,98 @@
+<?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.
+  
+  $Id: pom.xml 1152919 2011-08-01 20:19:57Z jasha $
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.apache.rave</groupId>
+    <artifactId>rave-sandbox</artifactId>
+    <name>Apache Rave :: rave-sandbox</name>
+    <description>Apache Rave Project Sandbox</description>
+    <packaging>pom</packaging>
+    <version>SNAPSHOT</version>
+
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/rave/sandbox</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/rave/sandbox</developerConnection>
+        <url>http://svn.apache.org/viewvc/incubator/rave/sandbox/</url>
+    </scm>
+
+    <properties>
+    </properties>
+
+  <repositories>
+    <repository>
+      <id>apache.snapshots</id>
+      <name>Apache Snapshot Repository</name>
+      <url>http://repository.apache.org/snapshots</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+    </repository>
+  </repositories>
+
+
+  <build>
+    <defaultGoal>install</defaultGoal>
+
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>2.3.2</version>
+          <configuration>
+            <source>1.6</source>
+            <target>1.6</target>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-war-plugin</artifactId>
+          <version>2.1.1</version>
+        </plugin>
+        <plugin>
+          <groupId>com.googlecode.mavenfilesync</groupId>
+          <artifactId>maven-filesync-plugin</artifactId>
+          <version>1.0.0</version>
+          <configuration>
+            <override>${maven.filesync.override}</override>
+          </configuration>
+          <executions>
+            <execution>
+              <goals>
+                <goal>generate</goal>
+              </goals>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+
+  </build>
+
+    <modules>
+        <module>rave</module>
+        <module>rave-gateway-extensions</module>
+		  <module>rave-merger</module>
+    </modules>    
+</project>

Added: incubator/rave/sandbox/science-gateways/rave-gateway-extensions/pom.xml
URL: http://svn.apache.org/viewvc/incubator/rave/sandbox/science-gateways/rave-gateway-extensions/pom.xml?rev=1157267&view=auto
==============================================================================
--- incubator/rave/sandbox/science-gateways/rave-gateway-extensions/pom.xml (added)
+++ incubator/rave/sandbox/science-gateways/rave-gateway-extensions/pom.xml Fri Aug 12 22:04:22 2011
@@ -0,0 +1,428 @@
+<?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.
+  
+  $Id: pom.xml 1152919 2011-08-01 20:19:57Z jasha $
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  
+  <modelVersion>4.0.0</modelVersion>
+  
+  <parent>
+	 <groupId>org.apache.rave</groupId>
+	 <artifactId>rave-project</artifactId>
+	 <version>0.3-incubating-SNAPSHOT</version>
+	 <relativePath>../rave/</relativePath>
+  </parent>
+  
+  <groupId>org.apache.rave</groupId>
+  <artifactId>rave-gateway-extensions</artifactId>
+  <name>Apache Rave :: rave-sandbox-extensions</name>
+  <description>Apache Rave Project Sandbox</description>
+  <packaging>war</packaging>
+  <version>SNAPSHOT</version>
+
+  <properties>
+	 <scope.sharedlib></scope.sharedlib>
+	 <cargo.version>1.1.0</cargo.version>
+	 <!-- if you want a remote debugging on a different a address
+			override on command line with -Dcargo.debug.addres=xxxx -->
+	 <cargo.debug.address>8000</cargo.debug.address>
+	 <!-- if you want to start remote debugging session suspended
+			override on command line with -Dcargo.debug.suspend=y -->
+	 <cargo.debug.suspend>n</cargo.debug.suspend>
+	 
+  </properties>
+
+  <dependencies>
+
+	 <dependency>
+		<groupId>org.apache.rave</groupId>
+		<artifactId>rave-commons</artifactId>
+		<version>0.3-incubating-SNAPSHOT</version>
+	 </dependency>
+
+	 <!--The rave-portal.jar is needed for compilation -->
+	 <dependency>
+		<groupId>org.apache.rave</groupId>
+		<artifactId>rave-portal</artifactId>
+		<version>0.3-incubating-SNAPSHOT</version>
+		<type>jar</type>
+	 </dependency>
+
+	 <!-- The rave-portal.war dependency is needed for running with cargo -->
+	 <dependency>
+		<groupId>org.apache.rave</groupId>
+		<artifactId>rave-portal</artifactId>
+		<version>0.3-incubating-SNAPSHOT</version>
+		<type>war</type>
+		<scope>provided</scope>
+	 </dependency>
+	 
+	 <dependency>
+		<groupId>org.apache.rave</groupId>
+		<artifactId>rave-shindig</artifactId>
+		<type>war</type>
+		<version>0.3-incubating-SNAPSHOT</version>
+		<scope>provided</scope>
+	 </dependency>
+
+	 <!-- These are needed for Grid authentication -->
+    <dependency>
+      <groupId>cog-jglobus</groupId>
+      <artifactId>cog-jglobus</artifactId>
+      <version>1.8.0_1</version>
+      <scope>${scope.sharedlib}</scope>
+    </dependency>
+    <dependency>
+      <groupId>lead-security</groupId>
+      <artifactId>cryptix-asn1</artifactId>
+      <version>versionless</version>
+      <scope>${scope.sharedlib}</scope>
+    </dependency>
+    <dependency>
+      <groupId>lead-security</groupId>
+      <artifactId>cryptix32</artifactId>
+      <version>versionless</version>
+      <scope>${scope.sharedlib}</scope>
+    </dependency>
+    <dependency>
+      <groupId>lead-security</groupId>
+      <artifactId>jce-jdk13</artifactId>
+      <version>131</version>
+      <scope>${scope.sharedlib}</scope>
+    </dependency>
+    <dependency>
+      <groupId>lead-security</groupId>
+      <artifactId>puretls</artifactId>
+      <version>0.9b4</version>
+      <scope>${scope.sharedlib}</scope>
+    </dependency>
+    <dependency>
+      <groupId>proxymanager-api</groupId>
+      <artifactId>proxymanager-api</artifactId>
+      <version>4.2</version>
+      <scope>${scope.sharedlib}</scope>
+    </dependency>
+    <dependency>
+      <groupId>javax.portlet</groupId>
+      <artifactId>portlet-api</artifactId>
+      <version>1.0</version>
+      <scope>${scope.sharedlib}</scope>
+    </dependency>  
+    <dependency>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
+      <version>1.3</version>
+      <type>jar</type>
+      <scope>${scope.sharedlib}</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.1.1</version>
+      <scope>${scope.sharedlib}</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-fileupload</groupId>
+      <artifactId>commons-fileupload</artifactId>
+      <version>1.1</version>
+      <type>jar</type>
+      <scope>${scope.sharedlib}</scope>
+    </dependency> 
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <version>3.1</version>
+      <scope>${scope.sharedlib}</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-digester</groupId>
+      <artifactId>commons-digester</artifactId>
+      <version>1.8</version>
+      <scope>${scope.sharedlib}</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-el</groupId>
+      <artifactId>commons-el</artifactId>
+      <version>1.0</version>
+      <scope>${scope.sharedlib}</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.4</version>
+      <scope>${scope.sharedlib}</scope>
+    </dependency>
+
+
+	 <!-- Shindig -->
+	 
+	 <dependency>
+		<groupId>org.apache.shindig</groupId>
+		<artifactId>shindig-common</artifactId>
+		<type>jar</type>
+		<scope>compile</scope>
+		<version>${apache.shindig.version}</version>
+		<exclusions>
+		  <exclusion>
+			 <groupId>org.apache.tomcat</groupId>
+			 <artifactId>jasper-el</artifactId>
+		  </exclusion>
+		  <exclusion>
+			 <groupId>org.apache.tomcat</groupId>
+			 <artifactId>el-api</artifactId>
+		  </exclusion>
+		</exclusions>
+	 </dependency>
+
+		  <!-- Spring -->
+		  <dependency>
+			 <groupId>org.springframework</groupId>
+			 <artifactId>spring-webmvc</artifactId>
+		  </dependency>
+		  
+		  <dependency>
+			 <groupId>org.springframework</groupId>
+			 <artifactId>spring-jdbc</artifactId>
+		  </dependency>
+		  
+		  <dependency>
+			 <groupId>org.springframework</groupId>
+			 <artifactId>spring-orm</artifactId>
+		  </dependency>
+		  
+		  <dependency>
+			 <groupId>org.springframework.security</groupId>
+			 <artifactId>spring-security-web</artifactId>
+		  </dependency>
+		  
+		  <dependency>
+			 <groupId>org.springframework.security</groupId>
+			 <artifactId>spring-security-config</artifactId>
+		  </dependency>
+		  
+		  <dependency>
+			 <groupId>org.springframework.security</groupId>
+			 <artifactId>spring-security-openid</artifactId>
+			 <version>${org.springframework.version}</version>
+		  </dependency>
+		  
+		  <dependency>
+			 <groupId>org.springframework</groupId>
+			 <artifactId>spring-oxm</artifactId>
+			 <version>${org.springframework.version}</version>
+		  </dependency>
+		  
+		  <dependency>
+			 <groupId>org.openid4java</groupId>
+			 <artifactId>openid4java-consumer</artifactId>
+			 <version>${org.openid4java.version}</version>
+			 <type>pom</type>
+		  </dependency>
+		  
+		  <!-- Jackson JSON Mapper -->
+		  <dependency>
+			 <groupId>org.codehaus.jackson</groupId>
+			 <artifactId>jackson-mapper-asl</artifactId>
+			 <version>1.8.1</version>
+		  </dependency>
+
+        <!-- JSON Support -->
+        <dependency>
+            <groupId>org.json</groupId>
+            <artifactId>json</artifactId>
+            <version>20090211</version>
+        </dependency>
+
+        <!--Persistence-->
+        <dependency>
+            <groupId>org.apache.openjpa</groupId>
+            <artifactId>openjpa</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.h2database</groupId>
+            <artifactId>h2</artifactId>
+        </dependency>
+
+        <!-- JSTL -->
+        <dependency>
+            <groupId>org.glassfish.web</groupId>
+            <artifactId>jstl-impl</artifactId>
+        </dependency>
+
+        <!-- Logging -->
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>jcl-over-slf4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-log4j12</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.ibm.icu</groupId>
+            <artifactId>icu4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+        </dependency>
+
+        <!-- Test -->
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.easymock</groupId>
+            <artifactId>easymock</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-test</artifactId>
+        </dependency>
+    </dependencies>
+
+
+    <profiles>
+        <profile>
+            <id>dist</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.cargo</groupId>
+                        <artifactId>cargo-maven2-plugin</artifactId>
+                        <version>${cargo.version}</version>
+                        <executions>
+                            <execution>
+                                <id>dist-cargo-package</id>
+                                <phase>install</phase>
+                                <goals>
+                                    <goal>configure</goal>
+                                    <goal>package</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+				</build>
+		  </profile>
+	 </profiles>
+	 
+	 <build>
+		<defaultGoal>install</defaultGoal>
+		<plugins>
+		  <plugin>
+			 <groupId>com.googlecode.mavenfilesync</groupId>
+			 <artifactId>maven-filesync-plugin</artifactId>
+			 <configuration>
+				<mappings>
+				  <mapping>
+					 <sourceFolder>src/main/webapp</sourceFolder>
+					 <destinationFolder>@target/tomcat6x/webapps/portal</destinationFolder>
+				  </mapping>
+				  <mapping>
+					 <sourceFolder>src/main/resources</sourceFolder>
+					 <destinationFolder>@target/tomcat6x/webapps/portal/WEB-INF/classes</destinationFolder>
+				  </mapping>
+				</mappings>
+			 </configuration>
+		  </plugin>
+
+            <plugin>
+                <groupId>com.github.searls</groupId>
+                <artifactId>jasmine-maven-plugin</artifactId>
+                <version>1.0.2-beta-2</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>generateManualRunner</goal>
+                            <goal>resources</goal>
+                            <goal>testResources</goal>
+                            <goal>test</goal>
+                        </goals>
+                        <configuration>
+                            <jsSrcDir>${project.basedir}/src/main/webapp/script/</jsSrcDir>
+                            <debug>true</debug>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.cargo</groupId>
+                <artifactId>cargo-maven2-plugin</artifactId>
+					 <extensions>true</extensions>
+                <version>${cargo.version}</version>
+                <configuration>
+						<descriptor>src/merge.xml</descriptor>
+                    <wait>true</wait>
+                    <configuration>
+                        <properties>
+                            <cargo.jvmargs>
+                                <![CDATA[-Xdebug -Xrunjdwp:transport=dt_socket,address=${cargo.debug.address},server=y,suspend=${cargo.debug.suspend} -noverify ${javaagent}]]>
+                            </cargo.jvmargs>
+                            <cargo.tomcat.context.reloadable>true</cargo.tomcat.context.reloadable>
+                        </properties>
+                        <home>${project.build.directory}/tomcat6x</home>
+                        <deployables>
+                            <deployable>
+                                <groupId>org.apache.rave</groupId>
+                                <artifactId>rave-shindig</artifactId>
+                                <type>war</type>
+                                <properties>
+                                    <context>/ROOT</context>
+                                </properties>
+                            </deployable>
+                            <deployable>
+                                <groupId>org.apache.rave</groupId>
+                                <artifactId>rave-portal</artifactId>
+                                <type>war</type>
+                                <properties>
+                                    <context>/portal</context>
+                                </properties>
+                            </deployable>
+                        </deployables>
+                    </configuration>
+                    <container>
+                        <containerId>tomcat6x</containerId>
+                        <timeout>180000</timeout>
+                        <zipUrlInstaller>
+                            <url>
+                                http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.tar.gz
+                            </url>
+                        </zipUrlInstaller>
+                        <systemProperties>
+                            <shindig.host>localhost</shindig.host>
+                        </systemProperties>
+                    </container>
+                </configuration>
+            </plugin>
+        </plugins>
+	 </build>
+  </project>
\ No newline at end of file

Added: incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/java/org/apache/rave/portal/service/impl/GsiUserService.java
URL: http://svn.apache.org/viewvc/incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/java/org/apache/rave/portal/service/impl/GsiUserService.java?rev=1157267&view=auto
==============================================================================
--- incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/java/org/apache/rave/portal/service/impl/GsiUserService.java (added)
+++ incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/java/org/apache/rave/portal/service/impl/GsiUserService.java Fri Aug 12 22:04:22 2011
@@ -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.rave.portal.service.impl;
+
+import org.apache.rave.portal.model.User;
+import org.apache.rave.portal.repository.UserRepository;
+import org.apache.rave.portal.service.UserService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.DataAccessException;
+import org.springframework.security.authentication.AbstractAuthenticationToken;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContext;
+import org.springframework.security.core.context.SecurityContextHolder;
+import org.springframework.security.core.context.SecurityContextImpl;
+import org.springframework.security.core.userdetails.UserDetails;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ *
+ */
+@Service(value = "gsiUserService")
+public class GsiUserService extends DefaultUserService {
+    private static int defaultPort = 7512;
+    private static int defaultLifeTime = 60*24*100;
+	 private static String defaultServer="myproxy.teragrid.org";
+
+    protected static final Logger log = LoggerFactory.getLogger(GsiUserService.class);
+    private UserRepository userRepository;
+
+    // public static String trustedCertsFile = "trustedCAs";
+    private String trustedCertsFile;
+    private X509Certificate[] trustedCertificates = null;
+    private GSSCredential gssCredential = null;
+    protected String myproxyHostname;
+    protected String myproxyUserName;
+    protected String myproxyPassword;
+    protected int myproxyPortNumber;
+    protected int myproxyLifeTime ;    
+
+    @Autowired
+    public GsiUserService(UserRepository userRepository) {
+		  super(userRepository);
+        this.userRepository = userRepository;
+		  myproxyHostname=defaultServer;
+		  myproxyLifeTime=defaultLifeTime;
+		  myproxyPortNumber=defaultPort;
+    }
+
+    @Override
+    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException {
+        log.debug("loadUserByUsername called with: " + username);
+        final User user = userRepository.getByUsername(username);
+        if(user == null) {
+            throw new UsernameNotFoundException("User with username '" + username + "' was not found!");
+        }
+		  System.out.println("GSI User Service: Can do anything else here too.");
+		  MyProxy myproxy=new MyProxy(myproxyHostname,myproxyPortNumber);
+		  GSSCredential cred = myproxy.get(user.getUsername(), user.getPassword(), myproxyLifeTime);	  
+        return user;
+    }
+}
\ No newline at end of file

Added: incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/webapp/WEB-INF/applicationContext-security.xml
URL: http://svn.apache.org/viewvc/incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/webapp/WEB-INF/applicationContext-security.xml?rev=1157267&view=auto
==============================================================================
--- incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/webapp/WEB-INF/applicationContext-security.xml (added)
+++ incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/webapp/WEB-INF/applicationContext-security.xml Fri Aug 12 22:04:22 2011
@@ -0,0 +1,66 @@
+<?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.
+  -->
+
+<!--
+	This security file uses the default spring simple form login
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:security="http://www.springframework.org/schema/security"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+			    http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd">
+
+  <security:http auto-config="true" use-expressions="true" disable-url-rewriting="true">
+	 <security:intercept-url pattern="/newaccount.jsp*" access="permitAll"/>
+	 <security:intercept-url pattern="/app/newaccount*" access="permitAll"/>
+	 <security:intercept-url pattern="/login.jsp*" filters="none" />
+	 <security:intercept-url pattern="/css/**" access="permitAll"/>
+	 <security:intercept-url pattern="/images/**" access="permitAll"/>
+	 <security:intercept-url pattern="/script/**" access="permitAll"/>
+	 <!-- all urls must be authenticated -->
+	 <security:intercept-url pattern="/**"
+									 access="isAuthenticated()"/>
+	 <security:openid-login user-service-ref="gsiUserService">
+		<security:attribute-exchange>
+		  <!-- Supported by MyOpenID.com -->
+		  <security:openid-attribute name="firstName" type="http://schema.openid.net/namePerson/first"/>
+		  <security:openid-attribute name="lastName" type="http://schema.openid.net/namePerson/last"/>
+		  <security:openid-attribute name="email" type="http://schema.openid.net/contact/email" required="true"/>
+		  <!-- security:openid-attribute name="language" type="http://schema.openid.net/language/pref"/>
+				 <security:openid-attribute name="birthDate" type="http://schema.openid.net/birthDate"/>
+				 <security:openid-attribute name="namePerson" type="http://schema.openid.net/namePerson" required="true"/>
+				 <security:openid-attribute name="nickname" type="http://schema.openid.net/namePerson/friendly" required="true"/>
+				 <security:openid-attribute name="country" type="http://schema.openid.net/contact/country/home"/>
+		  -->
+		</security:attribute-exchange>
+	 </security:openid-login>
+	 <security:form-login login-page="/login.jsp" />
+	 <security:logout/>
+  </security:http>
+  
+  <security:authentication-manager>
+	 <security:authentication-provider
+		  user-service-ref="gsiUserService">
+		<security:password-encoder ref="passwordEncoder">
+		  <security:salt-source ref="saltSource"/>
+		</security:password-encoder>
+	 </security:authentication-provider>
+  </security:authentication-manager>
+</beans>

Added: incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/webapp/WEB-INF/web.xml?rev=1157267&view=auto
==============================================================================
--- incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/webapp/WEB-INF/web.xml (added)
+++ incubator/rave/sandbox/science-gateways/rave-gateway-extensions/src/main/webapp/WEB-INF/web.xml Fri Aug 12 22:04:22 2011
@@ -0,0 +1,72 @@
+<?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.
+  
+  $Id: web.xml 1153583 2011-08-03 17:02:45Z jcian $
+-->
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
+         id="Shindig"
+         version="2.5">
+
+    <display-name>Rave Portal</display-name>
+
+    <context-param>
+        <param-name>contextConfigLocation</param-name>
+        <param-value>
+            /WEB-INF/dataContext.xml
+            /WEB-INF/applicationContext.xml
+            /WEB-INF/applicationContext-security.xml
+        </param-value>
+    </context-param>
+    <listener>
+        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
+    </listener>
+    <filter>
+        <filter-name>springSecurityFilterChain</filter-name>
+        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
+    </filter>
+    <filter-mapping>
+        <filter-name>springSecurityFilterChain</filter-name>
+        <url-pattern>/*</url-pattern>
+    </filter-mapping>
+
+    <!-- Handles all requests into the application -->
+    <servlet>
+        <servlet-name>dispatcher</servlet-name>
+        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>dispatcher</servlet-name>
+        <url-pattern>/app/*</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>dispatcher</servlet-name>
+        <url-pattern>/index.html</url-pattern>
+    </servlet-mapping>
+
+    <welcome-file-list>
+        <welcome-file>index.html</welcome-file>
+    </welcome-file-list>
+
+
+</web-app>

Added: incubator/rave/sandbox/science-gateways/rave-merger/pom.xml
URL: http://svn.apache.org/viewvc/incubator/rave/sandbox/science-gateways/rave-merger/pom.xml?rev=1157267&view=auto
==============================================================================
--- incubator/rave/sandbox/science-gateways/rave-merger/pom.xml (added)
+++ incubator/rave/sandbox/science-gateways/rave-merger/pom.xml Fri Aug 12 22:04:22 2011
@@ -0,0 +1,207 @@
+<?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.
+  
+  $Id: pom.xml 1152919 2011-08-01 20:19:57Z jasha $
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  
+  <modelVersion>4.0.0</modelVersion>
+  
+  <parent>
+	 <groupId>org.apache.rave</groupId>
+	 <artifactId>rave-project</artifactId>
+	 <version>0.3-incubating-SNAPSHOT</version>
+	 <relativePath>../rave/</relativePath>
+  </parent>
+  
+  <groupId>org.apache.rave</groupId>
+  <artifactId>rave-gateway-merger</artifactId>
+  <name>Apache Rave :: rave-sandbox-merger</name>
+  <description>Apache Rave Project Sandbox</description>
+  <packaging>uberwar</packaging>
+  <version>SNAPSHOT</version>
+
+  <properties>
+	 <cargo.version>1.1.0</cargo.version>
+	 <!-- if you want a remote debugging on a different a address
+			override on command line with -Dcargo.debug.addres=xxxx -->
+	 <cargo.debug.address>8000</cargo.debug.address>
+	 <!-- if you want to start remote debugging session suspended
+			override on command line with -Dcargo.debug.suspend=y -->
+	 <cargo.debug.suspend>n</cargo.debug.suspend>
+	 
+  </properties>
+
+  <dependencies>
+
+	 <dependency>
+		<groupId>org.apache.rave</groupId>
+		<artifactId>rave-commons</artifactId>
+		<version>0.3-incubating-SNAPSHOT</version>
+	 </dependency>
+
+	 <!--This is the war made by the rave-extensions module-->
+	 <dependency>
+		<groupId>org.apache.rave</groupId>
+		<artifactId>rave-gateway-extensions</artifactId>
+		<version>SNAPSHOT</version>
+		<type>war</type>
+	 </dependency>
+
+	 <!--The rave-portal.jar is needed for compilation -->
+	 <dependency>
+		<groupId>org.apache.rave</groupId>
+		<artifactId>rave-portal</artifactId>
+		<version>0.3-incubating-SNAPSHOT</version>
+		<type>jar</type>
+	 </dependency>
+
+	 <!-- The rave-portal.war dependency is needed for running with cargo -->
+	 <dependency>
+		<groupId>org.apache.rave</groupId>
+		<artifactId>rave-portal</artifactId>
+		<version>0.3-incubating-SNAPSHOT</version>
+		<type>war</type>
+	 </dependency>
+	 
+	 <dependency>
+		<groupId>org.apache.rave</groupId>
+		<artifactId>rave-shindig</artifactId>
+		<type>war</type>
+		<version>0.3-incubating-SNAPSHOT</version>
+		<scope>provided</scope>
+	 </dependency>
+  </dependencies>
+
+    <profiles>
+        <profile>
+            <id>dist</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.cargo</groupId>
+                        <artifactId>cargo-maven2-plugin</artifactId>
+                        <version>${cargo.version}</version>
+                        <executions>
+                            <execution>
+                                <id>dist-cargo-package</id>
+                                <phase>install</phase>
+                                <goals>
+                                    <goal>configure</goal>
+                                    <goal>package</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+				</build>
+		  </profile>
+	 </profiles>
+	 
+	 <build>
+		<defaultGoal>install</defaultGoal>
+		<plugins>
+		  <plugin>
+			 <groupId>com.googlecode.mavenfilesync</groupId>
+			 <artifactId>maven-filesync-plugin</artifactId>
+			 <configuration>
+				<mappings>
+				  <mapping>
+					 <sourceFolder>src/main/webapp</sourceFolder>
+					 <destinationFolder>@target/tomcat6x/webapps/portal</destinationFolder>
+				  </mapping>
+				  <mapping>
+					 <sourceFolder>src/main/resources</sourceFolder>
+					 <destinationFolder>@target/tomcat6x/webapps/portal/WEB-INF/classes</destinationFolder>
+				  </mapping>
+				</mappings>
+			 </configuration>
+		  </plugin>
+
+		  <plugin>
+			 <groupId>com.github.searls</groupId>
+			 <artifactId>jasmine-maven-plugin</artifactId>
+			 <version>1.0.2-beta-2</version>
+			 <executions>
+				<execution>
+				  <goals>
+					 <goal>generateManualRunner</goal>
+					 <goal>resources</goal>
+					 <goal>testResources</goal>
+					 <goal>test</goal>
+				  </goals>
+				  <configuration>
+					 <jsSrcDir>${project.basedir}/src/main/webapp/script/</jsSrcDir>
+					 <debug>true</debug>
+				  </configuration>
+				</execution>
+			 </executions>
+		  </plugin>
+		  <plugin>
+			 <groupId>org.codehaus.cargo</groupId>
+			 <artifactId>cargo-maven2-plugin</artifactId>
+			 <extensions>true</extensions>
+			 <version>${cargo.version}</version>
+			 <configuration>
+				<descriptor>src/assembly/merge.xml</descriptor>
+				<wait>true</wait>
+				<configuration>
+				  <properties>
+					 <cargo.jvmargs>
+						<![CDATA[-Xdebug -Xrunjdwp:transport=dt_socket,address=${cargo.debug.address},server=y,suspend=${cargo.debug.suspend} -noverify ${javaagent}]]>
+					 </cargo.jvmargs>
+					 <cargo.tomcat.context.reloadable>true</cargo.tomcat.context.reloadable>
+				  </properties>
+				  <home>${project.build.directory}/tomcat6x</home>
+				  <deployables>
+					 <deployable>
+						<groupId>org.apache.rave</groupId>
+						<artifactId>rave-shindig</artifactId>
+						<type>war</type>
+						<properties>
+						  <context>/ROOT</context>
+						</properties>
+					 </deployable>
+					 <deployable>
+						<groupId>org.apache.rave</groupId>
+						<artifactId>rave-portal</artifactId>
+						<type>war</type>
+						<properties>
+						  <context>/portal</context>
+						</properties>
+					 </deployable>
+				  </deployables>
+				</configuration>
+				<container>
+				  <containerId>tomcat6x</containerId>
+				  <timeout>180000</timeout>
+				  <zipUrlInstaller>
+					 <url>
+						http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.tar.gz
+					 </url>
+				  </zipUrlInstaller>
+				  <systemProperties>
+					 <shindig.host>localhost</shindig.host>
+				  </systemProperties>
+				</container>
+			 </configuration>
+		  </plugin>
+		</plugins>
+	 </build>
+  </project>
\ No newline at end of file

Added: incubator/rave/sandbox/science-gateways/rave-merger/src/assembly/merge.xml
URL: http://svn.apache.org/viewvc/incubator/rave/sandbox/science-gateways/rave-merger/src/assembly/merge.xml?rev=1157267&view=auto
==============================================================================
--- incubator/rave/sandbox/science-gateways/rave-merger/src/assembly/merge.xml (added)
+++ incubator/rave/sandbox/science-gateways/rave-merger/src/assembly/merge.xml Fri Aug 12 22:04:22 2011
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<uberwar>
+  <wars>
+    <war>org.apache.rave:rave-portal</war>
+    <war>org.apache.rave:rave-gateway-extensions</war>
+  </wars>
+</uberwar>
\ No newline at end of file

Added: incubator/rave/sandbox/science-gateways/svn_ext.txt
URL: http://svn.apache.org/viewvc/incubator/rave/sandbox/science-gateways/svn_ext.txt?rev=1157267&view=auto
==============================================================================
--- incubator/rave/sandbox/science-gateways/svn_ext.txt (added)
+++ incubator/rave/sandbox/science-gateways/svn_ext.txt Fri Aug 12 22:04:22 2011
@@ -0,0 +1 @@
+rave http://svn.apache.org/repos/asf/incubator/rave/trunk