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/01/21 22:14:57 UTC

svn commit: r901856 - in /james/imap/trunk: maildir/ maildir/src/main/java/org/ maildir/src/main/java/org/apache/ maildir/src/main/java/org/apache/james/ maildir/src/main/java/org/apache/james/imap/ maildir/src/main/java/org/apache/james/imap/maildir/ ...

Author: norman
Date: Thu Jan 21 21:14:56 2010
New Revision: 901856

URL: http://svn.apache.org/viewvc?rev=901856&view=rev
Log:
more work on imap maildir storage (IMAP-101)

Added:
    james/imap/trunk/maildir/src/main/java/org/
    james/imap/trunk/maildir/src/main/java/org/apache/
    james/imap/trunk/maildir/src/main/java/org/apache/james/
    james/imap/trunk/maildir/src/main/java/org/apache/james/imap/
    james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/
    james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/
    james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMailboxMapper.java
    james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirTransactionalMapper.java
    james/imap/trunk/stage/commons-transaction/
    james/imap/trunk/stage/commons-transaction/jars/
    james/imap/trunk/stage/commons-transaction/jars/commons-transaction-2.0-SNAPSHOT.jar   (with props)
    james/imap/trunk/stage/commons-transaction/poms/
    james/imap/trunk/stage/commons-transaction/poms/commons-transaction-2.0-SNAPSHOT.pom
Modified:
    james/imap/trunk/maildir/pom.xml
    james/imap/trunk/parent/pom.xml

Modified: james/imap/trunk/maildir/pom.xml
URL: http://svn.apache.org/viewvc/james/imap/trunk/maildir/pom.xml?rev=901856&r1=901855&r2=901856&view=diff
==============================================================================
--- james/imap/trunk/maildir/pom.xml (original)
+++ james/imap/trunk/maildir/pom.xml Thu Jan 21 21:14:56 2010
@@ -1,78 +1,83 @@
-<?xml version="1.0" encoding="ISO-8859-15"?>
-<!--
-  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.    
--->
-<project>
-  <parent>
-    <artifactId>apache-james-imap-parent</artifactId>
-    <groupId>org.apache.james</groupId>
+<?xml version="1.0" encoding="ISO-8859-15"?>
+<!--
+  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.    
+-->
+<project>
+  <parent>
+    <artifactId>apache-james-imap-parent</artifactId>
+    <groupId>org.apache.james</groupId>
     <version>0.1-SNAPSHOT</version>
-    <relativePath>../parent/pom.xml</relativePath>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.apache.james</groupId>
-  <artifactId>apache-james-imap-maildir</artifactId>
-  <name>Apache James IMAP Maildir Mailbox Manager</name>
-  <dependencies>
-    <dependency>
-      <groupId>${javax.mail.groupId}</groupId>
-      <artifactId>${javax.mail.artifactId}</artifactId>
+    <relativePath>../parent/pom.xml</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.james</groupId>
+  <artifactId>apache-james-imap-maildir</artifactId>
+  <name>Apache James IMAP Maildir Mailbox Manager</name>
+  <dependencies>
+    <dependency>
+      <groupId>${javax.mail.groupId}</groupId>
+      <artifactId>${javax.mail.artifactId}</artifactId>
     </dependency>
     <dependency>
       <groupId>${javax.activation.groupId}</groupId>
       <artifactId>${javax.activation.artifactId}</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.james</groupId>
-      <artifactId>apache-james-imap-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.james</groupId>
-      <artifactId>apache-james-imap-mailbox</artifactId>
-    </dependency>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.james</groupId>
+      <artifactId>apache-james-imap-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.james</groupId>
+      <artifactId>apache-james-imap-mailbox</artifactId>
+    </dependency>
     
     <dependency>
       <groupId>org.apache.james</groupId>
       <artifactId>apache-james-imap-store</artifactId>
     </dependency>
-    
-    <dependency>
-      <groupId>org.apache.james</groupId>
-      <artifactId>apache-mime4j</artifactId>
-    </dependency>
-
-    <dependency>
-      <groupId>commons-logging</groupId>
-      <artifactId>commons-logging</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-    </dependency>
+    
+    <dependency>
+      <groupId>org.apache.james</groupId>
+      <artifactId>apache-mime4j</artifactId>
+    </dependency>
+
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+    </dependency>
 
-    <dependency>
-      <groupId>commons-collections</groupId>
-      <artifactId>commons-collections</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
-</project>
+    <dependency>
+      <groupId>commons-transaction</groupId>
+      <artifactId>commons-transaction</artifactId>
+    </dependency>
+      
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>

