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/20 12:15:30 UTC

svn commit: r477145 [1/2] - in /jackrabbit/trunk/contrib/jcr-browser: ./ src/main/java/org/apache/jackrabbit/browser/ src/main/java/org/apache/jackrabbit/browser/command/ src/main/java/org/apache/jackrabbit/browser/iframeio/ src/main/resources/org/apac...

Author: edgarpoce
Date: Mon Nov 20 03:15:24 2006
New Revision: 477145

URL: http://svn.apache.org/viewvc?view=rev&rev=477145
Log:
- dojo dialogs 
- server side configuration to handle jcr-browser dialogs calls
- jcr session bound to the http session


Added:
    jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/JcrSessionListener.java
    jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/LoginFilter.java
    jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/
    jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/DateTimeToISO8601.java
    jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/FileItemToInputStream.java
    jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/ReadMultipartRequest.java
    jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/
    jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOFilter.java
    jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOFilterOutputStream.java
    jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOResponseWrapper.java
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/namespaces.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/info/type.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/images/ok.gif   (with props)
Removed:
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/rename.jsp
Modified:
    jackrabbit/trunk/contrib/jcr-browser/   (props changed)
    jackrabbit/trunk/contrib/jcr-browser/src/main/resources/org/apache/jackrabbit/browser/commands.xml
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/WEB-INF/   (props changed)
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/WEB-INF/web.xml
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/custom.js
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/addmixin.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/addnode.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/locking/lock.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/locking/unlock.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/orderbefore.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/refresh.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/remove.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/removemixin.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/save.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setmandatoryproperties.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/binary.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/boolean.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/date.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/double.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/long.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/name.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/path.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/reference.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/setproperty.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/string.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/update.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/checkin.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/checkout.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/restore.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/refresh.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/remove.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/rename.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/save.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/setvalue.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/repository/descriptors.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/attributes.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/exportdocumentview.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/exportsystemview.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/importxml.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/addtoken.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/removetoken.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/locking/showtokens.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/moveitem.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/refresh.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/renameitem.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/save.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/session/setnamespaceprefix.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/accessibleworkspaces.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/copyitem.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/importxml.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/moveitem.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/namespaces.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/registernamespace.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/renameitem.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/workspace/unregisternamespace.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/index.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/info/definition.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/info/item.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/itemlist.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/tree.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/dojo/   (props changed)
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/images/x.gif
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/login.jsp
    jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/style.css

