You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/03/22 07:37:25 UTC
svn commit: r925974 - in /james/imap/trunk:
deployment/src/test/java/org/apache/james/imap/functional/jcr/
jcr/src/main/java/org/apache/james/imap/jcr/
Author: norman
Date: Mon Mar 22 06:37:24 2010
New Revision: 925974
URL: http://svn.apache.org/viewvc?rev=925974&view=rev
Log:
Move CND file loading to the Utils class (IMAP-120)
Modified:
james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRSubscriptionManager.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java
Modified: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java?rev=925974&r1=925973&r2=925974&view=diff
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java (original)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/jcr/JCRHostSystem.java Mon Mar 22 06:37:24 2010
@@ -28,7 +28,7 @@ import org.apache.james.imap.functional.
import org.apache.james.imap.functional.InMemoryUserManager;
import org.apache.james.imap.jcr.JCRGlobalUserMailboxManager;
import org.apache.james.imap.jcr.JCRGlobalUserSubscriptionManager;
-import org.apache.james.imap.jcr.JCRImapConstants;
+import org.apache.james.imap.jcr.JCRUtils;
import org.apache.james.imap.main.DefaultImapDecoderFactory;
import org.apache.james.imap.processor.main.DefaultImapProcessorFactory;
import org.apache.james.test.functional.HostSystem;
@@ -53,14 +53,19 @@ public class JCRHostSystem extends ImapH
try {
+ String user = "user";
+ String pass = "pass";
+ String workspace = null;
RepositoryConfig config = RepositoryConfig.create(new InputSource(this.getClass().getClassLoader().getResourceAsStream("test-repository.xml")), JACKRABBIT_HOME);
repository = RepositoryImpl.create(config);
-
-
+
+ // Register imap cnd file
+ JCRUtils.registerCnd(repository, workspace, user, pass);
+
userManager = new InMemoryUserManager();
- mailboxManager = new JCRGlobalUserMailboxManager(userManager, new JCRGlobalUserSubscriptionManager(repository, null, "user", "pass", JCRImapConstants.MAX_SCALING), repository, null, "user", "pass", JCRImapConstants.MAX_SCALING);
+ mailboxManager = new JCRGlobalUserMailboxManager(userManager, new JCRGlobalUserSubscriptionManager(repository, workspace, user, pass), repository, workspace, user, pass);
final DefaultImapProcessorFactory defaultImapProcessorFactory = new DefaultImapProcessorFactory();
resetUserMetaData();
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java?rev=925974&r1=925973&r2=925974&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java (original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java Mon Mar 22 06:37:24 2010
@@ -18,8 +18,6 @@
****************************************************************/
package org.apache.james.imap.jcr;
-import java.io.InputStream;
-import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
@@ -33,7 +31,6 @@ import javax.jcr.SimpleCredentials;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.jackrabbit.commons.cnd.CndImporter;
import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.jcr.mail.JCRMailboxMapper;
import org.apache.james.imap.mailbox.BadCredentialsException;
@@ -66,7 +63,6 @@ public class JCRMailboxManager extends S
this.repository = repository;
this.workspace = workspace;
this.scaling = scaling;
- registerCnd();
}
@@ -74,19 +70,6 @@ public class JCRMailboxManager extends S
this(authenticator, subscriber, repository, workspace, MAX_SCALING);
}
- protected void registerCnd() {
- try {
- Session session = repository.login(getWorkspace());
- // Register the custom node types defined in the CND file
- InputStream is = Thread.currentThread().getContextClassLoader()
- .getResourceAsStream("org/apache/james/imap/jcr/imap.cnd");
- CndImporter.registerNodeTypes(new InputStreamReader(is), session);
- session.logout();
- } catch (Exception e) {
- throw new RuntimeException("Unable to register cnd file", e);
- }
- }
-
/**
* Return the scaling depth
*
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRSubscriptionManager.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRSubscriptionManager.java?rev=925974&r1=925973&r2=925974&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRSubscriptionManager.java (original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRSubscriptionManager.java Mon Mar 22 06:37:24 2010
@@ -18,9 +18,6 @@
****************************************************************/
package org.apache.james.imap.jcr;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
import javax.jcr.LoginException;
import javax.jcr.NoSuchWorkspaceException;
import javax.jcr.Repository;
@@ -30,7 +27,6 @@ import javax.jcr.SimpleCredentials;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.jackrabbit.commons.cnd.CndImporter;
import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.jcr.user.JCRSubscriptionMapper;
import org.apache.james.imap.jcr.user.model.JCRSubscription;
@@ -58,7 +54,6 @@ public class JCRSubscriptionManager exte
this.scaling = scaling;
this.workspace = workspace;
this.repository = repository;
- registerCnd();
}
@@ -66,19 +61,6 @@ public class JCRSubscriptionManager exte
this(repository, workspace, MAX_SCALING);
}
- protected void registerCnd() {
- try {
- Session session = repository.login(getWorkspace());
- // Register the custom node types defined in the CND file
- InputStream is = Thread.currentThread().getContextClassLoader()
- .getResourceAsStream("org/apache/james/imap/jcr/imap.cnd");
- CndImporter.registerNodeTypes(new InputStreamReader(is), session);
- session.logout();
- } catch (Exception e) {
- throw new RuntimeException("Unable to register cnd file", e);
- }
- }
-
/**
* Return the scaling depth
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java?rev=925974&r1=925973&r2=925974&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java (original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRUtils.java Mon Mar 22 06:37:24 2010
@@ -18,18 +18,23 @@
****************************************************************/
package org.apache.james.imap.jcr;
+import java.io.InputStream;
+import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import javax.jcr.ItemExistsException;
import javax.jcr.Node;
import javax.jcr.PathNotFoundException;
+import javax.jcr.Repository;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
+import javax.jcr.SimpleCredentials;
import javax.jcr.lock.LockException;
import javax.jcr.nodetype.ConstraintViolationException;
import javax.jcr.version.VersionException;
+import org.apache.jackrabbit.commons.cnd.CndImporter;
import org.apache.jackrabbit.util.Text;
import org.apache.james.imap.mailbox.MailboxSession;
@@ -210,5 +215,37 @@ public class JCRUtils implements JCRImap
}
}
+
+ /**
+ * Register the imap CND file in the workspace
+ *
+ * @param repository
+ * @param workspace
+ * @param username
+ * @param password
+ */
+ public static void registerCnd(Repository repository, String workspace, String username, String password) {
+ try {
+ Session session;
+ if (username == null) {
+ session = repository.login(workspace);
+ } else {
+ char pass[];
+ if (password == null) {
+ pass = new char[0];
+ } else {
+ pass = password.toCharArray();
+ }
+ session = repository.login(new SimpleCredentials(username, pass), workspace);
+ }
+ // Register the custom node types defined in the CND file
+ InputStream is = Thread.currentThread().getContextClassLoader()
+ .getResourceAsStream("org/apache/james/imap/jcr/imap.cnd");
+ CndImporter.registerNodeTypes(new InputStreamReader(is), session);
+ session.logout();
+ } catch (Exception e) {
+ throw new RuntimeException("Unable to register cnd file", e);
+ }
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org