From commits-return-6252-apmail-jackrabbit-commits-archive=jackrabbit.apache.org@jackrabbit.apache.org Tue Sep 02 17:03:28 2008 Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 89508 invoked from network); 2 Sep 2008 17:03:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 2 Sep 2008 17:03:28 -0000 Received: (qmail 2044 invoked by uid 500); 2 Sep 2008 17:03:26 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 2011 invoked by uid 500); 2 Sep 2008 17:03:26 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 2002 invoked by uid 99); 2 Sep 2008 17:03:26 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Sep 2008 10:03:26 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Sep 2008 17:02:36 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 52FEF2388986; Tue, 2 Sep 2008 10:03:07 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r691321 - in /jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/jmx: JCRServer.java JCRServerMBean.java Date: Tue, 02 Sep 2008 17:03:06 -0000 To: commits@jackrabbit.apache.org From: jukka@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20080902170307.52FEF2388986@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jukka Date: Tue Sep 2 10:03:06 2008 New Revision: 691321 URL: http://svn.apache.org/viewvc?rev=691321&view=rev Log: JCR-1317: Add a MBean method to programatically create a new Workspace. Cleaned up and documented the code. Modified: jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/jmx/JCRServer.java jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/jmx/JCRServerMBean.java Modified: jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/jmx/JCRServer.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/jmx/JCRServer.java?rev=691321&r1=691320&r2=691321&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/jmx/JCRServer.java (original) +++ jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/jmx/JCRServer.java Tue Sep 2 10:03:06 2008 @@ -20,12 +20,11 @@ import java.io.InputStream; import java.util.Properties; -import javax.jcr.Credentials; -import javax.jcr.LoginException; import javax.jcr.Repository; import javax.jcr.RepositoryException; import javax.jcr.Session; import javax.jcr.SimpleCredentials; +import javax.jcr.Workspace; import javax.naming.InitialContext; import org.apache.jackrabbit.api.JackrabbitWorkspace; @@ -124,33 +123,24 @@ remote = null; } - public void createWorkspace( String username, String password, String workspace ) { + public void createWorkspace( + String username, String password, String name) + throws RepositoryException { + Session session = localRepository.login( + new SimpleCredentials(username, password.toCharArray())); try { - Credentials cred = new SimpleCredentials( username, password.toCharArray() ); - Session sesion = this.localRepository.login( cred ); - JackrabbitWorkspace ws = ( JackrabbitWorkspace ) sesion.getWorkspace(); - ws.createWorkspace( workspace ); - } catch ( LoginException ex ) { - ex.printStackTrace(); - } catch ( RepositoryException ex ) { - ex.printStackTrace(); + Workspace workspace = session.getWorkspace(); + if (workspace instanceof JackrabbitWorkspace) { + ((JackrabbitWorkspace) workspace).createWorkspace(name); + } else { + throw new RepositoryException( + "Not a Jackrabbit workspace: " + workspace); + } + } finally { + session.logout(); } } - /** - * Returns the local repository instance. - */ - Repository getLocalRepository() { - return localRepository; - } - - /** - * Sets the local repository instance. - */ - public void setLocalRepository( Repository localRepository ) { - this.localRepository = localRepository; - } - public String getLocalAddress() { return localAddress; } Modified: jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/jmx/JCRServerMBean.java URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/jmx/JCRServerMBean.java?rev=691321&r1=691320&r2=691321&view=diff ============================================================================== --- jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/jmx/JCRServerMBean.java (original) +++ jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/jmx/JCRServerMBean.java Tue Sep 2 10:03:06 2008 @@ -16,13 +16,24 @@ */ package org.apache.jackrabbit.rmi.server.jmx; +import javax.jcr.RepositoryException; + public interface JCRServerMBean { void start() throws Exception; void stop() throws Exception; - void createWorkspace(String username, String password, String workspace); + /** + * Creates a workspace in the managed repository. + * + * @param username administrator username + * @param password administrator password + * @param workspace name of the workspace to create + * @throws RepositoryException if the workspace could not be created + */ + void createWorkspace(String username, String password, String workspace) + throws RepositoryException; String getLocalAddress();