[GitHub] james-project pull request: James 1626

2015-11-03 Thread aduprat
Github user aduprat commented on the pull request:

https://github.com/apache/james-project/pull/16#issuecomment-153351488
  
:+1: 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



[GitHub] james-project pull request: James 1626

2015-11-03 Thread mbaechler
Github user mbaechler closed the pull request at:

https://github.com/apache/james-project/pull/10


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



[jira] [Commented] (JAMES-1631) Can't start James 2.3.2.1 on Windows

2015-11-03 Thread Vincent Kirsch (JIRA)

[ 
https://issues.apache.org/jira/browse/JAMES-1631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14987042#comment-14987042
 ] 

Vincent Kirsch commented on JAMES-1631:
---

Hi, 

Any idea how to proceed with this? It's really a blocking point!

Thanks,
V.

> Can't start James 2.3.2.1 on Windows
> 
>
> Key: JAMES-1631
> URL: https://issues.apache.org/jira/browse/JAMES-1631
> Project: James Server
>  Issue Type: Bug
>  Components: James Core
>Affects Versions: 2.3.2.1
>Reporter: Vincent Kirsch
>Priority: Blocker
>
> Hi,
> I get the issue on 2 separate Windows machines: Windows 7 64-bit and Windows 
> 2012.
> In each case, the Java version is the latest update of JDK 7 (jdk7u80). It 
> happens with both 32-bit and 64-bit versions of the JDK.
> Procedre:
> - Unzip James files on the disk
> - Launch cmd.exe as Administrator
> - Go in James' bin directory, and launch run.bat
> James doesn't start, and the phoenix.log file contains this:
> ERROR   2015-10-27 12:50:14.903 [Phoenix.] (): There was an error running 
> phase "startup" for Block named "users-store". (Reason: Component named 
> "users-store" failed to pass through the Starting stage. (Reason: 
> org.apache.avalon.framework.configuration.ConfigurationException: 
> destination>>URL).).
> org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleException: 
> Component named "users-store" failed to pass through the Starting stage. 
> (Reason: org.apache.avalon.framework.configuration.ConfigurationException: 
> destination>>URL).
> at 
> org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleHelper.fail(LifecycleHelper.java:354)
> at 
> org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleHelper.startup(LifecycleHelper.java:226)
> at 
> org.apache.avalon.phoenix.components.application.DefaultApplication.startup(DefaultApplication.java:530)
> at 
> org.apache.avalon.phoenix.components.application.DefaultApplication.doRunPhase(DefaultApplication.java:478)
> at 
> org.apache.avalon.phoenix.components.application.DefaultApplication.runPhase(DefaultApplication.java:409)
> at 
> org.apache.avalon.phoenix.components.application.DefaultApplication.start(DefaultApplication.java:180)
> at 
> org.apache.avalon.framework.container.ContainerUtil.start(ContainerUtil.java:260)
> rethrown from
> org.apache.avalon.framework.configuration.ConfigurationException: 
> destination>>URL
> at 
> org.apache.james.userrepository.UsersFileRepository.configure(UsersFileRepository.java:134)
> at 
> org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201)
> at 
> org.apache.james.core.AvalonUsersStore.initialize(AvalonUsersStore.java:130)
> at 
> org.apache.avalon.framework.container.ContainerUtil.initialize(ContainerUtil.java:244)
> at 
> org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleHelper.startup(LifecycleHelper.java:200)
> at 
> org.apache.avalon.phoenix.components.application.DefaultApplication.startup(DefaultApplication.java:530)
> at 
> org.apache.avalon.phoenix.components.application.DefaultApplication.doRunPhase(DefaultApplication.java:478)
> rethrown from
> java.io.IOException: The filename, directory name, or volume label syntax is 
> incorrect
> at java.io.WinNTFileSystem.canonicalize0(Native Method)
> at 
> java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:414)
> at java.io.File.getCanonicalPath(File.java:618)
> at java.io.File.getCanonicalFile(File.java:643)
> at 
> org.apache.james.userrepository.UsersFileRepository.configure(UsersFileRepository.java:132)
> at 
> org.apache.avalon.framework.container.ContainerUtil.configure(ContainerUtil.java:201)
> at 
> org.apache.james.core.AvalonUsersStore.initialize(AvalonUsersStore.java:130)
> Upon exit, there's an additional warning because files in the work directory 
> cannot be deleted:
> WARN2015-10-27 12:50:15.028 [Phoenix.] (): Error deleting Work Directory 
> "D:\James\work\james-1445946613419". (Reason: File 
> D:\James\work\james-1445946613419\SAR-INF\lib\mailet-api-2.3.jar unable to be 
> deleted.)
> java.io.IOException: File 
> D:\James\work\james-1445946613419\SAR-INF\lib\mailet-api-2.3.jar unable to be 
> deleted.
>   at 
> org.apache.avalon.excalibur.io.FileUtil.forceDelete(FileUtil.java:743)
>   at 
> org.apache.avalon.excalibur.io.FileUtil.cleanDirectory(FileUtil.java:910)
>   at 
> org.apache.avalon.excalibur.io.FileUtil.deleteDirectory(FileUtil.java:866)
>   at 
> 

[jira] [Created] (JAMES-1633) Tests on SMTPServer are randomly locked

2015-11-03 Thread Antoine Duprat (JIRA)
Antoine Duprat created JAMES-1633:
-

 Summary: Tests on SMTPServer are randomly locked
 Key: JAMES-1633
 URL: https://issues.apache.org/jira/browse/JAMES-1633
 Project: James Server
  Issue Type: Bug
Reporter: Antoine Duprat


Tests on SMTPServer are randomly locked, then the build never reach the end.

Adding a timeout in surefire configuration.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[GitHub] james-project pull request: James 1626

2015-11-03 Thread mbaechler
GitHub user mbaechler opened a pull request:

https://github.com/apache/james-project/pull/16

James 1626

update PR, now full-cassandra

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/mbaechler/james-project JAMES-1626

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/james-project/pull/16.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #16


commit 4f62953ee568c874ec0a683f239336657ebb0d77
Author: benwa 
Date:   2015-08-17T15:09:09Z

JAMES-1626 Add ElasticSearch support to cassandra-guice application

commit d62e249476603af2b7bfdb59fc90e2ed3ce10f75
Author: benwa 
Date:   2015-08-18T08:33:14Z

JAMES-1626 Add ActiveMQ support to cassandra-guice application

commit 88c934741dd54b86ec949a60e51aca8f7ca1cf29
Author: benwa 
Date:   2015-08-24T10:12:25Z

JAMES-1626 Use Onami for lifecycle management (JSR 250 @PreDestroy 
@PostConstruct)

commit 8fd3700c14ae31704760a6ab7bd278ae80b5857a
Author: benwa 
Date:   2015-08-25T15:17:51Z

JAMES-1626 Add JMX support to cassandra-guice application

commit 671bf2ac6a0a2372456e655c16df668bc97f1cf4
Author: benwa 
Date:   2015-08-27T13:43:32Z

JAMES-1626 Implement an HierarchicalConfiguration reader for guice use

commit dab20ac1f22117bd49e162f5ddb1fcb1cb85047b
Author: benwa 
Date:   2015-08-27T13:53:16Z

JAMES-1626 cassandra-guice project creation

commit 8c55733c3ecdcb4b3b0174871a312aefe384ea1b
Author: benwa 
Date:   2015-08-27T13:55:39Z

JAMES-1626 bootstrap guice-based application with Cassandra IMAP server

commit 4170732b3de5406272ce88a1eabdb6a72b94c514
Author: benwa 
Date:   2015-08-27T14:14:58Z

JAMES-1626 Implement an InMemory MailRepository

commit 57ddc660778d181201f2c602667fb8580be0830b
Author: benwa 
Date:   2015-08-27T14:18:58Z

JAMES-1626 Add mailet support in cassandra-guice module

commit 91caf381fa160293e5ab8ba57f426d700e157348
Author: benwa 
Date:   2015-08-31T13:30:27Z

JAMES-1626 Implement a guice MailboxManagerResolver

commit fdfbb821105281212cff5c30826a019697e8cd77
Author: benwa 
Date:   2015-09-02T16:51:37Z

JAMES-1626 Add DNSService support in cassandra-guice application

commit cd54d8a92beb2cad877c9c6ea73f60a3de9b3993
Author: benwa 
Date:   2015-09-03T12:22:04Z

JAMES-1626 All ProtocolHandler should be lifeCycle aware

   If fixes a longstanding error in SMTPServerTest that
   return code 554 on DNS blacklist test

commit 0ad44534631ebbae433c1b758455b5fb331d8c57
Author: Antoine Duprat 
Date:   2015-09-09T13:55:22Z

JAMES-1626 Fix a typo on the site in the server index file

commit 6d2364f52b317dfff268677759c3215df87c0e1c
Author: Antoine Duprat 
Date:   2015-09-10T12:48:33Z

JAMES-1626 Add configuration documentation

commit d04ba06b436bd1851ad41143f462c285d8ffa604
Author: Matthieu Baechler 
Date:   2015-09-11T13:46:03Z

JAMES-1626 Add interface ConfigurationProvider to allow multiple 
implementations

commit cc700567da351d74a6bc3bdde6b5f6b000af9546
Author: Matthieu Baechler 
Date:   2015-09-11T13:48:43Z

JAMES-1626 Implement a packaging policy for the cassandra-guice application

commit 16d820223de747de1cd10cf9e37799cb4f57f14f
Author: Matthieu Baechler 
Date:   2015-09-11T13:51:04Z

JAMES-1626 use Filesystem to resolve configuration properties files

commit 7fe035ca5674a8ba9dc219469ea868cfe3a60247
Author: Matthieu Baechler 
Date:   2015-09-15T10:21:32Z

JAMES-1626 sample configuration and readme

commit 81279a6664fd485a699f667c62461fdda143b211
Author: Matthieu Baechler 
Date:   2015-10-21T12:13:22Z

JAMES-1626 ConfigurationPerformer will take care of push configuration to 
class that need it

commit 36018ed3c4349610a03be3607f7c9e997649fe5f
Author: Matthieu Baechler 
Date:   2015-10-22T12:17:08Z

JAMES-1626 Update maven-bundle-plugin to 2.4.0

commit 8b695088f89170aa99de69282f1896062fc7a98d
Author: Matthieu Baechler 
Date:   2015-10-22T12:17:10Z

JAMES-1626 Use javax.inject in Cassandra mailbox

commit 95948fbc3ee2f5327ffe1b303588a0c7635b8805
Author: Matthieu Baechler 
Date:   2015-10-22T12:17:17Z

JAMES-1626 Use javax.inject in ElasticSearch mailbox

commit b8d7ec8c69535c515075af92bb79086291e6f58b
Author: Matthieu Baechler 
Date:   2015-10-22T12:17:39Z


svn commit: r1712349 - /james/project/trunk/server/container/cli/pom.xml

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:54:27 2015
New Revision: 1712349

URL: http://svn.apache.org/viewvc?rev=1712349=rev
Log:
JAMES-1626 bundle cli into a runnable jar

Modified:
james/project/trunk/server/container/cli/pom.xml

Modified: james/project/trunk/server/container/cli/pom.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cli/pom.xml?rev=1712349=1712348=1712349=diff
==
--- james/project/trunk/server/container/cli/pom.xml (original)
+++ james/project/trunk/server/container/cli/pom.xml Tue Nov  3 16:54:27 2015
@@ -93,6 +93,36 @@
 maven-bundle-plugin
 true
 
+
+org.apache.maven.plugins
+maven-dependency-plugin
+
+
+copy-dependencies
+package
+
+copy-dependencies
+
+
+
${project.build.directory}/${project.build.finalName}.lib
+
+
+
+
+
+org.apache.maven.plugins
+maven-jar-plugin
+
+
+
+true
+
${project.build.finalName}.lib/
+
org.apache.james.cli.ServerCmd
+false
+
+
+
+
 
 
 



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



svn commit: r1712350 [2/2] - in /james/project/trunk: ./ dockerfiles/compilation/java-8/ dockerfiles/run/guice/ dockerfiles/run/guice/destination/ dockerfiles/run/guice/destination/conf/ dockerfiles/r

