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 rd...@apache.org on 2009/06/03 21:05:58 UTC

svn commit: r781509 - in /james/imap/trunk: deployment/src/test/java/org/apache/james/imap/functional/inmemory/ memory/src/main/java/org/apache/james/imap/inmemory/ seda/src/test/resources/org/apache/james/imap/scripts/ store/src/main/java/org/apache/j...

Author: rdonkin
Date: Wed Jun  3 19:05:57 2009
New Revision: 781509

URL: http://svn.apache.org/viewvc?rev=781509&view=rev
Log:
IMAP-95 Add tests and fix any bugs discovered. https://issues.apache.org/jira/browse/IMAP-95

Added:
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ConcurrentSessionsTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/EventTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ExpungeTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchBodySectionTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchBodyStructureTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchHeadersTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ListingTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/NonAuthenticatedStateTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/PartialFetchTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/RenameTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SearchTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SecurityTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectedInboxTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectedStateTest.java   (with props)
    james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/UidSearchTest.java   (with props)
    james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMembershipComparator.java   (with props)
Modified:
    james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryStoreMailbox.java
    james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/SimpleMailboxMembership.java
    james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/Copy.test
    james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ConcurrentSessionsTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ConcurrentSessionsTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ConcurrentSessionsTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ConcurrentSessionsTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,31 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.ConcurrentSessions;
