You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ro...@apache.org on 2017/01/12 16:34:10 UTC
[1/2] james-project git commit: JAMES-1906 Factorize mailbox
EntityManagerFactory creation (JPA)
Repository: james-project
Updated Branches:
refs/heads/master 35858f70d -> 1fa297ce3
JAMES-1906 Factorize mailbox EntityManagerFactory creation (JPA)
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4655ab37
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4655ab37
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4655ab37
Branch: refs/heads/master
Commit: 4655ab378f78ce668bf83b8afcd529ded238bbc2
Parents: 131c011
Author: Benoit Tellier <bt...@linagora.com>
Authored: Thu Dec 29 09:54:44 2016 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Jan 11 17:46:50 2017 +0700
----------------------------------------------------------------------
backends-common/jpa/pom.xml | 39 ++++++++++
.../james/backends/jpa/JpaTestCluster.java | 82 ++++++++++++++++++++
backends-common/pom.xml | 1 +
mailbox/jpa/pom.xml | 10 ++-
.../james/mailbox/jpa/JPAMailboxFixture.java | 45 +++++++++++
.../mailbox/jpa/JPAMailboxManagerTest.java | 28 +------
.../mailbox/jpa/JPASubscriptionManagerTest.java | 42 ++--------
.../mailbox/jpa/mail/JPAMapperProvider.java | 51 +++---------
mailbox/pom.xml | 21 +++--
mailbox/tool/pom.xml | 12 +--
mpt/app/dependency-reduced-pom.xml | 4 +-
mpt/impl/imap-mailbox/jpa/pom.xml | 17 ++++
.../mpt/imapmailbox/jpa/host/JPAHostSystem.java | 54 ++-----------
mpt/impl/imap-mailbox/lucenesearch/pom.xml | 11 +++
.../host/LuceneSearchHostSystem.java | 43 ++--------
mpt/pom.xml | 13 ++++
server/container/guice/jpa-guice/pom.xml | 8 --
server/container/spring/pom.xml | 4 -
server/data/data-jpa/pom.xml | 29 +++----
.../rrt/jpa/model/JPARecipientRewrite.java | 4 +-
.../james/domainlist/jpa/JPADomainListTest.java | 24 +-----
.../rrt/jpa/JPARecipientRewriteTableTest.java | 33 +-------
.../org/apache/james/rrt/jpa/JPAStepdefs.java | 29 ++-----
.../james/user/jpa/JpaUsersRepositoryTest.java | 49 +-----------
server/pom.xml | 25 +++---
25 files changed, 307 insertions(+), 371 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/backends-common/jpa/pom.xml
----------------------------------------------------------------------
diff --git a/backends-common/jpa/pom.xml b/backends-common/jpa/pom.xml
new file mode 100644
index 0000000..ba951cf
--- /dev/null
+++ b/backends-common/jpa/pom.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <artifactId>james-backends-common</artifactId>
+ <groupId>org.apache.james</groupId>
+ <version>3.0.0-beta6-SNAPSHOT</version>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <artifactId>apache-james-backends-jpa</artifactId>
+
+ <dependencies>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.openjpa</groupId>
+ <artifactId>openjpa</artifactId>
+ <version>2.2.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-jpa_2.0_spec</artifactId>
+ <version>1.1</version>
+ </dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <scope>test</scope>
+ <version>1.3.170</version>
+ </dependency>
+
+ </dependencies>
+
+
+</project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
----------------------------------------------------------------------
diff --git a/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
new file mode 100644
index 0000000..0ade077
--- /dev/null
+++ b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
@@ -0,0 +1,82 @@
+/****************************************************************
+ * 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.backends.jpa;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+
+import org.apache.openjpa.persistence.OpenJPAPersistence;
+
+import com.google.common.base.Function;
+import com.google.common.base.Joiner;
+import com.google.common.collect.FluentIterable;
+
+public class JpaTestCluster {
+
+ public static JpaTestCluster create(Class... clazz) {
+ HashMap<String, String> properties = new HashMap<String, String>();
+ properties.put("openjpa.ConnectionDriverName", org.h2.Driver.class.getName());
+ properties.put("openjpa.ConnectionURL", "jdbc:h2:mem:mailboxintegration;DB_CLOSE_DELAY=-1"); // Memory H2 database
+ properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)"); // Create Foreign Keys
+ properties.put("openjpa.jdbc.MappingDefaults", "ForeignKeyDeleteAction=restrict, JoinForeignKeyDeleteAction=restrict");
+ properties.put("openjpa.jdbc.SchemaFactory", "native(ForeignKeys=true)");
+ properties.put("openjpa.jdbc.MappingDefaults", "ForeignKeyDeleteAction=cascade, JoinForeignKeyDeleteAction=cascade");
+ properties.put("openjpa.jdbc.QuerySQLCache", "false");
+ properties.put("openjpa.Log", "JDBC=WARN, SQL=WARN, Runtime=WARN");
+ properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72");
+ properties.put("openjpa.MetaDataFactory", "jpa(Types=" +
+ Joiner.on(";").join(
+ FluentIterable.from(Arrays.asList(clazz))
+ .transform(toFQDN()))
+ + ")");
+ return new JpaTestCluster(OpenJPAPersistence.getEntityManagerFactory(properties));
+ }
+
+ private static Function<Class, String> toFQDN() {
+ return new Function<Class, String>() {
+ @Override
+ public String apply(Class input) {
+ return input.getName();
+ }
+ };
+ }
+
+ private final EntityManagerFactory entityManagerFactory;
+
+ private JpaTestCluster(EntityManagerFactory entityManagerFactory) {
+ this.entityManagerFactory = entityManagerFactory;
+ }
+
+ public EntityManagerFactory getEntityManagerFactory() {
+ return entityManagerFactory;
+ }
+
+ public void clear(String... tables) {
+ EntityManager entityManager = entityManagerFactory.createEntityManager();
+ entityManager.getTransaction().begin();
+ for(String tableName: tables) {
+ entityManager.createNativeQuery("TRUNCATE table " + tableName).executeUpdate();
+ }
+ entityManager.getTransaction().commit();
+ entityManager.close();
+ }
+}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/backends-common/pom.xml
----------------------------------------------------------------------
diff --git a/backends-common/pom.xml b/backends-common/pom.xml
index d8d3794..34df193 100644
--- a/backends-common/pom.xml
+++ b/backends-common/pom.xml
@@ -39,6 +39,7 @@
<modules>
<module>cassandra</module>
+ <module>jpa</module>
</modules>
<dependencyManagement>
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/mailbox/jpa/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/jpa/pom.xml b/mailbox/jpa/pom.xml
index 1217b3d..906d820 100644
--- a/mailbox/jpa/pom.xml
+++ b/mailbox/jpa/pom.xml
@@ -41,12 +41,14 @@
<artifactId>apache-james-mailbox-store</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa</artifactId>
+ <groupId>org.apache.james</groupId>
+ <artifactId>apache-james-backends-jpa</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jpa_2.0_spec</artifactId>
+ <groupId>org.apache.james</groupId>
+ <artifactId>apache-james-backends-jpa</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>${javax.mail.groupId}</groupId>
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxFixture.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxFixture.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxFixture.java
new file mode 100644
index 0000000..7278c43
--- /dev/null
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxFixture.java
@@ -0,0 +1,45 @@
+/****************************************************************
+ * 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.mailbox.jpa;
+
+import org.apache.james.mailbox.jpa.mail.model.JPAMailbox;
+import org.apache.james.mailbox.jpa.mail.model.JPAMailboxAnnotation;
+import org.apache.james.mailbox.jpa.mail.model.JPAProperty;
+import org.apache.james.mailbox.jpa.mail.model.JPAUserFlag;
+import org.apache.james.mailbox.jpa.mail.model.openjpa.AbstractJPAMailboxMessage;
+import org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMailboxMessage;
+import org.apache.james.mailbox.jpa.user.model.JPASubscription;
+
+public interface JPAMailboxFixture {
+
+ Class[] MAILBOX_PERSISTANCE_CLASSES = new Class[] {JPAMailbox.class,
+ AbstractJPAMailboxMessage.class,
+ JPAMailboxMessage.class,
+ JPAProperty.class,
+ JPAUserFlag.class,
+ JPAMailboxAnnotation.class,
+ JPASubscription.class};
+
+ String[] MAILBOX_TABLE_NAMES = new String[] {"JAMES_MAIL_USERFLAG",
+ "JAMES_MAIL_PROPERTY",
+ "JAMES_MAILBOX_ANNOTATION",
+ "JAMES_MAILBOX",
+ "JAMES_MAIL"};
+}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxManagerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxManagerTest.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxManagerTest.java
index c496704..f9d19dc 100644
--- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxManagerTest.java
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPAMailboxManagerTest.java
@@ -18,10 +18,9 @@
****************************************************************/
package org.apache.james.mailbox.jpa;
-import java.util.HashMap;
-
import javax.persistence.EntityManagerFactory;
+import org.apache.james.backends.jpa.JpaTestCluster;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.acl.GroupMembershipResolver;
import org.apache.james.mailbox.acl.MailboxACLResolver;
@@ -30,17 +29,10 @@ import org.apache.james.mailbox.acl.UnionMailboxACLResolver;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.jpa.mail.JPAModSeqProvider;
import org.apache.james.mailbox.jpa.mail.JPAUidProvider;
-import org.apache.james.mailbox.jpa.mail.model.JPAMailbox;
-import org.apache.james.mailbox.jpa.mail.model.JPAProperty;
-import org.apache.james.mailbox.jpa.mail.model.JPAUserFlag;
-import org.apache.james.mailbox.jpa.mail.model.openjpa.AbstractJPAMailboxMessage;
-import org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMailboxMessage;
import org.apache.james.mailbox.jpa.openjpa.OpenJPAMailboxManager;
-import org.apache.james.mailbox.jpa.user.model.JPASubscription;
import org.apache.james.mailbox.store.JVMMailboxPathLocker;
import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
import org.apache.james.mailbox.store.mail.model.impl.MessageParser;
-import org.apache.openjpa.persistence.OpenJPAPersistence;
import org.junit.runner.RunWith;
import org.slf4j.LoggerFactory;
import org.xenei.junit.contract.Contract;
@@ -54,6 +46,8 @@ import com.google.common.base.Throwables;
@ContractImpl(OpenJPAMailboxManager.class)
public class JPAMailboxManagerTest {
+ private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPAMailboxFixture.MAILBOX_PERSISTANCE_CLASSES);
+
/**
* The entity manager factory.
*/
@@ -65,21 +59,7 @@ public class JPAMailboxManagerTest {
@Override
public OpenJPAMailboxManager newInstance() {
- HashMap<String, String> properties = new HashMap<String, String>();
- properties.put("openjpa.ConnectionDriverName", "org.h2.Driver");
- properties.put("openjpa.ConnectionURL", "jdbc:h2:mem:imap;DB_CLOSE_DELAY=-1");
- properties.put("openjpa.Log", "JDBC=WARN, SQL=WARN, Runtime=WARN");
- properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72");
- properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
- properties.put("openjpa.MetaDataFactory", "jpa(Types=" +
- JPAMailbox.class.getName() + ";" +
- AbstractJPAMailboxMessage.class.getName() + ";" +
- JPAMailboxMessage.class.getName() + ";" +
- JPAProperty.class.getName() + ";" +
- JPAUserFlag.class.getName() + ";" +
- JPASubscription.class.getName() + ")");
-
- entityManagerFactory = OpenJPAPersistence.getEntityManagerFactory(properties);
+ entityManagerFactory = JPA_TEST_CLUSTER.getEntityManagerFactory();
JVMMailboxPathLocker locker = new JVMMailboxPathLocker();
JPAMailboxSessionMapperFactory mf = new JPAMailboxSessionMapperFactory(entityManagerFactory, new JPAUidProvider(locker, entityManagerFactory), new JPAModSeqProvider(locker, entityManagerFactory));
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPASubscriptionManagerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPASubscriptionManagerTest.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPASubscriptionManagerTest.java
index de40714..8b8dc61 100644
--- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPASubscriptionManagerTest.java
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JPASubscriptionManagerTest.java
@@ -18,56 +18,29 @@
****************************************************************/
package org.apache.james.mailbox.jpa;
-import java.util.HashMap;
+import javax.persistence.EntityManagerFactory;
+import org.apache.james.backends.jpa.JpaTestCluster;
import org.apache.james.mailbox.AbstractSubscriptionManagerTest;
import org.apache.james.mailbox.SubscriptionManager;
import org.apache.james.mailbox.exception.SubscriptionException;
import org.apache.james.mailbox.jpa.mail.JPAModSeqProvider;
import org.apache.james.mailbox.jpa.mail.JPAUidProvider;
-import org.apache.james.mailbox.jpa.mail.model.JPAMailbox;
-import org.apache.james.mailbox.jpa.mail.model.JPAProperty;
-import org.apache.james.mailbox.jpa.mail.model.JPAUserFlag;
-import org.apache.james.mailbox.jpa.mail.model.openjpa.AbstractJPAMailboxMessage;
-import org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMailboxMessage;
-import org.apache.james.mailbox.jpa.user.model.JPASubscription;
import org.apache.james.mailbox.store.JVMMailboxPathLocker;
-import org.apache.openjpa.persistence.OpenJPAEntityManagerFactory;
-import org.apache.openjpa.persistence.OpenJPAPersistence;
import org.junit.After;
-import org.junit.Before;
public class JPASubscriptionManagerTest extends AbstractSubscriptionManagerTest{
- private OpenJPAEntityManagerFactory entityManagerFactory;
-
- @Before
- public void setup() {
-
- HashMap<String, String> properties = new HashMap<String, String>();
- properties.put("openjpa.ConnectionDriverName", "org.h2.Driver");
- properties.put("openjpa.ConnectionURL", "jdbc:h2:mem:imap;DB_CLOSE_DELAY=-1");
- properties.put("openjpa.Log", "JDBC=WARN, SQL=WARN, Runtime=WARN");
- properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72");
- properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
- properties.put("openjpa.MetaDataFactory", "jpa(Types=" +
- JPAMailbox.class.getName() + ";" +
- AbstractJPAMailboxMessage.class.getName() + ";" +
- JPAMailboxMessage.class.getName() + ";" +
- JPAProperty.class.getName() + ";" +
- JPAUserFlag.class.getName() + ";" +
- JPASubscription.class.getName() + ")");
-
- entityManagerFactory = OpenJPAPersistence.getEntityManagerFactory(properties);
-
- super.setup();
- }
+ private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPAMailboxFixture.MAILBOX_PERSISTANCE_CLASSES);
@Override
public SubscriptionManager createSubscriptionManager() {
JVMMailboxPathLocker locker = new JVMMailboxPathLocker();
- JPAMailboxSessionMapperFactory mf = new JPAMailboxSessionMapperFactory(entityManagerFactory, new JPAUidProvider(locker, entityManagerFactory), new JPAModSeqProvider(locker, entityManagerFactory));
+ EntityManagerFactory entityManagerFactory = JPA_TEST_CLUSTER.getEntityManagerFactory();
+ JPAMailboxSessionMapperFactory mf = new JPAMailboxSessionMapperFactory(entityManagerFactory,
+ new JPAUidProvider(locker, entityManagerFactory),
+ new JPAModSeqProvider(locker, entityManagerFactory));
return new JPASubscriptionManager(mf);
}
@@ -75,6 +48,5 @@ public class JPASubscriptionManagerTest extends AbstractSubscriptionManagerTest{
@After
public void teardown() throws SubscriptionException {
super.teardown();
- entityManagerFactory.close();
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JPAMapperProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JPAMapperProvider.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JPAMapperProvider.java
index df37f39..4a742a6 100644
--- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JPAMapperProvider.java
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/JPAMapperProvider.java
@@ -19,24 +19,17 @@
package org.apache.james.mailbox.jpa.mail;
-import java.util.HashMap;
import java.util.List;
import java.util.Random;
-import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import org.apache.commons.lang.NotImplementedException;
+import org.apache.james.backends.jpa.JpaTestCluster;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.jpa.JPAId;
-import org.apache.james.mailbox.jpa.mail.model.JPAMailbox;
-import org.apache.james.mailbox.jpa.mail.model.JPAMailboxAnnotation;
-import org.apache.james.mailbox.jpa.mail.model.JPAProperty;
-import org.apache.james.mailbox.jpa.mail.model.JPAUserFlag;
-import org.apache.james.mailbox.jpa.mail.model.openjpa.AbstractJPAMailboxMessage;
-import org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMailboxMessage;
-import org.apache.james.mailbox.jpa.user.model.JPASubscription;
+import org.apache.james.mailbox.jpa.JPAMailboxFixture;
import org.apache.james.mailbox.mock.MockMailboxSession;
import org.apache.james.mailbox.model.MailboxId;
import org.apache.james.mailbox.model.MessageId;
@@ -49,20 +42,21 @@ import org.apache.james.mailbox.store.mail.MessageMapper;
import org.apache.james.mailbox.store.mail.model.DefaultMessageId;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.MapperProvider;
-import org.apache.openjpa.persistence.OpenJPAPersistence;
import com.google.common.collect.ImmutableList;
public class JPAMapperProvider implements MapperProvider {
+ private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPAMailboxFixture.MAILBOX_PERSISTANCE_CLASSES);
+
@Override
public MailboxMapper createMailboxMapper() throws MailboxException {
- return new TransactionalMailboxMapper(new JPAMailboxMapper(createEntityManagerFactory()));
+ return new TransactionalMailboxMapper(new JPAMailboxMapper(JPA_TEST_CLUSTER.getEntityManagerFactory()));
}
@Override
public MessageMapper createMessageMapper() throws MailboxException {
- EntityManagerFactory entityManagerFactory = createEntityManagerFactory();
+ EntityManagerFactory entityManagerFactory = JPA_TEST_CLUSTER.getEntityManagerFactory();
JVMMailboxPathLocker locker = new JVMMailboxPathLocker();
JPAMessageMapper messageMapper = new JPAMessageMapper(new MockMailboxSession("benwa"),
@@ -70,7 +64,7 @@ public class JPAMapperProvider implements MapperProvider {
new JPAModSeqProvider(locker, entityManagerFactory),
entityManagerFactory);
- return new TransactionalMessageMapper((JPAMessageMapper)messageMapper);
+ return new TransactionalMessageMapper(messageMapper);
}
@Override
@@ -80,7 +74,7 @@ public class JPAMapperProvider implements MapperProvider {
@Override
public AnnotationMapper createAnnotationMapper() throws MailboxException {
- return new TransactionalAnnotationMapper(new JPAAnnotationMapper(createEntityManagerFactory()));
+ return new TransactionalAnnotationMapper(new JPAAnnotationMapper(JPA_TEST_CLUSTER.getEntityManagerFactory()));
}
@Override
@@ -95,15 +89,7 @@ public class JPAMapperProvider implements MapperProvider {
@Override
public void clearMapper() throws MailboxException {
- EntityManager entityManager = createEntityManagerFactory().createEntityManager();
- entityManager.getTransaction().begin();
- entityManager.createNativeQuery("TRUNCATE table JAMES_MAIL_USERFLAG;").executeUpdate();
- entityManager.createNativeQuery("TRUNCATE table JAMES_MAIL_PROPERTY;").executeUpdate();
- entityManager.createNativeQuery("TRUNCATE table JAMES_MAILBOX_ANNOTATION;").executeUpdate();
- entityManager.createNativeQuery("TRUNCATE table JAMES_MAILBOX;").executeUpdate();
- entityManager.createNativeQuery("TRUNCATE table JAMES_MAIL;").executeUpdate();
- entityManager.getTransaction().commit();
- entityManager.close();
+ JPA_TEST_CLUSTER.clear(JPAMailboxFixture.MAILBOX_TABLE_NAMES);
}
@Override
@@ -116,25 +102,6 @@ public class JPAMapperProvider implements MapperProvider {
return false;
}
- private EntityManagerFactory createEntityManagerFactory() {
- HashMap<String, String> properties = new HashMap<String, String>();
- properties.put("openjpa.ConnectionDriverName", "org.h2.Driver");
- properties.put("openjpa.ConnectionURL", "jdbc:h2:mem:imap;DB_CLOSE_DELAY=-1");
- properties.put("openjpa.Log", "JDBC=WARN, SQL=WARN, Runtime=WARN");
- properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72");
- properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
- properties.put("openjpa.MetaDataFactory", "jpa(Types=" +
- JPAMailbox.class.getName() + ";" +
- AbstractJPAMailboxMessage.class.getName() + ";" +
- JPAMailboxMessage.class.getName() + ";" +
- JPAProperty.class.getName() + ";" +
- JPAUserFlag.class.getName() + ";" +
- JPAMailboxAnnotation.class.getName() + ";" +
- JPASubscription.class.getName() + ")");
-
- return OpenJPAPersistence.getEntityManagerFactory(properties);
- }
-
@Override
public List<Capabilities> getSupportedCapabilities() {
return ImmutableList.of(Capabilities.ANNOTATION, Capabilities.MAILBOX, Capabilities.MESSAGE);
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/mailbox/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/pom.xml b/mailbox/pom.xml
index 9a5ee30..c4699f6 100644
--- a/mailbox/pom.xml
+++ b/mailbox/pom.xml
@@ -84,7 +84,6 @@
<javax.activation.artifactId>activation</javax.activation.artifactId>
<javax.mail.groupId>javax.mail</javax.mail.groupId>
<javax.mail.artifactId>mail</javax.mail.artifactId>
- <openjpa.version>2.2.1</openjpa.version>
<javax.persistence.version>1.0.2</javax.persistence.version>
<javax.inject.version>1</javax.inject.version>
<apache-mime4j.version>0.8.0</apache-mime4j.version>
@@ -103,7 +102,6 @@
<commons-beanutils-core.version>1.8.3</commons-beanutils-core.version>
<h2.version>1.3.170</h2.version>
<derby.version>10.9.1.0</derby.version>
- <geronimo-jpa-spec.version>1.1</geronimo-jpa-spec.version>
<jcr.version>2.0</jcr.version>
<jackrabbit.version>2.5.2</jackrabbit.version>
<lucene.version>3.6.0</lucene.version>
@@ -460,20 +458,27 @@
START OpenJPA
-->
<dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa</artifactId>
- <version>${openjpa.version}</version>
+ <groupId>org.apache.james</groupId>
+ <artifactId>apache-james-backends-jpa</artifactId>
+ <version>${project.version}</version>
</dependency>
<dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jpa_2.0_spec</artifactId>
- <version>${geronimo-jpa-spec.version}</version>
+ <groupId>org.apache.james</groupId>
+ <artifactId>apache-james-backends-jpa</artifactId>
+ <version>${project.version}</version>
+ <type>test-jar</type>
</dependency>
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt</artifactId>
<version>${jasypt.version}</version>
</dependency>
+ <dependency>
+ <groupId>com.h2database</groupId>
+ <artifactId>h2</artifactId>
+ <scope>test</scope>
+ <version>${h2.version}</version>
+ </dependency>
<!--
END OpenJPA
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/mailbox/tool/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/tool/pom.xml b/mailbox/tool/pom.xml
index 02606a5..6e7673a 100644
--- a/mailbox/tool/pom.xml
+++ b/mailbox/tool/pom.xml
@@ -34,6 +34,10 @@
<dependencies>
<dependency>
<groupId>org.apache.james</groupId>
+ <artifactId>apache-james-backends-jpa</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.james</groupId>
<artifactId>apache-james-mailbox-api</artifactId>
</dependency>
<dependency>
@@ -53,14 +57,6 @@
<artifactId>slf4j-simple</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-annotation_1.0_spec</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa</artifactId>
- </dependency>
- <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/mpt/app/dependency-reduced-pom.xml
----------------------------------------------------------------------
diff --git a/mpt/app/dependency-reduced-pom.xml b/mpt/app/dependency-reduced-pom.xml
index 6156d59..9815884 100644
--- a/mpt/app/dependency-reduced-pom.xml
+++ b/mpt/app/dependency-reduced-pom.xml
@@ -3,7 +3,7 @@
<parent>
<artifactId>apache-james-mpt</artifactId>
<groupId>org.apache.james</groupId>
- <version>0.2-SNAPSHOT</version>
+ <version>3.0.0-beta6-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>apache-james-mpt-app</artifactId>
@@ -87,7 +87,7 @@ interfaces to the MPT library.</description>
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-james-mpt-core</artifactId>
- <version>0.2-SNAPSHOT</version>
+ <version>3.0.0-beta6-SNAPSHOT</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/mpt/impl/imap-mailbox/jpa/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/jpa/pom.xml b/mpt/impl/imap-mailbox/jpa/pom.xml
index 959794d..da6a8a5 100644
--- a/mpt/impl/imap-mailbox/jpa/pom.xml
+++ b/mpt/impl/imap-mailbox/jpa/pom.xml
@@ -33,6 +33,12 @@
<dependencies>
<dependency>
<groupId>org.apache.james</groupId>
+ <artifactId>apache-james-backends-jpa</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.james</groupId>
<artifactId>apache-james-mpt-imapmailbox-core</artifactId>
</dependency>
<dependency>
@@ -41,6 +47,17 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.apache.james</groupId>
+ <artifactId>apache-james-mailbox-store</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.james</groupId>
+ <artifactId>apache-james-mailbox-jpa</artifactId>
+ <scope>test</scope>
+ <type>test-jar</type>
+ </dependency>
+ <dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
index 2f13699..42082f1 100644
--- a/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
+++ b/mpt/impl/imap-mailbox/jpa/src/test/java/org/apache/james/mpt/imapmailbox/jpa/host/JPAHostSystem.java
@@ -20,11 +20,11 @@
package org.apache.james.mpt.imapmailbox.jpa.host;
import java.io.File;
-import java.util.HashMap;
import javax.persistence.EntityManagerFactory;
import org.apache.commons.io.FileUtils;
+import org.apache.james.backends.jpa.JpaTestCluster;
import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.encode.main.DefaultImapEncoderFactory;
import org.apache.james.imap.main.DefaultImapDecoderFactory;
@@ -35,18 +35,12 @@ import org.apache.james.mailbox.acl.GroupMembershipResolver;
import org.apache.james.mailbox.acl.MailboxACLResolver;
import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
import org.apache.james.mailbox.acl.UnionMailboxACLResolver;
+import org.apache.james.mailbox.jpa.JPAMailboxFixture;
import org.apache.james.mailbox.jpa.JPAMailboxSessionMapperFactory;
import org.apache.james.mailbox.jpa.JPASubscriptionManager;
import org.apache.james.mailbox.jpa.mail.JPAModSeqProvider;
import org.apache.james.mailbox.jpa.mail.JPAUidProvider;
-import org.apache.james.mailbox.jpa.mail.model.JPAMailbox;
-import org.apache.james.mailbox.jpa.mail.model.JPAMailboxAnnotation;
-import org.apache.james.mailbox.jpa.mail.model.JPAProperty;
-import org.apache.james.mailbox.jpa.mail.model.JPAUserFlag;
-import org.apache.james.mailbox.jpa.mail.model.openjpa.AbstractJPAMailboxMessage;
-import org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMailboxMessage;
import org.apache.james.mailbox.jpa.openjpa.OpenJPAMailboxManager;
-import org.apache.james.mailbox.jpa.user.model.JPASubscription;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.store.FakeAuthenticator;
import org.apache.james.mailbox.store.JVMMailboxPathLocker;
@@ -58,11 +52,12 @@ import org.apache.james.mpt.api.ImapFeatures;
import org.apache.james.mpt.api.ImapFeatures.Feature;
import org.apache.james.mpt.host.JamesImapHostSystem;
import org.apache.james.mpt.imapmailbox.MailboxCreationDelegate;
-import org.apache.openjpa.persistence.OpenJPAPersistence;
import org.slf4j.LoggerFactory;
public class JPAHostSystem extends JamesImapHostSystem {
+ private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPAMailboxFixture.MAILBOX_PERSISTANCE_CLASSES);
+
public static final String META_DATA_DIRECTORY = "target/user-meta-data";
private static final ImapFeatures SUPPORTED_FEATURES = ImapFeatures.of(Feature.NAMESPACE_SUPPORT, Feature.USER_FLAGS_SUPPORT, Feature.ANNOTATION_SUPPORT);
@@ -75,48 +70,9 @@ public class JPAHostSystem extends JamesImapHostSystem {
private final EntityManagerFactory entityManagerFactory;
public JPAHostSystem() throws Exception {
-
- HashMap<String, String> properties = new HashMap<String, String>();
-
- // Configure OpenJPA for H2 Memory Database
- properties.put("openjpa.ConnectionDriverName", org.h2.Driver.class.getName());
- properties.put("openjpa.ConnectionURL", "jdbc:h2:mem:mailboxintegration;DB_CLOSE_DELAY=-1"); // Memory H2 database
-
- // Configure OpenJPA for Derby Memory Database
- // properties.put("openjpa.ConnectionDriverName", org.apache.derby.jdbc.EmbeddedDriver.class.getName());
- // properties.put("openjpa.ConnectionURL", "jdbc:derby:memory:mailboxintegration;create=true"); // Memory Derby database
-
- // Configure OpenJPA for Derby Embedded Database
- //properties.put("openjpa.ConnectionURL", "jdbc:derby:test;create=true");
- //properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72");
-
- // Configure OpenJPA Tables creation
- properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)"); // Create Foreign Keys
- properties.put("openjpa.jdbc.MappingDefaults", "ForeignKeyDeleteAction=restrict, JoinForeignKeyDeleteAction=restrict");
- properties.put("openjpa.jdbc.SchemaFactory", "native(ForeignKeys=true)");
- properties.put("openjpa.jdbc.MappingDefaults", "ForeignKeyDeleteAction=cascade, JoinForeignKeyDeleteAction=cascade");
-
-
- // Configure OpenJPA Cache
- properties.put("openjpa.jdbc.QuerySQLCache", "false");
-
- // Configure OpenJPA Log
- properties.put("openjpa.Log", "JDBC=WARN, SQL=WARN, Runtime=WARN");
- //properties.put("openjpa.Log", "SQL=TRACE"); // Use SQL=TRACE to trace SQL.
- //properties.put("openjpa.Log", "DefaultLevel=TRACE"); // Use the DefaultLevel=TRACE to trace all.
-
- // Configure OpenJPA Metadata
- properties.put("openjpa.MetaDataFactory", "jpa(Types=" +
- JPAMailbox.class.getName() + ";" +
- AbstractJPAMailboxMessage.class.getName() + ";" +
- JPAMailboxMessage.class.getName() + ";" +
- JPAProperty.class.getName() + ";" +
- JPAUserFlag.class.getName() + ";" +
- JPASubscription.class.getName() + ";" +
- JPAMailboxAnnotation.class.getName() + ")");
userManager = new FakeAuthenticator();
- entityManagerFactory = OpenJPAPersistence.getEntityManagerFactory(properties);
+ entityManagerFactory = JPA_TEST_CLUSTER.getEntityManagerFactory();
JVMMailboxPathLocker locker = new JVMMailboxPathLocker();
JPAUidProvider uidProvider = new JPAUidProvider(locker, entityManagerFactory);
JPAModSeqProvider modSeqProvider = new JPAModSeqProvider(locker, entityManagerFactory);
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/mpt/impl/imap-mailbox/lucenesearch/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/lucenesearch/pom.xml b/mpt/impl/imap-mailbox/lucenesearch/pom.xml
index 2476d6a..0a8ee99 100644
--- a/mpt/impl/imap-mailbox/lucenesearch/pom.xml
+++ b/mpt/impl/imap-mailbox/lucenesearch/pom.xml
@@ -33,6 +33,12 @@
<dependencies>
<dependency>
<groupId>org.apache.james</groupId>
+ <artifactId>apache-james-backends-jpa</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.james</groupId>
<artifactId>apache-james-mailbox-api</artifactId>
</dependency>
<dependency>
@@ -50,6 +56,11 @@
</dependency>
<dependency>
<groupId>org.apache.james</groupId>
+ <artifactId>apache-james-mailbox-jpa</artifactId>
+ <type>test-jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.james</groupId>
<artifactId>apache-james-mailbox-store</artifactId>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
index ec669fd..dd237d5 100644
--- a/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
+++ b/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
@@ -21,11 +21,11 @@ package org.apache.james.mpt.imapmailbox.lucenesearch.host;
import java.io.File;
import java.io.IOException;
-import java.util.HashMap;
import javax.persistence.EntityManagerFactory;
import org.apache.commons.io.FileUtils;
+import org.apache.james.backends.jpa.JpaTestCluster;
import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.encode.main.DefaultImapEncoderFactory;
import org.apache.james.imap.main.DefaultImapDecoderFactory;
@@ -39,17 +39,12 @@ import org.apache.james.mailbox.acl.UnionMailboxACLResolver;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.jpa.JPAId;
import org.apache.james.mailbox.jpa.JPAId.Factory;
+import org.apache.james.mailbox.jpa.JPAMailboxFixture;
import org.apache.james.mailbox.jpa.JPAMailboxSessionMapperFactory;
import org.apache.james.mailbox.jpa.JPASubscriptionManager;
import org.apache.james.mailbox.jpa.mail.JPAModSeqProvider;
import org.apache.james.mailbox.jpa.mail.JPAUidProvider;
-import org.apache.james.mailbox.jpa.mail.model.JPAMailbox;
-import org.apache.james.mailbox.jpa.mail.model.JPAProperty;
-import org.apache.james.mailbox.jpa.mail.model.JPAUserFlag;
-import org.apache.james.mailbox.jpa.mail.model.openjpa.AbstractJPAMailboxMessage;
-import org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMailboxMessage;
import org.apache.james.mailbox.jpa.openjpa.OpenJPAMailboxManager;
-import org.apache.james.mailbox.jpa.user.model.JPASubscription;
import org.apache.james.mailbox.lucene.search.LuceneMessageSearchIndex;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageId;
@@ -64,7 +59,6 @@ import org.apache.james.mpt.api.ImapFeatures.Feature;
import org.apache.james.mpt.host.JamesImapHostSystem;
import org.apache.james.mpt.imapmailbox.MailboxCreationDelegate;
import org.apache.lucene.store.FSDirectory;
-import org.apache.openjpa.persistence.OpenJPAPersistence;
import org.slf4j.LoggerFactory;
import com.google.common.base.Throwables;
@@ -73,6 +67,8 @@ import com.google.common.io.Files;
public class LuceneSearchHostSystem extends JamesImapHostSystem {
public static final String META_DATA_DIRECTORY = "target/user-meta-data";
private static final ImapFeatures SUPPORTED_FEATURES = ImapFeatures.of(Feature.NAMESPACE_SUPPORT);
+ private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPAMailboxFixture.MAILBOX_PERSISTANCE_CLASSES);
+
private File tempFile;
private OpenJPAMailboxManager mailboxManager;
@@ -112,37 +108,8 @@ public class LuceneSearchHostSystem extends JamesImapHostSystem {
}
private void initFields() {
- HashMap<String, String> properties = new HashMap<String, String>();
-
- // Configure OpenJPA for H2 Memory Database
- properties.put("openjpa.ConnectionDriverName", org.h2.Driver.class.getName());
- properties.put("openjpa.ConnectionURL", "jdbc:h2:mem:mailboxintegration;DB_CLOSE_DELAY=-1"); // Memory H2 database
-
- // Configure OpenJPA Tables creation
- properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)"); // Create Foreign Keys
- properties.put("openjpa.jdbc.MappingDefaults", "ForeignKeyDeleteAction=restrict, JoinForeignKeyDeleteAction=restrict");
- properties.put("openjpa.jdbc.SchemaFactory", "native(ForeignKeys=true)");
- properties.put("openjpa.jdbc.MappingDefaults", "ForeignKeyDeleteAction=cascade, JoinForeignKeyDeleteAction=cascade");
-
-
- // Configure OpenJPA Cache
- properties.put("openjpa.jdbc.QuerySQLCache", "false");
-
- // Configure OpenJPA Log
- properties.put("openjpa.Log", "JDBC=WARN, SQL=WARN, Runtime=WARN");
- //properties.put("openjpa.RuntimeUnenhancedClasses", "warn");
-
- // Configure OpenJPA Metadata
- properties.put("openjpa.MetaDataFactory", "jpa(Types=" +
- JPAMailbox.class.getName() + ";" +
- AbstractJPAMailboxMessage.class.getName() + ";" +
- JPAMailboxMessage.class.getName() + ";" +
- JPAProperty.class.getName() + ";" +
- JPAUserFlag.class.getName() + ";" +
- JPASubscription.class.getName() + ")");
-
userManager = new FakeAuthenticator();
- entityManagerFactory = OpenJPAPersistence.getEntityManagerFactory(properties);
+ entityManagerFactory = JPA_TEST_CLUSTER.getEntityManagerFactory();
JVMMailboxPathLocker locker = new JVMMailboxPathLocker();
JPAUidProvider uidProvider = new JPAUidProvider(locker, entityManagerFactory);
JPAModSeqProvider modSeqProvider = new JPAModSeqProvider(locker, entityManagerFactory);
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/mpt/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/pom.xml b/mpt/pom.xml
index a8feadb..4b5a519 100644
--- a/mpt/pom.xml
+++ b/mpt/pom.xml
@@ -169,6 +169,12 @@
</dependency>
<dependency>
<groupId>org.apache.james</groupId>
+ <artifactId>apache-james-backends-jpa</artifactId>
+ <type>test-jar</type>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.james</groupId>
<artifactId>apache-james-mailbox-api</artifactId>
<version>${project.version}</version>
</dependency>
@@ -209,6 +215,13 @@
<artifactId>apache-james-mailbox-jpa</artifactId>
<version>${project.version}</version>
</dependency>
+
+ <dependency>
+ <groupId>org.apache.james</groupId>
+ <artifactId>apache-james-mailbox-jpa</artifactId>
+ <version>${project.version}</version>
+ <type>test-jar</type>
+ </dependency>
<dependency>
<groupId>org.apache.james</groupId>
<artifactId>apache-james-mailbox-lucene</artifactId>
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/server/container/guice/jpa-guice/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/guice/jpa-guice/pom.xml b/server/container/guice/jpa-guice/pom.xml
index e9d1f62..f02b70c 100644
--- a/server/container/guice/jpa-guice/pom.xml
+++ b/server/container/guice/jpa-guice/pom.xml
@@ -254,14 +254,6 @@
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
- <dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jpa_2.0_spec</artifactId>
- </dependency>
</dependencies>
</profile>
<profile>
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/server/container/spring/pom.xml
----------------------------------------------------------------------
diff --git a/server/container/spring/pom.xml b/server/container/spring/pom.xml
index f6f9e12..65c3c0c 100644
--- a/server/container/spring/pom.xml
+++ b/server/container/spring/pom.xml
@@ -137,10 +137,6 @@
<artifactId>log4j</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jpa_2.0_spec</artifactId>
- </dependency>
- <dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj-1.version}</version>
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/server/data/data-jpa/pom.xml
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/pom.xml b/server/data/data-jpa/pom.xml
index 770268c..a40850b 100644
--- a/server/data/data-jpa/pom.xml
+++ b/server/data/data-jpa/pom.xml
@@ -35,6 +35,16 @@
<dependencies>
<dependency>
<groupId>org.apache.james</groupId>
+ <artifactId>apache-james-backends-jpa</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.james</groupId>
+ <artifactId>apache-james-backends-jpa</artifactId>
+ <scope>test</scope>
+ <type>test-jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.james</groupId>
<artifactId>james-server-lifecycle-api</artifactId>
</dependency>
<dependency>
@@ -69,14 +79,6 @@
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jpa_2.0_spec</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-annotation_1.1_spec</artifactId>
- </dependency>
<!-- Test dependencies -->
<dependency>
@@ -106,11 +108,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.apache.derby</groupId>
- <artifactId>derby</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.apache.james</groupId>
<artifactId>james-server-dnsservice-api</artifactId>
<scope>test</scope>
@@ -131,11 +128,7 @@
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa</artifactId>
- <scope>test</scope>
+ <version>${h2.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/model/JPARecipientRewrite.java
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/model/JPARecipientRewrite.java b/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/model/JPARecipientRewrite.java
index 7efcdf4..c6296d5 100644
--- a/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/model/JPARecipientRewrite.java
+++ b/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/model/JPARecipientRewrite.java
@@ -35,7 +35,7 @@ import javax.persistence.Table;
* persistence.
*/
@Entity(name = "JamesRecipientRewrite")
-@Table(name = "JAMES_RECIPIENT_REWRITE")
+@Table(name = JPARecipientRewrite.JAMES_RECIPIENT_REWRITE)
@NamedQueries({
@NamedQuery(name = "selectMappings", query = "SELECT rrt FROM JamesRecipientRewrite rrt WHERE (rrt.user LIKE :user OR rrt.user='*') and (rrt.domain like :domain or rrt.domain='*') ORDER BY rrt.domain DESC"),
@NamedQuery(name = "selectExactMappings", query = "SELECT rrt FROM JamesRecipientRewrite rrt WHERE (rrt.user LIKE :user) and (rrt.domain like :domain) ORDER BY rrt.domain DESC"),
@@ -46,6 +46,8 @@ import javax.persistence.Table;
@IdClass(JPARecipientRewrite.RecipientRewriteTableId.class)
public class JPARecipientRewrite {
+ public static final String JAMES_RECIPIENT_REWRITE = "JAMES_RECIPIENT_REWRITE";
+
public static class RecipientRewriteTableId implements Serializable {
private static final long serialVersionUID = 1L;
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java b/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java
index ec1d5b6..6e5d9a0 100644
--- a/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java
+++ b/server/data/data-jpa/src/test/java/org/apache/james/domainlist/jpa/JPADomainListTest.java
@@ -18,13 +18,10 @@
****************************************************************/
package org.apache.james.domainlist.jpa;
-import java.util.HashMap;
-
+import org.apache.james.backends.jpa.JpaTestCluster;
import org.apache.james.domainlist.api.DomainList;
import org.apache.james.domainlist.jpa.model.JPADomain;
import org.apache.james.domainlist.lib.AbstractDomainListTest;
-import org.apache.openjpa.persistence.OpenJPAEntityManagerFactory;
-import org.apache.openjpa.persistence.OpenJPAPersistence;
import org.slf4j.LoggerFactory;
/**
@@ -32,31 +29,18 @@ import org.slf4j.LoggerFactory;
*/
public class JPADomainListTest extends AbstractDomainListTest {
+ private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPADomain.class);
+
@Override
protected DomainList createDomainList() {
- // Use a memory database.
- HashMap<String, String> properties = new HashMap<String, String>();
- properties.put("openjpa.ConnectionDriverName", org.apache.derby.jdbc.EmbeddedDriver.class.getName());
- properties.put("openjpa.ConnectionURL", "jdbc:derby:memory:JPADomainListTestDB;create=true");
- properties.put("openjpa.Log", "JDBC=WARN, SQL=WARN, Runtime=WARN");
- properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72");
- properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
- properties.put("openjpa.MetaDataFactory", "jpa(Types=" + JPADomain.class.getName() + ")");
- /*
- The OpenJPA Entity Manager used for the tests.
- */
- OpenJPAEntityManagerFactory factory = OpenJPAPersistence.getEntityManagerFactory(properties);
-
- // Initialize the JPADomainList (no autodetect,...).
JPADomainList jpaDomainList = new JPADomainList();
jpaDomainList.setLog(LoggerFactory.getLogger("JPADomainListMockLog"));
jpaDomainList.setDNSService(getDNSServer("localhost"));
jpaDomainList.setAutoDetect(false);
jpaDomainList.setAutoDetectIP(false);
- jpaDomainList.setEntityManagerFactory(factory);
+ jpaDomainList.setEntityManagerFactory(JPA_TEST_CLUSTER.getEntityManagerFactory());
return jpaDomainList;
-
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPARecipientRewriteTableTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPARecipientRewriteTableTest.java b/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPARecipientRewriteTableTest.java
index 131e7f3..1a32d5f 100644
--- a/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPARecipientRewriteTableTest.java
+++ b/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPARecipientRewriteTableTest.java
@@ -18,15 +18,12 @@
****************************************************************/
package org.apache.james.rrt.jpa;
-import java.util.HashMap;
import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.james.backends.jpa.JpaTestCluster;
import org.apache.james.rrt.api.RecipientRewriteTableException;
import org.apache.james.rrt.jpa.model.JPARecipientRewrite;
import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
import org.apache.james.rrt.lib.AbstractRecipientRewriteTableTest;
-import org.apache.openjpa.persistence.OpenJPAEntityManagerFactory;
-import org.apache.openjpa.persistence.OpenJPAPersistence;
-import org.junit.Before;
import org.slf4j.LoggerFactory;
/**
@@ -34,37 +31,13 @@ import org.slf4j.LoggerFactory;
*/
public class JPARecipientRewriteTableTest extends AbstractRecipientRewriteTableTest {
- /**
- * The OpenJPA Entity Manager used for the tests.
- */
- private OpenJPAEntityManagerFactory factory;
-
- @Before
- @Override
- public void setUp() throws Exception {
-
- // Use a memory database.
- /*
- The properties for the OpenJPA Entity Manager.
- */
- HashMap<String, String> properties = new HashMap<String, String>();
- properties.put("openjpa.ConnectionDriverName", "org.h2.Driver");
- properties.put("openjpa.ConnectionURL", "jdbc:h2:target/users/db");
- properties.put("openjpa.Log", "JDBC=WARN, SQL=WARN, Runtime=WARN");
- properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72");
- properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
- properties.put("openjpa.MetaDataFactory", "jpa(Types=" + JPARecipientRewrite.class.getName() + ")");
-
- factory = OpenJPAPersistence.getEntityManagerFactory(properties);
-
- super.setUp();
- }
+ private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPARecipientRewrite.class);
@Override
protected AbstractRecipientRewriteTable getRecipientRewriteTable() throws Exception {
JPARecipientRewriteTable localVirtualUserTable = new JPARecipientRewriteTable();
localVirtualUserTable.setLog(LoggerFactory.getLogger("MockLog"));
- localVirtualUserTable.setEntityManagerFactory(factory);
+ localVirtualUserTable.setEntityManagerFactory(JPA_TEST_CLUSTER.getEntityManagerFactory());
DefaultConfigurationBuilder defaultConfiguration = new DefaultConfigurationBuilder();
localVirtualUserTable.configure(defaultConfiguration);
return localVirtualUserTable;
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPAStepdefs.java
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPAStepdefs.java b/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPAStepdefs.java
index f4ecf5e..214c367 100644
--- a/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPAStepdefs.java
+++ b/server/data/data-jpa/src/test/java/org/apache/james/rrt/jpa/JPAStepdefs.java
@@ -18,21 +18,20 @@
****************************************************************/
package org.apache.james.rrt.jpa;
-import java.util.HashMap;
-import java.util.UUID;
-
import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.james.backends.jpa.JpaTestCluster;
import org.apache.james.rrt.jpa.model.JPARecipientRewrite;
import org.apache.james.rrt.lib.AbstractRecipientRewriteTable;
import org.apache.james.rrt.lib.RewriteTablesStepdefs;
-import org.apache.openjpa.persistence.OpenJPAEntityManagerFactory;
-import org.apache.openjpa.persistence.OpenJPAPersistence;
import org.slf4j.LoggerFactory;
+import cucumber.api.java.After;
import cucumber.api.java.Before;
public class JPAStepdefs {
+ private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPARecipientRewrite.class);
+
private final RewriteTablesStepdefs mainStepdefs;
public JPAStepdefs(RewriteTablesStepdefs mainStepdefs) {
@@ -44,27 +43,15 @@ public class JPAStepdefs {
mainStepdefs.rewriteTable = getRecipientRewriteTable();
}
- private OpenJPAEntityManagerFactory managerFactory() throws Exception {
-
- // Use a memory database.
- /*
- The properties for the OpenJPA Entity Manager.
- */
- HashMap<String, String> properties = new HashMap<String, String>();
- properties.put("openjpa.ConnectionDriverName", "org.h2.Driver");
- properties.put("openjpa.ConnectionURL", "jdbc:h2:target/users/" + UUID.randomUUID());
- properties.put("openjpa.Log", "JDBC=WARN, SQL=WARN, Runtime=WARN");
- properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72");
- properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
- properties.put("openjpa.MetaDataFactory", "jpa(Types=" + JPARecipientRewrite.class.getName() + ")");
-
- return OpenJPAPersistence.getEntityManagerFactory(properties);
+ @After
+ public void tearDown() {
+ JPA_TEST_CLUSTER.clear(JPARecipientRewrite.JAMES_RECIPIENT_REWRITE);
}
private AbstractRecipientRewriteTable getRecipientRewriteTable() throws Exception {
JPARecipientRewriteTable localVirtualUserTable = new JPARecipientRewriteTable();
localVirtualUserTable.setLog(LoggerFactory.getLogger("MockLog"));
- localVirtualUserTable.setEntityManagerFactory(managerFactory());
+ localVirtualUserTable.setEntityManagerFactory(JPA_TEST_CLUSTER.getEntityManagerFactory());
DefaultConfigurationBuilder defaultConfiguration = new DefaultConfigurationBuilder();
localVirtualUserTable.configure(defaultConfiguration);
return localVirtualUserTable;
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/server/data/data-jpa/src/test/java/org/apache/james/user/jpa/JpaUsersRepositoryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/src/test/java/org/apache/james/user/jpa/JpaUsersRepositoryTest.java b/server/data/data-jpa/src/test/java/org/apache/james/user/jpa/JpaUsersRepositoryTest.java
index 6b9c872..0ba2aee 100644
--- a/server/data/data-jpa/src/test/java/org/apache/james/user/jpa/JpaUsersRepositoryTest.java
+++ b/server/data/data-jpa/src/test/java/org/apache/james/user/jpa/JpaUsersRepositoryTest.java
@@ -18,70 +18,29 @@
****************************************************************/
package org.apache.james.user.jpa;
-import java.util.HashMap;
-
import org.apache.commons.configuration.DefaultConfigurationBuilder;
+import org.apache.james.backends.jpa.JpaTestCluster;
import org.apache.james.user.jpa.model.JPAUser;
import org.apache.james.user.lib.AbstractUsersRepository;
import org.apache.james.user.lib.AbstractUsersRepositoryTest;
-import org.apache.openjpa.persistence.OpenJPAEntityManager;
-import org.apache.openjpa.persistence.OpenJPAEntityManagerFactory;
-import org.apache.openjpa.persistence.OpenJPAEntityTransaction;
-import org.apache.openjpa.persistence.OpenJPAPersistence;
import org.junit.After;
-import org.junit.Before;
import org.slf4j.LoggerFactory;
public class JpaUsersRepositoryTest extends AbstractUsersRepositoryTest {
- private HashMap<String, String> properties;
- private OpenJPAEntityManagerFactory factory;
-
- @Before
- @Override
- public void setUp() throws Exception {
- properties = new HashMap<String, String>();
- properties.put("openjpa.ConnectionDriverName", "org.h2.Driver");
- properties.put("openjpa.ConnectionURL", "jdbc:h2:target/users/db");
- properties.put("openjpa.Log", "JDBC=WARN, SQL=WARN, Runtime=WARN");
- properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72");
- properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
- properties.put("openjpa.MetaDataFactory", "jpa(Types=" + JPAUser.class.getName() + ")");
- super.setUp();
- deleteAll();
- }
+ private static final JpaTestCluster JPA_TEST_CLUSTER = JpaTestCluster.create(JPAUser.class);
@After
@Override
public void tearDown() throws Exception {
- deleteAll();
- super.tearDown();
-
- }
-
- private void deleteAll() {
- OpenJPAEntityManager manager = factory.createEntityManager();
- final OpenJPAEntityTransaction transaction = manager.getTransaction();
- try {
- transaction.begin();
- manager.createQuery("DELETE FROM JamesUser user").executeUpdate();
- transaction.commit();
- } catch (Exception e) {
- e.printStackTrace();
- if (transaction.isActive()) {
- transaction.rollback();
- }
- } finally {
- manager.close();
- }
+ JPA_TEST_CLUSTER.clear("JAMES_USER");
}
@Override
protected AbstractUsersRepository getUsersRepository() throws Exception {
- factory = OpenJPAPersistence.getEntityManagerFactory(properties);
JPAUsersRepository repos = new JPAUsersRepository();
repos.setLog(LoggerFactory.getLogger("JPA"));
- repos.setEntityManagerFactory(factory);
+ repos.setEntityManagerFactory(JPA_TEST_CLUSTER.getEntityManagerFactory());
repos.configure(new DefaultConfigurationBuilder());
return repos;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/4655ab37/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index 8065656..0395fa4 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -161,8 +161,6 @@
<jmock.version>2.6.0</jmock.version>
<concurrent.version>1.3.4</concurrent.version>
<log4j.version>1.2.17</log4j.version>
- <openjpa.version>2.2.1</openjpa.version>
- <geronimo-jpa-spec.version>1.1</geronimo-jpa-spec.version>
<jcr.version>2.0</jcr.version>
<xbean-spring.version>3.12</xbean-spring.version>
<netty.version>3.10.5.Final</netty.version>
@@ -342,6 +340,17 @@
</dependency>
<dependency>
<groupId>org.apache.james</groupId>
+ <artifactId>apache-james-backends-jpa</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.james</groupId>
+ <artifactId>apache-james-backends-jpa</artifactId>
+ <version>${project.version}</version>
+ <type>test-jar</type>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.james</groupId>
<artifactId>apache-mailet-api</artifactId>
<version>${project.version}</version>
<exclusions>
@@ -1212,18 +1221,6 @@
</dependency>
<dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa</artifactId>
- <version>${openjpa.version}</version>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.geronimo.specs</groupId>
- <artifactId>geronimo-jpa_2.0_spec</artifactId>
- <version>${geronimo-jpa-spec.version}</version>
- </dependency>
-
- <dependency>
<groupId>javax.jcr</groupId>
<artifactId>jcr</artifactId>
<version>${jcr.version}</version>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[2/2] james-project git commit: Merge remote-tracking branch
'benoit/PVN-10-proposal'
Posted by ro...@apache.org.
Merge remote-tracking branch 'benoit/PVN-10-proposal'
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/1fa297ce
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/1fa297ce
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/1fa297ce
Branch: refs/heads/master
Commit: 1fa297ce3d88bc6e66de896634ea9a344a57ccd7
Parents: 35858f7 4655ab3
Author: Raphael Ouazana <ra...@linagora.com>
Authored: Thu Jan 12 17:33:35 2017 +0100
Committer: Raphael Ouazana <ra...@linagora.com>
Committed: Thu Jan 12 17:33:35 2017 +0100
----------------------------------------------------------------------
backends-common/jpa/pom.xml | 39 ++++++++++
.../james/backends/jpa/JpaTestCluster.java | 82 ++++++++++++++++++++
backends-common/pom.xml | 1 +
mailbox/jpa/pom.xml | 10 ++-
.../james/mailbox/jpa/JPAMailboxFixture.java | 45 +++++++++++
.../mailbox/jpa/JPAMailboxManagerTest.java | 28 +------
.../mailbox/jpa/JPASubscriptionManagerTest.java | 42 ++--------
.../mailbox/jpa/mail/JPAMapperProvider.java | 51 +++---------
mailbox/pom.xml | 21 +++--
mailbox/tool/pom.xml | 12 +--
mpt/app/dependency-reduced-pom.xml | 4 +-
mpt/impl/imap-mailbox/jpa/pom.xml | 17 ++++
.../mpt/imapmailbox/jpa/host/JPAHostSystem.java | 54 ++-----------
mpt/impl/imap-mailbox/lucenesearch/pom.xml | 11 +++
.../host/LuceneSearchHostSystem.java | 43 ++--------
mpt/pom.xml | 13 ++++
server/container/guice/jpa-guice/pom.xml | 8 --
server/container/spring/pom.xml | 4 -
server/data/data-jpa/pom.xml | 29 +++----
.../rrt/jpa/model/JPARecipientRewrite.java | 4 +-
.../james/domainlist/jpa/JPADomainListTest.java | 24 +-----
.../rrt/jpa/JPARecipientRewriteTableTest.java | 33 +-------
.../org/apache/james/rrt/jpa/JPAStepdefs.java | 29 ++-----
.../james/user/jpa/JpaUsersRepositoryTest.java | 49 +-----------
server/pom.xml | 25 +++---
25 files changed, 307 insertions(+), 371 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/1fa297ce/mpt/impl/imap-mailbox/lucenesearch/src/test/java/org/apache/james/mpt/imapmailbox/lucenesearch/host/LuceneSearchHostSystem.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/1fa297ce/server/pom.xml
----------------------------------------------------------------------
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org