2015-11-03 Thread matthieu
Added: james/project/trunk/dockerfiles/run/guice/destination/conf/smtpserver.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/dockerfiles/run/guice/destination/conf/smtpserver.xml?rev=1712350=auto
==
--- james/project/trunk/dockerfiles/run/guice/destination/conf/smtpserver.xml 
(added)
+++ james/project/trunk/dockerfiles/run/guice/destination/conf/smtpserver.xml 
Tue Nov  3 16:54:41 2015
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+smtpserver-global
+0.0.0.0:25
+200
+
+file://conf/keystore
+james72laBalle
+
org.bouncycastle.jce.provider.BouncyCastleProvider
+SunX509
+
+360
+0
+0
+false
+0.0.0.0/0
+true
+0
+true
+JAMES Linagora's SMTP awesome Server
+
+
+
+
+
+
+smtpserver-TLS
+0.0.0.0:465
+200
+
+file://conf/keystore
+james72laBalle
+
org.bouncycastle.jce.provider.BouncyCastleProvider
+SunX509
+
+360
+0
+0
+
+true
+0.0.0.0/0
+
+false
+0
+true
+JAMES Linagora's SMTP awesome Server
+
+
+
+
+
+
+smtpserver-authenticated
+0.0.0.0:587
+200
+
+file://conf/keystore
+james72laBalle
+
org.bouncycastle.jce.provider.BouncyCastleProvider
+SunX509
+
+360
+0
+0
+
+true
+0.0.0.0/0
+
+false
+0
+true
+JAMES Linagora's SMTP awesome Server
+
+
+
+
+
+
+
+

Added: 
james/project/trunk/dockerfiles/run/guice/destination/conf/sqlResources.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/dockerfiles/run/guice/destination/conf/sqlResources.xml?rev=1712350=auto
==
--- james/project/trunk/dockerfiles/run/guice/destination/conf/sqlResources.xml 
(added)
+++ james/project/trunk/dockerfiles/run/guice/destination/conf/sqlResources.xml 
Tue Nov  3 16:54:41 2015
@@ -0,0 +1,931 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+${table}
+
+
+SELECT username, pwdHash, pwdAlgorithm, 
useForwarding,
+forwardDestination, useAlias, alias
+FROM ${table}
+ORDER BY username
+
+
+
+
+
+SELECT username, pwdHash, pwdAlgorithm, useForwarding,
+forwardDestination, useAlias, alias
+FROM ${table}
+WHERE lower(username) = ?
+
+
+
+SELECT username, pwdHash, pwdAlgorithm, useForwarding,
+forwardDestination, useAlias, alias
+FROM ${table}
+WHERE username = ?
+
+
+
+INSERT INTO ${table}
+(username, pwdHash, pwdAlgorithm, useForwarding, 
forwardDestination, useAlias, alias)
+VALUES (?,?,?,?,?,?,?)
+
+
+
+UPDATE ${table} SET
+pwdHash = ?, pwdAlgorithm = ?, useForwarding = ?, 
forwardDestination = ?, useAlias = ?, alias = ?
+WHERE username = ?
+
+
+
+DELETE FROM ${table} WHERE username = ?
+
+
+CREATE CACHED TABLE ${table} 
(username VARCHAR(64) NOT NULL, pwdHash VARCHAR(50), pwdAlgorithm VARCHAR(20), 
useForwarding INTEGER, forwardDestination VARCHAR(255), useAlias INTEGER, alias 
VARCHAR(255), PRIMARY KEY(username))
+CREATE TABLE ${table} (username VARCHAR(64) 
NOT NULL, pwdHash VARCHAR(50), pwdAlgorithm VARCHAR(20), useForwarding 
SMALLINT, forwardDestination VARCHAR(255), useAlias SMALLINT, alias 
VARCHAR(255), PRIMARY KEY(username))
+
+
+
+
+${table}
+
+
+SELECT username, pwdHash, pwdAlgorithm
+FROM ${table}
+
+
+
+INSERT INTO ${table}
+(username, pwdHash, pwdAlgorithm)
+VALUES (?,?,?)
+
+
+
+UPDATE ${table} SET
+pwdHash = ?, pwdAlgorithm = ?
+WHERE username = ?
+
+
+
+DELETE FROM ${table} WHERE username = ?
+
+
+CREATE CACHED TABLE ${table} 
(username VARCHAR(64) NOT NULL, pwdHash VARCHAR(50), pwdAlgorithm VARCHAR(20), 
PRIMARY KEY(username))
+CREATE TABLE ${table} (username VARCHAR(64) 
NOT NULL, pwdHash 

[GitHub] james-project pull request: James 1626

2015-11-03 Thread mbaechler
Github user mbaechler closed the pull request at:

https://github.com/apache/james-project/pull/16


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



[jira] [Closed] (JAMES-1626) build a guice application for james with cassandra + elasticsearch

2015-11-03 Thread Matthieu Baechler (JIRA)

 [ 
https://issues.apache.org/jira/browse/JAMES-1626?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthieu Baechler closed JAMES-1626.

Resolution: Fixed

merged

> build a guice application for james with cassandra + elasticsearch
> --
>
> Key: JAMES-1626
> URL: https://issues.apache.org/jira/browse/JAMES-1626
> Project: James Server
>  Issue Type: New Feature
>Reporter: Matthieu Baechler
>
> I'd like to run a specific combination of backends using a Guice application.
> This application would use cassandra backends when available (file backends 
> for others) and elasticsearch for search.
> The produced artifact is supposed to be a simple runnable jar and it's 
> dependencies in a subdirectory.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[GitHub] james-project pull request: James 1626

2015-11-03 Thread mbaechler
Github user mbaechler commented on the pull request:

https://github.com/apache/james-project/pull/16#issuecomment-153415649
  
merged


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

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



svn commit: r1712350 [1/2] - in /james/project/trunk: ./ dockerfiles/compilation/java-8/ dockerfiles/run/guice/ dockerfiles/run/guice/destination/ dockerfiles/run/guice/destination/conf/ dockerfiles/r

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:54:41 2015
New Revision: 1712350

URL: http://svn.apache.org/viewvc?rev=1712350=rev
Log:
JAMES-1626 cassandra-guice docker support

Added:
james/project/trunk/dockerfiles/run/guice/
james/project/trunk/dockerfiles/run/guice/Dockerfile
james/project/trunk/dockerfiles/run/guice/destination/
james/project/trunk/dockerfiles/run/guice/destination/conf/
james/project/trunk/dockerfiles/run/guice/destination/conf/META-INF/

james/project/trunk/dockerfiles/run/guice/destination/conf/META-INF/jpa-mappings-template.xml

james/project/trunk/dockerfiles/run/guice/destination/conf/META-INF/persistence-template.xml

james/project/trunk/dockerfiles/run/guice/destination/conf/META-INF/persistence.xml

james/project/trunk/dockerfiles/run/guice/destination/conf/cassandra.properties
james/project/trunk/dockerfiles/run/guice/destination/conf/dnsservice.xml
james/project/trunk/dockerfiles/run/guice/destination/conf/domainlist.xml

james/project/trunk/dockerfiles/run/guice/destination/conf/elasticsearch.properties
james/project/trunk/dockerfiles/run/guice/destination/conf/fetchmail.xml
james/project/trunk/dockerfiles/run/guice/destination/conf/imapserver.xml
james/project/trunk/dockerfiles/run/guice/destination/conf/indexer.xml

james/project/trunk/dockerfiles/run/guice/destination/conf/james-database.properties

james/project/trunk/dockerfiles/run/guice/destination/conf/jcr-repository.xml
james/project/trunk/dockerfiles/run/guice/destination/conf/jmx.properties
james/project/trunk/dockerfiles/run/guice/destination/conf/lib/
james/project/trunk/dockerfiles/run/guice/destination/conf/lib/README.txt
james/project/trunk/dockerfiles/run/guice/destination/conf/lmtpserver.xml
james/project/trunk/dockerfiles/run/guice/destination/conf/log4j.properties

james/project/trunk/dockerfiles/run/guice/destination/conf/mailetcontainer.xml

james/project/trunk/dockerfiles/run/guice/destination/conf/mailrepositorystore.xml

james/project/trunk/dockerfiles/run/guice/destination/conf/managesieve.help.txt
james/project/trunk/dockerfiles/run/guice/destination/conf/pop3server.xml
james/project/trunk/dockerfiles/run/guice/destination/conf/quota.xml

james/project/trunk/dockerfiles/run/guice/destination/conf/recipientrewritetable.xml
james/project/trunk/dockerfiles/run/guice/destination/conf/smtpserver.xml
james/project/trunk/dockerfiles/run/guice/destination/conf/sqlResources.xml

james/project/trunk/dockerfiles/run/guice/destination/conf/usersrepository.xml
Modified:
james/project/trunk/README.txt
james/project/trunk/dockerfiles/compilation/java-8/compile.sh

Modified: james/project/trunk/README.txt
URL: 
http://svn.apache.org/viewvc/james/project/trunk/README.txt?rev=1712350=1712349=1712350=diff
==
--- james/project/trunk/README.txt (original)
+++ james/project/trunk/README.txt Tue Nov  3 16:54:41 2015
@@ -68,7 +68,6 @@ as it is needed by the container that wi
 - SHA1 (optional): is the given git SHA1 of the james-project repository to 
build or trunk if none.
 - -s option: given tests will not be played while building. Not specifying 
means play tests.
 
-
 * Java 8
 First step, you have to build the Docker image
 $ docker build -t james/project dockerfiles/compilation/java-8
@@ -160,6 +159,16 @@ Where :
 Beware : you will have concurrency issues if multiple containers are running 
on this single volume.
 
 
+How to run James in Docker using guice container
+
+
+You have to follow above documentation and replace spring by guice in paths.
+
+Once you run the container, you have to use the following command to launch 
the cli :
+
+$ docker exec james_run java -jar /root/james-cli.jar -h localhost 
+
+
 Running deployement Tests
 =
 

Modified: james/project/trunk/dockerfiles/compilation/java-8/compile.sh
URL: 
http://svn.apache.org/viewvc/james/project/trunk/dockerfiles/compilation/java-8/compile.sh?rev=1712350=1712349=1712350=diff
==
--- james/project/trunk/dockerfiles/compilation/java-8/compile.sh (original)
+++ james/project/trunk/dockerfiles/compilation/java-8/compile.sh Tue Nov  3 
16:54:41 2015
@@ -53,4 +53,8 @@ fi
 
 if [ $? -eq 0 ]; then
cp server/app/target/james-server-app-*-app.zip $DESTINATION
+   cp 
server/container/cassandra-guice/target/james-server-cassandra-guice-*-SNAPSHOT.jar
 $DESTINATION
+   cp -r 
server/container/cassandra-guice/target/james-server-cassandra-guice-*-SNAPSHOT.lib
 $DESTINATION
+   cp server/container/cli/target/james-server-cli-*.jar $DESTINATION
+   cp -r server/container/cli/target/james-server-cli-*.lib $DESTINATION
 fi

Added: james/project/trunk/dockerfiles/run/guice/Dockerfile
URL: 

[jira] [Commented] (JAMES-1634) Slow Cassandra tests

2015-11-03 Thread Tellier Benoit (JIRA)

[ 
https://issues.apache.org/jira/browse/JAMES-1634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14988509#comment-14988509
 ] 

Tellier Benoit commented on JAMES-1634:
---

Hi the team :-)

With the solution you propose you habe a speed up of ~5. That's good but still 
slow ( ~ 10 min tests for all Cassandra tests).

My suggestion (maybe quite crazy, but maybe you'll like it !) 

 - us a ramdisk for cassandra-unit storage. This test does this : 
http://www.planetcassandra.org/blog/reduce-integration-test-time-by-94-by-using-ramdisk/

Ok, but creating a ram disk is complicated. Mount command can be used inside 
docker using –privileged option. 

So the idea is to mount the RAM disk in docker and expose an ENV variable.
If the ENV variable is present, we use the yaml to configure cassandra-unit to 
use the RAM disk. If not we launch it normaly.

Don't know if this is easily doable and if you'll have the time to do this, but 
this is worth mentionning ;-)

> Slow Cassandra tests
> 
>
> Key: JAMES-1634
> URL: https://issues.apache.org/jira/browse/JAMES-1634
> Project: James Server
>  Issue Type: Bug
>Reporter: Antoine Duprat
>
> Cassandra tests are slow, tables creation takes approximatively 25 seconds.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Comment Edited] (JAMES-1634) Slow Cassandra tests

2015-11-03 Thread Tellier Benoit (JIRA)

[ 
https://issues.apache.org/jira/browse/JAMES-1634?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14988509#comment-14988509
 ] 

Tellier Benoit edited comment on JAMES-1634 at 11/4/15 12:15 AM:
-

Hi the team :-)

With the solution you propose you habe a speed up of ~5. That's good but still 
slow ( ~ 10 min tests for all Cassandra tests).