Added: james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMailboxMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMailboxMapper.java?rev=901856&view=auto
==============================================================================
--- james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMailboxMapper.java (added)
+++ james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMailboxMapper.java Thu Jan 21 21:14:56 2010
@@ -0,0 +1,183 @@
+/****************************************************************
+ * 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.maildir.mail;
+
+import java.util.List;
+
+import org.apache.commons.transaction.file.TxFileResourceManager;
+import org.apache.commons.transaction.file.FileResourceManager.FileResource;
+import org.apache.commons.transaction.resource.ResourceException;
+import org.apache.james.imap.api.display.HumanReadableText;
+import org.apache.james.imap.mailbox.MailboxNotFoundException;
+import org.apache.james.imap.mailbox.StorageException;
+import org.apache.james.imap.store.mail.MailboxMapper;
+import org.apache.james.imap.store.mail.model.Mailbox;
+
+/**
+ * MailboxMapper which use Maildir layout
+ * 
+ *
+ */
+public class MaildirMailboxMapper extends MaildirTransactionalMapper implements MailboxMapper{
+
+	public MaildirMailboxMapper(final TxFileResourceManager manager) {
+	    super(manager);
+	}
+	
+	
+	/*
+	 * (non-Javadoc)
+	 * @see org.apache.james.imap.store.mail.MailboxMapper#countMailboxesWithName(java.lang.String)
+	 */
+	public long countMailboxesWithName(String name) throws StorageException {
+		try {
+			FileResource fr = manager.getResource(convertToPath(name));
+			if (fr.exists() && fr.isDirectory()) {
+				return 1;
+			}
+			return 0;
+		} catch (ResourceException e) {
+            throw new StorageException(HumanReadableText.COUNT_FAILED, e);
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.apache.james.imap.store.mail.MailboxMapper#delete(org.apache.james.imap.store.mail.model.Mailbox)
+	 */
+	public void delete(Mailbox mailbox) throws StorageException {
+		try {
+			manager.getResource(getPathForMailbox(mailbox)).delete();
+		} catch (ResourceException e) {
+			throw new StorageException(HumanReadableText.DELETED_FAILED, e);
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.apache.james.imap.store.mail.MailboxMapper#deleteAll()
+	 */
+	public void deleteAll() throws StorageException {
+		try {
+			List<? extends FileResource> mailboxes = manager.getResource(manager.getRootPath()).getChildren();
+			for(int i = 0 ; i < mailboxes.size(); i++) {
+				mailboxes.get(i).delete();
+			}
+		} catch (ResourceException e) {
+			throw new StorageException(HumanReadableText.DELETED_FAILED, e);
+		}
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.apache.james.imap.store.mail.MailboxMapper#existsMailboxStartingWith(java.lang.String)
+	 */
+	public boolean existsMailboxStartingWith(String mailboxName)
+			throws StorageException {
+		try {
+			FileResource fr = manager.getResource(convertToPath(mailboxName));
+			if (fr.exists() && fr.isDirectory()) {
+				return true;
+			}
+			return false;
+			
+		} catch (ResourceException e) {
+			throw new StorageException(HumanReadableText.SEARCH_FAILED, e);
+		}
+	}
+
+	/**
+	 * Convert the give name to the right path 
+	 * 
+	 * @param name
+	 * @return path
+	 */
+	private String convertToPath(String name) {
+		return name.substring("#mail".length()).replaceAll("\\.", "/");
+	}
+	
+	
+	public Mailbox findMailboxById(long mailboxId) throws StorageException,
+			MailboxNotFoundException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public Mailbox findMailboxByName(String name) throws StorageException,
+			MailboxNotFoundException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	public List<Mailbox> findMailboxWithNameLike(String name)
+			throws StorageException {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.apache.james.imap.store.mail.MailboxMapper#save(org.apache.james.imap.store.mail.model.Mailbox)
+	 */
+	public void save(Mailbox mailbox) throws StorageException {
+		try {
+			FileResource fr = manager.getResource(getPathForMailbox(mailbox));
+			fr.getChild("new").createAsDirectory();
+			fr.getChild("cur").createAsDirectory();
+			fr.getChild("tmp").createAsDirectory();
+		} catch (ResourceException e) {
+			throw new StorageException(HumanReadableText.SAVE_FAILED, e);
+		}
+	}
+
+	/**
+	 * Return the path for the given mailbox 
+	 * 
+	 * @param mailbox
+	 * @return path
+	 */
+	private String getPathForMailbox(Mailbox mailbox) {
+		String path ="";
+		String name = mailbox.getName();
+		String parts[] = name.split("\\.");
+		String userParts[] = parts[1].split("@");
+		
+		path += constructPath(userParts, 0);
+		path += constructPath(parts, 2);
+
+		return path;
+	}
+	
+	/**
+	 * Construct path for the given array, starting from start index. 
+	 * 
+	 * @param parts
+	 * @param start
+	 * @return path
+	 */
+	private String constructPath(String[] parts, int start) {
+		String path = "";
+		for (int i = start; i < parts.length; i++) {
+			path += "/" + parts[i];
+		}
+		return path;
+	}
+
+}

Added: james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirTransactionalMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirTransactionalMapper.java?rev=901856&view=auto
==============================================================================
--- james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirTransactionalMapper.java (added)
+++ james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirTransactionalMapper.java Thu Jan 21 21:14:56 2010
@@ -0,0 +1,65 @@
+/****************************************************************
+ * 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.maildir.mail;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.commons.transaction.file.TxFileResourceManager;
+import org.apache.james.imap.mailbox.StorageException;
+import org.apache.james.imap.store.mail.AbstractTransactionalMapper;
+
+/**
+ * TransactionManager which supports Transactions for Maildir
+ *
+ */
+public class MaildirTransactionalMapper extends AbstractTransactionalMapper{
+
+    protected final TxFileResourceManager manager;
+    
+    public MaildirTransactionalMapper(final TxFileResourceManager manager) {
+        this.manager = manager;
+    }
+    
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.imap.store.mail.AbstractTransactionalMapper#begin()
+     */
+    protected void begin() throws StorageException {
+        manager.startTransaction(30, TimeUnit.SECONDS);
+    }
+    
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.imap.store.mail.AbstractTransactionalMapper#commit()
+     */
+    protected void commit() throws StorageException {
+        manager.commitTransaction();
+        
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.imap.store.mail.AbstractTransactionalMapper#rollback()
+     */
+    protected void rollback() throws StorageException {
+        manager.rollbackTransaction();
+    }
+
+}

Modified: james/imap/trunk/parent/pom.xml
URL: http://svn.apache.org/viewvc/james/imap/trunk/parent/pom.xml?rev=901856&r1=901855&r2=901856&view=diff
==============================================================================
--- james/imap/trunk/parent/pom.xml (original)
+++ james/imap/trunk/parent/pom.xml Thu Jan 21 21:14:56 2010
@@ -1,540 +1,551 @@
-<?xml version="1.0" encoding="ISO-8859-15"?>
-<!--
-  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.    
--->
-<project>
-  <parent>
-    <artifactId>james-project</artifactId>
-    <groupId>org.apache.james</groupId>
-    <version>1.5</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.apache.james</groupId>
-  <artifactId>apache-james-imap-parent</artifactId>
-  <name>Apache JAMES Imap Parent pom</name>
-  <version>0.1-SNAPSHOT</version>
-  <description>The Apache JAMES Imap Protocol</description>
-  <url>http://james.apache.org/imap/</url>
-  <inceptionYear>2002</inceptionYear>
-  <packaging>pom</packaging>
-
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/james/imap/trunk</connection>
-    <developerConnection>scm:svn:https://${maven.username}@svn.apache.org/repos/asf/james/imap/trunk</developerConnection>
-    <url>http://svn.apache.org/viewcvs.cgi/james/imap/trunk?root=Apache-SVN</url>
+<?xml version="1.0" encoding="ISO-8859-15"?>
+<!--
+  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.    
+-->
+<project>
+  <parent>
+    <artifactId>james-project</artifactId>
+    <groupId>org.apache.james</groupId>
+    <version>1.5</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.james</groupId>
+  <artifactId>apache-james-imap-parent</artifactId>
+  <name>Apache JAMES Imap Parent pom</name>
+  <version>0.1-SNAPSHOT</version>
+  <description>The Apache JAMES Imap Protocol</description>
+  <url>http://james.apache.org/imap/</url>
+  <inceptionYear>2002</inceptionYear>
+  <packaging>pom</packaging>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/james/imap/trunk</connection>
+    <developerConnection>scm:svn:https://${maven.username}@svn.apache.org/repos/asf/james/imap/trunk</developerConnection>
+    <url>http://svn.apache.org/viewcvs.cgi/james/imap/trunk?root=Apache-SVN</url>
   </scm>
-
-<repositories>
-    <!-- local repos -->
-    <repository>
-      <id>module-local</id>
-      <name>Local Repository</name>
-      <url>file://stage</url>
-      <layout>legacy</layout>
-      <snapshots>
-          <enabled>true</enabled>
-      </snapshots>
-      <releases>
-          <enabled>true</enabled>
-      </releases>
-    </repository>
-    
-    <!-- needed for javamail -->
-    <repository>
-      <id>maven2-repository.dev.java.net</id>
-      <name>Java.net Repository for Maven</name>
-      <url>http://download.java.net/maven/2/</url>
-      <layout>default</layout>
-    </repository>
-    
-  </repositories>
-  <build>
-    <plugins>
-      <plugin>
-        <artifactId>maven-compiler-plugin</artifactId>
-        <configuration>
-          <optimize>true</optimize>
-          <source>${target.jdk}</source>
-          <target>${target.jdk}</target>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>jar</goal>
-              <goal>test-jar</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <useDefaultManifestFile>true</useDefaultManifestFile>
-          <archive>
-            <manifest>
-              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
-            </manifest>
-          </archive>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
-        <configuration>
-          <descriptorRefs>
-            <descriptorRef>bin</descriptorRef>
-            <descriptorRef>src</descriptorRef>
-          </descriptorRefs>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>bundle-manifest</id>
-            <phase>process-classes</phase>
-            <goals>
-              <goal>manifest</goal>
-            </goals>
-          </execution>
-        </executions>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Export-Package>org.apache.james.imap.*</Export-Package>
-            <Embed-Dependency>*;scope=runtime</Embed-Dependency>
-          </instructions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
-  <reporting>
-    <plugins>
-     <plugin>
-       <groupId>org.apache.maven.plugins</groupId>
-       <artifactId>maven-surefire-plugin</artifactId>
-       <configuration>
-         <forkMode>pertest</forkMode>
-         <argLine>-Xms256m -Xmx512m</argLine> 
-         <testFailureIgnore>false</testFailureIgnore>
-         <skip>false</skip>
-         <includes>
-           <include>**/*Test.java</include>
-         </includes>
-       </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-jxr-plugin</artifactId>
-        <configuration>
-          <aggregate>true</aggregate>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>rat-maven-plugin</artifactId>
-        <version>1.0-alpha-3</version>
-        <configuration>
-          <excludes>
-            <exclude>NOTICE.*</exclude>
-            <exclude>LICENSE.*</exclude>
-            <!-- Generated by Maven -->
-            <exclude>release.properties</exclude>
-            <exclude>dist/**/*</exclude>
-            <!-- Eclipse -->
-            <exclude>**/.*</exclude>
-            <exclude>.*/**/*</exclude>
-            <!-- Ignore logs -->
-            <exclude>**/derby.log</exclude>
-            <!-- Ignore torque autogenerated -->
-            <exclude>**/org/apache/james/mailboxmanager/torque/om/**/*</exclude>
-            <exclude>**/org/apache/torque/**/*.*</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-pmd-plugin</artifactId>
-        <configuration>
-          <aggregate>true</aggregate>
-          <targetjdk>${target.jdk}</targetjdk>
-          <rulesets>
-            <ruleset>/rulesets/basic.xml</ruleset>
-            <ruleset>/rulesets/unusedcode.xml</ruleset>
-            <ruleset>/rulesets/imports.xml</ruleset>
-          </rulesets>
-          <format>xml</format>
-          <linkXref>true</linkXref>
-          <sourceEncoding>utf-8</sourceEncoding>
-          <minimumTokens>100</minimumTokens>
-        </configuration>
-      </plugin>
-      <plugin>
-        <artifactId>maven-site-plugin</artifactId>
-      </plugin>
-    </plugins>
-  </reporting>
+
+<repositories>
+    <!-- local repos -->
+    <repository>
+      <id>module-local</id>
+      <name>Local Repository</name>
+      <url>file://stage</url>
+      <layout>legacy</layout>
+      <snapshots>
+          <enabled>true</enabled>
+      </snapshots>
+      <releases>
+          <enabled>true</enabled>
+      </releases>
+    </repository>
+    
+    <!-- needed for javamail -->
+    <repository>
+      <id>maven2-repository.dev.java.net</id>
+      <name>Java.net Repository for Maven</name>
+      <url>http://download.java.net/maven/2/</url>
+      <layout>default</layout>
+    </repository>
+    
+  </repositories>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <optimize>true</optimize>
+          <source>${target.jdk}</source>
+          <target>${target.jdk}</target>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-jar-plugin</artifactId>
+        <executions>
+          <execution>
+            <goals>
+              <goal>jar</goal>
+              <goal>test-jar</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <useDefaultManifestFile>true</useDefaultManifestFile>
+          <archive>
+            <manifest>
+              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
+            </manifest>
+          </archive>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <configuration>
+          <descriptorRefs>
+            <descriptorRef>bin</descriptorRef>
+            <descriptorRef>src</descriptorRef>
+          </descriptorRefs>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>bundle-manifest</id>
+            <phase>process-classes</phase>
+            <goals>
+              <goal>manifest</goal>
+            </goals>
+          </execution>
+        </executions>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Export-Package>org.apache.james.imap.*</Export-Package>
+            <Embed-Dependency>*;scope=runtime</Embed-Dependency>
+          </instructions>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <reporting>
+    <plugins>
+     <plugin>
+       <groupId>org.apache.maven.plugins</groupId>
+       <artifactId>maven-surefire-plugin</artifactId>
+       <configuration>
+         <forkMode>pertest</forkMode>
+         <argLine>-Xms256m -Xmx512m</argLine> 
+         <testFailureIgnore>false</testFailureIgnore>
+         <skip>false</skip>
+         <includes>
+           <include>**/*Test.java</include>
+         </includes>
+       </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-jxr-plugin</artifactId>
+        <configuration>
+          <aggregate>true</aggregate>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>rat-maven-plugin</artifactId>
+        <version>1.0-alpha-3</version>
+        <configuration>
+          <excludes>
+            <exclude>NOTICE.*</exclude>
+            <exclude>LICENSE.*</exclude>
+            <!-- Generated by Maven -->
+            <exclude>release.properties</exclude>
+            <exclude>dist/**/*</exclude>
+            <!-- Eclipse -->
+            <exclude>**/.*</exclude>
+            <exclude>.*/**/*</exclude>
+            <!-- Ignore logs -->
+            <exclude>**/derby.log</exclude>
+            <!-- Ignore torque autogenerated -->
+            <exclude>**/org/apache/james/mailboxmanager/torque/om/**/*</exclude>
+            <exclude>**/org/apache/torque/**/*.*</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-pmd-plugin</artifactId>
+        <configuration>
+          <aggregate>true</aggregate>
+          <targetjdk>${target.jdk}</targetjdk>
+          <rulesets>
+            <ruleset>/rulesets/basic.xml</ruleset>
+            <ruleset>/rulesets/unusedcode.xml</ruleset>
+            <ruleset>/rulesets/imports.xml</ruleset>
+          </rulesets>
+          <format>xml</format>
+          <linkXref>true</linkXref>
+          <sourceEncoding>utf-8</sourceEncoding>
+          <minimumTokens>100</minimumTokens>
+        </configuration>
+      </plugin>
+      <plugin>
+        <artifactId>maven-site-plugin</artifactId>
+      </plugin>
+    </plugins>
+  </reporting>
   
-  <distributionManagement>
-    <site>
-      <id>imap-website</id>
-      <url>scp://people.apache.org/www/james.apache.org/imap</url>
-    </site>
+  <distributionManagement>
+    <site>
+      <id>imap-website</id>
+      <url>scp://people.apache.org/www/james.apache.org/imap</url>
+    </site>
   </distributionManagement>
-  
-  <dependencyManagement>
-    <dependencies>
-      <!--
-        START Modules
-      -->
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-james-imap-mailbox</artifactId>
-        <version>${pom.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-james-imap-store</artifactId>
-        <version>${pom.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-james-imap-message</artifactId>
-        <version>${pom.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-james-imap-decode</artifactId>
-        <version>${pom.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-james-imap-torque</artifactId>
-        <version>${pom.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-james-imap-processor</artifactId>
-        <version>${pom.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-james-imap-seda</artifactId>
-        <version>${pom.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-james-imap-jpa</artifactId>
-        <version>${pom.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-james-imap-memory</artifactId>
-        <version>${pom.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-james-imap-seda</artifactId>
-        <version>${pom.version}</version>
-        <type>test-jar</type>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-james-imap-api</artifactId>
-        <version>${pom.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-james-imap-api</artifactId>
-        <version>${pom.version}</version>
-        <type>test-jar</type>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-james-imap-protocol-tester</artifactId>
-        <version>${pom.version}</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-james-imap-store</artifactId>
-        <version>${pom.version}</version>        
-        <type>test-jar</type>
-        <scope>test</scope>
-      </dependency>
-      <!--
-        END Modules
-      -->
-
-      <!--
-        START Mail
-      -->
-      <dependency>
-        <groupId>org.apache.james</groupId>
-        <artifactId>apache-mime4j</artifactId>
-        <version>${version.apache-mime4j}</version>
-      </dependency>
-      <!-- Declare javamail as provided to be able to easily switch -->
-      <!-- to different implementations (Geronimo) -->
-      <dependency>
-        <groupId>javax.mail</groupId>
-        <artifactId>mail</artifactId>
-        <version>${version.javax.mail}</version>
-      </dependency>
-      <dependency>
-        <groupId>javax.activation</groupId>
-        <artifactId>activation</artifactId>
-        <version>${version.activation}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.geronimo.specs</groupId>
-        <artifactId>geronimo-activation_1.1_spec</artifactId>
-        <version>1.0.2</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.geronimo.javamail</groupId>
-        <artifactId>geronimo-javamail_1.4_mail</artifactId>
-        <version>1.6</version>
-      </dependency>
-      <!--
-        END Mail
-      -->
-
-      <!--
-        Start Commons
-      -->
-      <dependency>
-        <groupId>commons-collections</groupId>
-        <artifactId>commons-collections</artifactId>
-        <version>${version.commons-collections}</version>
-      </dependency>
-      <dependency>
-        <groupId>commons-logging</groupId>
-        <artifactId>commons-logging</artifactId>
-        <version>${version.commons-logging}</version>
-        <exclusions>
-          <exclusion>
-            <artifactId>logkit</artifactId>
-            <groupId>logkit</groupId>
-          </exclusion>
-          <exclusion>
-            <artifactId>avalon-framework</artifactId>
-            <groupId>avalon-framework</groupId>
-          </exclusion>
-          <exclusion>
-            <artifactId>log4j</artifactId>
-            <groupId>log4j</groupId>
-          </exclusion>
-          <exclusion>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-      <dependency>
-        <groupId>commons-lang</groupId>
-        <artifactId>commons-lang</artifactId>
-        <version>${version.commons-lang}</version>
-      </dependency>
-      <dependency>
-        <groupId>commons-pool</groupId>
-        <artifactId>commons-pool</artifactId>
-        <version>1.2</version>
-      </dependency>
-      <dependency>
-        <groupId>commons-dbcp</groupId>
-        <artifactId>commons-dbcp</artifactId>
-        <version>1.2.1</version> 
-      </dependency>
-      
-      <dependency>
-        <groupId>commons-beanutils</groupId>
-        <artifactId>commons-beanutils</artifactId>
-        <version>1.7.0</version>     
-      </dependency>
-      <!-- 
-        END Commons
-      -->
-      
-      <!--
-        START Testing
-      -->
-      <!--
-        Use to build protocol tester.
-        Convert this to testing once MPT has been released. 
-      -->
-      <dependency>
-        <groupId>junit</groupId>
-        <artifactId>junit</artifactId>
-        <version>3.8.1</version>
-      </dependency>
-
-      <dependency>
-        <groupId>org.jmock</groupId>
-        <artifactId>jmock</artifactId>
-        <version>${version.jmock}</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.jmock</groupId>
-        <artifactId>jmock-junit3</artifactId>
-        <version>${version.jmock}</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>com.h2database</groupId>
-        <artifactId>h2</artifactId>
-        <version>1.0.79</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.derby</groupId>
-        <artifactId>derby</artifactId>
-        <version>10.2.2.0</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>commons-io</groupId>
-        <artifactId>commons-io</artifactId>
-        <scope>test</scope>
-        <version>1.2</version>
-      </dependency>
-      <dependency>
-        <groupId>commons-configuration</groupId>
-        <artifactId>commons-configuration</artifactId>
-        <scope>test</scope>
-        <version>1.1</version>
-        <exclusions>
-          <exclusion>
-            <artifactId>dom4j</artifactId>
-            <groupId>dom4j</groupId>
-          </exclusion>
-          <exclusion>
-            <artifactId>servletapi</artifactId>
-            <groupId>servletapi</groupId>
-          </exclusion>
-          <exclusion>
-            <artifactId>xerces</artifactId>
-            <groupId>xerces</groupId>
-          </exclusion>
-          <exclusion>
-            <artifactId>commons-digester</artifactId>
-            <groupId>commons-digester</groupId>
-          </exclusion>
-          <exclusion>
-            <artifactId>commons-beanutils-core</artifactId>
-            <groupId>commons-beanutils</groupId>
-          </exclusion>
-          <exclusion>
-            <artifactId>commons-beanutils-bean-collections</artifactId>
-            <groupId>commons-beanutils</groupId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-
-      <!--
-        END Testing
-      -->
-
-
-      <!--
-        START Torque 
-      -->
-      <dependency>
-        <groupId>org.apache.torque</groupId>
-        <artifactId>village</artifactId>
-        <version>${version.torque}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.torque</groupId>
-        <artifactId>torque-runtime</artifactId>
-        <version>${version.torque}</version>
-        <exclusions>
-          <exclusion>
-            <groupId>avalon-framework</groupId>
-            <artifactId>avalon-framework-api</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>avalon-logkit</groupId>
-            <artifactId>avalon-logkit</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>xerces</groupId>
-            <artifactId>xercesImpl</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-      <!--
-        END Torque 
-      -->
-
-      <!-- 
-        START OpenJPA
-      -->
-      <dependency>
-        <groupId>javax.persistence</groupId>
-        <artifactId>persistence-api</artifactId>
-        <version>${version.javax.persistence}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.openjpa</groupId>
-        <artifactId>openjpa</artifactId>
-        <version>${version.openjpa}</version>
-      </dependency>
-      <!-- 
-        END OpenJPA
-      -->
-
-    </dependencies>
-  </dependencyManagement>
-
-  <profiles>
-    <profile>
-      <id>geronimo</id>
-      <properties>
-		    <javax.mail.groupId>org.apache.geronimo.javamail</javax.mail.groupId>
-		    <javax.mail.artifactId>geronimo-javamail_1.4_mail</javax.mail.artifactId>
-		    <javax.activation.groupId>org.apache.geronimo.specs</javax.activation.groupId>
-		    <javax.activation.artifactId>geronimo-activation_1.1_spec</javax.activation.artifactId>
-            <version.javax.mail>1.6</version.javax.mail>
-            <version.activation>1.0.2</version.activation>
-      </properties>
-    </profile>
-  </profiles>
-  <properties>
-    <javax.activation.groupId>javax.activation</javax.activation.groupId>
-    <javax.activation.artifactId>activation</javax.activation.artifactId>
-    <javax.mail.groupId>javax.mail</javax.mail.groupId>
-    <javax.mail.artifactId>mail</javax.mail.artifactId>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-    <version.openjpa>1.2.1</version.openjpa>
-    <version.javax.persistence>1.0.2</version.javax.persistence>
-    <version.commons-lang>2.4</version.commons-lang>
-    <version.commons-collections>3.2.1</version.commons-collections>
-    <version.commons-logging>1.1</version.commons-logging>
-    <version.apache-mime4j>0.6</version.apache-mime4j>
-    <version.javax.mail>1.4.3</version.javax.mail>
-    <version.activation>1.1.1</version.activation>
-    <version.torque>3.3</version.torque>
-    <version.jmock>2.5.1</version.jmock>
-    <target.jdk>1.5</target.jdk>
-  </properties>
-
-</project>
+  
+  <dependencyManagement>
+    <dependencies>
+      <!--
+        START Modules
+      -->
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-james-imap-mailbox</artifactId>
+        <version>${pom.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-james-imap-store</artifactId>
+        <version>${pom.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-james-imap-message</artifactId>
+        <version>${pom.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-james-imap-decode</artifactId>
+        <version>${pom.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-james-imap-torque</artifactId>
+        <version>${pom.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-james-imap-processor</artifactId>
+        <version>${pom.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-james-imap-seda</artifactId>
+        <version>${pom.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-james-imap-jpa</artifactId>
+        <version>${pom.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-james-imap-memory</artifactId>
+        <version>${pom.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-james-imap-seda</artifactId>
+        <version>${pom.version}</version>
+        <type>test-jar</type>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-james-imap-api</artifactId>
+        <version>${pom.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-james-imap-api</artifactId>
+        <version>${pom.version}</version>
+        <type>test-jar</type>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-james-imap-protocol-tester</artifactId>
+        <version>${pom.version}</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-james-imap-store</artifactId>
+        <version>${pom.version}</version>        
+        <type>test-jar</type>
+        <scope>test</scope>
+      </dependency>
+      <!--
+        END Modules
+      -->
+
+      <!--
+        START Mail
+      -->
+      <dependency>
+        <groupId>org.apache.james</groupId>
+        <artifactId>apache-mime4j</artifactId>
+        <version>${version.apache-mime4j}</version>
+      </dependency>
+      <!-- Declare javamail as provided to be able to easily switch -->
+      <!-- to different implementations (Geronimo) -->
+      <dependency>
+        <groupId>javax.mail</groupId>
+        <artifactId>mail</artifactId>
+        <version>${version.javax.mail}</version>
+      </dependency>
+      <dependency>
+        <groupId>javax.activation</groupId>
+        <artifactId>activation</artifactId>
+        <version>${version.activation}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-activation_1.1_spec</artifactId>
+        <version>1.0.2</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.geronimo.javamail</groupId>
+        <artifactId>geronimo-javamail_1.4_mail</artifactId>
+        <version>1.6</version>
+      </dependency>
+      <!--
+        END Mail
+      -->
+
+      <!--
+        Start Commons
+      -->
+      <dependency>
+        <groupId>commons-collections</groupId>
+        <artifactId>commons-collections</artifactId>
+        <version>${version.commons-collections}</version>
+      </dependency>
+      <dependency>
+        <groupId>commons-logging</groupId>
+        <artifactId>commons-logging</artifactId>
+        <version>${version.commons-logging}</version>
+        <exclusions>
+          <exclusion>
+            <artifactId>logkit</artifactId>
+            <groupId>logkit</groupId>
+          </exclusion>
+          <exclusion>
+            <artifactId>avalon-framework</artifactId>
+            <groupId>avalon-framework</groupId>
+          </exclusion>
+          <exclusion>
+            <artifactId>log4j</artifactId>
+            <groupId>log4j</groupId>
+          </exclusion>
+          <exclusion>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <dependency>
+        <groupId>commons-lang</groupId>
+        <artifactId>commons-lang</artifactId>
+        <version>${version.commons-lang}</version>
+      </dependency>
+      <dependency>
+        <groupId>commons-pool</groupId>
+        <artifactId>commons-pool</artifactId>
+        <version>1.2</version>
+      </dependency>
+      <dependency>
+        <groupId>commons-dbcp</groupId>
+        <artifactId>commons-dbcp</artifactId>
+        <version>1.2.1</version> 
+      </dependency>
+      
+      <dependency>
+        <groupId>commons-beanutils</groupId>
+        <artifactId>commons-beanutils</artifactId>
+        <version>1.7.0</version>     
+      </dependency>
+      <!-- 
+        END Commons
+      -->
+      
+      <!--
+        START Testing
+      -->
+      <!--
+        Use to build protocol tester.
+        Convert this to testing once MPT has been released. 
+      -->
+      <dependency>
+        <groupId>junit</groupId>
+        <artifactId>junit</artifactId>
+        <version>3.8.1</version>
+      </dependency>
+
+      <dependency>
+        <groupId>org.jmock</groupId>
+        <artifactId>jmock</artifactId>
+        <version>${version.jmock}</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.jmock</groupId>
+        <artifactId>jmock-junit3</artifactId>
+        <version>${version.jmock}</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>com.h2database</groupId>
+        <artifactId>h2</artifactId>
+        <version>1.0.79</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.derby</groupId>
+        <artifactId>derby</artifactId>
+        <version>10.2.2.0</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>commons-io</groupId>
+        <artifactId>commons-io</artifactId>
+        <scope>test</scope>
+        <version>1.2</version>
+      </dependency>
+      <dependency>
+        <groupId>commons-configuration</groupId>
+        <artifactId>commons-configuration</artifactId>
+        <scope>test</scope>
+        <version>1.1</version>
+        <exclusions>
+          <exclusion>
+            <artifactId>dom4j</artifactId>
+            <groupId>dom4j</groupId>
+          </exclusion>
+          <exclusion>
+            <artifactId>servletapi</artifactId>
+            <groupId>servletapi</groupId>
+          </exclusion>
+          <exclusion>
+            <artifactId>xerces</artifactId>
+            <groupId>xerces</groupId>
+          </exclusion>
+          <exclusion>
+            <artifactId>commons-digester</artifactId>
+            <groupId>commons-digester</groupId>
+          </exclusion>
+          <exclusion>
+            <artifactId>commons-beanutils-core</artifactId>
+            <groupId>commons-beanutils</groupId>
+          </exclusion>
+          <exclusion>
+            <artifactId>commons-beanutils-bean-collections</artifactId>
+            <groupId>commons-beanutils</groupId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+
+      <!--
+        END Testing
+      -->
+
+
+      <!--
+        START Torque 
+      -->
+      <dependency>
+        <groupId>org.apache.torque</groupId>
+        <artifactId>village</artifactId>
+        <version>${version.torque}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.torque</groupId>
+        <artifactId>torque-runtime</artifactId>
+        <version>${version.torque}</version>
+        <exclusions>
+          <exclusion>
+            <groupId>avalon-framework</groupId>
+            <artifactId>avalon-framework-api</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>avalon-logkit</groupId>
+            <artifactId>avalon-logkit</artifactId>
+          </exclusion>
+          <exclusion>
+            <groupId>xerces</groupId>
+            <artifactId>xercesImpl</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
+      <!--
+        END Torque 
+      -->
+
+      <!-- 
+        START OpenJPA
+      -->
+      <dependency>
+        <groupId>javax.persistence</groupId>
+        <artifactId>persistence-api</artifactId>
+        <version>${version.javax.persistence}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.openjpa</groupId>
+        <artifactId>openjpa</artifactId>
+        <version>${version.openjpa}</version>
+      </dependency>
+      <!-- 
+        END OpenJPA
+      -->
+
+      <!-- 
+        START Maildir
+      -->
+      <dependency>
+        <groupId>commons-transaction</groupId>
+        <artifactId>commons-transaction</artifactId>
+        <version>2.0-SNAPSHOT</version>
+      </dependency>
+      <!-- 
+        END Maildir
+      -->
+    </dependencies>
+  </dependencyManagement>
+
+  <profiles>
+    <profile>
+      <id>geronimo</id>
+      <properties>
+		    <javax.mail.groupId>org.apache.geronimo.javamail</javax.mail.groupId>
+		    <javax.mail.artifactId>geronimo-javamail_1.4_mail</javax.mail.artifactId>
+		    <javax.activation.groupId>org.apache.geronimo.specs</javax.activation.groupId>
+		    <javax.activation.artifactId>geronimo-activation_1.1_spec</javax.activation.artifactId>
+            <version.javax.mail>1.6</version.javax.mail>
+            <version.activation>1.0.2</version.activation>
+      </properties>
+    </profile>
+  </profiles>
+  <properties>
+    <javax.activation.groupId>javax.activation</javax.activation.groupId>
+    <javax.activation.artifactId>activation</javax.activation.artifactId>
+    <javax.mail.groupId>javax.mail</javax.mail.groupId>
+    <javax.mail.artifactId>mail</javax.mail.artifactId>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <version.openjpa>1.2.1</version.openjpa>
+    <version.javax.persistence>1.0.2</version.javax.persistence>
+    <version.commons-lang>2.4</version.commons-lang>
+    <version.commons-collections>3.2.1</version.commons-collections>
+    <version.commons-logging>1.1</version.commons-logging>
+    <version.apache-mime4j>0.6</version.apache-mime4j>
+    <version.javax.mail>1.4.3</version.javax.mail>
+    <version.activation>1.1.1</version.activation>
+    <version.torque>3.3</version.torque>
+    <version.jmock>2.5.1</version.jmock>
+    <target.jdk>1.5</target.jdk>
+  </properties>
+
+</project>

Added: james/imap/trunk/stage/commons-transaction/jars/commons-transaction-2.0-SNAPSHOT.jar
URL: http://svn.apache.org/viewvc/james/imap/trunk/stage/commons-transaction/jars/commons-transaction-2.0-SNAPSHOT.jar?rev=901856&view=auto
==============================================================================
Binary file - no diff available.

Propchange: james/imap/trunk/stage/commons-transaction/jars/commons-transaction-2.0-SNAPSHOT.jar
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: james/imap/trunk/stage/commons-transaction/poms/commons-transaction-2.0-SNAPSHOT.pom
URL: http://svn.apache.org/viewvc/james/imap/trunk/stage/commons-transaction/poms/commons-transaction-2.0-SNAPSHOT.pom?rev=901856&view=auto
==============================================================================
--- james/imap/trunk/stage/commons-transaction/poms/commons-transaction-2.0-SNAPSHOT.pom (added)
+++ james/imap/trunk/stage/commons-transaction/poms/commons-transaction-2.0-SNAPSHOT.pom Thu Jan 21 21:14:56 2010
@@ -0,0 +1,173 @@
+<?xml version="1.0"?>
+<!--
+   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 collectionsuage governing permissions and
+   limitations under the License.
+-->
+<project
+    xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.apache.commons</groupId>
+    <artifactId>commons-parent</artifactId>
+    <version>11</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>commons-transaction</groupId>
+  <artifactId>commons-transaction</artifactId>
+  <version>2.0-SNAPSHOT</version>
+  <name>Commons Transaction</name>
+
+  <inceptionYear>2004</inceptionYear>
+  <description>Classes that aid concurrent programming in a transactional style.</description>
+
+  <url>http://commons.apache.org/transaction/</url>
+
+  <issueManagement>
+    <system>jira</system>
+    <url>http://issues.apache.org/jira/browse/TRANSACTION</url>
+  </issueManagement>
+
+  <scm>
+    <connection>scm:svn:https://svn.apache.org/repos/asf/commons/proper/transaction/trunk</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/commons/proper/transaction/trunk</developerConnection>
+    <url>http://svn.apache.org/viewvc/commons/proper/transaction/trunk</url>
+  </scm>
+
+  <developers>
+    <developer>
+      <name>Oliver Zeigermann</name>
+      <id>ozeigermann</id>
+      <email>ozeigermann@apache.org</email>
+      <organization></organization>
+      <timezone>+1</timezone>
+      <roles>
+         <role>Java Developer</role>
+      </roles>
+    </developer>
+    <developer>
+      <name>Stefan Lützkendorf</name>
+      <id>luetzkendorf</id>
+      <email>luetzkendorf@apache.org</email>
+      <organization></organization>
+      <timezone>+1</timezone>
+      <roles>
+         <role>Java Developer</role>
+      </roles>
+    </developer>
+    <developer>
+      <name>James Mason</name>
+      <id>masonjm</id>
+      <email>masonjm@apache.org</email>
+      <organization></organization>
+      <timezone>-8</timezone>
+      <roles>
+         <role>Java Developer</role>
+      </roles>
+    </developer>
+    <developer>
+      <name>Daniel Florey</name>
+      <id>dflorey</id>
+      <email>dflorey@apache.org</email>
+      <organization></organization>
+      <timezone>+1</timezone>
+      <roles>
+         <role>Java Developer</role>
+      </roles>
+    </developer>
+    <developer>
+      <name>Jörg Heinicke</name>
+      <id>joerg</id>
+      <email>joerg@apache.org</email>
+      <organization></organization>
+      <timezone>+1</timezone>
+      <roles>
+         <role>Java Developer</role>
+      </roles>
+    </developer>
+  </developers>
+  
+  <contributors>
+    <contributor>
+      <name>Antranig Basman</name>
+    </contributor>
+    <contributor>
+      <name>Armin Waibel</name>
+      <email>arminw@apache.org</email>
+      <timezone>+1</timezone>
+    </contributor>
+    <contributor>
+      <name>John Rousseau</name>
+      <email>JRRousseau@gmail.com</email>
+    </contributor>
+    <contributor>
+      <name>Peter Fassev</name>
+      <email>fassev at gmx dot de</email>
+    </contributor>
+    <contributor>
+      <name>Dennis Thrysøe</name>
+      <email>dth at conscius dot com</email>
+    </contributor>
+    <contributor>
+      <name>Holger Hoffstätte</name>
+      <email>holger dot hoffstaette at googlemail dot com</email>
+    </contributor>
+    <contributor>
+      <name>Peter Veentjer</name>
+    </contributor>
+  </contributors>
+
+  <dependencies>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.3.1</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+
+  <properties>
+    <maven.compile.source>1.6</maven.compile.source>
+    <maven.compile.target>1.6</maven.compile.target>
+    <commons.componentid>transaction</commons.componentid>
+    <commons.release.version>1.2</commons.release.version>
+    <commons.binary.suffix></commons.binary.suffix>
+    <commons.jira.id>TRANSACTION</commons.jira.id>
+    <commons.jira.pid>12310493</commons.jira.pid>
+  </properties> 
+
+  <build>
+    <sourceDirectory>src/java</sourceDirectory>
+    <testSourceDirectory>src/test</testSourceDirectory>
+    <plugins>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <configuration>
+          <descriptors>
+            <descriptor>src/assembly/bin.xml</descriptor>
+            <descriptor>src/assembly/src.xml</descriptor>
+          </descriptors>
+          <tarLongFileMode>gnu</tarLongFileMode>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+</project>



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