You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2008/09/02 19:03:06 UTC
svn commit: r691321 - in
/jackrabbit/trunk/jackrabbit-jcr-rmi/src/main/java/org/apache/jackrabbit/rmi/server/jmx:
JCRServer.java JCRServerMBean.java
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();