Propchange: jackrabbit/trunk/contrib/jcr-browser/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Nov 20 03:15:24 2006
@@ -0,0 +1,3 @@
+
+target
+work

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/JcrSessionListener.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/JcrSessionListener.java?view=auto&rev=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/JcrSessionListener.java (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/JcrSessionListener.java Mon Nov 20 03:15:24 2006
@@ -0,0 +1,51 @@
+package org.apache.jackrabbit.browser;
+
+import java.io.ByteArrayInputStream;
+import java.util.Properties;
+
+import javax.jcr.Repository;
+import javax.jcr.Session;
+import javax.naming.InitialContext;
+import javax.servlet.http.HttpSessionEvent;
+import javax.servlet.http.HttpSessionListener;
+
+import org.apache.jackrabbit.command.CommandHelper;
+
+public class JcrSessionListener implements HttpSessionListener {
+
+	private static Repository repository;
+
+	public void sessionCreated(HttpSessionEvent evt) {
+
+	}
+
+	public void sessionDestroyed(HttpSessionEvent evt) {
+		Session s = (Session) evt.getSession().getAttribute(
+				CommandHelper.SESSION_KEY);
+		if (s!=null) {
+			s.logout();
+		}
+	}
+
+	public static Repository getRepository() {
+		if (repository == null) {
+			try {
+				InitialContext ctx = new InitialContext();
+				String jndiAddress = (String) ctx
+						.lookup("java:comp/env/jcr/jndi/address");
+				String jndiProperties = (String) ctx
+						.lookup("java:comp/env/jcr/jndi/properties");
+				Properties properties = new Properties();
+				properties.load(new ByteArrayInputStream(jndiProperties
+						.getBytes()));
+				InitialContext repoCtx = new InitialContext(properties);
+				repository = (Repository) repoCtx.lookup(jndiAddress);
+			} catch (Exception e) {
+				throw new IllegalStateException(
+						"unable to retrieve repository. ", e);
+			}
+		}
+		return repository;
+	}
+
+}

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/LoginFilter.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/LoginFilter.java?view=auto&rev=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/LoginFilter.java (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/LoginFilter.java Mon Nov 20 03:15:24 2006
@@ -0,0 +1,47 @@
+package org.apache.jackrabbit.browser;
+
+import javax.jcr.Session;
+import javax.jcr.SimpleCredentials;
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.jackrabbit.command.CommandHelper;
+
+public class LoginFilter implements Filter {
+
+	public void destroy() {
+
+	}
+
+	public void doFilter(ServletRequest request, ServletResponse response,
+			FilterChain chain) throws java.io.IOException, ServletException {
+
+		chain.doFilter(request, response);
+
+		// bind jcr session to http session on login
+		try {
+			HttpServletRequest httpRequest = (HttpServletRequest) request;
+			if (httpRequest.getSession()
+					.getAttribute(CommandHelper.SESSION_KEY) == null) {
+				Session s = JcrSessionListener.getRepository().login(
+						new SimpleCredentials(httpRequest.getRemoteUser(), ""
+								.toCharArray()));
+				httpRequest.getSession().setAttribute(
+						CommandHelper.SESSION_KEY, s);
+			}
+		} catch (Exception e) {
+			throw new ServletException(
+					"unable to bind jcr session to http session", e);
+		}
+	}
+
+	public void init(FilterConfig cfg) throws ServletException {
+
+	}
+
+}

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/DateTimeToISO8601.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/DateTimeToISO8601.java?view=auto&rev=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/DateTimeToISO8601.java (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/DateTimeToISO8601.java Mon Nov 20 03:15:24 2006
@@ -0,0 +1,96 @@
+package org.apache.jackrabbit.browser.command;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+
+import org.apache.commons.chain.Command;
+import org.apache.commons.chain.Context;
+import org.apache.jackrabbit.util.ISO8601;
+
+public class DateTimeToISO8601 implements Command {
+
+	private DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+
+	private DateFormat timeFormat = new SimpleDateFormat("hh:mm aa");
+
+	private String toKey = "iso8601";
+
+	private String dateKey = "date";
+
+	private String timeKey = "time";
+
+	public boolean execute(Context ctx) throws Exception {
+		String dateStr = (String) ctx.get(this.dateKey);
+		String timeStr = (String) ctx.get(this.timeKey);
+
+		Date date = dateFormat.parse(dateStr);
+		Calendar dateCalendar = Calendar.getInstance();
+		dateCalendar.setTime(date);
+
+		Date time = timeFormat.parse(timeStr);
+		Calendar timeCalendar = Calendar.getInstance();
+		timeCalendar.setTime(time);
+
+		Calendar c = Calendar.getInstance();
+		c.set(Calendar.YEAR, dateCalendar.get(Calendar.YEAR));
+		c.set(Calendar.MONTH, dateCalendar.get(Calendar.MONTH));
+		c.set(Calendar.DAY_OF_MONTH, dateCalendar.get(Calendar.DAY_OF_MONTH));
+
+		c.set(Calendar.HOUR, timeCalendar.get(Calendar.HOUR));
+		c.set(Calendar.MINUTE, timeCalendar.get(Calendar.MINUTE));
+		c.set(Calendar.SECOND, timeCalendar.get(Calendar.SECOND));
+		c.set(Calendar.MILLISECOND, timeCalendar.get(Calendar.MILLISECOND));
+
+		ctx.put(this.toKey, ISO8601.format(c));
+
+		return false;
+	}
+
+	/**
+	 * @return the dateKey
+	 */
+	public String getDateKey() {
+		return dateKey;
+	}
+
+	/**
+	 * @param dateKey
+	 *            the dateKey to set
+	 */
+	public void setDateKey(String dateKey) {
+		this.dateKey = dateKey;
+	}
+
+	/**
+	 * @return the timeKey
+	 */
+	public String getTimeKey() {
+		return timeKey;
+	}
+
+	/**
+	 * @param timeKey
+	 *            the timeKey to set
+	 */
+	public void setTimeKey(String timeKey) {
+		this.timeKey = timeKey;
+	}
+
+	/**
+	 * @return the toKey
+	 */
+	public String getToKey() {
+		return toKey;
+	}
+
+	/**
+	 * @param toKey
+	 *            the toKey to set
+	 */
+	public void setToKey(String toKey) {
+		this.toKey = toKey;
+	}
+
+}

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/FileItemToInputStream.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/FileItemToInputStream.java?view=auto&rev=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/FileItemToInputStream.java (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/FileItemToInputStream.java Mon Nov 20 03:15:24 2006
@@ -0,0 +1,49 @@
+package org.apache.jackrabbit.browser.command;
+
+import org.apache.commons.chain.Command;
+import org.apache.commons.chain.Context;
+import org.apache.commons.fileupload.FileItem;
+
+public class FileItemToInputStream implements Command {
+
+	/** file item key */
+	private String fileItemKey = "fileItem";
+
+	private String targetKey = "inputStream";
+
+	public boolean execute(Context ctx) throws Exception {
+		FileItem fileItem = (FileItem) ctx.get(fileItemKey);
+		ctx.put(this.targetKey, fileItem.getInputStream());
+		return false;
+	}
+
+	/**
+	 * @return the fileItemKey
+	 */
+	public String getFileItemKey() {
+		return fileItemKey;
+	}
+
+	/**
+	 * @param fileItemKey
+	 *            the fileItemKey to set
+	 */
+	public void setFileItemKey(String fileItemKey) {
+		this.fileItemKey = fileItemKey;
+	}
+
+	/**
+	 * @return the targetKey
+	 */
+	public String getTargetKey() {
+		return targetKey;
+	}
+
+	/**
+	 * @param targetKey the targetKey to set
+	 */
+	public void setTargetKey(String targetKey) {
+		this.targetKey = targetKey;
+	}
+
+}

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/ReadMultipartRequest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/ReadMultipartRequest.java?view=auto&rev=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/ReadMultipartRequest.java (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/command/ReadMultipartRequest.java Mon Nov 20 03:15:24 2006
@@ -0,0 +1,59 @@
+package org.apache.jackrabbit.browser.command;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.commons.chain.Command;
+import org.apache.commons.chain.Context;
+import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.FileItemFactory;
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
+import org.apache.jackrabbit.command.web.JcrServletWebContext;
+
+/**
+ * Parses a Multipart request and puts every item in the context
+ */
+public class ReadMultipartRequest implements Command {
+
+	/** max upload size */
+	private String maxSize = "3000000";
+
+	@SuppressWarnings("unchecked")
+	public boolean execute(Context ctx) throws Exception {
+		// Configure file upload
+		JcrServletWebContext servletCtx = (JcrServletWebContext) ctx;
+		FileItemFactory itemFactory = new DiskFileItemFactory();
+		ServletFileUpload fileUpload = new ServletFileUpload(itemFactory);
+		fileUpload.setSizeMax(Integer.valueOf(this.maxSize));
+
+		// parse request
+		List items = fileUpload.parseRequest(servletCtx.getRequest());
+		Iterator iter = items.iterator();
+		while (iter.hasNext()) {
+			FileItem item = (FileItem) iter.next();
+			if (item.isFormField()) {
+				ctx.put(item.getFieldName(), item.getString());
+			} else {
+				ctx.put(item.getFieldName(), item);
+			}
+		}
+
+		return false;
+	}
+
+	/**
+	 * @return the maxSize
+	 */
+	public String getMaxSize() {
+		return maxSize;
+	}
+
+	/**
+	 * @param maxSize the maxSize to set
+	 */
+	public void setMaxSize(String maxSize) {
+		this.maxSize = maxSize;
+	}
+
+}

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOFilter.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOFilter.java?view=auto&rev=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOFilter.java (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOFilter.java Mon Nov 20 03:15:24 2006
@@ -0,0 +1,54 @@
+package org.apache.jackrabbit.browser.iframeio;
+
+import java.io.IOException;
+import java.io.OutputStream;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * IframeIO responses need to be a little different from the ones that are sent
+ * back from XMLHttpRequest responses. Because an iframe is used, the only
+ * reliable, cross-browser way of knowing when the response is loaded is to use
+ * an HTML document as the return type. <br>
+ * see http://manual.dojotoolkit.org/WikiHome/DojoDotBook/Book24
+ */
+public class IFrameIOFilter implements Filter {
+
+	private static String PRE = "<html><head></head><body><textarea>";
+	private static String POST = "</textarea></body></html>";
+
+	public void destroy() {
+	}
+
+	public void doFilter(ServletRequest request, ServletResponse response,
+			FilterChain chain) throws IOException, ServletException {
+		HttpServletResponse res = (HttpServletResponse) response;
+		
+		OutputStream out = res.getOutputStream();
+
+		// Write prefix
+		out.write(PRE.getBytes());
+
+		// process request
+		IFrameIOResponseWrapper wrapper = new IFrameIOResponseWrapper(res);
+		chain.doFilter(request, wrapper);
+
+		// write processed response
+		out.write(wrapper.getData());
+
+		// Write sufix
+		out.write(POST.getBytes());
+		out.close();
+
+	}
+
+	public void init(FilterConfig cfg) throws ServletException {
+	}
+
+}

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOFilterOutputStream.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOFilterOutputStream.java?view=auto&rev=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOFilterOutputStream.java (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOFilterOutputStream.java Mon Nov 20 03:15:24 2006
@@ -0,0 +1,31 @@
+package org.apache.jackrabbit.browser.iframeio;
+
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+
+import javax.servlet.ServletOutputStream;
+
+/**
+ * OutputStream that writes to an underlying DataOutputStream
+ */
+public class IFrameIOFilterOutputStream extends ServletOutputStream {
+
+	private DataOutputStream stream;
+
+	public IFrameIOFilterOutputStream(OutputStream output) {
+		stream = new DataOutputStream(output);
+	}
+
+	public void write(int b) throws IOException {
+		stream.write(b);
+	}
+
+	public void write(byte[] b) throws IOException {
+		stream.write(b);
+	}
+
+	public void write(byte[] b, int off, int len) throws IOException {
+		stream.write(b, off, len);
+	}
+}

Added: jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOResponseWrapper.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOResponseWrapper.java?view=auto&rev=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOResponseWrapper.java (added)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/java/org/apache/jackrabbit/browser/iframeio/IFrameIOResponseWrapper.java Mon Nov 20 03:15:24 2006
@@ -0,0 +1,53 @@
+package org.apache.jackrabbit.browser.iframeio;
+
+import java.io.ByteArrayOutputStream;
+import java.io.PrintWriter;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpServletResponseWrapper;
+
+public class IFrameIOResponseWrapper extends HttpServletResponseWrapper {
+
+	private ByteArrayOutputStream output;
+
+	private int contentLength;
+
+	private String contentType;
+
+	public IFrameIOResponseWrapper(HttpServletResponse response) {
+		super(response);
+		output = new ByteArrayOutputStream();
+	}
+
+	public byte[] getData() {
+		return output.toByteArray();
+	}
+
+	public ServletOutputStream getOutputStream() {
+		return new IFrameIOFilterOutputStream(output);
+	}
+
+	public void setContentLength(int length) {
+		this.contentLength = length;
+		super.setContentLength(length);
+	}
+
+	public int getContentLength() {
+		return contentLength;
+	}
+
+	public void setContentType(String type) {
+		this.contentType = type;
+		super.setContentType(type);
+	}
+
+	public String getContentType() {
+		return contentType;
+	}
+
+	public PrintWriter getWriter() {
+		return new PrintWriter(getOutputStream(), true);
+	}
+
+}

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/resources/org/apache/jackrabbit/browser/commands.xml
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/resources/org/apache/jackrabbit/browser/commands.xml?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/resources/org/apache/jackrabbit/browser/commands.xml (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/resources/org/apache/jackrabbit/browser/commands.xml Mon Nov 20 03:15:24 2006
@@ -2,29 +2,137 @@
 <chains>
 
 	<catalog>
-
-		<command name="addMixin"
+	
+		<command name="/workspace/copy"
+			className="org.apache.jackrabbit.command.core.Copy"/>
+			
+		<command name="/workspace/move"
+			className="org.apache.jackrabbit.command.core.Move"/>
+
+		<command name="/workspace/rename"
+			className="org.apache.jackrabbit.command.core.Rename"/>
+
+		<chain name="/workspace/importxml.iframe">
+			<command name="readMultipart"
+				className="org.apache.jackrabbit.browser.command.ReadMultipartRequest"/>
+			<command name="fileitemToInputStream"
+				className="org.apache.jackrabbit.browser.command.FileItemToInputStream"
+				fileItemKey="file"
+				destKey="inputStream"/>
+			<command name="importXmlFromInputStream"
+				className="org.apache.jackrabbit.command.xml.ImportXmlFromInputStream"/>
+		</chain>
+
+		<command name="/workspace/registernamespace"
+			className="org.apache.jackrabbit.command.namespace.RegisterNamespace"/>
+
+		<command name="/workspace/unregisternamespace"
+			className="org.apache.jackrabbit.command.namespace.UnregisterNamespace"/>
+			
+		<!-- S E S S I O N -->
+
+		<command name="/session/move"
+			className="org.apache.jackrabbit.command.core.Move"/>
+
+		<command name="/session/refresh"
+			className="org.apache.jackrabbit.command.core.Refresh"/>
+
+		<command name="/session/rename"
+			className="org.apache.jackrabbit.command.core.Rename"/>
+
+		<command name="/session/save"
+			className="org.apache.jackrabbit.command.core.Save"/>
+
+		<command name="/session/locking/addtoken"
+			className="org.apache.jackrabbit.command.lock.AddLockToken"/>
+			
+		<command name="/session/locking/removetoken"
+			className="org.apache.jackrabbit.command.lock.RemoveLockToken"/>
+			
+		<command name="/session/setnamespaceprefix"
+			className="org.apache.jackrabbit.command.namespace.SetNamespacePrefix"/>
+
+		<!-- N O D E -->
+
+		<command name="/node/addnode"
+			className="org.apache.jackrabbit.command.core.AddNode"/>
+
+		<command name="/node/refresh"
+			className="org.apache.jackrabbit.command.core.Refresh"/>
+
+		<command name="/node/remove"
+			className="org.apache.jackrabbit.command.core.RemoveItem"/>
+
+		<command name="/node/save"
+			className="org.apache.jackrabbit.command.core.Save"/>
+
+		<command name="/node/setproperty"
+			className="org.apache.jackrabbit.command.core.SetProperty"/>
+
+		<chain name="/node/setdateproperty">
+			<command name="dateToISO8601"
+				className="org.apache.jackrabbit.browser.command.DateTimeToISO8601"
+				toKey="value"/>
+			<command name="/node/setproperty"
+				className="org.apache.jackrabbit.command.core.SetProperty"/>
+		</chain>
+		
+		<chain name="/node/setbinaryproperty.iframe">
+			<command name="readMultipart"
+				className="org.apache.jackrabbit.browser.command.ReadMultipartRequest"/>
+			<command name="fileitemToInputStream"
+				className="org.apache.jackrabbit.browser.command.FileItemToInputStream"
+				fileItemKey="file"
+				targetKey="value"/>
+			<command name="/node/setproperty"
+				className="org.apache.jackrabbit.command.core.SetBinaryProperty"/>
+		</chain>		
+		
+		<command name="/node/addmixin"
 			className="org.apache.jackrabbit.command.mixin.AddMixin"/>
 
-		<chain name="checkin">
+		<command name="/node/removemixin"
+			className="org.apache.jackrabbit.command.mixin.RemoveMixin"/>
+
+
+		<command name="/node/locking/lock"
+			className="org.apache.jackrabbit.command.lock.Lock"/>
+
+		<command name="/node/locking/unlock"
+			className="org.apache.jackrabbit.command.lock.Unlock"/>
+
+		<chain name="/node/versioning/checkin">
 			<command name="checkin"
 				className="org.apache.jackrabbit.command.version.Checkin"/>
 			<command name="addVersionLabel"
 				className="org.apache.jackrabbit.command.version.AddVersionLabel"/>
 		</chain>	
 
-		<command name="checkout"
+		<command name="/node/versioning/checkout"
 			className="org.apache.jackrabbit.command.version.Checkout"/>
 
-		<command name="restore"
+		<command name="/node/versioning/restore"
 			className="org.apache.jackrabbit.command.version.Restore"/>
 
-		<command name="lock"
-			className="org.apache.jackrabbit.command.lock.Lock"/>
+		<!-- command name="/node/versioning/restore"
+			className="org.apache.jackrabbit.command.version.Merge"/>
 
-		<command name="unlock"
-			className="org.apache.jackrabbit.command.lock.Unlock"/>
+		<command name="/node/versioning/restore"
+			className="org.apache.jackrabbit.command.version.DoneMerge"/>
+
+		<command name="/node/versioning/restore"
+			className="org.apache.jackrabbit.command.version.CancelMerge"/ -->
+
+		<!-- P R O P E R T Y -->
+		<command name="/property/remove"
+			className="org.apache.jackrabbit.command.core.RemoveItem"/>
+
+		<command name="/property/save"
+			className="org.apache.jackrabbit.command.core.Save"/>
+
+		<command name="/property/refresh"
+			className="org.apache.jackrabbit.command.core.Refresh"/>
 
 	</catalog>			
 
-</chains>	
\ No newline at end of file
+</chains>	

Propchange: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/WEB-INF/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Mon Nov 20 03:15:24 2006
@@ -0,0 +1,3 @@
+
+classes
+lib

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/WEB-INF/web.xml?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/WEB-INF/web.xml (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/WEB-INF/web.xml Mon Nov 20 03:15:24 2006
@@ -15,10 +15,42 @@
 	See the License for the specific language governing permissions and
 	limitations under the License.
 -->
-
-<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
 <web-app>
+	
 	<display-name>Jackrabbit JCR Browser</display-name>
+
+	<!-- ====================================================================== -->
+	<!-- F I L T E R                                                            -->
+	<!-- ====================================================================== -->
+
+	<filter>
+		<filter-name>loginFilter</filter-name>
+		<filter-class>org.apache.jackrabbit.browser.LoginFilter</filter-class>
+	</filter>
+	
+	<filter>
+		<filter-name>iframeIOFilter</filter-name>
+		<filter-class>org.apache.jackrabbit.browser.iframeio.IFrameIOFilter</filter-class>
+	</filter>	
+
+	<filter-mapping>
+		<filter-name>loginFilter</filter-name>
+		<url-pattern>/browser/*</url-pattern>
+	</filter-mapping>
+
+	<filter-mapping>
+		<filter-name>iframeIOFilter</filter-name>
+		<url-pattern>*.iframe</url-pattern>
+	</filter-mapping>
+	
+	<!-- ====================================================================== -->
+	<!-- L I S T E N E R                                                        -->
+	<!-- ====================================================================== -->
+	<listener>
+		<listener-class>org.apache.jackrabbit.browser.JcrSessionListener</listener-class>
+	</listener>
+
     <!-- ====================================================================== -->
     <!-- L O G G I N G   S E R V L E T                                          -->
     <!-- ====================================================================== -->
@@ -178,6 +210,22 @@
 			<param-name>password</param-name>
 			<param-value>admin</param-value>
 		</init-param>
+		<init-param>
+			<param-name>print.success</param-name>
+			<param-value>true</param-value>
+		</init-param>
+		<init-param>
+			<param-name>success.message.key</param-name>
+			<param-value>success.message</param-value>
+		</init-param>
+		<init-param>
+			<param-name>auto.save</param-name>
+			<param-value>false</param-value>
+		</init-param>					
+		<init-param>
+			<param-name>session.key</param-name>
+			<param-value>jcr.session</param-value>
+		</init-param>	
 		<load-on-startup>6</load-on-startup>
 	</servlet>
 
@@ -194,8 +242,9 @@
 	</servlet-mapping>
 	<servlet-mapping>
 		<servlet-name>JCR commands</servlet-name>
-		<url-pattern>/command</url-pattern>
+		<url-pattern>/command/*</url-pattern>
 	</servlet-mapping>
+
 	<!-- ====================================================================== -->
 	<!-- T A G L I B S                                                          -->
 	<!-- ====================================================================== -->
@@ -284,16 +333,11 @@
 		<env-entry-type>java.lang.String</env-entry-type>
 	</env-entry>
 	
+	
 	<!-- ====================================================================== -->
 	<!-- L O G I N                                                              -->
 	<!-- ====================================================================== -->
 	
-	<!--
-	  Define the Members-only area, by defining
-	  a "Security Constraint" on this Application, and
-	  mapping it to the subdirectory (URL) that we want
-	  to restrict.
-	 -->
 	<security-constraint>
 	  <web-resource-collection>
 	    <web-resource-name>

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/custom.js
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/custom.js?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/custom.js (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/custom.js Mon Nov 20 03:15:24 2006
@@ -62,12 +62,14 @@
  * Populate the item list thorugh ajax
  */
 function populateItemList(){
+	var w=dojo.widget.byId("itemList");
+	w.store.setData([]);
+
 	var kw = {
 		url: "itemlist.jsp?path=" + currentItem,
 		mimetype: "text/javascript",
 		load: function(type, data, http) {
 			var w=dojo.widget.byId("itemList");
-			w.store.setData([]);
 			w.store.setData(data);
 			// Connect to on click event
 			var row = dojo.byId("itemList").getElementsByTagName('tr');
@@ -88,27 +90,15 @@
  * Populate the description panel thorugh ajax
  */
 function populateInfo(){
-	// Item
-	var kwitem = {
-		url: "info/item.jsp?path=" + currentItem,
-		mimetype: "text/html",
-		load: function(type, data, http) {
-			var pathDiv = document.getElementById('itemInfo');
-			pathDiv.innerHTML= data;
-		}
-	};
-	dojo.io.bind(kwitem);
 
-	// definition
-	var kwdef = {
-		url: "info/definition.jsp?path=" + currentItem,
-		mimetype: "text/html",
-		load: function(type, data, http) {
-			var pathDiv = document.getElementById('definitionInfo');
-			pathDiv.innerHTML= data;
-		}
-	};
-	dojo.io.bind(kwdef);
+	var itemTab = dojo.widget.byId("itemTab");
+	itemTab.setUrl("info/item.jsp?path=" + currentItem); 
+	
+	var typeTab = dojo.widget.byId("typeTab");
+	typeTab.setUrl("info/type.jsp?path=" + currentItem); 
+
+	var definitionTab = dojo.widget.byId("definitionTab");
+	definitionTab.setUrl("info/definition.jsp?path=" + currentItem); 
 
 }
 
@@ -135,7 +125,19 @@
 */
 function submitDialog() {
 	try{
-		dojoForm(document.getElementById('dialogForm'));
+		dojoForm(document.getElementById('dialogForm'), new Array());
+	} catch(E) {
+		hideDialog();
+	};
+	hideDialog();
+}
+
+/*
+* Submits the dialog and reloads the array of tree nodes.
+*/
+function submitDialog(nodes) {
+	try{
+		dojoForm(document.getElementById('dialogForm'), nodes);
 	} catch(E) {
 		hideDialog();
 	};
@@ -145,19 +147,30 @@
 /*
 * Helper function to submit a form through ajax
 */
-function dojoForm(form) {
+function dojoForm(form, nodes) {
 	var kw = {
-		mimetype: "text/plain",
 		formNode: form,
+		mimetype: "text/plain",
 		load: function(t, txt, e) {
-			var pathDiv = document.getElementById('path');
-			pathDiv.innerHTML= "<strong><font color='red'>" + txt + "</font></strong>" ;
-			setTimeout("refreshPath()", 10000)
-		},
+			var treeController = dojo.widget.manager.getWidgetById('treeController');
+			var treeSelector = dojo.widget.manager.getWidgetById('selector');
+			for (key in nodes) {
+				var node = nodes[key];
+				if (node==null) {
+					node = dojo.widget.manager.getWidgetById('/');
+				}
+				treeSelector.deselectAll() ;
+				treeController.collapse(node) ;
+				treeController.expand(node) ;
+				treeSelector.select(node) ;
+			}
+			dojo.event.topic.publish("successMessageTopic", txt);
+		},		
 		error: function(t, e) {
-			dojo.debug("Error!... " + e.message);
+			dojo.event.topic.publish("errorMessageTopic", {message: e.message, type: "ERROR"});
 		}
 	};
 	dojo.io.bind(kw);
 	return false;
 }
+

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/addmixin.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/addmixin.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/addmixin.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/addmixin.jsp Mon Nov 20 03:15:24 2006
@@ -3,8 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
@@ -12,11 +12,15 @@
 <div class="dialog">
 <h3>Node - Add mixin</h3>
 <hr height="1"/>
-<form action="response.txt" id="dialogForm">
+<form action="<c:url value="/command/node/addmixin"/>" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th>Node</th>
-	<td><c:out value="${node.path}"/></td>
+	<td>
+	<input type="hidden" name="path" value="<c:out value="${node.path}"/>" />
+	<c:out value="${node.path}"/>
+	</td>
 </tr>
 <tr>
 	<th>Mixin</th>
@@ -31,7 +35,7 @@
 <tr>
 	<td colspan="2">
 <hr height="1"/>
-<input type="button" value="Submit" onClick="submitDialog();"/>
+<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
 <input type="button" value="Close" onClick="hideDialog();"/>
 	</td>
 </tr>
@@ -39,4 +43,12 @@
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file
+
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var node = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(node);
+	submitDialog(nodes);
+}
+</script>

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/addnode.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/addnode.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/addnode.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/addnode.jsp Mon Nov 20 03:15:24 2006
@@ -3,8 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
@@ -12,42 +12,36 @@
 <div class="dialog">
 <h3>Node - Add node</h3>
 <hr height="1"/>
-<form action="response.txt" id="dialogForm">
+<form action="<c:url value="/command/node/addnode" />" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th>Parent</th>
 	<td><c:out value="${node.path}"/></td>
 </tr>
 <tr>
-	<th>Namespace</th>
-	<td>
-	<select name="namespace">
-	<c:forEach var="prefix" items="${jcrsession.namespacePrefixes}">
-<c:if test="${empty prefix}"><option selected="selected"><c:out value="${prefix}"/></option></c:if>
-<c:if test="${!empty prefix}"><option><c:out value="${prefix}"/></option></c:if>		
-	</c:forEach>
-	</select>
-	</td>
-</tr>
-<tr>
 	<th>Primary node type</th>
 	<td>
-	<select name="nodetype">
+	<select name="type">
 	<c:forEach var="nt" items="${jcrsession.workspace.nodeTypeManager.primaryNodeTypes}">
-<c:if test="${nt.name eq 'nt:unstructured'}"><option selected="selected"><c:out value="${nt.name}"/></option></c:if>
-<c:if test="${nt.name ne 'nt:unstructured'}"><option><c:out value="${nt.name}"/></option></c:if>
+<c:if test="${nt.name eq 'nt:unstructured'}">
+<option value="<c:out value="${nt.name}"/>" selected="selected"><c:out value="${nt.name}"/></option>
+</c:if>
+<c:if test="${nt.name ne 'nt:unstructured'}">
+<option value="<c:out value="${nt.name}"/>"><c:out value="${nt.name}"/></option>
+</c:if>
 	</c:forEach>
 	</select>
 	</td>
 </tr>
 <tr>
 	<th>Name</th>
-	<td><input type="text" name="name"/></td>
+	<td><input type="text" name="relPath" id="relPath"/></td>
 </tr>
 <tr>
 	<td colspan="2">
 <hr height="1"/>
-<input type="button" value="Submit" onClick="submitDialog();"/>
+<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
 <input type="button" value="Close" onClick="hideDialog();"/>
 	</td>
 </tr>
@@ -55,4 +49,18 @@
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var parent = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(parent);
+	
+	if (parent.widgetId == '/') {
+		document.getElementById('relPath').value =  '/' + document.getElementById('relPath').value;
+	} else {
+		document.getElementById('relPath').value =  '<c:out value="${node.path}"/>/' + document.getElementById('relPath').value;
+	}
+	
+	submitDialog(nodes);
+}
+</script>

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/locking/lock.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/locking/lock.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/locking/lock.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/locking/lock.jsp Mon Nov 20 03:15:24 2006
@@ -3,8 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
@@ -12,20 +12,38 @@
 <div class="dialog">
 <h3>Node - Lock</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="<c:url value="/command/node/locking/lock"/>" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th>Node</th>
-	<td><c:out value="${node.path}"/></td>
+	<td>
+	<input type="hidden" name="path" value="<c:out value="${node.path}"/>"/>
+	<c:out value="${node.path}"/></td>
+</tr>
+<tr>
+	<th>Deep</th>
+	<td><input type="checkbox" name="deep" value="true"/></td>
+</tr>
+<tr>
+	<th>Session scoped</th>
+	<td><input type="checkbox" name="sessionScoped" value="true" checked="checked"/></td>
 </tr>
 <tr>
 	<td colspan="2" align="center">
 		<hr height="1"/>
-		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
 		<input type="button" value="Cancel" onClick="hideDialog();"/>
 	</td>
 </tr>
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var node = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(node);
+	submitDialog(nodes);
+}
+</script>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/locking/unlock.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/locking/unlock.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/locking/unlock.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/locking/unlock.jsp Mon Nov 20 03:15:24 2006
@@ -3,8 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
@@ -12,20 +12,31 @@
 <div class="dialog">
 <h3>Node - Unlock</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="<c:url value="/command/node/locking/unlock"/>" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th>Node</th>
-	<td><c:out value="${node.path}"/></td>
+	<td>
+	<input type="hidden" name="path" value="<c:out value="${node.path}"/>"/>
+	<c:out value="${node.path}"/>
+	</td>
 </tr>
 <tr>
 	<td colspan="2" align="center">
 		<hr height="1"/>
-		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
 		<input type="button" value="Cancel" onClick="hideDialog();"/>
 	</td>
 </tr>
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var node = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(node);
+	submitDialog(nodes);
+}
+</script>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/orderbefore.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/orderbefore.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/orderbefore.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/orderbefore.jsp Mon Nov 20 03:15:24 2006
@@ -3,8 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
@@ -12,7 +12,8 @@
 <div class="dialog">
 <h3>Node - Order before</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="response.txt" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th width="100">Node</th>
@@ -40,4 +41,3 @@
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/refresh.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/refresh.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/refresh.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/refresh.jsp Mon Nov 20 03:15:24 2006
@@ -3,8 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
@@ -12,24 +12,35 @@
 <div class="dialog">
 <h3>Node - Refresh</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="<c:url value="/command/node/refresh" />" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th>Node</th>
-	<td><c:out value="${node.path}"/></td>
+	<td>
+	<input type="hidden" name="path" value="<c:out value="${node.path}"/>"/>
+	<c:out value="${node.path}"/>
+	</td>
 </tr>
 <tr>
 	<th>Keep changes</th>
-	<td><input type="checkbox" name="keepChanges"/></td>
+	<td><input type="checkbox" name="keepChanges" value="true"/></td>
 </tr>
 <tr>
 	<td colspan="2" align="center">
 		<hr height="1"/>	
-		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
 		<input type="button" value="Cancel" onClick="hideDialog();"/>
 	</td>
 </tr>
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var parent = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(parent);
+	submitDialog(nodes);
+}
+</script>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/remove.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/remove.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/remove.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/remove.jsp Mon Nov 20 03:15:24 2006
@@ -3,8 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
@@ -12,20 +12,31 @@
 <div class="dialog">
 <h3>Node - Remove</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="<c:url value="/command/node/remove" />" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th>Node</th>
-	<td><c:out value="${node.path}"/></td>
+	<td>
+	<input type="hidden" name="path" value="<c:out value="${node.path}"/>"/>
+	<c:out value="${node.path}"/>
+	</td>
 </tr>
 <tr>
 	<td colspan="2" align="center">
 		<hr height="1"/>
-		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
 		<input type="button" value="Cancel" onClick="hideDialog();"/>
 	</td>
 </tr>
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var parent = dojo.widget.manager.getWidgetById(currentItem).parent ;
+	var nodes = new Array(parent);
+	submitDialog(nodes);
+}
+</script>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/removemixin.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/removemixin.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/removemixin.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/removemixin.jsp Mon Nov 20 03:15:24 2006
@@ -3,8 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
@@ -12,11 +12,14 @@
 <div class="dialog">
 <h3>Node - Remove mixin</h3>
 <hr height="1"/>
-<form action="response.txt" id="dialogForm">
+<form action="<c:url value="/command/node/removemixin"/>" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th>Node</th>
-	<td><c:out value="${node.path}"/></td>
+	<td>
+	<input type="hidden" name="path" value="<c:out value="${node.path}"/>" />
+	<c:out value="${node.path}"/></td>
 </tr>
 <tr>
 	<th>Mixin</th>
@@ -33,7 +36,7 @@
 <tr>
 	<td colspan="2">
 <hr height="1"/>
-<input type="button" value="Submit" onClick="submitDialog();"/>
+<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
 <input type="button" value="Close" onClick="hideDialog();"/>
 	</td>
 </tr>
@@ -41,4 +44,12 @@
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file
+
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var node = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(node);
+	submitDialog(nodes);
+}
+</script>

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/save.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/save.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/save.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/save.jsp Mon Nov 20 03:15:24 2006
@@ -3,8 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
@@ -12,11 +12,15 @@
 <div class="dialog">
 <h3>Node - Save</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="<c:url value="/command/node/save"/>" id="dialogForm" 
+	method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th>Node</th>
-	<td><c:out value="${node.path}"/></td>
+	<td>
+	<input type="hidden" name="path" value="<c:out value="${node.path}"/>"/>
+	<c:out value="${node.path}"/>
+	</td>
 </tr>
 <tr>
 	<td colspan="2" align="center">
@@ -28,4 +32,3 @@
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setmandatoryproperties.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setmandatoryproperties.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setmandatoryproperties.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setmandatoryproperties.jsp Mon Nov 20 03:15:24 2006
@@ -3,8 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
@@ -12,7 +12,8 @@
 <div class="dialog">
 <h3>Node - Set mandatory properties</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="response.txt" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th>Node</th>
@@ -39,4 +40,3 @@
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/binary.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/binary.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/binary.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/binary.jsp Mon Nov 20 03:15:24 2006
@@ -1,8 +1,58 @@
 <%@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" %>
-<c:set var="type" scope="request">binary</c:set>
-<c:set var="editor" scope="request">
-<input type="file" name="value"/>
-</c:set>
-<c:import url="setproperty.jsp"></c:import>
+<% 
+pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
+%>
+<div class="dialog">
+<jcr:set var="node" item="${path}"/>
+<c:if test="${!node.node}">
+	<jcr:set var="node" item="${node.parent}"/>
+</c:if>
+<h3>Node - Set Binary property</h3>
+<hr height="1"/>	
+<form 
+	action="<c:url value="/command/node/setbinaryproperty.iframe?flavor=text/html"/>" 
+	id="dialogForm" 
+	enctype="multipart/form-data" 
+	method="POST" 
+	onsubmit="return false;">
+<table class="dialog">
+<tr>
+	<th width="100">Parent</th>
+	<td>
+	<input type="hidden" name="type" value="Binary"/>
+	<input type="hidden" name="parentPath" value="<c:out value="${node.path}"/>"/>
+	<input type="hidden" name="type" value="Date"/>	
+	<c:out value="${node.path}"/>
+	</td>
+</tr>
+<tr>
+	<th>Name</th>
+	<td><input type="text" name="name"/></td>
+</tr>
+<tr>
+	<th>Binary</th>
+	<td>
+		<input type="file" name="file"/>
+</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>
+</div>
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var parent = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(parent);
+	submitDialog(nodes);
+}
+</script>
+

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/boolean.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/boolean.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/boolean.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/boolean.jsp Mon Nov 20 03:15:24 2006
@@ -3,6 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <c:set var="type" scope="request">boolean</c:set>
 <c:set var="editor" scope="request">
-<input type="checkbox" name="value"/>
+<input type="hidden" name="type" value="Boolean"/>
+<input type="radio" name="value" value="true" />true
+<input type="radio" name="value" value="false" checked="checked"/>false
 </c:set>
-<c:import url="setproperty.jsp"></c:import>
+<jsp:include flush="true" page="setproperty.jsp"></jsp:include>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/date.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/date.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/date.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/date.jsp Mon Nov 20 03:15:24 2006
@@ -1,8 +1,74 @@
 <%@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" %>
-<c:set var="type" scope="request">date</c:set>
-<c:set var="editor" scope="request">
-<div id="test" dojoType="datepicker"></div>
-</c:set>
-<c:import url="setproperty.jsp"></c:import>
+<% 
+pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
+%>
+<div class="dialog">
+<jcr:set var="node" item="${path}"/>
+<c:if test="${!node.node}">
+	<jcr:set var="node" item="${node.parent}"/>
+</c:if>
+<h3>Node - Set date property</h3>
+<hr height="1"/>	
+<form action="<c:url value="/command/node/setdateproperty"/>" id="dialogForm" 
+method="POST" onsubmit="return false;">
+<table class="dialog">
+<tr>
+	<th width="100">Parent</th>
+	<td>
+	<input type="hidden" name="parentPath" value="<c:out value="${node.path}"/>"/>
+	<input type="hidden" name="type" value="Date"/>	
+	<c:out value="${node.path}"/>
+	</td>
+</tr>
+<tr>
+	<th>Name</th>
+	<td><input type="text" name="name"/></td>
+</tr>
+<tr>
+	<th>Date</th>
+	<td>
+	<input 
+		dojoType="dropdowndatepicker" 
+		containerToggle="wipe" 
+		containerToggleDuration="300"
+		displayFormat="yyyy/MM/dd"
+		name="date"/>
+</tr>
+<tr>
+	<th>Time</th>
+	<td>
+	<input type="hidden" name="time" id="formTime"/>
+	<input 
+		dojoType="dropdowntimepicker" 
+		lang="en-us" 
+		containertoggle="wipe" 
+		containerToggleDuration="300"
+		widgetId="timeWidget" />
+	</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>
+</div>
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// workaround because the input name is lost for the timepicker widget
+	var timeWidget = dojo.widget.manager.getWidgetById('timeWidget');
+	document.getElementById('formTime').value= timeWidget.inputNode.value ;
+
+	// nodes to refresh 
+	var parent = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(parent);
+	submitDialog(nodes);
+}
+</script>
+

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/double.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/double.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/double.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/double.jsp Mon Nov 20 03:15:24 2006
@@ -3,6 +3,7 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <c:set var="type" scope="request">double</c:set>
 <c:set var="editor" scope="request">
+	<input type="hidden" name="type" value="Double"/>
 	<input type="text" name="value" value=""/> 
 </c:set>
 <c:import url="setproperty.jsp"></c:import>

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/long.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/long.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/long.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/long.jsp Mon Nov 20 03:15:24 2006
@@ -3,6 +3,7 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <c:set var="type" scope="request">long</c:set>
 <c:set var="editor" scope="request">
+	<input type="hidden" name="type" value="Long"/>
 	<input type="text" name="value" value=""/> 
 </c:set>
 <c:import url="setproperty.jsp"></c:import>

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/name.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/name.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/name.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/name.jsp Mon Nov 20 03:15:24 2006
@@ -3,6 +3,7 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <c:set var="type" scope="request">name</c:set>
 <c:set var="editor" scope="request">
+<input type="hidden" name="type" value="Name"/>
 <input type="text" name="value"/>
 </c:set>
 <c:import url="setproperty.jsp"></c:import>

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/path.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/path.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/path.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/path.jsp Mon Nov 20 03:15:24 2006
@@ -3,6 +3,7 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <c:set var="type" scope="request">path</c:set>
 <c:set var="editor" scope="request">
+	<input type="hidden" name="type" value="Path"/>
 	<input type="text" name="value" value=""/> 
 </c:set>
 <c:import url="setproperty.jsp"></c:import>

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/reference.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/reference.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/reference.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/reference.jsp Mon Nov 20 03:15:24 2006
@@ -3,14 +3,16 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <c:set var="type" scope="request">reference</c:set>
 <c:set var="editor" scope="request">
+<input type="hidden" name="type" value="Reference"/>
+<input type="hidden" name="formValue" value=""/>
 <table>
 	<tr><td height="200" width="300">
-<div dojoType="TreeLoadingControllerV3" widgetId="targetTreeController" RpcUrl="tree.jsp"></div>
+<div dojoType="TreeLoadingControllerV3" widgetId="targetTreeController" RpcUrl="tree.jsp?prefix=target"></div>
 <div dojoType="TreeSelectorV3" widgetId="targetSelector"></div>	
 <div dojoType="TreeDeselectOnDblselect" selector="targetSelector"></div>
 <div class="targetTreeContainer" >
 	<div dojoType="TreeV3" widgetId="targetTree" listeners="targetTreeController;targetSelector">
-	    <div dojoType="TreeNodeV3" title="Root" isFolder="true" objectId="/">
+	    <div dojoType="TreeNodeV3" title="Root" isFolder="true" widgetId="target/" objectId="/">
 	    </div>
 	</div>
 </div>	
@@ -18,3 +20,6 @@
 </table>
 </c:set>
 <c:import url="setproperty.jsp"></c:import>
+<script language="JavaScript" type="text/javascript">
+
+</script>

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/setproperty.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/setproperty.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/setproperty.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/setproperty.jsp Mon Nov 20 03:15:24 2006
@@ -1,39 +1,30 @@
 <%@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")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
+<div class="dialog">
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
 </c:if>
-<div class="dialog">
 <h3>Node - Set <c:out value="${type}"/> property</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
-<input type="hidden" name="type" value="<%= PropertyType.STRING %>"/>
+<form action="<c:url value="/command/node/setproperty"/>" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th width="100">Parent</th>
-	<td><c:out value="${node.path}"/></td>
-</tr>
-<tr>
-	<th>Namespace</th>
 	<td>
-	<select name="namespace">
-	<c:forEach var="prefix" items="${jcrsession.namespacePrefixes}">
-<c:if test="${empty prefix}"><option selected="selected"><c:out value="${prefix}"/></option></c:if>
-<c:if test="${!empty prefix}"><option><c:out value="${prefix}"/></option></c:if>		
-	</c:forEach>
-	</select>
+	<input type="hidden" name="parentPath" value="<c:out value="${node.path}"/>"/>
+	<c:out value="${node.path}"/>
 	</td>
 </tr>
 <tr>
 	<th>Name</th>
-	<td><input type="text" name="name" value=""/></td>
+	<td><input type="text" name="name"/></td>
 </tr>
 <tr>
 	<th>Value</th>
@@ -42,11 +33,18 @@
 <tr>
 	<td colspan="2" align="center">
 		<hr height="1"/>
-		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
 		<input type="button" value="Cancel" onClick="hideDialog();"/>
 	</td>
 </tr>
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var parent = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(parent);
+	submitDialog(nodes);
+}
+</script>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/string.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/string.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/string.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/setproperty/string.jsp Mon Nov 20 03:15:24 2006
@@ -3,6 +3,7 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <c:set var="type" scope="request">string</c:set>
 <c:set var="editor" scope="request">
-	<input type="text" name="value" value=""/> 
+	<input type="hidden" name="type" value="String"/>
+	<textarea name="value" value="" cols="30" rows="10"/></textarea>
 </c:set>
 <c:import url="setproperty.jsp"></c:import>

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/update.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/update.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/update.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/update.jsp Mon Nov 20 03:15:24 2006
@@ -3,8 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
@@ -12,7 +12,8 @@
 <div class="dialog">
 <h3>Node - Update</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="response.txt" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th>Node</th>
@@ -38,4 +39,3 @@
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/checkin.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/checkin.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/checkin.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/checkin.jsp Mon Nov 20 03:15:24 2006
@@ -3,8 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
@@ -12,20 +12,34 @@
 <div class="dialog">
 <h3>Node - Checkin</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="<c:url value="/command/node/versioning/checkin"/>" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th>Node</th>
-	<td><c:out value="${node.path}"/></td>
+	<td>
+	<input type="hidden" name="path" value="<c:out value="${node.path}"/>"/>
+	<c:out value="${node.path}"/></td>
+</tr>
+<tr>
+	<th>Label</th>
+	<td><textarea name="label" /></textarea></td>
 </tr>
 <tr>
 	<td colspan="2" align="center">
 		<hr height="1"/>
-		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
 		<input type="button" value="Cancel" onClick="hideDialog();"/>
 	</td>
 </tr>
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var node = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(node);
+	submitDialog(nodes);
+}
+</script>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/checkout.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/checkout.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/checkout.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/checkout.jsp Mon Nov 20 03:15:24 2006
@@ -3,8 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
@@ -12,20 +12,30 @@
 <div class="dialog">
 <h3>Node - Checkout</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="<c:url value="/command/node/versioning/checkout"/>" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th>Node</th>
-	<td><c:out value="${node.path}"/></td>
+	<td>
+	<input type="hidden" name="path" value="<c:out value="${node.path}"/>" />
+	<c:out value="${node.path}"/></td>
 </tr>
 <tr>
 	<td colspan="2" align="center">
 		<hr height="1"/>
-		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
 		<input type="button" value="Cancel" onClick="hideDialog();"/>
 	</td>
 </tr>
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var node = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(node);
+	submitDialog(nodes);
+}
+</script>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/restore.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/restore.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/restore.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/node/versioning/restore.jsp Mon Nov 20 03:15:24 2006
@@ -3,8 +3,8 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="node" item="${path}"/>
 <c:if test="${!node.node}">
 	<jcr:set var="node" item="${node.parent}"/>
@@ -12,32 +12,46 @@
 <div class="dialog">
 <h3>Node - Save</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="<c:url value="/command/node/versioning/restore"/>" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 <tr>
 	<th>Node</th>
-	<td><c:out value="${node.path}"/></td>
+	<td>
+	<input type="hidden" name="path" value="<c:out value="${node.path}"/>" />
+	<c:out value="${node.path}"/></td>
 </tr>
 <tr>
 	<th>Version</th>
 	<td>
-	<select name="removeExisting">
-		<option>1.0 - "version 1.0"</option>
+	<select name="version">
+	<jcr:versions var="version" node="${node}">
+		<option value="<c:out value="${version.name}"/>"><c:out value="${version.name}"/></option>
+	</jcr:versions>
 	</select>
 	</td>
 </tr>
 <tr>
 	<th>Remove existing</th>
-	<td><input type="checkbox" name="removeExisting"/></td>
+	<td>
+	<input type="checkbox" name="removeExisting" value="true" checked="checked"/>
+	</td>
 </tr>
 <tr>
 	<td colspan="2" align="center">
 		<hr height="1"/>
-		<input type="button" value="Submit" onClick="submitDialog();"/>
+		<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
 		<input type="button" value="Cancel" onClick="hideDialog();"/>
 	</td>
 </tr>
 </table>
 </form>
 </div>
-</jcr:session>
\ No newline at end of file
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var node = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(node);
+	submitDialog(nodes);
+}
+</script>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/refresh.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/refresh.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/refresh.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/refresh.jsp Mon Nov 20 03:15:24 2006
@@ -3,15 +3,14 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="item" item="${path}"/>
-
-
 <div class="dialog">
 <h3>Property - Refresh</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="<c:url value="/command/property/refresh" />" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 
 <c:if test="${item.node}">