My suggestion (maybe quite crazy, but maybe you'll like it !) 

 - us a ramdisk for cassandra-unit storage. This post does this : 
http://www.planetcassandra.org/blog/reduce-integration-test-time-by-94-by-using-ramdisk/

So the idea is to mount the RAM disk in docker and expose an ENV variable. 
Mount command can be used inside docker using –privileged option. 
If the ENV variable is present, we use the yaml to configure cassandra-unit to 
use the RAM disk. If not we launch it normaly.

Don't know if this is easily doable and if you'll have the time to do this, but 
this is worth mentionning ;-)


was (Author: btellier):
Hi the team :-)

With the solution you propose you habe a speed up of ~5. That's good but still 
slow ( ~ 10 min tests for all Cassandra tests).

My suggestion (maybe quite crazy, but maybe you'll like it !) 

 - us a ramdisk for cassandra-unit storage. This test does this : 
http://www.planetcassandra.org/blog/reduce-integration-test-time-by-94-by-using-ramdisk/

Ok, but creating a ram disk is complicated. Mount command can be used inside 
docker using –privileged option. 

So the idea is to mount the RAM disk in docker and expose an ENV variable.
If the ENV variable is present, we use the yaml to configure cassandra-unit to 
use the RAM disk. If not we launch it normaly.

Don't know if this is easily doable and if you'll have the time to do this, but 
this is worth mentionning ;-)

> Slow Cassandra tests
> 
>
> Key: JAMES-1634
> URL: https://issues.apache.org/jira/browse/JAMES-1634
> Project: James Server
>  Issue Type: Bug
>Reporter: Antoine Duprat
>
> Cassandra tests are slow, tables creation takes approximatively 25 seconds.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



[jira] [Created] (JAMES-1634) Slow Cassandra tests

2015-11-03 Thread Antoine Duprat (JIRA)
Antoine Duprat created JAMES-1634:
-

 Summary: Slow Cassandra tests
 Key: JAMES-1634
 URL: https://issues.apache.org/jira/browse/JAMES-1634
 Project: James Server
  Issue Type: Bug
Reporter: Antoine Duprat


Cassandra tests are slow, tables creation takes approximatively 25 seconds.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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



svn commit: r1712322 - /james/project/trunk/pom.xml

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:40:39 2015
New Revision: 1712322

URL: http://svn.apache.org/viewvc?rev=1712322=rev
Log:
JAMES-1626 Update maven-bundle-plugin to 2.4.0

Modified:
james/project/trunk/pom.xml

Modified: james/project/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/pom.xml?rev=1712322=1712321=1712322=diff
==
--- james/project/trunk/pom.xml (original)
+++ james/project/trunk/pom.xml Tue Nov  3 16:40:39 2015
@@ -567,7 +567,7 @@
 
 org.apache.felix
 maven-bundle-plugin
-2.3.7
+2.4.0
 true
 
 



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



svn commit: r1712324 - in /james/project/trunk/mailbox: cassandra/src/main/java/org/apache/james/mailbox/cassandra/ elasticsearch/ elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ e

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:41:20 2015
New Revision: 1712324

URL: http://svn.apache.org/viewvc?rev=1712324=rev
Log:
JAMES-1626 Use javax.inject in ElasticSearch mailbox

Modified:

james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
james/project/trunk/mailbox/elasticsearch/pom.xml

james/project/trunk/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIndexer.java

james/project/trunk/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java

james/project/trunk/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java

james/project/trunk/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/QueryConverter.java

james/project/trunk/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/search/ElasticSearchSearcher.java

Modified: 
james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java?rev=1712324=1712323=1712324=diff
==
--- 
james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
 (original)
+++ 
james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
 Tue Nov  3 16:41:20 2015
@@ -34,6 +34,7 @@ import org.apache.james.mailbox.store.St
 import org.apache.james.mailbox.store.StoreMessageManager;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox;
+import org.apache.james.mailbox.store.search.MessageSearchIndex;
 
 /**
  * Cassandra implementation of {@link StoreMailboxManager}
@@ -53,6 +54,12 @@ public class CassandraMailboxManager ext
 }
 
 @Override
+@Inject
+public void setMessageSearchIndex(MessageSearchIndex index) {
+super.setMessageSearchIndex(index);
+}
+
+@Override
 protected Mailbox doCreateMailbox(MailboxPath mailboxPath, 
MailboxSession session) throws MailboxException {
 SimpleMailbox cassandraMailbox = new 
SimpleMailbox<>(mailboxPath, randomUidValidity());
 cassandraMailbox.setACL(SimpleMailboxACL.EMPTY);

Modified: james/project/trunk/mailbox/elasticsearch/pom.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/mailbox/elasticsearch/pom.xml?rev=1712324=1712323=1712324=diff
==
--- james/project/trunk/mailbox/elasticsearch/pom.xml (original)
+++ james/project/trunk/mailbox/elasticsearch/pom.xml Tue Nov  3 16:41:20 2015
@@ -202,6 +202,10 @@
 1.6.3
 
 
+javax.inject
+javax.inject
+
+
 ${javax.mail.groupId}
 ${javax.mail.artifactId}
 

Modified: 
james/project/trunk/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIndexer.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIndexer.java?rev=1712324=1712323=1712324=diff
==
--- 
james/project/trunk/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIndexer.java
 (original)
+++ 
james/project/trunk/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIndexer.java
 Tue Nov  3 16:41:20 2015
@@ -27,6 +27,8 @@ import org.elasticsearch.index.query.Que
 
 import com.google.common.base.Preconditions;
 
+import javax.inject.Inject;
+
 public class ElasticSearchIndexer {
 
 public static final String MAILBOX_INDEX = "mailbox";
@@ -34,6 +36,7 @@ public class ElasticSearchIndexer {
 
 private final ClientProvider clientProvider;
 
+@Inject
 public ElasticSearchIndexer(ClientProvider clientProvider) {
 this.clientProvider = clientProvider;
 }

Modified: 
james/project/trunk/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java?rev=1712324=1712323=1712324=diff
==
--- 

svn commit: r1712323 - in /james/project/trunk/mailbox: cassandra/ cassandra/src/main/java/org/apache/james/mailbox/cassandra/ cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/ store/ s

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:41:05 2015
New Revision: 1712323

URL: http://svn.apache.org/viewvc?rev=1712323=rev
Log:
JAMES-1626 Use javax.inject in Cassandra mailbox

Modified:
james/project/trunk/mailbox/cassandra/pom.xml

james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java

james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java

james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManager.java

james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java

james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
james/project/trunk/mailbox/store/pom.xml

james/project/trunk/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java

Modified: james/project/trunk/mailbox/cassandra/pom.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/mailbox/cassandra/pom.xml?rev=1712323=1712322=1712323=diff
==
--- james/project/trunk/mailbox/cassandra/pom.xml (original)
+++ james/project/trunk/mailbox/cassandra/pom.xml Tue Nov  3 16:41:05 2015
@@ -152,6 +152,10 @@
 16.0
 
 
+javax.inject
+javax.inject
+
+
 ${javax.mail.groupId}
 ${javax.mail.artifactId}
 

Modified: 
james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java?rev=1712323=1712322=1712323=diff
==
--- 
james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
 (original)
+++ 
james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
 Tue Nov  3 16:41:05 2015
@@ -19,6 +19,9 @@
 
 package org.apache.james.mailbox.cassandra;
 
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
 import org.apache.james.mailbox.MailboxPathLocker;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
@@ -35,9 +38,11 @@ import org.apache.james.mailbox.store.ma
 /**
  * Cassandra implementation of {@link StoreMailboxManager}
  */
