You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ed...@apache.org on 2006/11/11 17:44:48 UTC

svn commit: r473755 [4/43] - in /jackrabbit/trunk/contrib/jcr-browser: ./ src/ src/main/ src/main/java/ src/main/java/org/ src/main/java/org/apache/ src/main/java/org/apache/jackrabbit/ src/main/java/org/apache/jackrabbit/browser/ src/main/resources/ s...

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/attributes.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/attributes.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/attributes.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/attributes.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,20 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jakarta.apache.org/taglib/string" prefix="str" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<%@page import="javax.jcr.Session"%>
+<jcr:session>
+<div class="dialog">
+<h3>Session - Attributes</h3>
+<hr height="1"/>
+<table class="dialog">
+<c:forEach var="name" items="${jcrsession.attributeNames}">
+<tr>
+<td><c:out value="${name}"/></td>
+<td><%= ((Session) pageContext.getAttribute("jcrsession")).getAttribute(pageContext.getAttribute("name").toString())%></td>
+</tr>
+</c:forEach>
+</table>
+<hr height="1"/>
+<input type="button" value="Close" onClick="hideDialog();"/>
+</div>
+</jcr:session>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/attributes.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/exportdocumentview.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/exportdocumentview.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/exportdocumentview.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/exportdocumentview.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,23 @@
+<div class="dialog">
+<h3>Session - Export document view</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th height="25" width="100">Skip binary</th>
+	<td><input type="checkbox" name="skipBinary"/></td>
+</tr>
+<tr>
+	<th height="25" width="100">No recurse</th>
+	<td><input type="checkbox" name="noRecurse"/></td>
+</tr>
+<tr>
+	<td colspan="2" align="center">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</div>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/exportdocumentview.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/exportsystemview.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/exportsystemview.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/exportsystemview.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/exportsystemview.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,23 @@
+<div class="dialog">
+<h3>Session - Export system view</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th height="25" width="100">Skip binary</th>
+	<td><input type="checkbox" name="skipBinary"/></td>
+</tr>
+<tr>
+	<th height="25" width="100">No recurse</th>
+	<td><input type="checkbox" name="noRecurse"/></td>
+</tr>
+<tr>
+	<td colspan="2" align="center">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</div>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/exportsystemview.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/importxml.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/importxml.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/importxml.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/importxml.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,32 @@
+<div class="dialog">
+<h3>Session - Import xml</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th height="25" width="100">UUID Behavior</th>
+	<td>
+		<select name="uuidBehavior">
+		<option value="0">Create new</option>
+		<option value="1">Remove existing</option>
+		<option value="2">Replace existing</option>
+		<option value="3">Collision throw</option>
+		</select>	
+	</td>
+</tr>
+<tr>
+	<th height="25" width="100">XML file</th>
+	<td>
+		<input type="file" name="file"/>
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</div>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/importxml.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/addtoken.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/addtoken.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/addtoken.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/addtoken.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,19 @@
+<div class="dialog">
+<h3>Session - Add Lock Token</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th height="25" width="100">Token</th>
+	<td><input type="text" name="token" value=""/></td>
+</tr>
+<tr>
+	<td colspan="2" align="center">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</div>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/addtoken.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/removetoken.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/removetoken.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/removetoken.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/removetoken.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,32 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jakarta.apache.org/taglib/string" prefix="str" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<jcr:session>
+<div class="dialog">
+<h3>Session - Remove Lock Token</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th height="25" width="100">Token</th>
+	<td>
+	<c:if test="${not empty jcrsession.lockTokens}">
+	<select type="select" name="token">
+		<c:forEach var="token" items="${jcrsession.lockTokens}">
+			<option><c:out value="${token}"/>${token}</option>
+		</c:forEach>	
+	</select>
+	</c:if>
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</div>
+</jcr:session>
\ No newline at end of file

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/removetoken.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/showtokens.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/showtokens.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/showtokens.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/showtokens.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,24 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jakarta.apache.org/taglib/string" prefix="str" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<jcr:session>
+<div class="dialog">
+<h3>Session - Show tokens</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<c:forEach var="token" items="${jcrsession.lockTokens}">
+<tr>
+	<td><c:out value="${token}"/></td>
+</tr>
+</c:forEach>
+<tr>
+	<td align="center">
+		<hr height="1"/>	
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</div>
+</jcr:session>
\ No newline at end of file

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/showtokens.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/moveitem.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/moveitem.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/moveitem.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/moveitem.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,51 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jakarta.apache.org/taglib/string" prefix="str" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<div class="dialog">
+<jcr:session>
+<h3>Session - Move node</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th height="25" width="50">From</th>
+	<td>
+	<input type="hidden" name="srcAbsPath" value="<%= request.getParameter("path")%>">
+	<%= request.getParameter("path")%>
+	</td>
+</tr>
+<tr>
+	<th>To</th>
+	<td height="300">
+		<input type="hidden" name="destAbsPath" id="destAbsPath" value="">
+		<div class="targetTreeContainer">
+		<div id="targetTreeDiv"></div>
+		</div>
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</jcr:session>
+</div>
+
+<script language="JavaScript" type="text/javascript">
+var targetController = dojo.widget.createWidget("TreeLoadingControllerV3");
+var targetSelector = dojo.widget.createWidget("TreeSelectorV3",{widgetId: "targetSelector"});
+var treeEmphaseOnSelect = dojo.widget.createWidget("TreeEmphaseOnSelect",{selector:targetSelector.widgetId});
+targetController.RpcUrl="tree.jsp";
+var treeNodes = [{title: "Root", objectId: "/", isFolder: true}] ;
+var targetTree = dojo.widget.createWidget("TreeV3", {listeners: [targetSelector.widgetId, targetController.widgetId]},dojo.byId("targetTreeDiv"));
+targetTree.setChildren(treeNodes);
+
+function internalSubmitDialog() {
+	document.getElementById('destAbsPath').value = dojo.widget.manager.getWidgetById('targetSelector').selectedNodes[0].objectId;	
+	submitDialog();
+}
+</script>
\ No newline at end of file

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/moveitem.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/refresh.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/refresh.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/refresh.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/refresh.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,19 @@
+<div class="dialog">
+<h3>Session - Refresh</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th height="25" width="100">Keep changes</th>
+	<td><input type="checkbox" name="keepChanges"/></td>
+</tr>
+<tr>
+	<td colspan="2" align="center">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</div>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/refresh.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/renameitem.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/renameitem.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/renameitem.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/renameitem.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,36 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jakarta.apache.org/taglib/string" prefix="str" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<%@page import="javax.jcr.NamespaceRegistry"%>
+<% 
+pageContext.setAttribute("path", request.getParameter("path")); 
+%>
+<div class="dialog">
+<jcr:session>
+<jcr:set var="node" item="${path}"/>
+<h3>Session - Rename</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th height="25" width="50">From</th>
+	<td>
+	<input type="hidden" name="srcAbsPath" value="<%= request.getParameter("path")%>">
+	<c:out value="${node.name}"/>
+	</td>
+</tr>
+<tr>
+	<th>To</th>
+	<td><input type="text" name="newName" value=""/></td>
+</tr>
+<tr>
+	<td colspan="2" align="center">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Close" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</jcr:session>
+</div>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/renameitem.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/save.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/save.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/save.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/save.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,14 @@
+<div class="dialog">
+<h3>Session - Save</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<td colspan="2" align="center">
+		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</div>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/save.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/setnamespaceprefix.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/setnamespaceprefix.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/setnamespaceprefix.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/setnamespaceprefix.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,40 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jakarta.apache.org/taglib/string" prefix="str" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<%@page import="javax.jcr.NamespaceRegistry"%>
+<div class="dialog">
+<jcr:session>
+<h3>Session - Set Namespace prefix</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th>Prefix: Uri</th>
+	<td>
+		<select name="uri">
+			<c:set value="${jcrsession.workspace.namespaceRegistry}" var="namespaceRegistry"/>
+			<c:forEach var="prefix" items="${namespaceRegistry.prefixes}">
+<%String uri = ((NamespaceRegistry) pageContext.getAttribute("namespaceRegistry")).getURI(pageContext.getAttribute("prefix").toString()) ;%>			
+				<option value="<%= uri %>"><c:out value="${prefix}"/>: <%= uri %></option>
+			</c:forEach>			
+		</select>
+	</td>
+</tr>
+<tr>
+	<th>New prefix</th>
+	<td>
+		<input type="text" name="prefix" />
+	</td>
+</tr>
+
+<tr>
+	<td align="center" colspan="2">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</jcr:session>
+</div>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/setnamespaceprefix.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/accessibleworkspaces.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/accessibleworkspaces.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/accessibleworkspaces.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/accessibleworkspaces.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,16 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jakarta.apache.org/taglib/string" prefix="str" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<jcr:session>
+<div class="dialog">
+<h3>Workspace - Accessible workspaces</h3>
+<hr height="1"/>
+<table class="dialog">
+<c:forEach var="w" items="${jcrsession.workspace.accessibleWorkspaceNames}">
+<tr><td><c:out value="${w}"/></td></tr>
+</c:forEach>
+</table>
+<hr height="1"/>
+<input type="button" value="Close" onClick="hideDialog();"/>
+</div>
+</jcr:session>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/accessibleworkspaces.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/copyitem.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/copyitem.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/copyitem.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/copyitem.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,51 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jakarta.apache.org/taglib/string" prefix="str" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<div class="dialog">
+<jcr:session>
+<h3>Workspace - Copy Node</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th height="25" width="50">From</th>
+	<td>
+	<input type="hidden" name="srcAbsPath" value="<%= request.getParameter("path")%>">
+	<%= request.getParameter("path")%>
+	</td>
+</tr>
+<tr>
+	<th>To</th>
+	<td height="300">
+		<input type="hidden" name="destAbsPath" id="destAbsPath" value="">
+		<div class="targetTreeContainer">
+		<div id="targetTreeDiv"></div>
+		</div>
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</jcr:session>
+</div>
+
+<script language="JavaScript" type="text/javascript">
+var targetController = dojo.widget.createWidget("TreeLoadingControllerV3");
+var targetSelector = dojo.widget.createWidget("TreeSelectorV3",{widgetId: "targetSelector"});
+var treeEmphaseOnSelect = dojo.widget.createWidget("TreeEmphaseOnSelect",{selector:targetSelector.widgetId});
+targetController.RpcUrl="tree.jsp";
+var treeNodes = [{title: "Root", objectId: "/", isFolder: true}] ;
+var targetTree = dojo.widget.createWidget("TreeV3", {listeners: [targetSelector.widgetId, targetController.widgetId]},dojo.byId("targetTreeDiv"));
+targetTree.setChildren(treeNodes);
+
+function internalSubmitDialog() {
+	document.getElementById('destAbsPath').value = dojo.widget.manager.getWidgetById('targetSelector').selectedNodes[0].objectId;	
+	submitDialog();
+}
+</script>
\ No newline at end of file

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/copyitem.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/importxml.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/importxml.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/importxml.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/importxml.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,32 @@
+<div class="dialog">
+<h3>Workspace - Import xml</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th height="25" width="100">UUID Behavior</th>
+	<td>
+		<select name="uuidBehavior">
+		<option value="0">Create new</option>
+		<option value="1">Remove existing</option>
+		<option value="2">Replace existing</option>
+		<option value="3">Collision throw</option>
+		</select>	
+	</td>
+</tr>
+<tr>
+	<th height="25" width="100">XML file</th>
+	<td>
+		<input type="file" name="file"/>
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</div>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/importxml.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/moveitem.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/moveitem.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/moveitem.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/moveitem.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,51 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jakarta.apache.org/taglib/string" prefix="str" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<div class="dialog">
+<jcr:session>
+<h3>Workspace - Move Node</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th height="25" width="50">From</th>
+	<td>
+	<input type="hidden" name="srcAbsPath" value="<%= request.getParameter("path")%>">
+	<%= request.getParameter("path")%>
+	</td>
+</tr>
+<tr>
+	<th>To</th>
+	<td height="300">
+		<input type="hidden" name="destAbsPath" id="destAbsPath" value="">
+		<div class="targetTreeContainer">
+		<div id="targetTreeDiv"></div>
+		</div>
+	</td>
+</tr>
+<tr>
+	<td colspan="2" align="center">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</jcr:session>
+</div>
+
+<script language="JavaScript" type="text/javascript">
+var targetController = dojo.widget.createWidget("TreeLoadingControllerV3");
+var targetSelector = dojo.widget.createWidget("TreeSelectorV3",{widgetId: "targetSelector"});
+var treeEmphaseOnSelect = dojo.widget.createWidget("TreeEmphaseOnSelect",{selector:targetSelector.widgetId});
+targetController.RpcUrl="tree.jsp";
+var treeNodes = [{title: "Root", objectId: "/", isFolder: true}] ;
+var targetTree = dojo.widget.createWidget("TreeV3", {listeners: [targetSelector.widgetId, targetController.widgetId]},dojo.byId("targetTreeDiv"));
+targetTree.setChildren(treeNodes);
+
+function internalSubmitDialog() {
+	document.getElementById('destAbsPath').value = dojo.widget.manager.getWidgetById('targetSelector').selectedNodes[0].objectId;	
+	submitDialog();
+}
+</script>
\ No newline at end of file

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/moveitem.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/namespaces.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/namespaces.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/namespaces.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/namespaces.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,31 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jakarta.apache.org/taglib/string" prefix="str" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<%@page import="javax.jcr.NamespaceRegistry"%>
+<div class="dialog">
+<jcr:session>
+<h3>Registered namespaces</h3>
+<hr height="1"/>	
+<table class="dialog">
+<tr>
+	<th>prefix</th>
+	<th>uri</th>
+</tr>
+<c:set value="${jcrsession.workspace.namespaceRegistry}" var="namespaceRegistry"/>
+<c:forEach var="prefix" items="${namespaceRegistry.prefixes}">
+
+<tr>
+	<td><c:out value="${prefix}"/></td>
+	<td><%= ((NamespaceRegistry) pageContext.getAttribute("namespaceRegistry")).getURI(pageContext.getAttribute("prefix").toString()) %></td>
+</tr>
+</c:forEach>
+<tr>
+	<td colspan="2" align="center">
+		<hr height="1"/>	
+		<input type="button" value="Close" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+
+</jcr:session>
+</div>
\ No newline at end of file

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/namespaces.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/registernamespace.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/registernamespace.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/registernamespace.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/registernamespace.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,28 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jakarta.apache.org/taglib/string" prefix="str" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<div class="dialog">
+<jcr:session>
+<h3>Register namespace</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th height="25" width="50">prefix</th>
+	<td><input type="text" name="prefix" value=""/></td>
+</tr>
+<tr>
+	<th>Uri</th>
+	<td><input type="text" name="uri" value=""/></td>
+</tr>
+<tr>
+	<td colspan="2" align="center">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</jcr:session>
+</div>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/registernamespace.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/renameitem.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/renameitem.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/renameitem.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/renameitem.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,35 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jakarta.apache.org/taglib/string" prefix="str" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<% 
+pageContext.setAttribute("path", request.getParameter("path")); 
+%>
+<div class="dialog">
+<jcr:session>
+<jcr:set var="node" item="${path}"/>
+<h3>Workspace - Rename node</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th height="25" width="50">From</th>
+	<td>
+	<input type="hidden" name="srcAbsPath" value="<%= request.getParameter("path")%>">
+	<c:out value="${node.name}"/>
+	</td>
+</tr>
+<tr>
+	<th>To</th>
+	<td><input type="text" name="newName" value=""/></td>
+</tr>
+<tr>
+	<td colspan="2" align="center">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Close" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</jcr:session>
+</div>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/renameitem.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/unregisternamespace.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/unregisternamespace.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/unregisternamespace.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/unregisternamespace.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,36 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jakarta.apache.org/taglib/string" prefix="str" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<%@page import="javax.jcr.NamespaceRegistry"%>
+<div class="dialog">
+<jcr:session>
+<h3>Unregister namespace</h3>
+<hr height="1"/>	
+<form action="response.txt" id="dialogForm">
+<table class="dialog">
+<tr>
+	<th>Prefix: Uri</th>
+</tr>
+<tr>
+	<td>
+		<select name="uri">
+			<c:set value="${jcrsession.workspace.namespaceRegistry}" var="namespaceRegistry"/>
+			<c:forEach var="prefix" items="${namespaceRegistry.prefixes}">
+<%String uri = ((NamespaceRegistry) pageContext.getAttribute("namespaceRegistry")).getURI(pageContext.getAttribute("prefix").toString()) ;%>			
+				<option value="<%= uri %>"><c:out value="${prefix}"/>: <%= uri %></option>
+			</c:forEach>			
+		</select>
+	</td>
+</tr>
+
+<tr>
+	<td align="center">
+		<hr height="1"/>	
+		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Cancel" onClick="hideDialog();"/>
+	</td>
+</tr>
+</table>
+</form>
+</jcr:session>
+</div>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/unregisternamespace.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/index.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/index.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/index.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/index.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,316 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<title>JCR Browser</title>
+
+<script type="text/javascript">
+	var djConfig = {isDebug: true};
+	//djConfig.debugAtAllCosts = true;
+</script>
+
+<script type="text/javascript" src="<c:url value="/dojo/dojo.js"/>"></script>
+<script type="text/javascript" src="<c:url value="/browser/custom.js"/>"></script>
+
+<script language="JavaScript" type="text/javascript">
+	dojo.require("dojo.io.*");
+	dojo.require("dojo.io.ScriptSrcIO");
+	dojo.require("dojo.event.*");
+	
+	dojo.require("dojo.widget.TreeV3");
+	dojo.require("dojo.widget.TreeNodeV3");
+	dojo.require("dojo.widget.TreeBasicControllerV3");
+	dojo.require("dojo.widget.TreeLoadingControllerV3");
+	dojo.require("dojo.widget.TreeEmphaseOnSelect");	
+	dojo.require("dojo.widget.TreeSelectorV3");	
+	dojo.require("dojo.widget.TreeDeselectOnDblselect");	
+	dojo.require("dojo.widget.TreeContextMenuV3");
+	
+	dojo.require("dojo.widget.DatePicker");
+	dojo.require("dojo.widget.Dialog");
+	dojo.require("dojo.widget.FilteringTable");
+	dojo.require("dojo.widget.Menu2");
+	dojo.require("dojo.widget.LayoutContainer");
+	dojo.require("dojo.widget.ContentPane");
+	dojo.require("dojo.widget.LinkPane");
+	dojo.require("dojo.widget.SplitContainer");
+	dojo.require("dojo.widget.ColorPalette");
+	dojo.require("dojo.widget.TabContainer");
+	dojo.hostenv.writeIncludes();
+	
+    var reporter = function(reporter) {
+            this.go = function(message) {
+			var node = message.node ;
+            		onTreeNodeSelected(node.objectId);
+            }
+    }
+
+	var myDojoTreeListener = {
+	    nodeCollapsed: function(message){
+		var node = message.source ;
+		var treeController = dojo.widget.manager.getWidgetById('treeController');
+		node.destroyChildren();
+		node.state = node.loadStates.UNCHECKED;
+		node.setFolder();
+	    }
+	};
+
+    dojo.addOnLoad(function(){
+    
+        var selector = dojo.widget.manager.getWidgetById('selector');
+
+        dojo.event.topic.subscribe(
+        	selector.eventNames['select'],new reporter('selector'),'go');
+
+
+	var firstTree = dojo.widget.manager.getWidgetById('firstTree');
+	dojo.event.topic.subscribe(
+		firstTree.eventNames['afterCollapse'],myDojoTreeListener,"nodeCollapsed");
+
+	// Load item list
+	refreshList("/");
+	populateDescription();
+        
+	});	
+	
+</script>
+
+<link href="<c:url value="/style.css"/>" type="text/css" rel="stylesheet" />
+  <style>
+    html, body{	
+		width: 100%;	/* make the body expand to fill the visible window */
+		height: 100%;
+		overflow: hidden;	/* erase window level scrollbars */
+		padding: 0 0 0 0;
+		margin: 0 0 0 0;
+		font: 12px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
+    }
+
+   </style>
+</head>
+<body>
+
+<!-- D I A L O G S -->
+<a dojoType="dialog" id="dialog" toggle="wipe" toggleDuration="250" executeScripts="true" scriptSeparation="false"><div id="dialogContent"></div></a>
+<!-- E N D    D I A L O G S -->
+
+<!-- T R E E    C O N T R O L L ER -->
+<div dojoType="TreeLoadingControllerV3" widgetId="treeController" RpcUrl="tree.jsp"></div>
+<div dojoType="TreeSelectorV3" widgetId="selector"></div>	
+<div dojoType="TreeDeselectOnDblselect" selector="selector"></div>
+<div dojoType="TreeEmphaseOnSelect" selector="selector"></div>
+<div dojoType="TreeContextMenuV3" toggle="explode" contextMenuForWindow="false" widgetId="treeContextMenu">
+	<div dojoType="TreeMenuItemV3" widgetId="treeContextMenuAddNode" caption="Add node" onClick="showDialog('node/addnode');"></div>
+	<div dojoType="TreeMenuItemV3" widgetId="treeContextMenuCopy" caption="Copy" onClick="showDialog('workspace/copyitem');"></div>
+	<div dojoType="TreeMenuItemV3" widgetId="treeContextMenuRemove" caption="Remove" onClick="showDialog('node/remove');" iconSrc="<c:url value="/images/x.gif"/>"></div>
+	<div dojoType="TreeMenuItemV3" widgetId="treeContextMenuRename" caption="Rename" onClick="showDialog('node/rename');"></div>
+	<div dojoType="TreeMenuItemV3" widgetId="treeContextMenuSave" caption="Save" onClick="showDialog('node/save');"></div>
+	<div dojoType="TreeMenuItemV3" widgetId="treeContextMenuSetProperty" caption="Set property" submenuId="setPropertyMenu"></div>
+</div>
+<!-- E N D    T R E E    C O N T R O L L ER -->
+
+<div dojoType="LayoutContainer"
+	layoutChildPriority='top-bottom'
+	style="width: 100%; height: 100%;">
+
+	<div dojoType="ContentPane" layoutAlign="top" style="background-color: #274383; color: white;">
+
+		<div dojoType="PopupMenu2" widgetId="setPropertyMenu">
+			<div dojoType="MenuItem2" caption="Binary" onClick="showDialog('node/setproperty/binary');"></div>
+			<div dojoType="MenuItem2" caption="Boolean" onClick="showDialog('node/setproperty/boolean');"></div>
+			<div dojoType="MenuItem2" caption="Date" onClick="showDialog('node/setproperty/date');"></div>
+			<div dojoType="MenuItem2" caption="Double" onClick="showDialog('node/setproperty/double');"></div>
+			<div dojoType="MenuItem2" caption="Long" onClick="showDialog('node/setproperty/long');"></div>
+			<div dojoType="MenuItem2" caption="Name" onClick="showDialog('node/setproperty/name');"></div>
+			<div dojoType="MenuItem2" caption="Path" onClick="showDialog('node/setproperty/path');"></div>
+			<div dojoType="MenuItem2" caption="Reference" onClick="showDialog('node/setproperty/reference');"></div>
+			<div dojoType="MenuItem2" caption="String" onClick="showDialog('node/setproperty/string');"></div>
+		</div>
+
+		<div dojoType="PopupMenu2" widgetId="versioningMenu">
+			<div dojoType="MenuItem2" caption="Checkin" onClick="showDialog('node/versioning/checkin');"></div>
+			<div dojoType="MenuItem2" caption="Checkout" onClick="showDialog('node/versioning/checkout');"></div>
+			<div dojoType="MenuItem2" caption="Restore" onClick="showDialog('node/versioning/restore');"></div>
+			<div dojoType="MenuSeparator2"></div>
+			<div dojoType="MenuItem2" caption="Merge" onClick="showDialog('node/versioning/merge');"></div>
+			<div dojoType="MenuItem2" caption="Done Merge" onClick="showDialog('node/versioning/donemerge');"></div>
+			<div dojoType="MenuItem2" caption="Cancel Merge" onClick="showDialog('node/versioning/cancelmerge');"></div>
+			<div dojoType="MenuSeparator2"></div>
+			<div dojoType="MenuItem2" caption="Version history" onClick="showDialog('node/versioning/versionhistory');"></div>
+		</div>
+
+		<div dojoType="PopupMenu2" widgetId="nodeLockingMenu">
+			<div dojoType="MenuItem2" caption="Lock" onClick="showDialog('node/locking/lock');"></div>
+			<div dojoType="MenuItem2" caption="Unlock" onClick="showDialog('node/locking/unlock');"></div>
+			<div dojoType="MenuItem2" caption="Refresh lock" onClick="alert('showDialog('node/locking/refreshlock');')"></div>
+		</div>
+
+		<div dojoType="PopupMenu2" widgetId="sessionLockingMenu">
+			<div dojoType="MenuItem2" caption="Add token" onClick="showDialog('session/locking/addtoken');"></div>
+			<div dojoType="MenuItem2" caption="Remove token" onClick="showDialog('session/locking/removetoken');"></div>
+			<div dojoType="MenuItem2" caption="Show tokens" onClick="showDialog('session/locking/showtokens');"></div>
+		</div>
+
+		<div dojoType="PopupMenu2" widgetId="repositoryMenu">
+			<div dojoType="MenuItem2" caption="Descriptors" onClick="showDialog('repository/descriptors');"></div>
+		</div>
+
+		<div dojoType="PopupMenu2" widgetId="workspaceMenu">
+			<div dojoType="MenuItem2" caption="Accessible workspaces" onClick="showDialog('workspace/accessibleworkspaces');"></div>
+			<div dojoType="MenuSeparator2"></div>
+			<div dojoType="MenuItem2" caption="Copy Item" onClick="showDialog('workspace/copyitem');"></div>
+			<div dojoType="MenuItem2" caption="Move Item" onClick="showDialog('workspace/moveitem');"></div>
+			<div dojoType="MenuItem2" caption="Rename Item" onClick="showDialog('workspace/renameitem');"></div>
+			<div dojoType="MenuSeparator2"></div>
+			<div dojoType="MenuItem2" caption="Import XML" onClick="showDialog('workspace/importxml');"></div>
+			<div dojoType="MenuSeparator2"></div>
+			<div dojoType="MenuItem2" caption="Namespaces" onClick="showDialog('workspace/namespaces');"></div>
+			<div dojoType="MenuItem2" caption="Register Namespace" onClick="showDialog('workspace/registernamespace');"></div>
+			<div dojoType="MenuItem2" caption="Unregister Namespace" onClick="showDialog('workspace/unregisternamespace');"></div>
+		</div>
+
+		<div dojoType="PopupMenu2" widgetId="sessionMenu">
+			<div dojoType="MenuItem2" caption="Move Item" onClick="showDialog('session/moveitem');"></div>
+			<div dojoType="MenuItem2" caption="Refresh" onClick="showDialog('session/refresh');"></div>
+			<div dojoType="MenuItem2" caption="Rename Item" onClick="showDialog('session/renameitem');"></div>
+			<div dojoType="MenuItem2" caption="Save" onClick="showDialog('session/save');"></div>
+			<div dojoType="MenuSeparator2"></div>
+			<div dojoType="MenuItem2" caption="Export Document View" onClick="showDialog('session/exportdocumentview');"></div>
+			<div dojoType="MenuItem2" caption="Export System View" onClick="showDialog('session/exportsystemview');"></div>
+			<div dojoType="MenuItem2" caption="Import XML" onClick="showDialog('session/importxml');"></div>
+			<div dojoType="MenuSeparator2"></div>
+			<div dojoType="MenuItem2" caption="Locking" submenuId="sessionLockingMenu"></div>
+			<div dojoType="MenuSeparator2"></div>
+			<div dojoType="MenuItem2" caption="Set namespace prefix" onClick="showDialog('session/setnamespaceprefix');"></div>
+			<div dojoType="MenuSeparator2"></div>
+			<div dojoType="MenuItem2" caption="Attributes" onClick="showDialog('session/attributes');"></div>
+			<div dojoType="MenuItem2" caption="Logout" onClick="location.replace('<c:url value="/logout.jsp"/>');"></div>
+		</div>
+		
+		<div dojoType="PopupMenu2" widgetId="nodeMenu">
+			<div dojoType="MenuItem2" caption="Add node" onClick="showDialog('node/addnode');"></div>
+			<div dojoType="MenuItem2" caption="Refresh" onClick="showDialog('node/refresh');"></div>
+			<div dojoType="MenuItem2" caption="Remove" onClick="showDialog('node/remove');" iconSrc="<c:url value="/images/x.gif"/>"></div>
+			<div dojoType="MenuItem2" caption="Rename" onClick="showDialog('node/rename');"></div>
+			<div dojoType="MenuItem2" caption="Save" onClick="showDialog('node/save');"></div>
+			<div dojoType="MenuItem2" caption="Set property" submenuId="setPropertyMenu"></div>
+			<div dojoType="MenuItem2" caption="Set mandatory properties" onClick="showDialog('node/setmandatoryproperties');"></div>
+			<div dojoType="MenuSeparator2"></div>
+			<div dojoType="MenuItem2" caption="Order before" onClick="showDialog('node/orderbefore');"></div>
+			<div dojoType="MenuSeparator2"></div>
+			<div dojoType="MenuItem2" caption="Add mixin" onClick="showDialog('node/addmixin');"></div>
+			<div dojoType="MenuItem2" caption="Remove mixin" onClick="showDialog('node/removemixin');"></div>
+			<div dojoType="MenuSeparator2"></div>
+			<div dojoType="MenuItem2" caption="Versioning" submenuId="versioningMenu"></div>
+			<div dojoType="MenuItem2" caption="Locking" submenuId="nodeLockingMenu"></div>
+			<div dojoType="MenuSeparator2"></div>
+			<div dojoType="MenuItem2" caption="Update" onClick="showDialog('node/update');"></div>
+		</div>
+		
+		<div dojoType="PopupMenu2" widgetId="propertyMenu">
+			<div dojoType="MenuItem2" caption="Remove" onClick="showDialog('property/remove');" iconSrc="<c:url value="/images/x.gif"/>" ></div>
+			<div dojoType="MenuItem2" caption="Rename" onClick="showDialog('property/rename');"></div>
+			<div dojoType="MenuItem2" caption="Save" onClick="showDialog('property/save');"></div>
+			<div dojoType="MenuItem2" caption="Refresh" onClick="showDialog('property/refresh');"></div>
+			<div dojoType="MenuItem2" caption="Set Value" onClick="showDialog('property/setvalue');"></div>
+		</div>		
+
+		<div dojoType="PopupMenu2" widgetId="searchMenu">
+			<div dojoType="MenuItem2" caption="XPath" onClick="showDialog('search/xpath');"></div>
+			<div dojoType="MenuItem2" caption="SQL" onClick="showDialog('search/sql');"></div>
+		</div>		
+	
+		<div dojoType="MenuBar2">
+			<div dojoType="MenuBarItem2" caption="Repository" submenuId="repositoryMenu"></div>
+			<div dojoType="MenuBarItem2" caption="Workspace" submenuId="workspaceMenu"></div>
+			<div dojoType="MenuBarItem2" caption="Session" submenuId="sessionMenu"></div>
+			<div dojoType="MenuBarItem2" caption="Node" submenuId="nodeMenu"></div>
+			<div dojoType="MenuBarItem2" caption="Property" submenuId="propertyMenu"></div>
+			<div dojoType="MenuBarItem2" caption="Search" submenuId="searchMenu"></div>
+		</div>
+		
+	</div>
+	
+	<div dojoType="LayoutContainer" layoutAlign="bottom" class="statusBar" style="height: 28px" widgetId="statusBar">
+
+		<div dojoType="ContentPane" layoutAlign="left" class="logoPanel">
+			<img src="<c:url value="/images/jackrabbit-small.gif"/>" width="35" height="27" border="0"/>
+		</div>
+		<div dojoType="ContentPane" layoutAlign="left" class="statusPanel">
+			<%= request.getRemoteUser() %>@default
+		</div>
+		<div dojoType="ContentPane" layoutAlign="client" class="statusPanel" style="padding-right: 0px; z-index: 1;">
+			<div id="path">/</div> 
+		</div>
+	</div>
+
+	<div dojoType="SplitContainer"
+		orientation="horizontal"
+		sizerWidth="5"
+		activeSizing="0"
+		layoutAlign="client">
+	
+		
+		<div dojoType="ContentPane" class="treeDiv" style="padding-right: 0px; z-index: 1;">
+
+			<div dojoType="TreeV3" widgetId="firstTree" listeners="treeController;selector;treeContextMenu">
+			    <div dojoType="TreeNodeV3" title="Root" isFolder="true" objectId="/">
+			    </div>
+			</div>	
+			
+		</div>		
+
+
+		<div dojoType="SplitContainer"
+			id="rightPane"
+			orientation="vertical"
+			sizerWidth="5"
+			activeSizing="0"
+			sizeMin="50" 
+			sizeShare="80">
+			
+			<div dojoType="ContentPane" sizeMin="20" sizeShare="30" class="itemList">
+			
+				<table 
+					class="itemList" 
+					dojoType="filteringTable"
+					tbodyClass="scrollContent"
+					alternateRows="true" 
+					maxSortable="2"
+					border="0"
+					cellpadding="0"
+					cellspacing="0"
+					widgetId="itemList"
+					id="itemList">
+				<thead>
+					<tr>
+						<th field="Index" dataType="Number" sort="asc" width="10px">Index</th>
+						<th field="Node" dataType="String" width="10px">Node</th>
+						<th field="Name" dataType="String">Name</th>
+						<th field="Value" dataType="String">Value</th>
+						<th field="Type" dataType="String" width="50px">Type</th>
+						<th field="New" dataType="String" width="10px">New</th>
+						<th field="Modified" dataType="String" width="10px">Modified</th>
+					</tr>
+				</thead>
+				<tbody>
+
+				</tbody>
+				</table>
+
+			</div>
+
+			
+			<div dojoType="ContentPane" sizeMin="20" sizeShare="30" class="infoPane">
+				<div id="mainTabContainer" dojoType="TabContainer" style="width: 100%; height: 100%;" class="infoPane">
+					<div id="itemTab" dojoType="ContentPane" label="Item" class="infoPane"><div id="itemInfo"></div></div>
+					<div id="typeTab" dojoType="ContentPane" label="Type" class="typePane"><div id="typeInfo">type info</div></div>
+					<div id="definitionTab" dojoType="ContentPane" label="Definition" class="infoPane"><div id="definitionInfo"></div></div>
+				</div>
+			</div>
+		</div>
+		
+	</div>
+</div>
+</body>
+</html>
\ No newline at end of file

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/index.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/info/definition.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/info/definition.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/info/definition.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/info/definition.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1 @@
+definition
\ No newline at end of file

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/info/definition.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/info/item.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/info/item.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/info/item.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/info/item.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,34 @@
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<% 
+pageContext.setAttribute("path", request.getParameter("path")); 
+%>
+<jcr:session>
+<jcr:set var="node" item="${path}"/>
+<table class="itemInfo">
+ <tr><td width="150">path</td><td><c:out value="${node.path}"/></td></tr>
+ <tr><td>New</td><td><c:out value="${node.new}"/></td></tr>
+ <tr><td>Modified</td><td><c:out value="${node.modified}"/></td></tr>
+ <tr><td>depth</td><td><c:out value="${node.depth}"/></td></tr>
+<c:if test="${node.node}">
+  <tr><td>corresponding paths</td><td></td></tr>
+  <tr><td>index</td><td><c:out value="${node.index}"/></td></tr>
+  <tr><td>child nodes</td><td><c:out value="${node.nodes.size}"/></td></tr>
+  <tr><td>child properties</td><td><c:out value="${node.properties.size}"/></td></tr>
+  <tr><td>primary item</td><td></td></tr>
+  <tr><td>references</td><td><c:out value="${node.references.size}"/></td></tr>
+  <tr><td>versionable</td><td></td></tr>
+  <tr><td>is checked out</td><td></td></tr>
+  <tr><td>base version</td><td></td></tr>
+  <tr><td>lockable</td><td></td></tr>
+  <tr><td>is locked</td><td></td></tr>
+  <tr><td>holds lock</td><td></td></tr>
+  <tr><td>locked node</td><td></td></tr>
+  <tr><td>lock owner</td><td></td></tr>
+  <tr><td>is deep</td><td></td></tr>
+  <tr><td>token</td><td></td></tr>
+  <tr><td>live</td><td></td></tr>
+  <tr><td>scope</td><td></td></tr>
+</c:if>
+</table>
+</jcr:session>
\ No newline at end of file

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/info/item.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/itemlist.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/itemlist.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/itemlist.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/itemlist.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,47 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jakarta.apache.org/taglib/string" prefix="str" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<%@page import="javax.jcr.PropertyType"%>
+<% 
+pageContext.setAttribute("path", request.getParameter("path")); 
+%>
+<jcr:session>
+[<% int index = 0 ;%>
+<jcr:set var="parent" item="${path}"/>
+<c:forEach var="node" items="${parent.nodes}">
+{
+Id:'<str:escape><c:out value="${node.path}"/></str:escape>',
+Index:<%= index++ %>,
+Node:'<str:escape><c:out value="${node.node}"/></str:escape>',
+Name:'<a href="<c:url value="/repository/default"/><str:escape><c:out value="${node.path}"/></str:escape>" target="_new"><str:escape><c:out value="${node.name}"/></str:escape></a>',
+Value:'',
+Type:'<str:escape><c:out value="${node.primaryNodeType.name}"/></str:escape>',
+New:'<c:out value="${node.new}"/>',
+Modified:'<c:out value="${node.modified}"/>'
+},
+</c:forEach>
+<% int nodesIndex = index ;%>
+<c:forEach var="prop" items="${parent.properties}">
+<% if (nodesIndex!=index) {%>,<%}%>
+{
+	Id:'<str:escape><c:out value="${prop.path}"/></str:escape>',
+	Index:<%= index++ %>,
+	Node:'<str:escape><c:out value="${prop.node}"/></str:escape>',
+	Name:'<str:escape><c:out value="${prop.name}"/></str:escape>',
+<c:choose >
+	<c:when test="${!prop.definition.multiple and prop.length <1000}">
+		<c:set var="value"><jcr:out item="${prop}"/></c:set>
+		Value:'<str:escape><c:out value="${value}" escapeXml="true"/></str:escape>',
+	</c:when> 
+	<c:otherwise>
+		Value:'<font color="red">Preview unavailable. Value is multiple or longer than 1000.</font>',
+	</c:otherwise> 
+</c:choose>
+
+	Type:'<str:escape><%= PropertyType.nameFromValue((int) pageContext.getAttributesScope("prop")) %></str:escape>',
+	New:'<c:out value="${prop.new}"/>',
+	Modified:'<c:out value="${prop.modified}"/>'
+}
+</c:forEach>
+]
+</jcr:session>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/itemlist.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/clone
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/clone?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/clone (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/clone Sat Nov 11 08:44:22 2006
@@ -0,0 +1 @@
+({})

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/createChild
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/createChild?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/createChild (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/createChild Sat Nov 11 08:44:22 2006
@@ -0,0 +1 @@
+({title:"New node from server"})

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/destroyChild
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/destroyChild?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/destroyChild (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/destroyChild Sat Nov 11 08:44:22 2006
@@ -0,0 +1 @@
+({})

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/detach
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/detach?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/detach (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/detach Sat Nov 11 08:44:22 2006
@@ -0,0 +1 @@
+({})

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/editLabelFinishCancel
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/editLabelFinishCancel?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/editLabelFinishCancel (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/editLabelFinishCancel Sat Nov 11 08:44:22 2006
@@ -0,0 +1 @@
+({})

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/editLabelSave
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/editLabelSave?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/editLabelSave (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/editLabelSave Sat Nov 11 08:44:22 2006
@@ -0,0 +1 @@
+({})

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/editLabelStart
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/editLabelStart?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/editLabelStart (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/editLabelStart Sat Nov 11 08:44:22 2006
@@ -0,0 +1 @@
+({})

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/getChildren
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/getChildren?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/getChildren (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/getChildren Sat Nov 11 08:44:22 2006
@@ -0,0 +1 @@
+dojo.debug('I can also put javascript in server answer');([{title:"test",isFolder:true,objectId:"myobj"},{title:"test2",children:[ {title:"test2.1"}  ]}])

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/move
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/move?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/move (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/local/move Sat Nov 11 08:44:22 2006
@@ -0,0 +1 @@
+({error:"TEST"})

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/response.txt
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/response.txt?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/response.txt (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/response.txt Sat Nov 11 08:44:22 2006
@@ -0,0 +1 @@
+The call reached the server successfully but the action is not implemented yet :(
\ No newline at end of file

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/response.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/tree.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/tree.jsp?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/tree.jsp (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/tree.jsp Sat Nov 11 08:44:22 2006
@@ -0,0 +1,30 @@
+<%@taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
+<%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
+<% 
+  pageContext.setAttribute("action",request.getParameter("action")) ;
+  String data = request.getParameter("data").trim() ;
+  //{"node":{"widgetId":"tree/","objectId":"","index":0}
+  System.out.println(Calendar.getInstance().getTime() + ". data = " + data);
+  int start = data.indexOf("objectId\":\"");
+  String path = data.substring(start+11,data.indexOf("\",",start)) ;
+  pageContext.setAttribute("path", path) ;
+  int x = 0;
+%>
+<%@page import="java.util.Calendar"%>
+<jcr:session>
+<c:if test="${action eq 'getChildren'}">
+(
+[
+<jcr:set item="${path}" var="node"/>
+<c:forEach var="child" items="${node.nodes}">
+	<% if (x!=0) {%>,<%}else {x++;}%>
+	{
+	title:"<c:out value="${child.name}"/>",
+	isFolder:true,
+	objectId:"<c:out value="${child.path}"/>"
+	}
+</c:forEach>
+]
+)
+</c:if>
+</jcr:session>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/tree.jsp
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/Storage_version6.swf
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/Storage_version6.swf?view=auto&rev=473755
==============================================================================
Binary file - no diff available.

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/Storage_version6.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/Storage_version8.swf
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/Storage_version8.swf?view=auto&rev=473755
==============================================================================
Binary file - no diff available.

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/Storage_version8.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/__package__.js
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/__package__.js?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/__package__.js (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/__package__.js Sat Nov 11 08:44:22 2006
@@ -0,0 +1,3 @@
+if(!this["dojo"]){
+	alert("\"dojo/__package__.js\" is now located at \"dojo/dojo.js\". Please update your includes accordingly");
+}

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/__package__.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/dojo.js
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/dojo.js?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/dojo.js (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/dojo.js Sat Nov 11 08:44:22 2006
@@ -0,0 +1,97 @@
+if(typeof dojo == "undefined"){
+	dj_usingBootstrap = true; //Needed for bootstrap2.js to work properly.
+	(function(){
+		var hostEnv = "browser";
+		var isRhino = false;
+		var isSpidermonkey = false;
+		var isDashboard = false;
+		if((typeof this["load"] == "function")&&((typeof this["Packages"] == "function")||(typeof this["Packages"] == "object"))){
+			var isRhino = true;
+			hostEnv = "rhino";
+		}else if(typeof this["load"] == "function"){
+			isSpidermonkey  = true;
+			hostEnv = "spidermonkey";
+		}else if(window.widget){
+			isDashboard = true;
+			hostEnv = "dashboard";
+		}
+		var tmps = ["bootstrap1.js", "loader.js", "hostenv_"+hostEnv+".js"];
+	
+		if((this["djConfig"])&&((djConfig["forceXDomain"])||(djConfig["useXDomain"]))){
+			tmps.push("loader_xd.js");
+		}
+	
+		if(hostEnv == "dashboard"){
+			tmps.splice(1, 0, "hostenv_browser.js");
+		}
+	
+		tmps.push("bootstrap2.js");
+	
+		if((this["djConfig"])&&(djConfig["baseScriptUri"])){
+			var root = djConfig["baseScriptUri"];
+		}else if((this["djConfig"])&&(djConfig["baseRelativePath"])){
+			var root = djConfig["baseRelativePath"];
+		}else{
+			var root = "./";
+			if(isSpidermonkey){
+				// auto-detect the base path via an exception. Hack!
+				try{ throw new Error(""); }catch(e){ root = e.fileName.split("dojo.js")[0]; };
+			}
+			if(!this["djConfig"]){
+				djConfig = { baseRelativePath: root };
+			}
+	
+			// attempt to figure out the path to dojo if it isn't set in the config
+			if((this["document"])&&(this["document"]["getElementsByTagName"])){
+				var scripts = document.getElementsByTagName("script");
+				var rePkg = /(__package__|dojo)\.js([\?\.]|$)/i;
+				for(var i = 0; i < scripts.length; i++) {
+					var src = scripts[i].getAttribute("src");
+					if(!src) { continue; }
+					var m = src.match(rePkg);
+					if(m) {
+						root = src.substring(0, m.index);
+						if(!this["djConfig"]) { djConfig = {}; }
+						djConfig["baseScriptUri"] = djConfig["baseRelativePath"] = root;
+						break;
+					}
+				}
+			}
+		}
+	
+		if((this["djConfig"])&&((djConfig["isDebug"])||(djConfig["debugAtAllCosts"]))){
+			tmps.push("debug.js");
+		}
+	
+		if((this["djConfig"])&&(djConfig["debugAtAllCosts"])&&(!isRhino)&&(!isDashboard)){
+			tmps.push("browser_debug.js");
+		}
+	
+		//Support compatibility packages. Right now this only allows setting one
+		//compatibility package. Might need to revisit later down the line to support
+		//more than one.
+		if((this["djConfig"])&&(djConfig["compat"])){
+			tmps.push("compat/" + djConfig["compat"] + ".js");
+		}
+	
+		var loaderRoot = root;
+		if((this["djConfig"])&&(djConfig["baseLoaderUri"])){
+			loaderRoot = djConfig["baseLoaderUri"];
+		}
+	
+		for(var x=0; x < tmps.length; x++){
+			var spath = loaderRoot+"src/"+tmps[x];
+			if(isRhino||isSpidermonkey){
+				load(spath);
+			} else {
+				try {
+					document.write("<scr"+"ipt type='text/javascript' src='"+spath+"'></scr"+"ipt>");
+				} catch (e) {
+					var script = document.createElement("script");
+					script.src = spath;
+					document.getElementsByTagName("head")[0].appendChild(script);
+				}
+			}
+		}
+	})();
+};

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/dojo.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/flash6_gateway.swf
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/flash6_gateway.swf?view=auto&rev=473755
==============================================================================
Binary file - no diff available.

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/flash6_gateway.swf
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/iframe_history.html
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/iframe_history.html?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/iframe_history.html (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/iframe_history.html Sat Nov 11 08:44:22 2006
@@ -0,0 +1,54 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+	<title></title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
+	<script type="text/javascript">
+	// <!--
+	var noInit = false;
+	var domain = "";
+	// document.domain = "localhost";
+	function init(){
+		// parse the query string if there is one to try to get args that
+		// we can act on
+		var sparams = document.location.search;
+		if(sparams.length >= 0){
+			if(sparams.charAt(0) == "?"){
+				sparams = sparams.substring(1);
+			}
+			var ss = (sparams.indexOf("&amp;") >= 0) ? "&amp;" : "&";
+			sparams = sparams.split(ss);
+			for(var x=0; x<sparams.length; x++){
+				var tp = sparams[x].split("=");
+				if(typeof window[tp[0]] != "undefined"){
+					window[tp[0]] = ((tp[1]=="true")||(tp[1]=="false")) ? eval(tp[1]) : tp[1];
+				}
+			}
+		}
+
+		if(noInit){ return; }
+		if(domain.length > 0){
+			document.domain = domain;
+		}
+		if((window.parent != window)&&(window.parent["dojo"])){
+			//Set the page title so IE history shows up with a somewhat correct name.
+			document.title = window.parent.document.title;
+			
+			//Notify parent that we are loaded.
+			var pdj = window.parent.dojo;
+			if(pdj["undo"] && pdj["undo"]["browser"]){
+				pdj.undo.browser.iframeLoaded(null, window.location);
+			}
+		}
+	}
+	// -->
+	</script>
+</head>
+<body onload="try{ init(); }catch(e){ alert(e); }">
+	<h4>The Dojo Toolkit -- iframe_history.html</h4>
+
+	<p>This file is used in Dojo's back/fwd button management.</p>
+</body>
+</html>

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/iframe_history.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/AdapterRegistry.js
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/AdapterRegistry.js?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/AdapterRegistry.js (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/AdapterRegistry.js Sat Nov 11 08:44:22 2006
@@ -0,0 +1,79 @@
+dojo.provide("dojo.AdapterRegistry");
+dojo.require("dojo.lang.func");
+
+dojo.AdapterRegistry = function(/*boolean, optional*/returnWrappers){
+	// summary:
+	//		A registry to make contextual calling/searching easier.
+	// description:
+	//		Objects of this class keep list of arrays in the form [name, check,
+	//		wrap, directReturn] that are used to determine what the contextual
+	//		result of a set of checked arguments is. All check/wrap functions
+	//		in this registry should be of the same arity.
+	this.pairs = [];
+	this.returnWrappers = returnWrappers || false;
+}
+
+dojo.lang.extend(dojo.AdapterRegistry, {
+	register: function(	/*string*/ name, /*function*/ check, /*function*/ wrap, 
+						/*boolean, optional*/ directReturn, 
+						/*boolean, optional*/ override){
+		// summary: 
+		//		register a check function to determine if the wrap function or
+		//		object gets selected
+		// name: a way to identify this matcher.
+		// check:
+		//		a function that arguments are passed to from the adapter's
+		//		match() function.  The check function should return true if the
+		//		given arguments are appropriate for the wrap function.
+		// directReturn:
+		//		If directReturn is true, the value passed in for wrap will be
+		//		returned instead of being called. Alternately, the
+		//		AdapterRegistry can be set globally to "return not call" using
+		//		the returnWrappers property. Either way, this behavior allows
+		//		the registry to act as a "search" function instead of a
+		//		function interception library.
+		// override:
+		//		If override is given and true, the check function will be given
+		//		highest priority. Otherwise, it will be the lowest priority
+		//		adapter.
+
+		var type = (override) ? "unshift" : "push";
+		this.pairs[type]([name, check, wrap, directReturn]);
+	},
+
+	match: function(/* ... */){
+        // summary:
+		//		Find an adapter for the given arguments. If no suitable adapter
+		//		is found, throws an exception. match() accepts any number of
+		//		arguments, all of which are passed to all matching functions
+		//		from the registered pairs.
+		for(var i = 0; i < this.pairs.length; i++){
+			var pair = this.pairs[i];
+			if(pair[1].apply(this, arguments)){
+				if((pair[3])||(this.returnWrappers)){
+					return pair[2];
+				}else{
+					return pair[2].apply(this, arguments);
+				}
+			}
+		}
+		throw new Error("No match found");
+		// dojo.raise("No match found");
+	},
+
+	unregister: function(name){
+		// summary: Remove a named adapter from the registry
+
+		// FIXME: this is kind of a dumb way to handle this. On a large
+		// registry this will be slow-ish and we can use the name as a lookup
+		// should we choose to trade memory for speed.
+		for(var i = 0; i < this.pairs.length; i++){
+			var pair = this.pairs[i];
+			if(pair[0] == name){
+				this.pairs.splice(i, 1);
+				return true;
+			}
+		}
+		return false;
+	}
+});

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/AdapterRegistry.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/Deferred.js
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/Deferred.js?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/Deferred.js (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/Deferred.js Sat Nov 11 08:44:22 2006
@@ -0,0 +1,305 @@
+dojo.provide("dojo.Deferred");
+dojo.require("dojo.lang.func");
+
+dojo.Deferred = function(/* optional */ canceller){
+	/*
+	NOTE: this namespace and documentation are imported wholesale 
+		from MochiKit
+
+	Encapsulates a sequence of callbacks in response to a value that
+	may not yet be available.  This is modeled after the Deferred class
+	from Twisted <http://twistedmatrix.com>.
+
+	Why do we want this?  JavaScript has no threads, and even if it did,
+	threads are hard.  Deferreds are a way of abstracting non-blocking
+	events, such as the final response to an XMLHttpRequest.
+
+	The sequence of callbacks is internally represented as a list
+	of 2-tuples containing the callback/errback pair.  For example,
+	the following call sequence::
+
+		var d = new Deferred();
+		d.addCallback(myCallback);
+		d.addErrback(myErrback);
+		d.addBoth(myBoth);
+		d.addCallbacks(myCallback, myErrback);
+
+	is translated into a Deferred with the following internal
+	representation::
+
+		[
+			[myCallback, null],
+			[null, myErrback],
+			[myBoth, myBoth],
+			[myCallback, myErrback]
+		]
+
+	The Deferred also keeps track of its current status (fired).
+	Its status may be one of three things:
+
+		-1: no value yet (initial condition)
+		0: success
+		1: error
+
+	A Deferred will be in the error state if one of the following
+	three conditions are met:
+
+		1. The result given to callback or errback is "instanceof" Error
+		2. The previous callback or errback raised an exception while
+		   executing
+		3. The previous callback or errback returned a value "instanceof"
+			Error
+
+	Otherwise, the Deferred will be in the success state.  The state of
+	the Deferred determines the next element in the callback sequence to
+	run.
+
+	When a callback or errback occurs with the example deferred chain,
+	something equivalent to the following will happen (imagine that
+	exceptions are caught and returned)::
+
+		// d.callback(result) or d.errback(result)
+		if(!(result instanceof Error)){
+			result = myCallback(result);
+		}
+		if(result instanceof Error){
+			result = myErrback(result);
+		}
+		result = myBoth(result);
+		if(result instanceof Error){
+			result = myErrback(result);
+		}else{
+			result = myCallback(result);
+		}
+
+	The result is then stored away in case another step is added to the
+	callback sequence.	Since the Deferred already has a value available,
+	any new callbacks added will be called immediately.
+
+	There are two other "advanced" details about this implementation that
+	are useful:
+
+	Callbacks are allowed to return Deferred instances themselves, so you
+	can build complicated sequences of events with ease.
+
+	The creator of the Deferred may specify a canceller.  The canceller
+	is a function that will be called if Deferred.cancel is called before
+	the Deferred fires.	 You can use this to implement clean aborting of
+	an XMLHttpRequest, etc.	 Note that cancel will fire the deferred with
+	a CancelledError (unless your canceller returns another kind of
+	error), so the errbacks should be prepared to handle that error for
+	cancellable Deferreds.
+
+	*/
+	
+	this.chain = [];
+	this.id = this._nextId();
+	this.fired = -1;
+	this.paused = 0;
+	this.results = [null, null];
+	this.canceller = canceller;
+	this.silentlyCancelled = false;
+};
+
+dojo.lang.extend(dojo.Deferred, {
+	getFunctionFromArgs: function(){
+		var a = arguments;
+		if((a[0])&&(!a[1])){
+			if(dojo.lang.isFunction(a[0])){
+				return a[0];
+			}else if(dojo.lang.isString(a[0])){
+				return dj_global[a[0]];
+			}
+		}else if((a[0])&&(a[1])){
+			return dojo.lang.hitch(a[0], a[1]);
+		}
+		return null;
+	},
+
+	makeCalled: function() {
+		var deferred = new dojo.Deferred();
+		deferred.callback();
+		return deferred;
+	},
+
+	repr: function(){
+		var state;
+		if(this.fired == -1){
+			state = 'unfired';
+		}else if(this.fired == 0){
+			state = 'success';
+		} else {
+			state = 'error';
+		}
+		return 'Deferred(' + this.id + ', ' + state + ')';
+	},
+
+	toString: dojo.lang.forward("repr"),
+
+	_nextId: (function(){
+		var n = 1;
+		return function(){ return n++; };
+	})(),
+
+	cancel: function(){
+		/***
+		Cancels a Deferred that has not yet received a value, or is
+		waiting on another Deferred as its value.
+
+		If a canceller is defined, the canceller is called. If the
+		canceller did not return an error, or there was no canceller,
+		then the errback chain is started with CancelledError.
+		***/
+		if(this.fired == -1){
+			if (this.canceller){
+				this.canceller(this);
+			}else{
+				this.silentlyCancelled = true;
+			}
+			if(this.fired == -1){
+				this.errback(new Error(this.repr()));
+			}
+		}else if(	(this.fired == 0)&&
+					(this.results[0] instanceof dojo.Deferred)){
+			this.results[0].cancel();
+		}
+	},
+			
+
+	_pause: function(){
+		// Used internally to signal that it's waiting on another Deferred
+		this.paused++;
+	},
+
+	_unpause: function(){
+		// Used internally to signal that it's no longer waiting on
+		// another Deferred.
+		this.paused--;
+		if ((this.paused == 0) && (this.fired >= 0)) {
+			this._fire();
+		}
+	},
+
+	_continue: function(res){
+		// Used internally when a dependent deferred fires.
+		this._resback(res);
+		this._unpause();
+	},
+
+	_resback: function(res){
+		// The primitive that means either callback or errback
+		this.fired = ((res instanceof Error) ? 1 : 0);
+		this.results[this.fired] = res;
+		this._fire();
+	},
+
+	_check: function(){
+		if(this.fired != -1){
+			if(!this.silentlyCancelled){
+				dojo.raise("already called!");
+			}
+			this.silentlyCancelled = false;
+			return;
+		}
+	},
+
+	callback: function(res){
+		/*
+		Begin the callback sequence with a non-error value.
+		
+		callback or errback should only be called once on a given
+		Deferred.
+		*/
+		this._check();
+		this._resback(res);
+	},
+
+	errback: function(res){
+		// Begin the callback sequence with an error result.
+		this._check();
+		if(!(res instanceof Error)){
+			res = new Error(res);
+		}
+		this._resback(res);
+	},
+
+	addBoth: function(cb, cbfn){
+		/*
+		Add the same function as both a callback and an errback as the
+		next element on the callback sequence.	This is useful for code
+		that you want to guarantee to run, e.g. a finalizer.
+		*/
+		var enclosed = this.getFunctionFromArgs(cb, cbfn);
+		if(arguments.length > 2){
+			enclosed = dojo.lang.curryArguments(null, enclosed, arguments, 2);
+		}
+		return this.addCallbacks(enclosed, enclosed);
+	},
+
+	addCallback: function(cb, cbfn){
+		// Add a single callback to the end of the callback sequence.
+		var enclosed = this.getFunctionFromArgs(cb, cbfn);
+		if(arguments.length > 2){
+			enclosed = dojo.lang.curryArguments(null, enclosed, arguments, 2);
+		}
+		return this.addCallbacks(enclosed, null);
+	},
+
+	addErrback: function(cb, cbfn){
+		// Add a single callback to the end of the callback sequence.
+		var enclosed = this.getFunctionFromArgs(cb, cbfn);
+		if(arguments.length > 2){
+			enclosed = dojo.lang.curryArguments(null, enclosed, arguments, 2);
+		}
+		return this.addCallbacks(null, enclosed);
+		return this.addCallbacks(null, cbfn);
+	},
+
+	addCallbacks: function (cb, eb) {
+		// Add separate callback and errback to the end of the callback
+		// sequence.
+		this.chain.push([cb, eb])
+		if (this.fired >= 0) {
+			this._fire();
+		}
+		return this;
+	},
+
+	_fire: function(){
+		// Used internally to exhaust the callback sequence when a result
+		// is available.
+		var chain = this.chain;
+		var fired = this.fired;
+		var res = this.results[fired];
+		var self = this;
+		var cb = null;
+		while (chain.length > 0 && this.paused == 0) {
+			// Array
+			var pair = chain.shift();
+			var f = pair[fired];
+			if (f == null) {
+				continue;
+			}
+			try {
+				res = f(res);
+				fired = ((res instanceof Error) ? 1 : 0);
+				if(res instanceof dojo.Deferred) {
+					cb = function(res){
+						self._continue(res);
+					}
+					this._pause();
+				}
+			}catch(err){
+				fired = 1;
+				res = err;
+			}
+		}
+		this.fired = fired;
+		this.results[fired] = res;
+		if((cb)&&(this.paused)){
+			// this is for "tail recursion" in case the dependent
+			// deferred is already fired
+			res.addBoth(cb);
+		}
+	}
+});

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/Deferred.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/DeferredList.js
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/DeferredList.js?view=auto&rev=473755
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/DeferredList.js (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/DeferredList.js Sat Nov 11 08:44:22 2006
@@ -0,0 +1,78 @@
+dojo.require("dojo.Deferred");
+
+dojo.provide("dojo.DeferredList");
+
+
+dojo.DeferredList = function (list, /*bool?*/ fireOnOneCallback, /*bool?*/ fireOnOneErrback, /*bool?*/ consumeErrors, /*Function?*/ canceller) {
+    this.list = list;
+    this.resultList = new Array(this.list.length);
+
+    // Deferred init
+    this.chain = [];
+    this.id = this._nextId();
+    this.fired = -1;
+    this.paused = 0;
+    this.results = [null, null];
+    this.canceller = canceller;
+    this.silentlyCancelled = false;
+    
+    if (this.list.length === 0 && !fireOnOneCallback) {
+        this.callback(this.resultList);
+    }
+    
+    this.finishedCount = 0;
+    this.fireOnOneCallback = fireOnOneCallback;
+    this.fireOnOneErrback = fireOnOneErrback;
+    this.consumeErrors = consumeErrors;
+
+    var index = 0;
+    
+    var _this = this;
+    
+    dojo.lang.forEach(this.list, function(d) {
+        var _index = index;
+        //dojo.debug("add cb/errb index "+_index);
+        d.addCallback(function(r) { _this._cbDeferred(_index, true, r) });
+        d.addErrback(function(r) { _this._cbDeferred(_index, false, r) });
+        index++;
+    });
+                      
+};
+
+
+dojo.inherits(dojo.DeferredList, dojo.Deferred);
+
+dojo.lang.extend(dojo.DeferredList, {
+
+    _cbDeferred: function (index, succeeded, result) {
+        //dojo.debug("Fire "+index+" succ "+succeeded+" res "+result);
+        this.resultList[index] = [succeeded, result];
+        this.finishedCount += 1;
+        if (this.fired !== 0) {
+            if (succeeded && this.fireOnOneCallback) {
+                this.callback([index, result]);
+            } else if (!succeeded && this.fireOnOneErrback) {
+                this.errback(result);
+            } else if (this.finishedCount == this.list.length) {
+                this.callback(this.resultList);
+            }
+        }
+        if (!succeeded && this.consumeErrors) {
+            result = null;
+        }
+        return result;
+    },
+    
+    gatherResults: function (deferredList) {
+        var d = new dojo.DeferredList(deferredList, false, true, false);
+        d.addCallback(function (results) {
+            var ret = [];
+            for (var i = 0; i < results.length; i++) {
+                ret.push(results[i][1]);
+            }
+            return ret;
+        });
+        return d;
+    }
+});
+

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/src/DeferredList.js
------------------------------------------------------------------------------
    svn:eol-style = native