@@ -30,13 +29,20 @@
 <tr>
 	<td colspan="2" align="center">
 		<hr height="1"/>
-<c:if test="${!item.node}"><input type="button" value="Submit" onClick="submitDialog();"/></c:if>
+<c:if test="${!item.node}">
+<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
+</c:if>
 		<input type="button" value="Cancel" onClick="hideDialog();"/>
 	</td>
 </tr>
 </table>
 </form>
 </div>
-
-
-</jcr:session>
\ No newline at end of file
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var parent = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(parent);
+	submitDialog(nodes);
+}
+</script>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/remove.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/remove.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/remove.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/remove.jsp Mon Nov 20 03:15:24 2006
@@ -3,14 +3,14 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="item" item="${path}"/>
-
 <div class="dialog">
 <h3>Property - Remove</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="<c:url value="/command/property/remove" />" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 
 <c:if test="${item.node}">
@@ -21,7 +21,9 @@
 
 <tr>
 	<th>Property</th>
-	<td><c:out value="${item.path}"/></td>
+	<td>
+	<input type="hidden" name="path" value="<c:out value="${item.path}"/>"/>	
+	<c:out value="${item.path}"/></td>
 </tr>
 
 </c:if>
@@ -29,13 +31,20 @@
 <tr>
 	<td colspan="2" align="center">
 		<hr height="1"/>