+
+public class ConcurrentSessionsTest extends
+        ConcurrentSessions {
+
+    public ConcurrentSessionsTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ConcurrentSessionsTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/EventTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/EventTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/EventTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/EventTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,30 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.Events;
+
+public class EventTest extends Events {
+
+    public EventTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/EventTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ExpungeTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ExpungeTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ExpungeTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ExpungeTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,30 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.Expunge;
+
+public class ExpungeTest extends Expunge {
+
+    public ExpungeTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ExpungeTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchBodySectionTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchBodySectionTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchBodySectionTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchBodySectionTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,31 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.FetchBodySection;
+
+public class FetchBodySectionTest extends
+        FetchBodySection {
+
+    public FetchBodySectionTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchBodySectionTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchBodyStructureTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchBodyStructureTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchBodyStructureTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchBodyStructureTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,31 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.FetchBodyStructure;
+
+public class FetchBodyStructureTest extends
+        FetchBodyStructure {
+
+    public FetchBodyStructureTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchBodyStructureTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchHeadersTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchHeadersTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchHeadersTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchHeadersTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,30 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.FetchHeaders;
+
+public class FetchHeadersTest extends FetchHeaders {
+
+    public FetchHeadersTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchHeadersTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,29 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.Fetch;
+
+public class FetchTest extends Fetch {
+
+    public FetchTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/FetchTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ListingTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ListingTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ListingTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ListingTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,30 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.Listing;
+
+public class ListingTest extends Listing {
+
+    public ListingTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/ListingTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/NonAuthenticatedStateTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/NonAuthenticatedStateTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/NonAuthenticatedStateTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/NonAuthenticatedStateTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,30 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.NonAuthenticatedState;
+
+public class NonAuthenticatedStateTest extends
+        NonAuthenticatedState {
+
+    public NonAuthenticatedStateTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/NonAuthenticatedStateTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/PartialFetchTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/PartialFetchTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/PartialFetchTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/PartialFetchTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,30 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.PartialFetch;
+
+public class PartialFetchTest extends PartialFetch {
+
+    public PartialFetchTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/PartialFetchTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/RenameTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/RenameTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/RenameTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/RenameTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,30 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.Rename;
+
+public class RenameTest extends Rename {
+
+    public RenameTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/RenameTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SearchTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SearchTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SearchTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SearchTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,29 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.Search;
+
+public class SearchTest extends Search {
+
+    public SearchTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SearchTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SecurityTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SecurityTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SecurityTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SecurityTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,30 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.Security;
+
+public class SecurityTest extends Security {
+
+    public SecurityTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SecurityTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,30 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.Select;
+
+public class SelectTest extends Select {
+
+    public SelectTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectedInboxTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectedInboxTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectedInboxTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectedInboxTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,29 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.SelectedInbox;
+
+public class SelectedInboxTest extends SelectedInbox {
+
+    public SelectedInboxTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectedInboxTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectedStateTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectedStateTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectedStateTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectedStateTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,29 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.SelectedState;
+
+public class SelectedStateTest extends SelectedState {
+
+    public SelectedStateTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/SelectedStateTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/UidSearchTest.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/UidSearchTest.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/UidSearchTest.java (added)
+++ james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/UidSearchTest.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,29 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.functional.inmemory;
+
+import org.apache.james.imap.functional.suite.UidSearch;
+
+public class UidSearchTest extends UidSearch {
+
+    public UidSearchTest() throws Exception {
+        super(InMemoryHostSystem.build());
+    }
+}

Propchange: james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/inmemory/UidSearchTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryStoreMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryStoreMailbox.java?rev=781509&r1=781508&r2=781509&view=diff
==============================================================================
--- james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryStoreMailbox.java (original)
+++ james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryStoreMailbox.java Wed Jun  3 19:05:57 2009
@@ -21,7 +21,6 @@
 
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.Comparator;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
@@ -34,6 +33,7 @@
 import org.apache.james.imap.mailbox.MessageRange;
 import org.apache.james.imap.mailbox.SearchQuery;
 import org.apache.james.imap.mailbox.StorageException;
+import org.apache.james.imap.store.MailboxMembershipComparator;
 import org.apache.james.imap.store.StoreMailbox;
 import org.apache.james.imap.store.mail.MessageMapper;
 import org.apache.james.imap.store.mail.model.Header;
@@ -43,14 +43,6 @@
 
 public class InMemoryStoreMailbox extends StoreMailbox implements MessageMapper {
     
-    private final class MailboxMembershipComparator implements Comparator<MailboxMembership> {
-        public int compare(MailboxMembership o1, MailboxMembership o2) {
-            final long uid = o1.getUid();
-            final long otherUid = o2.getUid();
-            return uid < otherUid ? -1 : uid == otherUid ? 0 : 1;
-        }
-    }
-
     private static final int INITIAL_SIZE = 256;
     private Map<Long, MailboxMembership> membershipByUid;
     private InMemoryMailbox mailbox;
@@ -153,6 +145,7 @@
                 results = Collections.EMPTY_LIST;
                 break;
         }
+        Collections.sort(results, MailboxMembershipComparator.INSTANCE);
         return results;
     }
 
@@ -183,7 +176,7 @@
                 results.add(member);
             }
         }
-        Collections.sort(results, new MailboxMembershipComparator());
+        Collections.sort(results, MailboxMembershipComparator.INSTANCE);
         return results;
     }
 

Modified: james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/SimpleMailboxMembership.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/SimpleMailboxMembership.java?rev=781509&r1=781508&r2=781509&view=diff
==============================================================================
--- james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/SimpleMailboxMembership.java (original)
+++ james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/SimpleMailboxMembership.java Wed Jun  3 19:05:57 2009
@@ -169,7 +169,9 @@
     }
 
     public ByteBuffer getBodyContent() {
-        return ByteBuffer.wrap(document, bodyStartOctet, document.length - bodyStartOctet);
+        final ByteBuffer contentBuffer = getFullContent();
+        contentBuffer.position(bodyStartOctet);
+        return contentBuffer.slice();
     }
 
     public long getBodyOctets() {
@@ -177,7 +179,7 @@
     }
 
     public ByteBuffer getFullContent() {
-        return ByteBuffer.wrap(document);
+        return ByteBuffer.wrap(document).asReadOnlyBuffer();
     }
 
     public long getFullContentOctets() {

Modified: james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/Copy.test
URL: http://svn.apache.org/viewvc/james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/Copy.test?rev=781509&r1=781508&r2=781509&view=diff
==============================================================================
--- james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/Copy.test (original)
+++ james/imap/trunk/seda/src/test/resources/org/apache/james/imap/scripts/Copy.test Wed Jun  3 19:05:57 2009
@@ -19,30 +19,30 @@
 C: a1 CREATE copied
 S: a1 OK CREATE completed.
 
-C: a1 STATUS copied (MESSAGES)
+C: a2 STATUS copied (MESSAGES)
 S: \* STATUS "copied" \(MESSAGES 0\)
-S: a1 OK STATUS completed.
+S: a2 OK STATUS completed.
 
 # mark one message as deleted before copying (to check that flags are copied)
-C: a1 STORE 3 FLAGS (\Deleted)
+C: a3 STORE 3 FLAGS (\Deleted)
 S: \* 3 FETCH \(FLAGS \(\\Deleted \\Recent\)\)
-S: a1 OK STORE completed.
+S: a3 OK STORE completed.
 
 # copy messages 2-4
-C: a1 COPY 2:4 copied
-S: a1 OK COPY completed.
+C: a4 COPY 2:4 copied
+S: a4 OK COPY completed.
 
 # Check there's 3 messages in the copied mailbox
-C: a1 STATUS copied (MESSAGES)
+C: a5 STATUS copied (MESSAGES)
 S: \* STATUS "copied" \(MESSAGES 3\)
-S: a1 OK STATUS completed.
+S: a5 OK STATUS completed.
 
 # Modify an original after copying, to ensure it's not the same message.
-C: a1 STORE 2 FLAGS (\Flagged)
+C: a6 STORE 2 FLAGS (\Flagged)
 S: \* 2 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
-S: a1 OK STORE completed.
+S: a6 OK STORE completed.
 
-C: a1 SELECT copied
+C: a7 SELECT copied
 S: \* FLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)
 S: \* 3 EXISTS
 S: \* \d+ RECENT
@@ -50,13 +50,13 @@
 S: \* OK \[UNSEEN \d+\]
 S: \* OK \[PERMANENTFLAGS \(\\Answered \\Deleted \\Draft \\Flagged \\Seen\)\]
 S: \* OK \[UIDNEXT 4\]
-S: a1 OK \[READ-WRITE\] SELECT completed.
+S: a7 OK \[READ-WRITE\] SELECT completed.
 
-C: a1 FETCH 1:4 (FLAGS)
+C: a8 FETCH 1:4 (FLAGS)
 S: \* 1 FETCH \(FLAGS \(\)\)
 S: \* 2 FETCH \(FLAGS \(\\Deleted\)\)
 S: \* 3 FETCH \(FLAGS \(\)\)
-S: a1 OK FETCH completed.
+S: a8 OK FETCH completed.
 
-C: a1 DELETE copied
-S: a1 OK DELETE completed.
\ No newline at end of file
+C: a9 DELETE copied
+S: a9 OK DELETE completed.
\ No newline at end of file

Added: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMembershipComparator.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMembershipComparator.java?rev=781509&view=auto
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMembershipComparator.java (added)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMembershipComparator.java Wed Jun  3 19:05:57 2009
@@ -0,0 +1,40 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.imap.store;
+
+import java.util.Comparator;
+
+import org.apache.james.imap.store.mail.model.MailboxMembership;
+
+/**
+ * UID comparator for mailbox membership.
+ */
+public final class MailboxMembershipComparator implements Comparator<MailboxMembership> {
+    
+    public static final MailboxMembershipComparator INSTANCE = new MailboxMembershipComparator();
+    
+    private MailboxMembershipComparator() {}
+    
+    public int compare(MailboxMembership o1, MailboxMembership o2) {
+        final long uid = o1.getUid();
+        final long otherUid = o2.getUid();
+        return uid < otherUid ? -1 : uid == otherUid ? 0 : 1;
+    }
+}
\ No newline at end of file

Propchange: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMembershipComparator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java?rev=781509&r1=781508&r2=781509&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java Wed Jun  3 19:05:57 2009
@@ -428,7 +428,7 @@
     }
     
 
-    public List<MailboxMembership> copy(List<MailboxMembership> originalRows, MailboxSession session) throws MailboxException {
+    public void copy(List<MailboxMembership> originalRows, MailboxSession session) throws MailboxException {
         try {
             final MessageMapper mapper = createMessageMapper();
             mapper.begin();
@@ -447,7 +447,10 @@
 
             mapper.commit();
             
-            return copiedRows;
+            // Wait until commit before issuing events
+            for (MailboxMembership newMember:copiedRows) {
+                tracker.found(newMember.getUid(), newMember.createFlags());
+            }
             
         } catch (MessagingException e) {
             throw new MailboxException(HumanReadableText.FAILURE_MAIL_PARSE, e);
@@ -457,17 +460,9 @@
     public void copyTo(MessageRange set, StoreMailbox toMailbox, MailboxSession session) throws MailboxException {
         try {
             final MessageMapper mapper = createMessageMapper();
-            mapper.begin();
-
-            final List<MailboxMembership> originalRows = mapper.findInMailbox(set);
-            final List<MailboxMembership> copiedRows = toMailbox.copy(originalRows, session);
-
-            mapper.commit();
             
-            // Wait until commit before issuing events
-            for (MailboxMembership newMember:copiedRows) {
-                toMailbox.tracker.found(newMember.getUid(), newMember.createFlags());
-            }
+            final List<MailboxMembership> originalRows = mapper.findInMailbox(set);
+            toMailbox.copy(originalRows, session);
 
         } catch (MessagingException e) {
             throw new MailboxException(HumanReadableText.FAILURE_MAIL_PARSE, e);



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org