+@Singleton
 public class CassandraMailboxManager extends StoreMailboxManager {
 private MailboxPathLocker locker;
 
+@Inject
 public CassandraMailboxManager(CassandraMailboxSessionMapperFactory 
mapperFactory, Authenticator authenticator, final MailboxPathLocker locker) {
 super(mapperFactory,
 authenticator,

Modified: 
james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java?rev=1712323=1712322=1712323=diff
==
--- 
james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java
 (original)
+++ 
james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java
 Tue Nov  3 16:41:05 2015
@@ -20,6 +20,7 @@
 package org.apache.james.mailbox.cassandra;
 
 import org.apache.james.backends.cassandra.init.CassandraTypesProvider;
+import javax.inject.Inject;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.cassandra.mail.CassandraMailboxMapper;
 import org.apache.james.mailbox.cassandra.mail.CassandraMessageMapper;
@@ -45,6 +46,7 @@ public class CassandraMailboxSessionMapp
 private final CassandraTypesProvider typesProvider;
 private int maxRetry;
 
+@Inject
 public CassandraMailboxSessionMapperFactory(UidProvider 
uidProvider, ModSeqProvider modSeqProvider, Session session, 
CassandraTypesProvider typesProvider) {
 this.uidProvider = uidProvider;
 this.modSeqProvider = modSeqProvider;

Modified: 
james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManager.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManager.java?rev=1712323=1712322=1712323=diff

svn commit: r1712325 [2/2] - in /james/project/trunk: protocols/ protocols/api/ protocols/api/src/main/java/org/apache/james/protocols/api/handler/ protocols/imap/src/main/java/org/apache/james/protoc

2015-11-03 Thread matthieu
Modified: 
james/project/trunk/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java?rev=1712325=1712324=1712325=diff
==
--- 
james/project/trunk/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
 (original)
+++ 
james/project/trunk/protocols/smtp/src/test/java/org/apache/james/protocols/smtp/AbstractSMTPServerTest.java
 Tue Nov  3 16:42:48 2015
@@ -27,6 +27,8 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
 
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.net.smtp.SMTPClient;
 import org.apache.commons.net.smtp.SMTPReply;
 import org.apache.james.protocols.api.Protocol;
@@ -442,6 +444,16 @@ public abstract class AbstractSMTPServer
 public void testHeloHookPermanentError() throws Exception {
 HeloHook hook = new HeloHook() {
 
+@Override
+public void init(Configuration config) throws 
ConfigurationException {
+
+}
+
+@Override
+public void destroy() {
+
+}
+
 public HookResult doHelo(SMTPSession session, String helo) {
 return new HookResult(HookReturnCode.DENY);
 }
@@ -481,6 +493,16 @@ public abstract class AbstractSMTPServer
 public void testHeloHookTempraryError() throws Exception {
 HeloHook hook = new HeloHook() {
 
+@Override
+public void init(Configuration config) throws 
ConfigurationException {
+
+}
+
+@Override
+public void destroy() {
+
+}
+
 public HookResult doHelo(SMTPSession session, String helo) {
 return new HookResult(HookReturnCode.DENYSOFT);
 }
@@ -519,6 +541,16 @@ public abstract class AbstractSMTPServer
 public void testMailHookPermanentError() throws Exception {
 MailHook hook = new MailHook() {
 
+@Override
+public void init(Configuration config) throws 
ConfigurationException {
+
+}
+
+@Override
+public void destroy() {
+
+}
+
 public HookResult doMail(SMTPSession session, MailAddress sender) {
 return new HookResult(HookReturnCode.DENY);
 }
@@ -560,6 +592,16 @@ public abstract class AbstractSMTPServer
 public void testMailHookTemporaryError() throws Exception {
 MailHook hook = new MailHook() {
 
+@Override
+public void init(Configuration config) throws 
ConfigurationException {
+
+}
+
+@Override
+public void destroy() {
+
+}
+
 public HookResult doMail(SMTPSession session, MailAddress sender) {
 return new HookResult(HookReturnCode.DENYSOFT);
 }
@@ -602,6 +644,16 @@ public abstract class AbstractSMTPServer
 public void testRcptHookPermanentError() throws Exception {
 RcptHook hook = new RcptHook() {
 
+@Override
+public void init(Configuration config) throws 
ConfigurationException {
+
+}
+
+@Override
+public void destroy() {
+
+}
+
 public HookResult doRcpt(SMTPSession session, MailAddress sender, 
MailAddress rcpt) {
 if (RCPT1.equals(rcpt.toString())) {
 return new HookResult(HookReturnCode.DENY);
@@ -657,6 +709,16 @@ public abstract class AbstractSMTPServer
 public void testRcptHookTemporaryError() throws Exception {
 RcptHook hook = new RcptHook() {
 
+@Override
+public void init(Configuration config) throws 
ConfigurationException {
+
+}
+
+@Override
+public void destroy() {
+
+}
+
 public HookResult doRcpt(SMTPSession session, MailAddress sender, 
MailAddress rcpt) {
 if (RCPT1.equals(rcpt.toString())) {
 return new HookResult(HookReturnCode.DENYSOFT);
@@ -749,6 +811,16 @@ public abstract class AbstractSMTPServer
 
 MessageHook hook = new MessageHook() {
 
+@Override
+public void init(Configuration config) throws 
ConfigurationException {
+
+}
+
+@Override
+public void destroy() {
+
+}
+
 public HookResult onMessage(SMTPSession session, MailEnvelope 
mail) {
 return new HookResult(HookReturnCode.DENY);
 }
@@ -803,7 +875,16 @@ public abstract class AbstractSMTPServer
 
 MessageHook hook = new MessageHook() {
 
-
+@Override
+

svn commit: r1712325 [1/2] - in /james/project/trunk: protocols/ protocols/api/ protocols/api/src/main/java/org/apache/james/protocols/api/handler/ protocols/imap/src/main/java/org/apache/james/protoc

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:42:48 2015
New Revision: 1712325

URL: http://svn.apache.org/viewvc?rev=1712325=rev
Log:
JAMES-1626 All ProtocolHandler should be lifeCycle aware

   If fixes a longstanding error in SMTPServerTest that
   return code 554 on DNS blacklist test

Removed:

james/project/trunk/protocols/api/src/main/java/org/apache/james/protocols/api/handler/LifecycleAwareProtocolHandler.java

james/project/trunk/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/lifecycle/InitializingLifecycleAwareProtocolHandler.java
Modified:
james/project/trunk/protocols/api/pom.xml

james/project/trunk/protocols/api/src/main/java/org/apache/james/protocols/api/handler/AbstractProtocolHandlerChain.java

james/project/trunk/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandDispatcher.java

james/project/trunk/protocols/api/src/main/java/org/apache/james/protocols/api/handler/CommandHandlerResultLogger.java

james/project/trunk/protocols/api/src/main/java/org/apache/james/protocols/api/handler/ProtocolHandler.java

james/project/trunk/protocols/imap/src/main/java/org/apache/james/protocols/imap/core/IMAPCommandDispatcher.java

james/project/trunk/protocols/lmtp/src/test/java/org/apache/james/protocols/lmtp/AbstractLMTPServerTest.java
james/project/trunk/protocols/pom.xml

james/project/trunk/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/CapaCmdHandler.java

james/project/trunk/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/DeleCmdHandler.java

james/project/trunk/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/ListCmdHandler.java

james/project/trunk/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/NoopCmdHandler.java

james/project/trunk/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/QuitCmdHandler.java

james/project/trunk/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/RetrCmdHandler.java

james/project/trunk/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/RsetCmdHandler.java

james/project/trunk/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StatCmdHandler.java

james/project/trunk/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/StlsCmdHandler.java

james/project/trunk/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UidlCmdHandler.java

james/project/trunk/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UnknownCmdHandler.java

james/project/trunk/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/UserCmdHandler.java

james/project/trunk/protocols/pop3/src/main/java/org/apache/james/protocols/pop3/core/WelcomeMessageHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AcceptRecipientIfRelayingIsAllowed.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataLineMessageHookHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ExpnCmdHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/HeloCmdHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/HelpCmdHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/MailCmdHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/NoopCmdHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/PostmasterAbuseRcptHook.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/QuitCmdHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RcptCmdHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/ReceivedDataLineFilter.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/RsetCmdHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/UnknownCmdHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/VrfyCmdHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/WelcomeMessageHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/AuthCmdHandler.java

james/project/trunk/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/esmtp/EhloCmdHandler.java


svn commit: r1712326 - in /james/project/trunk: mailbox/store/src/main/java/org/apache/james/mailbox/store/search/ server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/ serv

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:45:35 2015
New Revision: 1712326

URL: http://svn.apache.org/viewvc?rev=1712326=rev
Log:
JAMES-1626 cleanup injection annotations to conform to javax.inject usage

Removed unneeded @Named annotations, @Resource that doesn't belong to
javax.inject and fix some injection usages that only work with Spring

Modified:

james/project/trunk/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java

james/project/trunk/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxCopierManagement.java

james/project/trunk/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java

james/project/trunk/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/store/UserRepositoryAuthenticator.java

james/project/trunk/server/container/spring/src/main/java/org/apache/james/container/spring/tool/James23Importer.java

james/project/trunk/server/container/spring/src/main/java/org/apache/james/container/spring/tool/James23ImporterManagement.java

james/project/trunk/server/container/spring/src/main/resources/META-INF/org/apache/james/spring-server.xml

james/project/trunk/server/data/data-file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java

james/project/trunk/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java

james/project/trunk/server/data/data-file/src/main/java/org/apache/james/user/file/UsersFileRepository.java

james/project/trunk/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java

james/project/trunk/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/AbstractDomainList.java

james/project/trunk/server/data/data-library/src/main/java/org/apache/james/domainlist/lib/DomainListManagement.java

james/project/trunk/server/data/data-library/src/main/java/org/apache/james/repository/file/AbstractFileRepository.java

james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java

james/project/trunk/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableManagement.java

james/project/trunk/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java

james/project/trunk/server/data/data-library/src/main/java/org/apache/james/user/lib/UsersRepositoryManagement.java

james/project/trunk/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/CamelCompositeProcessor.java

james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java

james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java

james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/ToRecipientFolder.java

james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/ToRepository.java

james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/ToSenderFolder.java

james/project/trunk/server/mailet/mailets/src/main/java/org/apache/james/transport/matchers/AbstractStorageQuota.java

james/project/trunk/server/protocols/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java

james/project/trunk/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java

james/project/trunk/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java

james/project/trunk/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java

james/project/trunk/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java

james/project/trunk/server/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/mock/MockProtocolHandlerLoader.java

james/project/trunk/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/hook/MailboxDeliverToRecipientHandler.java

james/project/trunk/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java

james/project/trunk/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/AuthRequiredToRelayRcptHook.java

james/project/trunk/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/JamesMailCmdHandler.java

james/project/trunk/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/JamesRcptCmdHandler.java


svn commit: r1712329 - in /james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james: CassandraJamesServer.java utils/ConfigurationPerformer.java utils/ConfigurationsPerforme

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:47:19 2015
New Revision: 1712329

URL: http://svn.apache.org/viewvc?rev=1712329=rev
Log:
JAMES-1626 ConfigurationPerformer will take care of push configuration to class 
that need it

Added:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationPerformer.java
  - copied, changed from r1712328, 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
  - copied, changed from r1712328, 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
Modified:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java?rev=1712329=1712328=1712329=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
 Tue Nov  3 16:47:19 2015
@@ -18,7 +18,10 @@
  /
 package org.apache.james;
 
+import org.apache.james.utils.ConfigurationsPerformer;
+
 import com.google.inject.Guice;
+import com.google.inject.Injector;
 import com.google.inject.Module;
 
 public class CassandraJamesServer {
@@ -29,8 +32,9 @@ public class CassandraJamesServer {
 this.serverModule = serverModule;
 }
 
-public void start() {
-Guice.createInjector(serverModule);
+public void start() throws Exception {
+Injector injector = Guice.createInjector(serverModule);
+injector.getInstance(ConfigurationsPerformer.class).initModules();
 }
 
 public void stop() {

Copied: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationPerformer.java
 (from r1712328, 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java)
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationPerformer.java?p2=james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationPerformer.java=james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java=1712328=1712329=1712329=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationPerformer.java
 Tue Nov  3 16:47:19 2015
@@ -16,24 +16,12 @@
  * specific language governing permissions and limitations  *
  * under the License.   *
  /
-package org.apache.james;
 
-import com.google.inject.Guice;
-import com.google.inject.Module;
+package org.apache.james.utils;
 
-public class CassandraJamesServer {
 
-private final Module serverModule;
+public interface ConfigurationPerformer {
 
-public CassandraJamesServer(Module serverModule) {
-this.serverModule = serverModule;
-}
-
-public void start() {
-Guice.createInjector(serverModule);
-}
-
-public void stop() {
-}
+void initModule() throws Exception;
 
 }

Copied: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java
 (from r1712328, 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java)
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java?p2=james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationsPerformer.java=james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java=1712328=1712329=1712329=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
 (original)
+++ 

svn commit: r1712327 - in /james/project/trunk/server: container/cassandra-guice/ container/cassandra-guice/pom.xml pom.xml

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:46:28 2015
New Revision: 1712327

URL: http://svn.apache.org/viewvc?rev=1712327=rev
Log:
JAMES-1626 cassandra-guice project creation

Added:
james/project/trunk/server/container/cassandra-guice/
james/project/trunk/server/container/cassandra-guice/pom.xml
Modified:
james/project/trunk/server/pom.xml

Added: james/project/trunk/server/container/cassandra-guice/pom.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/pom.xml?rev=1712327=auto
==
--- james/project/trunk/server/container/cassandra-guice/pom.xml (added)
+++ james/project/trunk/server/container/cassandra-guice/pom.xml Tue Nov  3 
16:46:28 2015
@@ -0,0 +1,410 @@
+
+
+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;>
+
+4.0.0
+
+
+org.apache.james
+james-server
+3.0.0-beta5-SNAPSHOT
+../../pom.xml
+
+
+james-server-cassandra-guice
+bundle
+
+Apache James :: Server :: Cassandra - guice injection
+An advanced email server - Cassandra backend with guice 
injection
+
+
+
+
+org.apache.felix
+maven-bundle-plugin
+true
+
+
+
+
+
+
+
+disable-build-for-older-jdk
+
+(,1.8)
+
+
+
+
+maven-jar-plugin
+
+
+default-jar
+none
+
+
+jar
+none
+
+
+test-jar
+none
+
+
+
+
+maven-compiler-plugin
+
+
+default-compile
+none
+
+
+default-testCompile
+none
+
+
+
+
+maven-surefire-plugin
+
+
+default-test
+none
+
+
+
+
+maven-source-plugin
+
+
+attach-sources
+none
+
+
+
+
+maven-install-plugin
+
+
+default-install
+none
+
+
+
+
+maven-resources-plugin
+
+
+default-resources
+none
+
+
+default-testResources
+none
+
+
+
+
+maven-site-plugin
+
+
+attach-descriptor
+none
+
+
+
+
+
+
+
+build-for-jdk-8
+
+[1.8,)
+
+
+
+
+maven-assembly-plugin
+
+
+
+
fully.qualified.MainClass
+
+
+
+
jar-with-dependencies
+
+
+
+
+org.apache.maven.plugins
+maven-compiler-plugin
+
+1.8
+ 

svn commit: r1712328 - in /james/project/trunk: backends-common/ backends-common/cassandra/ backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/ server/ server/container/c

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:46:53 2015
New Revision: 1712328

URL: http://svn.apache.org/viewvc?rev=1712328=rev
Log:
JAMES-1626 bootstrap guice-based application with Cassandra IMAP server

Added:
james/project/trunk/server/container/cassandra-guice/src/
james/project/trunk/server/container/cassandra-guice/src/main/
james/project/trunk/server/container/cassandra-guice/src/main/java/
james/project/trunk/server/container/cassandra-guice/src/main/java/org/

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/data/

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraDomainListModule.java
  - copied, changed from r1712327, 
james/project/trunk/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraTypesProvider.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraRecipientRewriteTableModule.java
  - copied, changed from r1712327, 
james/project/trunk/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraTypesProvider.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/data/CassandraUsersRepositoryModule.java
  - copied, changed from r1712327, 
james/project/trunk/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraTypesProvider.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/DNSServiceModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/SimpleMessageSearchModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/PropertiesReader.java
james/project/trunk/server/container/cassandra-guice/src/test/
james/project/trunk/server/container/cassandra-guice/src/test/java/
james/project/trunk/server/container/cassandra-guice/src/test/java/org/

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/CassandraJamesServerTest.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/PropertiesReadTest.java
james/project/trunk/server/container/cassandra-guice/src/test/resources/

james/project/trunk/server/container/cassandra-guice/src/test/resources/cassandra.properties

james/project/trunk/server/container/cassandra-guice/src/test/resources/test.properties
Modified:
james/project/trunk/backends-common/cassandra/pom.xml

james/project/trunk/backends-common/cassandra/src/main/java/org/apache/james/backends/cassandra/init/CassandraTypesProvider.java
james/project/trunk/backends-common/pom.xml
james/project/trunk/server/container/cassandra-guice/pom.xml

james/project/trunk/server/data/data-cassandra/src/main/java/org/apache/james/domainlist/cassandra/CassandraDomainList.java

james/project/trunk/server/data/data-cassandra/src/main/java/org/apache/james/rrt/cassandra/CassandraRecipientRewriteTable.java

james/project/trunk/server/data/data-cassandra/src/main/java/org/apache/james/user/cassandra/CassandraUsersRepository.java
james/project/trunk/server/pom.xml

Modified: james/project/trunk/backends-common/cassandra/pom.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/backends-common/cassandra/pom.xml?rev=1712328=1712327=1712328=diff
==
--- 

svn commit: r1712330 - in /james/project/trunk/server: container/cassandra-guice/src/main/java/org/apache/james/ container/cassandra-guice/src/main/java/org/apache/james/modules/server/ protocols/prot

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:47:33 2015
New Revision: 1712330

URL: http://svn.apache.org/viewvc?rev=1712330=rev
Log:
JAMES-1626 Use Onami for lifecycle management (JSR 250 @PreDestroy 
@PostConstruct)

Added:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationPerformerModule.java
Modified:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java

james/project/trunk/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/jmx/AbstractConnectHandlerResultJMXMonitor.java

james/project/trunk/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java?rev=1712330=1712329=1712330=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServer.java
 Tue Nov  3 16:47:33 2015
@@ -19,25 +19,30 @@
 package org.apache.james;
 
 import org.apache.james.utils.ConfigurationsPerformer;
+import org.apache.onami.lifecycle.jsr250.PreDestroyModule;
 
 import com.google.inject.Guice;
 import com.google.inject.Injector;
 import com.google.inject.Module;
+import com.google.inject.util.Modules;
 
 public class CassandraJamesServer {
 
 private final Module serverModule;
+private final PreDestroyModule preDestroyModule;
 
 public CassandraJamesServer(Module serverModule) {
 this.serverModule = serverModule;
+this.preDestroyModule = new PreDestroyModule();
 }
 
 public void start() throws Exception {
-Injector injector = Guice.createInjector(serverModule);
+Injector injector = Guice.createInjector(Modules.combine(serverModule, 
preDestroyModule));
 injector.getInstance(ConfigurationsPerformer.class).initModules();
 }
 
 public void stop() {
+preDestroyModule.getStager().stage();
 }
 
 }

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java?rev=1712330=1712329=1712330=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 Tue Nov  3 16:47:33 2015
@@ -24,6 +24,7 @@ import org.apache.james.modules.data.Cas
 import org.apache.james.modules.data.CassandraUsersRepositoryModule;
 import org.apache.james.modules.mailbox.CassandraMailboxModule;
 import org.apache.james.modules.mailbox.CassandraSessionModule;
+import org.apache.james.modules.server.ConfigurationPerformerModule;
 import org.apache.james.modules.server.DNSServiceModule;
 import org.apache.james.modules.server.SimpleMessageSearchModule;
 
@@ -32,13 +33,15 @@ import com.google.inject.util.Modules;
 
 public class CassandraJamesServerMain {
 
-public static final Module defaultModule = Modules.combine(new 
CassandraMailboxModule(),
-new CassandraSessionModule(),
-new SimpleMessageSearchModule(),
-new CassandraUsersRepositoryModule(),
-new CassandraDomainListModule(),
-new CassandraRecipientRewriteTableModule(),
-new DNSServiceModule());
+public static final Module defaultModule = Modules.combine(
+new CassandraMailboxModule(),
+new ConfigurationPerformerModule(),
+new CassandraSessionModule(),
+new SimpleMessageSearchModule(),
+new CassandraUsersRepositoryModule(),
+new CassandraDomainListModule(),
+new CassandraRecipientRewriteTableModule(),
+new DNSServiceModule());
 
 public static void main(String[] args) throws Exception {
 CassandraJamesServer server = new CassandraJamesServer(defaultModule);

Added: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationPerformerModule.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationPerformerModule.java?rev=1712330=auto

svn commit: r1712332 - in /james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james: CassandraJamesServerMain.java modules/server/ActiveMQQueueModule.java modules/server/Emb

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:48:15 2015
New Revision: 1712332

URL: http://svn.apache.org/viewvc?rev=1712332=rev
Log:
JAMES-1626 Add ActiveMQ support to cassandra-guice application

Added:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ActiveMQQueueModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/EmbeddedActiveMQ.java
Modified:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java?rev=1712332=1712331=1712332=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 Tue Nov  3 16:48:15 2015
@@ -25,6 +25,7 @@ import org.apache.james.modules.data.Cas
 import org.apache.james.modules.mailbox.CassandraMailboxModule;
 import org.apache.james.modules.mailbox.CassandraSessionModule;
 import org.apache.james.modules.mailbox.ElasticSearchMailboxModule;
+import org.apache.james.modules.server.ActiveMQQueueModule;
 import org.apache.james.modules.server.ConfigurationPerformerModule;
 import org.apache.james.modules.server.DNSServiceModule;
 
@@ -41,7 +42,8 @@ public class CassandraJamesServerMain {
 new CassandraUsersRepositoryModule(),
 new CassandraDomainListModule(),
 new CassandraRecipientRewriteTableModule(),
-new DNSServiceModule());
+new DNSServiceModule(),
+new ActiveMQQueueModule());
 
 public static void main(String[] args) throws Exception {
 CassandraJamesServer server = new CassandraJamesServer(defaultModule);

Added: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ActiveMQQueueModule.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ActiveMQQueueModule.java?rev=1712332=auto
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ActiveMQQueueModule.java
 (added)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ActiveMQQueueModule.java
 Tue Nov  3 16:48:15 2015
@@ -0,0 +1,57 @@
+/
+ * 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.modules.server;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Provides;
+import com.google.inject.Singleton;
+import org.apache.james.queue.activemq.ActiveMQMailQueueFactory;
+import org.apache.james.queue.api.MailQueueFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.jms.ConnectionFactory;
+
+public class ActiveMQQueueModule extends AbstractModule {
+
+private static Logger LOGGER = 
LoggerFactory.getLogger(ActiveMQQueueModule.class);
+
+@Override
+protected void configure() {
+
+}
+
+@Provides
+@Singleton
+ConnectionFactory provideEmbededActiveMQ(EmbeddedActiveMQ 
embeddedActiveMQ) {
+return embeddedActiveMQ.getConnectionFactory();
+}
+
+@Provides
+@Singleton
+public MailQueueFactory createActiveMailQueueFactory(ConnectionFactory 
connectionFactory, ActiveMQMailQueueFactory 

svn commit: r1712331 - in /james/project/trunk/server: ./ container/cassandra-guice/ container/cassandra-guice/src/main/java/org/apache/james/ container/cassandra-guice/src/main/java/org/apache/james/

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:47:57 2015
New Revision: 1712331

URL: http://svn.apache.org/viewvc?rev=1712331=rev
Log:
JAMES-1626 Add ElasticSearch support to cassandra-guice application

Added:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/modules/

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/modules/TestElasticSearchModule.java

james/project/trunk/server/container/cassandra-guice/src/test/resources/elasticsearch.properties
Modified:
james/project/trunk/server/container/cassandra-guice/pom.xml

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/CassandraJamesServerTest.java
james/project/trunk/server/pom.xml

Modified: james/project/trunk/server/container/cassandra-guice/pom.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/pom.xml?rev=1712331=1712330=1712331=diff
==
--- james/project/trunk/server/container/cassandra-guice/pom.xml (original)
+++ james/project/trunk/server/container/cassandra-guice/pom.xml Tue Nov  3 
16:47:57 2015
@@ -188,6 +188,12 @@
 
 
 ${project.groupId}
+apache-james-mailbox-elasticsearch
+test-jar
+test
+
+
+${project.groupId}
 apache-james-mailbox-tika
 
 

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java?rev=1712331=1712330=1712331=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 Tue Nov  3 16:47:57 2015
@@ -24,9 +24,9 @@ import org.apache.james.modules.data.Cas
 import org.apache.james.modules.data.CassandraUsersRepositoryModule;
 import org.apache.james.modules.mailbox.CassandraMailboxModule;
 import org.apache.james.modules.mailbox.CassandraSessionModule;
+import org.apache.james.modules.mailbox.ElasticSearchMailboxModule;
 import org.apache.james.modules.server.ConfigurationPerformerModule;
 import org.apache.james.modules.server.DNSServiceModule;
-import org.apache.james.modules.server.SimpleMessageSearchModule;
 
 import com.google.inject.Module;
 import com.google.inject.util.Modules;
@@ -37,7 +37,7 @@ public class CassandraJamesServerMain {
 new CassandraMailboxModule(),
 new ConfigurationPerformerModule(),
 new CassandraSessionModule(),
-new SimpleMessageSearchModule(),
+new ElasticSearchMailboxModule(),
 new CassandraUsersRepositoryModule(),
 new CassandraDomainListModule(),
 new CassandraRecipientRewriteTableModule(),

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java?rev=1712331=1712330=1712331=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java
 Tue Nov  3 16:47:57 2015
@@ -31,12 +31,14 @@ import org.apache.james.mailbox.cassandr
 import org.apache.james.mailbox.cassandra.CassandraSubscriptionManager;
 import org.apache.james.mailbox.cassandra.mail.CassandraModSeqProvider;
 import org.apache.james.mailbox.cassandra.mail.CassandraUidProvider;
+import 
org.apache.james.mailbox.elasticsearch.events.ElasticSearchListeningMessageSearchIndex;
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.store.Authenticator;
 import org.apache.james.mailbox.store.NoMailboxPathLocker;
 import 

svn commit: r1712333 - in /james/project/trunk/server/container/cassandra-guice/src: main/java/org/apache/james/utils/ClassPathConfigurationProvider.java test/java/org/apache/james/utils/ClassPathConf

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:48:26 2015
New Revision: 1712333

URL: http://svn.apache.org/viewvc?rev=1712333=rev
Log:
JAMES-1626 Implement an HierarchicalConfiguration reader for guice use

Added:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ClassPathConfigurationProvider.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/ClassPathConfigurationProviderTest.java

james/project/trunk/server/container/cassandra-guice/src/test/resources/test.xml

Added: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ClassPathConfigurationProvider.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ClassPathConfigurationProvider.java?rev=1712333=auto
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ClassPathConfigurationProvider.java
 (added)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ClassPathConfigurationProvider.java
 Tue Nov  3 16:48:26 2015
@@ -0,0 +1,69 @@
+/
+ * 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.utils;
+
+import java.io.InputStream;
+import java.util.List;
+import java.util.Optional;
+
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration.XMLConfiguration;
+
+import com.google.common.base.Preconditions;
+import com.google.common.base.Splitter;
+import com.google.common.base.Strings;
+import com.google.common.collect.Iterables;
+
+public class ClassPathConfigurationProvider {
+
+private static final String CONFIGURATION_FILE_SUFFIX = ".xml";
+
+public HierarchicalConfiguration getConfiguration(String component) throws 
ConfigurationException {
+Preconditions.checkNotNull(component);
+List configPathParts = Splitter.on(".").splitToList(component);
+Preconditions.checkArgument(!configPathParts.isEmpty());
+HierarchicalConfiguration config = 
getConfig(retrieveConfigInputStream(configPathParts.get(0)));
+return selectHierarchicalConfigPart(config, 
Iterables.skip(configPathParts, 1));
+}
+
+private InputStream retrieveConfigInputStream(String 
configurationFileWithoutExtension) throws ConfigurationException {
+
Preconditions.checkArgument(!Strings.isNullOrEmpty(configurationFileWithoutExtension),
 "The configuration file name should not be empty or null");
+return 
Optional.ofNullable(ClassLoader.getSystemResourceAsStream(configurationFileWithoutExtension
 + CONFIGURATION_FILE_SUFFIX))
+.orElseThrow(() -> new ConfigurationException("Unable to locate 
configuration file " + configurationFileWithoutExtension + 
CONFIGURATION_FILE_SUFFIX));
+}
+
+private XMLConfiguration getConfig(InputStream configStream) throws 
ConfigurationException {
+XMLConfiguration config = new XMLConfiguration();
+config.setDelimiterParsingDisabled(true);
+config.setAttributeSplittingDisabled(true);
+config.load(configStream);
+return config;
+}
+
+private HierarchicalConfiguration 
selectHierarchicalConfigPart(HierarchicalConfiguration config, Iterable 
configsPathParts) {
+HierarchicalConfiguration currentConfig = config;
+for (String nextPathPart : configsPathParts) {
+currentConfig = currentConfig.configurationAt(nextPathPart);
+}
+return currentConfig;
+}
+
+}

Added: 

svn commit: r1712334 - in /james/project/trunk/server/container: cassandra-guice/src/main/java/org/apache/james/ cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ cassandra-guice/src/mai

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:48:56 2015
New Revision: 1712334

URL: http://svn.apache.org/viewvc?rev=1712334=rev
Log:
JAMES-1626 support IMAP, SMTP, POP and LMTP protocols in cassandra-guice 
application

Added:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/ProtocolHandlerModule.java
  - copied, changed from r1712333, 
james/project/trunk/server/container/core/src/main/java/org/apache/james/core/filesystem/FileSystemImpl.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/FileSystemModule.java
  - copied, changed from r1712333, 
james/project/trunk/server/container/core/src/main/java/org/apache/james/core/filesystem/FileSystemImpl.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/QuotaModule.java
  - copied, changed from r1712333, 
james/project/trunk/server/container/core/src/main/java/org/apache/james/core/filesystem/FileSystemImpl.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/GuiceProtocolHandlerLoader.java

james/project/trunk/server/container/cassandra-guice/src/test/resources/imapserver.xml

james/project/trunk/server/container/cassandra-guice/src/test/resources/lmtpserver.xml

james/project/trunk/server/container/cassandra-guice/src/test/resources/pop3server.xml

james/project/trunk/server/container/cassandra-guice/src/test/resources/smtpserver.xml
Modified:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraMailboxModule.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/CassandraJamesServerTest.java

james/project/trunk/server/container/core/src/main/java/org/apache/james/core/filesystem/FileSystemImpl.java

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java?rev=1712334=1712333=1712334=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 Tue Nov  3 16:48:56 2015
@@ -25,9 +25,16 @@ import org.apache.james.modules.data.Cas
 import org.apache.james.modules.mailbox.CassandraMailboxModule;
 import org.apache.james.modules.mailbox.CassandraSessionModule;
 import org.apache.james.modules.mailbox.ElasticSearchMailboxModule;
+import org.apache.james.modules.protocols.IMAPServerModule;
+import org.apache.james.modules.protocols.LMTPServerModule;
+import org.apache.james.modules.protocols.POP3ServerModule;
+import org.apache.james.modules.protocols.ProtocolHandlerModule;
+import org.apache.james.modules.protocols.SMTPServerModule;
 import org.apache.james.modules.server.ActiveMQQueueModule;
 import org.apache.james.modules.server.ConfigurationPerformerModule;
 import org.apache.james.modules.server.DNSServiceModule;
+import org.apache.james.modules.server.FileSystemModule;
+import org.apache.james.modules.server.QuotaModule;
 
 import com.google.inject.Module;
 import com.google.inject.util.Modules;
@@ -43,7 +50,14 @@ public class CassandraJamesServerMain {
 new CassandraDomainListModule(),
 new CassandraRecipientRewriteTableModule(),
 new DNSServiceModule(),
-new ActiveMQQueueModule());
+new IMAPServerModule(),
+new ProtocolHandlerModule(),
+new POP3ServerModule(),
+new SMTPServerModule(),
+new LMTPServerModule(),
+new ActiveMQQueueModule(),
+new QuotaModule(),
+new FileSystemModule());
 
 public static void main(String[] args) throws Exception {
 CassandraJamesServer server = new CassandraJamesServer(defaultModule);

Modified: 

svn commit: r1712335 - in /james/project/trunk/server/container: cassandra-guice/src/main/java/org/apache/james/utils/ mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:49:19 2015
New Revision: 1712335

URL: http://svn.apache.org/viewvc?rev=1712335=rev
Log:
JAMES-1626 Implement a guice MailboxManagerResolver

Added:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/GuiceMailboxManagerResolver.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/MailboxManagerDefinition.java
  - copied, changed from r1712334, 
james/project/trunk/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerResolverException.java
Modified:

james/project/trunk/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerResolverException.java

Added: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/GuiceMailboxManagerResolver.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/GuiceMailboxManagerResolver.java?rev=1712335=auto
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/GuiceMailboxManagerResolver.java
 (added)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/GuiceMailboxManagerResolver.java
 Tue Nov  3 16:49:19 2015
@@ -0,0 +1,59 @@
+/
+ * 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.utils;
+
+import java.util.Map;
+import java.util.Optional;
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import org.apache.james.adapter.mailbox.MailboxManagerResolver;
+import org.apache.james.adapter.mailbox.MailboxManagerResolverException;
+import org.apache.james.mailbox.MailboxManager;
+
+import com.google.common.collect.ImmutableMap;
+import com.google.inject.Inject;
+
+public class GuiceMailboxManagerResolver implements MailboxManagerResolver {
+
+private ImmutableMap managers;
+
+@Inject
+private GuiceMailboxManagerResolver(Set 
managers) {
+this.managers = indexManagersByName(managers);
+}
+
+private static ImmutableMap 
indexManagersByName(Set managers) {
+return ImmutableMap.copyOf(managers.stream().collect(
+Collectors.toMap(MailboxManagerDefinition::getName, 
MailboxManagerDefinition::getManager)));
+}
+
+@Override
+public Map getMailboxManagerBeans() {
+return managers;
+}
+
+@Override
+public MailboxManager resolveMailboxManager(String 
mailboxManagerClassName) {
+return 
Optional.ofNullable(managers.get(mailboxManagerClassName)).orElseThrow(
+() -> new MailboxManagerResolverException("Unable to find a 
mailbox manager with name " + mailboxManagerClassName));
+}
+
+}

Copied: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/MailboxManagerDefinition.java
 (from r1712334, 
james/project/trunk/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerResolverException.java)
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/MailboxManagerDefinition.java?p2=james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/MailboxManagerDefinition.java=james/project/trunk/server/container/mailbox-adapter/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerResolverException.java=1712334=1712335=1712335=diff
==
--- 

svn commit: r1712338 - in /james/project/trunk/server: container/cassandra-guice/src/main/java/org/apache/james/ container/cassandra-guice/src/main/java/org/apache/james/modules/server/ container/cass

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:50:17 2015
New Revision: 1712338

URL: http://svn.apache.org/viewvc?rev=1712338=rev
Log:
JAMES-1626 Add mailet support in cassandra-guice module

Added:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/SieveModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/GuiceGenericLoader.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/GuiceMailetLoader.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/GuiceMatcherLoader.java

james/project/trunk/server/container/cassandra-guice/src/test/resources/mailetcontainer.xml
Modified:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/CassandraJamesServerTest.java

james/project/trunk/server/data/data-hbase/src/main/java/org/apache/james/system/hbase/TablePool.java

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java?rev=1712338=1712337=1712338=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 Tue Nov  3 16:50:17 2015
@@ -31,12 +31,14 @@ import org.apache.james.modules.protocol
 import org.apache.james.modules.protocols.ProtocolHandlerModule;
 import org.apache.james.modules.protocols.SMTPServerModule;
 import org.apache.james.modules.server.ActiveMQQueueModule;
+import org.apache.james.modules.server.CamelMailetContainerModule;
 import org.apache.james.modules.server.ConfigurationPerformerModule;
 import org.apache.james.modules.server.DNSServiceModule;
 import org.apache.james.modules.server.FileSystemModule;
 import org.apache.james.modules.server.JMXServerModule;
 import org.apache.james.modules.server.MailStoreRepositoryModule;
 import org.apache.james.modules.server.QuotaModule;
+import org.apache.james.modules.server.SieveModule;
 
 import com.google.inject.Module;
 import com.google.inject.util.Modules;
@@ -58,9 +60,11 @@ public class CassandraJamesServerMain {
 new SMTPServerModule(),
 new LMTPServerModule(),
 new ActiveMQQueueModule(),
-new QuotaModule(),
 new FileSystemModule(),
-new MailStoreRepositoryModule());
+new SieveModule(),
+new MailStoreRepositoryModule(),
+new CamelMailetContainerModule(),
+new QuotaModule());
 
 public static void main(String[] args) throws Exception {
 CassandraJamesServer server = new CassandraJamesServer(Modules.combine(

Added: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java?rev=1712338=auto
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
 (added)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java
 Tue Nov  3 16:50:17 2015
@@ -0,0 +1,107 @@
+/
+ * 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, 

svn commit: r1712337 - in /james/project/trunk/server/container/cassandra-guice/src: main/java/org/apache/james/ main/java/org/apache/james/modules/server/ main/java/org/apache/james/utils/ test/java/

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:49:53 2015
New Revision: 1712337

URL: http://svn.apache.org/viewvc?rev=1712337=rev
Log:
JAMES-1626 Implement an InMemory MailRepository

Added:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/InMemoryMailRepositoryStore.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/MailRepositoryProvider.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java

james/project/trunk/server/container/cassandra-guice/src/test/resources/fakemailrepositorystore.xml

james/project/trunk/server/container/cassandra-guice/src/test/resources/mailrepositorystore.xml
Modified:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java?rev=1712337=1712336=1712337=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 Tue Nov  3 16:49:53 2015
@@ -35,6 +35,7 @@ import org.apache.james.modules.server.C
 import org.apache.james.modules.server.DNSServiceModule;
 import org.apache.james.modules.server.FileSystemModule;
 import org.apache.james.modules.server.JMXServerModule;
+import org.apache.james.modules.server.MailStoreRepositoryModule;
 import org.apache.james.modules.server.QuotaModule;
 
 import com.google.inject.Module;
@@ -58,7 +59,8 @@ public class CassandraJamesServerMain {
 new LMTPServerModule(),
 new ActiveMQQueueModule(),
 new QuotaModule(),
-new FileSystemModule());
+new FileSystemModule(),
+new MailStoreRepositoryModule());
 
 public static void main(String[] args) throws Exception {
 CassandraJamesServer server = new CassandraJamesServer(Modules.combine(

Added: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java?rev=1712337=auto
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
 (added)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java
 Tue Nov  3 16:49:53 2015
@@ -0,0 +1,87 @@
+/
+ * 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.modules.server;
+
+import com.google.inject.AbstractModule;
+import com.google.inject.Inject;
+import com.google.inject.Singleton;
+import com.google.inject.multibindings.Multibinder;
+import org.apache.james.filesystem.api.FileSystem;
+import org.apache.james.mailrepository.api.MailRepository;
+import org.apache.james.mailrepository.api.MailRepositoryStore;
+import org.apache.james.mailrepository.file.FileMailRepository;
+import org.apache.james.utils.ClassPathConfigurationProvider;
+import 

svn commit: r1712336 - in /james/project/trunk/server/container: cassandra-guice/src/main/java/org/apache/james/ cassandra-guice/src/main/java/org/apache/james/modules/server/ cassandra-guice/src/test

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:49:32 2015
New Revision: 1712336

URL: http://svn.apache.org/viewvc?rev=1712336=rev
Log:
JAMES-1626 Add JMX support to cassandra-guice application

Added:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/JMXServer.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/JMXServerModule.java

james/project/trunk/server/container/cassandra-guice/src/test/resources/jmx.properties
Modified:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java

james/project/trunk/server/container/cli/src/main/java/org/apache/james/cli/probe/impl/JmxServerProbe.java

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java?rev=1712336=1712335=1712336=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 Tue Nov  3 16:49:32 2015
@@ -34,6 +34,7 @@ import org.apache.james.modules.server.A
 import org.apache.james.modules.server.ConfigurationPerformerModule;
 import org.apache.james.modules.server.DNSServiceModule;
 import org.apache.james.modules.server.FileSystemModule;
+import org.apache.james.modules.server.JMXServerModule;
 import org.apache.james.modules.server.QuotaModule;
 
 import com.google.inject.Module;
@@ -60,7 +61,9 @@ public class CassandraJamesServerMain {
 new FileSystemModule());
 
 public static void main(String[] args) throws Exception {
-CassandraJamesServer server = new CassandraJamesServer(defaultModule);
+CassandraJamesServer server = new CassandraJamesServer(Modules.combine(
+defaultModule,
+new JMXServerModule()));
 server.start();
 }
 

Added: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/JMXServer.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/JMXServer.java?rev=1712336=auto
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/JMXServer.java
 (added)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/JMXServer.java
 Tue Nov  3 16:49:32 2015
@@ -0,0 +1,118 @@
+/
+ * 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.modules.server;
+
+import com.google.common.base.Throwables;
+import com.google.common.collect.ImmutableMap;
+import org.apache.james.util.RestrictingRMISocketFactory;
+import org.apache.james.utils.PropertiesReader;
+
+import javax.annotation.PreDestroy;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.management.remote.JMXConnectorServer;
+import javax.management.remote.JMXConnectorServerFactory;
+import javax.management.remote.JMXServiceURL;
+import java.io.IOException;
+import java.lang.management.ManagementFactory;
+import java.rmi.registry.LocateRegistry;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+public class JMXServer {
+
+private final Set registeredKeys;
+private final Object lock;
+private JMXConnectorServer jmxConnectorServer;
+private boolean 

svn commit: r1712339 - in /james/project/trunk/server: container/cassandra-guice/src/main/java/org/apache/james/modules/server/ container/cassandra-guice/src/test/resources/ dns-service/dnsservice-dns

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:50:38 2015
New Revision: 1712339

URL: http://svn.apache.org/viewvc?rev=1712339=rev
Log:
JAMES-1626 Add DNSService support in cassandra-guice application

Added:

james/project/trunk/server/container/cassandra-guice/src/test/resources/dnsservice.xml
Modified:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
james/project/trunk/server/dns-service/dnsservice-dnsjava/pom.xml

james/project/trunk/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/DNSServiceModule.java?rev=1712339=1712338=1712339=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/DNSServiceModule.java
 Tue Nov  3 16:50:38 2015
@@ -18,23 +18,45 @@
  /
 package org.apache.james.modules.server;
 
-import com.google.inject.Provides;
+import com.google.inject.Inject;
 import com.google.inject.Singleton;
+import com.google.inject.multibindings.Multibinder;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.dnsservice.dnsjava.DNSJavaService;
 
 import com.google.inject.AbstractModule;
+import org.apache.james.utils.ClassPathConfigurationProvider;
+import org.apache.james.utils.ConfigurationPerformer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class DNSServiceModule extends AbstractModule {
 
+private static final Logger LOGGER = 
LoggerFactory.getLogger(DNSServiceModule.class);
+
 @Override
 protected void configure() {
-
+bind(DNSService.class).to(DNSJavaService.class);
+Multibinder.newSetBinder(binder(), 
ConfigurationPerformer.class).addBinding().to(DNSServiceConfigurationPerformer.class);
 }
 
-@Provides
 @Singleton
-private DNSService provideDNSService() {
-return new DNSJavaService();
+public static class DNSServiceConfigurationPerformer implements 
ConfigurationPerformer {
+
+private final ClassPathConfigurationProvider 
classPathConfigurationProvider;
+private final DNSJavaService dnsService;
+
+@Inject
+public DNSServiceConfigurationPerformer(ClassPathConfigurationProvider 
classPathConfigurationProvider,
+DNSJavaService dnsService) {
+this.classPathConfigurationProvider = 
classPathConfigurationProvider;
+this.dnsService = dnsService;
+}
+
+public void initModule() throws Exception {
+dnsService.setLog(LOGGER);
+
dnsService.configure(classPathConfigurationProvider.getConfiguration("dnsservice"));
+dnsService.init();
+}
 }
 }
\ No newline at end of file

Added: 
james/project/trunk/server/container/cassandra-guice/src/test/resources/dnsservice.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/test/resources/dnsservice.xml?rev=1712339=auto
==
--- 
james/project/trunk/server/container/cassandra-guice/src/test/resources/dnsservice.xml
 (added)
+++ 
james/project/trunk/server/container/cassandra-guice/src/test/resources/dnsservice.xml
 Tue Nov  3 16:50:38 2015
@@ -0,0 +1,29 @@
+
+
+
+
+  
+8.8.8.8
+62.210.16.6
+  
+  false
+  false
+  5
+

Modified: james/project/trunk/server/dns-service/dnsservice-dnsjava/pom.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/dns-service/dnsservice-dnsjava/pom.xml?rev=1712339=1712338=1712339=diff
==
--- james/project/trunk/server/dns-service/dnsservice-dnsjava/pom.xml (original)
+++ james/project/trunk/server/dns-service/dnsservice-dnsjava/pom.xml Tue Nov  
3 16:50:38 2015
@@ -60,6 +60,10 @@
 dnsjava
 
 
+javax.inject
+javax.inject
+
+
 org.apache.geronimo.specs
 geronimo-annotation_1.1_spec
 

Modified: 
james/project/trunk/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/dns-service/dnsservice-dnsjava/src/main/java/org/apache/james/dnsservice/dnsjava/DNSJavaService.java?rev=1712339=1712338=1712339=diff

svn commit: r1712340 - in /james/project/trunk/server/container/cassandra-guice/src: main/java/org/apache/james/ main/java/org/apache/james/modules/protocols/ main/java/org/apache/james/modules/server

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:50:52 2015
New Revision: 1712340

URL: http://svn.apache.org/viewvc?rev=1712340=rev
Log:
JAMES-1626 Add interface ConfigurationProvider to allow multiple implementations

Added:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/ConfigurationProviderModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ConfigurationProvider.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/FileConfigurationProvider.java
  - copied, changed from r1712339, 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ClassPathConfigurationProvider.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java
  - copied, changed from r1712339, 
james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/ClassPathConfigurationProviderTest.java
Removed:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/ClassPathConfigurationProvider.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/ClassPathConfigurationProviderTest.java
Modified:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/LMTPServerModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/POP3ServerModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/SMTPServerModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/CamelMailetContainerModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/DNSServiceModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/MailStoreRepositoryModule.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java?rev=1712340=1712339=1712340=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
 Tue Nov  3 16:50:52 2015
@@ -33,6 +33,7 @@ import org.apache.james.modules.protocol
 import org.apache.james.modules.server.ActiveMQQueueModule;
 import org.apache.james.modules.server.CamelMailetContainerModule;
 import org.apache.james.modules.server.ConfigurationPerformerModule;
+import org.apache.james.modules.server.ConfigurationProviderModule;
 import org.apache.james.modules.server.DNSServiceModule;
 import org.apache.james.modules.server.FileSystemModule;
 import org.apache.james.modules.server.JMXServerModule;
@@ -64,7 +65,8 @@ public class CassandraJamesServerMain {
 new SieveModule(),
 new MailStoreRepositoryModule(),
 new CamelMailetContainerModule(),
-new QuotaModule());
+new QuotaModule(),
+new ConfigurationProviderModule());
 
 public static void main(String[] args) throws Exception {
 CassandraJamesServer server = new CassandraJamesServer(Modules.combine(

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java?rev=1712340=1712339=1712340=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/IMAPServerModule.java
 Tue Nov  3 16:50:52 2015
@@ -18,11 +18,6 @@
  /
 package org.apache.james.modules.protocols;
 
-import com.google.inject.Inject;

svn commit: r1712341 - /james/project/trunk/server/container/cassandra-guice/pom.xml

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:51:06 2015
New Revision: 1712341

URL: http://svn.apache.org/viewvc?rev=1712341=rev
Log:
JAMES-1626 Implement a packaging policy for the cassandra-guice application

Modified:
james/project/trunk/server/container/cassandra-guice/pom.xml

Modified: james/project/trunk/server/container/cassandra-guice/pom.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/pom.xml?rev=1712341=1712340=1712341=diff
==
--- james/project/trunk/server/container/cassandra-guice/pom.xml (original)
+++ james/project/trunk/server/container/cassandra-guice/pom.xml Tue Nov  3 
16:51:06 2015
@@ -30,7 +30,7 @@
 
 
 james-server-cassandra-guice
-bundle
+jar
 
 Apache James :: Server :: Cassandra - guice injection
 An advanced email server - Cassandra backend with guice 
injection
@@ -45,7 +45,6 @@
 
 
 
-
 
 
 disable-build-for-older-jdk
@@ -144,17 +143,34 @@
 
 
 
-maven-assembly-plugin
-
-
-
-
fully.qualified.MainClass
-
-
-
-
jar-with-dependencies
-
-
+  org.apache.maven.plugins
+  maven-dependency-plugin
+  
+
+  copy-dependencies
+  package
+  
+copy-dependencies
+  
+  
+
${project.build.directory}/${project.build.finalName}.lib
+  
+
+  
+
+
+  org.apache.maven.plugins
+  maven-jar-plugin
+  
+
+  
+true
+
${project.build.finalName}.lib/
+
org.apache.james.CassandraJamesServerMain
+false
+  
+
+  
 
 
 org.apache.maven.plugins



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



svn commit: r1712342 - in /james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox: CassandraSessionModule.java ElasticSearchMailboxModule.java

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:51:16 2015
New Revision: 1712342

URL: http://svn.apache.org/viewvc?rev=1712342=rev
Log:
JAMES-1626 use Filesystem to resolve configuration properties files

Modified:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java?rev=1712342=1712341=1712342=diff
==
--- 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
 (original)
+++ 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java
 Tue Nov  3 16:51:16 2015
@@ -18,35 +18,28 @@
  /
 package org.apache.james.modules.mailbox;
 
-import com.google.inject.Provides;
-import com.google.inject.Singleton;
-
-import com.datastax.driver.core.Cluster;
-import com.datastax.driver.core.Session;
-import com.google.inject.AbstractModule;
-
+import java.io.FileNotFoundException;
 import java.util.Set;
 
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.james.backends.cassandra.components.CassandraModule;
 import org.apache.james.backends.cassandra.init.CassandraModuleComposite;
 import org.apache.james.backends.cassandra.init.ClusterFactory;
 import 
org.apache.james.backends.cassandra.init.ClusterWithKeyspaceCreatedFactory;
 import 
org.apache.james.backends.cassandra.init.SessionWithInitializedTablesFactory;
-import org.apache.james.utils.PropertiesReader;
+import org.apache.james.filesystem.api.FileSystem;
 
-public class CassandraSessionModule extends AbstractModule {
-
-private final PropertiesReader propertiesReader;
-private final String keyspace;
+import com.datastax.driver.core.Cluster;
+import com.datastax.driver.core.Session;
+import com.google.inject.AbstractModule;
+import com.google.inject.Provides;
+import com.google.inject.Singleton;
 
-public CassandraSessionModule() {
-propertiesReader = new PropertiesReader("cassandra.properties");
-keyspace = propertiesReader.getProperty("cassandra.keyspace");
-}
+public class CassandraSessionModule extends AbstractModule {
 
 @Override
 protected void configure() {
-
 }
 
 @Provides
@@ -57,19 +50,28 @@ public class CassandraSessionModule exte
 
 @Provides
 @Singleton
-Session provideSession(Cluster cluster, CassandraModule cassandraModule) {
+Session provideSession(FileSystem fileSystem, Cluster cluster, 
CassandraModule cassandraModule)
+throws FileNotFoundException, ConfigurationException{
+PropertiesConfiguration configuration = getConfiguration(fileSystem);
+String keyspace = configuration.getString("cassandra.keyspace");
 return new 
SessionWithInitializedTablesFactory(cassandraModule).createSession(cluster, 
keyspace);
 }
 
 @Provides
 @Singleton
-Cluster provideCluster() {
+Cluster provideCluster(FileSystem fileSystem) throws 
FileNotFoundException, ConfigurationException {
+PropertiesConfiguration configuration = getConfiguration(fileSystem);
+
 return 
ClusterWithKeyspaceCreatedFactory.clusterWithInitializedKeyspace(
 ClusterFactory.createClusterForSingleServerWithoutPassWord(
-propertiesReader.getProperty("cassandra.ip"),
-
Integer.parseInt(propertiesReader.getProperty("cassandra.port"))),
-keyspace,
-
Integer.parseInt(propertiesReader.getProperty("cassandra.replication.factor")));
+configuration.getString("cassandra.ip"),
+configuration.getInt("cassandra.port")),
+configuration.getString("cassandra.keyspace"),
+configuration.getInt("cassandra.replication.factor"));
 }
 
+private PropertiesConfiguration getConfiguration(FileSystem fileSystem) 
throws FileNotFoundException, ConfigurationException {
+return new 
PropertiesConfiguration(fileSystem.getFile("cassandra.properties"));
+}
+
 }
\ No newline at end of file

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java
URL: 

svn commit: r1712343 - /james/project/trunk/server/src/site/xdoc/index.xml

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:51:22 2015
New Revision: 1712343

URL: http://svn.apache.org/viewvc?rev=1712343=rev
Log:
JAMES-1626 Fix a typo on the site in the server index file

Modified:
james/project/trunk/server/src/site/xdoc/index.xml

Modified: james/project/trunk/server/src/site/xdoc/index.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/src/site/xdoc/index.xml?rev=1712343=1712342=1712343=diff
==
--- james/project/trunk/server/src/site/xdoc/index.xml (original)
+++ james/project/trunk/server/src/site/xdoc/index.xml Tue Nov  3 16:51:22 2015
@@ -118,7 +118,7 @@
  
  
 
-  
+  
   
 Configure the stores,... via the well-known Spring framework - 
read more.
 



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



svn commit: r1712345 - in /james/project/trunk/server/container/cassandra-guice: ./ sample-configuration/

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:51:53 2015
New Revision: 1712345

URL: http://svn.apache.org/viewvc?rev=1712345=rev
Log:
JAMES-1626 sample configuration and readme

Added:
james/project/trunk/server/container/cassandra-guice/README.adoc
james/project/trunk/server/container/cassandra-guice/sample-configuration/

james/project/trunk/server/container/cassandra-guice/sample-configuration/cassandra.properties

james/project/trunk/server/container/cassandra-guice/sample-configuration/dnsservice.xml

james/project/trunk/server/container/cassandra-guice/sample-configuration/domainlist.xml

james/project/trunk/server/container/cassandra-guice/sample-configuration/elasticsearch.properties

james/project/trunk/server/container/cassandra-guice/sample-configuration/imapserver.xml

james/project/trunk/server/container/cassandra-guice/sample-configuration/jcr-repository.xml

james/project/trunk/server/container/cassandra-guice/sample-configuration/jmx.properties

james/project/trunk/server/container/cassandra-guice/sample-configuration/lmtpserver.xml

james/project/trunk/server/container/cassandra-guice/sample-configuration/mailetcontainer.xml

james/project/trunk/server/container/cassandra-guice/sample-configuration/mailrepositorystore.xml

james/project/trunk/server/container/cassandra-guice/sample-configuration/pop3server.xml

james/project/trunk/server/container/cassandra-guice/sample-configuration/recipientrewritetable.xml

james/project/trunk/server/container/cassandra-guice/sample-configuration/smtpserver.xml

james/project/trunk/server/container/cassandra-guice/sample-configuration/usersrepository.xml

Added: james/project/trunk/server/container/cassandra-guice/README.adoc
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/README.adoc?rev=1712345=auto
==
--- james/project/trunk/server/container/cassandra-guice/README.adoc (added)
+++ james/project/trunk/server/container/cassandra-guice/README.adoc Tue Nov  3 
16:51:53 2015
@@ -0,0 +1,45 @@
+= Guice-Cassandra Module How-to
+
+== Building
+
+=== Requirements
+
+ * Java 8 SDK
+ * Docker
+ * Maven
+
+=== Building the artifacts
+
+An usual compilation using maven will produce two artifacts into target 
directory :
+
+ * james-server-cassandra-guice-${version}.jar
+ * james-server-cassandra-guice-${version}.lib
+
+== Running
+
+=== Requirements
+
+ * Cassandra
+ * ElasticSearch 1.5.2
+
+=== James Launch
+
+To run james, you have to create a directory containing required configuration 
files.
+
+A sample directory (appropriately named sample-directory) is provided with some
+default value you may need to replace.
+
+You also need to generate a keystore with the following command :
+[source]
+
+$ keytool -genkey -alias james -keyalg RSA -keystore conf/keystore
+
+
+You need to have a Cassandra and an ElasticSearch instance running.
+
+Once everything is set up, you just have to run the jar with :
+
+[source]
+
+$ java -Dworking.directory=sample-configuration -jar 
target/james-server-cassandra-guice-${version}.jar
+

Added: 
james/project/trunk/server/container/cassandra-guice/sample-configuration/cassandra.properties
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/sample-configuration/cassandra.properties?rev=1712345=auto
==
--- 
james/project/trunk/server/container/cassandra-guice/sample-configuration/cassandra.properties
 (added)
+++ 
james/project/trunk/server/container/cassandra-guice/sample-configuration/cassandra.properties
 Tue Nov  3 16:51:53 2015
@@ -0,0 +1,6 @@
+# Configuration file for cassandra mailbox
+
+cassandra.ip=172.17.0.2
+cassandra.port=9042
+cassandra.keyspace=apache_james
+cassandra.replication.factor=1
\ No newline at end of file

Added: 
james/project/trunk/server/container/cassandra-guice/sample-configuration/dnsservice.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/sample-configuration/dnsservice.xml?rev=1712345=auto
==
--- 
james/project/trunk/server/container/cassandra-guice/sample-configuration/dnsservice.xml
 (added)
+++ 
james/project/trunk/server/container/cassandra-guice/sample-configuration/dnsservice.xml
 Tue Nov  3 16:51:53 2015
@@ -0,0 +1,29 @@
+
+
+
+
+  
+8.8.8.8
+62.210.16.6
+  
+  false
+  false
+  5
+

Added: 
james/project/trunk/server/container/cassandra-guice/sample-configuration/domainlist.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/container/cassandra-guice/sample-configuration/domainlist.xml?rev=1712345=auto
==
--- 

svn commit: r1712346 - in /james/project/trunk: backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/ server/container/cassandra-guice/src/main/java/org/apache/james/ server/con

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:52:28 2015
New Revision: 1712346

URL: http://svn.apache.org/viewvc?rev=1712346=rev
Log:
JAMES-1626 use FileSystem to find configuration files

Added:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/CommonServicesModule.java
  - copied, changed from r1712345, 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/FileSystemModule.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/modules/TestFilesystemModule.java
  - copied, changed from r1712345, 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/FileSystemModule.java
Removed:

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/FileSystemModule.java

james/project/trunk/server/container/cassandra-guice/src/test/resources/cassandra.properties

james/project/trunk/server/container/cassandra-guice/src/test/resources/elasticsearch.properties

james/project/trunk/server/container/cassandra-guice/src/test/resources/jmx.properties
Modified:

james/project/trunk/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/CassandraSessionModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/mailbox/ElasticSearchMailboxModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/protocols/ProtocolHandlerModule.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/modules/server/JMXServer.java

james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/utils/FileConfigurationProvider.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/CassandraJamesServerTest.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java

james/project/trunk/server/container/cassandra-guice/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java

james/project/trunk/server/container/core/src/main/java/org/apache/james/core/JamesServerResourceLoader.java

james/project/trunk/server/container/core/src/main/java/org/apache/james/core/filesystem/FileSystemImpl.java

james/project/trunk/server/container/core/src/test/java/org/apache/james/core/filesystem/FileSystemImplTest.java

james/project/trunk/server/container/spring/src/main/java/org/apache/james/container/spring/context/JamesServerApplicationContext.java

james/project/trunk/server/container/spring/src/test/java/org/apache/james/container/spring/filesystem/FileSystemImplTest.java

Modified: 
james/project/trunk/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java
URL: 
http://svn.apache.org/viewvc/james/project/trunk/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java?rev=1712346=1712345=1712346=diff
==
--- 
james/project/trunk/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java
 (original)
+++ 
james/project/trunk/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/CassandraCluster.java
 Tue Nov  3 16:52:28 2015
@@ -77,9 +77,8 @@ public final class CassandraCluster {
 
 private Optional tryInitializeSession() {
 try {
-Cluster cluster = 
ClusterFactory.createClusterForSingleServerWithoutPassWord(CLUSTER_IP, 
CLUSTER_PORT_TEST);
 Cluster clusterWithInitializedKeyspace = 
ClusterWithKeyspaceCreatedFactory
-.clusterWithInitializedKeyspace(cluster, KEYSPACE_NAME, 
REPLICATION_FACTOR);
+.clusterWithInitializedKeyspace(getCluster(), KEYSPACE_NAME, 
REPLICATION_FACTOR);
 return Optional.of(new 
SessionWithInitializedTablesFactory(module).createSession(clusterWithInitializedKeyspace,
 KEYSPACE_NAME));
 } catch (NoHostAvailableException exception) {
 sleep(SLEEP_BEFORE_RETRY);
@@ -87,6 +86,10 @@ public final class CassandraCluster {
 }
 }
 
+public Cluster getCluster() {
+return 
ClusterFactory.createClusterForSingleServerWithoutPassWord(CLUSTER_IP, 
CLUSTER_PORT_TEST);
+}
+
 private void sleep(long sleepMs) {
 try {
 Thread.sleep(sleepMs);

Modified: 
james/project/trunk/server/container/cassandra-guice/src/main/java/org/apache/james/CassandraJamesServerMain.java
URL: 

svn commit: r1712344 - in /james/project/trunk/server/src/site/xdoc: config-cassandra.xml config-elasticsearch.xml config-guice.xml index.xml quick-start-cassandra.xml

2015-11-03 Thread matthieu
Author: matthieu
Date: Tue Nov  3 16:51:30 2015
New Revision: 1712344

URL: http://svn.apache.org/viewvc?rev=1712344=rev
Log:
JAMES-1626 Add configuration documentation

Added:
james/project/trunk/server/src/site/xdoc/config-cassandra.xml
james/project/trunk/server/src/site/xdoc/config-elasticsearch.xml
james/project/trunk/server/src/site/xdoc/config-guice.xml
james/project/trunk/server/src/site/xdoc/quick-start-cassandra.xml
Modified:
james/project/trunk/server/src/site/xdoc/index.xml

Added: james/project/trunk/server/src/site/xdoc/config-cassandra.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/src/site/xdoc/config-cassandra.xml?rev=1712344=auto
==
--- james/project/trunk/server/src/site/xdoc/config-cassandra.xml (added)
+++ james/project/trunk/server/src/site/xdoc/config-cassandra.xml Tue Nov  3 
16:51:30 2015
@@ -0,0 +1,49 @@
+
+
+
+
+ 
+  Apache James Server 3 - Cassandra Configuration
+ 
+
+
+
+  
+
+Consult http://svn.apache.org/repos/asf/james/server/trunk/app/src/main/resources/cassandra-template.properties;>cassandra-template.properties
 to get some examples and hints.
+
+  
+cassandra.ip
+Is the IP (or host) of the Cassandra used. (cluster is not yet 
supported)
+cassandra.port
+Is the port used to connect to Cassandra.
+cassandra.keyspace
+Is the name of the keyspace used by James.
+cassandra.replication.factor
+Is the replication factor. (should be 1, as cluster is not yet 
supported)
+  
+
+If you want more explanation about Cassandra configuration, you should 
visit the dedicated http://docs.datastax.com/en/cassandra/2.1/cassandra/gettingStartedCassandraIntro.html;>documentation.
+
+  
+
+
+
+

Added: james/project/trunk/server/src/site/xdoc/config-elasticsearch.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/src/site/xdoc/config-elasticsearch.xml?rev=1712344=auto
==
--- james/project/trunk/server/src/site/xdoc/config-elasticsearch.xml (added)
+++ james/project/trunk/server/src/site/xdoc/config-elasticsearch.xml Tue Nov  
3 16:51:30 2015
@@ -0,0 +1,45 @@
+
+
+
+
+ 
+  Apache James Server 3 - ElasticSearch Configuration
+ 
+
+
+
+  
+
+Consult http://svn.apache.org/repos/asf/james/server/trunk/app/src/main/resources/elasticsearch-template.properties;>elasticsearch-template.properties
 to get some examples and hints.
+
+  
+elasticsearch.clusterName
+Is the name of the cluster used by James.
+elasticsearch.masterHost
+Is the IP (or host) of the ElasticSearch master
+  
+
+If you want more explanation about ElasticSearch configuration, you should 
visit the dedicated https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html;>documentation.
+
+  
+
+
+
+

Added: james/project/trunk/server/src/site/xdoc/config-guice.xml
URL: 
http://svn.apache.org/viewvc/james/project/trunk/server/src/site/xdoc/config-guice.xml?rev=1712344=auto
==
--- james/project/trunk/server/src/site/xdoc/config-guice.xml (added)
+++ james/project/trunk/server/src/site/xdoc/config-guice.xml Tue Nov  3 
16:51:30 2015
@@ -0,0 +1,99 @@
+
+
+
+
+ 
+  Apache James Server 3 - Guice configuration
+ 
+
+
+
+  
+
+Such configuration is only developed for Cassandra backend.
+You are encouraged to contribute by developing a new backend guice 
module.
+   Have a look to the james-server-cassandra-guice artifact.
+
+
+We provide a sample-configuration folder with needed files to run 
James. 
+  You can start by copying it and modify these files according to your 
needs.
+
+You can/must configure James for the following:
+
+
+
+  
+Config File Sample
+Config Area
+Config Comment
+  
+
+  
+http://svn.apache.org/repos/asf/james/server/trunk/app/src/main/resources/cassandra-template.properties;>cassandra-template.properties
+Cassandra Configuration
+
+  
+  
+http://svn.apache.org/repos/asf/james/server/trunk/app/src/main/resources/dnsservice-template.xml;>dnsservice.xml
+DNS Service Configuration
+
+  
+  
+http://svn.apache.org/repos/asf/james/server/trunk/app/src/main/resources/elasticsearch-template.properties;>elasticsearch-template.properties
+ElasticSearch 
Configuration
+
+  
+  
+http://svn.apache.org/repos/asf/james/server/trunk/app/src/main/resources/imapserver-template.xml;>imapserver.xml
+IMAP4 Configuration
+
+  
+  
+http://svn.apache.org/repos/asf/james/server/trunk/app/src/main/resources/lmtpserver-template.xml;>lmtpserver.xml
+LMTP Configuration
+
+  
+  
+