-<c:if test="${!item.node}"><input type="button" value="Submit" onClick="submitDialog();"/></c:if>
+<c:if test="${!item.node}">
+<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
+</c:if>
 		<input type="button" value="Cancel" onClick="hideDialog();"/>
 	</td>
 </tr>
 </table>
 </form>
 </div>
-
-
-</jcr:session>
\ No newline at end of file
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var parent = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(parent);
+	submitDialog(nodes);
+}
+</script>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/rename.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/rename.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/rename.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/rename.jsp Mon Nov 20 03:15:24 2006
@@ -3,15 +3,14 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="item" item="${path}"/>
-
-
 <div class="dialog">
 <h3>Property - Rename</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="response.txt" id="dialogForm" 
+method="POST" onsubmit="return false;">
 <table class="dialog">
 
 <c:if test="${item.node}">
@@ -42,6 +41,3 @@
 </table>
 </form>
 </div>
-
-
-</jcr:session>
\ No newline at end of file

Modified: jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/save.jsp
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/save.jsp?view=diff&rev=477145&r1=477144&r2=477145
==============================================================================
--- jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/save.jsp (original)
+++ jackrabbit/trunk/contrib/jcr-browser/src/main/webapp/browser/dialog/property/save.jsp Mon Nov 20 03:15:24 2006
@@ -3,15 +3,14 @@
 <%@taglib uri="http://jackrabbit.apache.org/jcr-taglib" prefix="jcr" %>
 <% 
 pageContext.setAttribute("path", request.getParameter("path")); 
+pageContext.setAttribute("jcrsession",session.getAttribute("jcr.session"));
 %>
-<jcr:session>
 <jcr:set var="item" item="${path}"/>
-
-
 <div class="dialog">
 <h3>Property - Save</h3>
 <hr height="1"/>	
-<form action="response.txt" id="dialogForm">
+<form action="<c:url value="/command/property/save" />" id="dialogForm" 
+	method="POST" onsubmit="return false;">
 <table class="dialog">
 
 <c:if test="${item.node}">
@@ -22,7 +21,10 @@
 
 <tr>
 	<th>Property</th>
-	<td><c:out value="${item.path}"/></td>
+	<td>
+	<input type="hidden" name="path" value="<c:out value="${item.path}"/>"/>	
+	<c:out value="${item.path}"/>
+	</td>
 </tr>
 
 </c:if>
@@ -30,13 +32,20 @@
 <tr>
 	<td colspan="2" align="center">
 		<hr height="1"/>
-<c:if test="${!item.node}"><input type="button" value="Submit" onClick="submitDialog();"/></c:if>
+<c:if test="${!item.node}">
+<input type="button" value="Submit" onClick="internalSubmitDialog();"/>
+</c:if>
 		<input type="button" value="Cancel" onClick="hideDialog();"/>
 	</td>
 </tr>
 </table>
 </form>
 </div>
-
-
-</jcr:session>
\ No newline at end of file
+<script language="JavaScript" type="text/javascript">
+function internalSubmitDialog() {
+	// nodes to refresh 
+	var parent = dojo.widget.manager.getWidgetById(currentItem);
+	var nodes = new Array(parent);
+	submitDialog(nodes);
+}
+</script>
\ No newline at end of file