This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 3d9548650fa6a97a7d49afc0f0ae88dfaf22e748
Author: Maksim Meliashchuk <maksym...@gmail.com>
AuthorDate: Wed Sep 27 22:01:53 2023 +0300

    JAMES-2156 moved JPAConfiguration to backends/jpa
---
 backends-common/jpa/pom.xml                        |  4 ++
 .../james/backends/jpa}/JPAConfiguration.java      | 52 +++++++++++-----------
 .../james/backends/jpa}/JPAConfigurationTest.java  |  2 +-
 mailbox/jpa/pom.xml                                | 22 ---------
 .../jpa/JPAMailboxSessionMapperFactory.java        |  2 +-
 .../james/mailbox/jpa/mail/JPAMessageMapper.java   |  2 +-
 .../mailbox/jpa/mail/model/JPAAttachment.java      |  2 +-
 .../main/resources/META-INF/spring/mailbox-jpa.xml |  2 +-
 .../src/main/resources/james-database.properties   |  5 +++
 .../mailbox/jpa/JPASubscriptionManagerTest.java    |  2 +-
 .../mailbox/jpa/JpaMailboxManagerProvider.java     |  2 +-
 .../james/mailbox/jpa/mail/JPAMapperProvider.java  |  2 +-
 .../task/JPARecomputeCurrentQuotasServiceTest.java |  2 +-
 .../mpt/imapmailbox/jpa/host/JPAHostSystem.java    |  2 +-
 .../james-database-mariadb.properties              |  2 +-
 .../sample-configuration/james-database.properties |  2 +-
 .../james-database-mariadb.properties              |  2 +-
 .../sample-configuration/james-database.properties |  2 +-
 .../mariadb/TestJPAMariaDBConfigurationModule.java |  2 +-
 .../src/main/resources/james-database.properties   |  2 +-
 .../james/modules/data/JPAEntityManagerModule.java |  1 +
 .../apache/james/TestJPAConfigurationModule.java   |  2 +-
 ...estJPAConfigurationModuleWithSqlValidation.java |  2 +-
 src/site/xdoc/server/config-system.xml             |  6 +--
 24 files changed, 57 insertions(+), 69 deletions(-)

diff --git a/backends-common/jpa/pom.xml b/backends-common/jpa/pom.xml
index 230c63f0b8..c4a019dacb 100644
--- a/backends-common/jpa/pom.xml
+++ b/backends-common/jpa/pom.xml
@@ -43,6 +43,10 @@
             <artifactId>commons-dbcp2</artifactId>
             <version>2.9.0</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.apache.derby</groupId>
             <artifactId>derby</artifactId>
diff --git 
a/server/container/guice/jpa-common/src/main/java/org/apache/james/modules/data/JPAConfiguration.java
 
b/backends-common/jpa/src/main/java/org/apache/james/backends/jpa/JPAConfiguration.java
similarity index 86%
rename from 
server/container/guice/jpa-common/src/main/java/org/apache/james/modules/data/JPAConfiguration.java
rename to 
backends-common/jpa/src/main/java/org/apache/james/backends/jpa/JPAConfiguration.java
index 6870e64fad..27a2d4970e 100644
--- 
a/server/container/guice/jpa-common/src/main/java/org/apache/james/modules/data/JPAConfiguration.java
+++ 
b/backends-common/jpa/src/main/java/org/apache/james/backends/jpa/JPAConfiguration.java
@@ -16,17 +16,17 @@
  * specific language governing permissions and limitations      *
  * under the License.                                           *
  ****************************************************************/
-package org.apache.james.modules.data;
-
-import static 
org.apache.james.modules.data.JPAConfiguration.Credential.NO_CREDENTIAL;
-import static 
org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.CUSTOM_DATASOURCE_PROPERTIES;
-import static 
org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.CUSTOM_OPENJPA_PROPERTIES;
-import static 
org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.NO_ATTACHMENT_STORAGE;
-import static 
org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.NO_MAX_CONNECTIONS;
-import static 
org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.NO_MULTITHREADED;
-import static 
org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.NO_TEST_ON_BORROW;
-import static 
org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.NO_VALIDATION_QUERY;
-import static 
org.apache.james.modules.data.JPAConfiguration.ReadyToBuild.NO_VALIDATION_QUERY_TIMEOUT_SEC;
+package org.apache.james.backends.jpa;
+
+import static 
org.apache.james.backends.jpa.JPAConfiguration.Credential.NO_CREDENTIAL;
+import static 
org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.CUSTOM_DATASOURCE_PROPERTIES;
+import static 
org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.CUSTOM_OPENJPA_PROPERTIES;
+import static 
org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.NO_ATTACHMENT_STORAGE;
+import static 
org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.NO_MAX_CONNECTIONS;
+import static 
org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.NO_MULTITHREADED;
+import static 
org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.NO_TEST_ON_BORROW;
+import static 
org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.NO_VALIDATION_QUERY;
+import static 
org.apache.james.backends.jpa.JPAConfiguration.ReadyToBuild.NO_VALIDATION_QUERY_TIMEOUT_SEC;
 
 import java.util.HashMap;
 import java.util.List;
@@ -41,21 +41,21 @@ import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
 
 public class JPAConfiguration {
-    static final String JPA_CONNECTION_DRIVER_NAME = 
"openjpa.ConnectionDriverName";
-    static final String JPA_CONNECTION_USERNAME = "openjpa.ConnectionUserName";
-    static final String JPA_CONNECTION_PASSWORD = "openjpa.ConnectionPassword";
-    static final String JPA_CONNECTION_PROPERTIES = 
"openjpa.ConnectionProperties";
-    static final String JPA_CONNECTION_URL = "openjpa.ConnectionURL";
-    static final String JPA_MULTITHREADED = "openjpa.Multithreaded";
-    static List<String> DEFAULT_JPA_PROPERTIES = 
List.of(JPA_CONNECTION_DRIVER_NAME, JPA_CONNECTION_URL, JPA_MULTITHREADED, 
JPA_CONNECTION_USERNAME, JPA_CONNECTION_PASSWORD);
-
-    static final String DATASOURCE_TEST_ON_BORROW = "datasource.testOnBorrow";
-    static final String DATASOURCE_VALIDATION_QUERY_TIMEOUT_SEC = 
"datasource.validationQueryTimeoutSec";
-    static final String DATASOURCE_VALIDATION_QUERY = 
"datasource.validationQuery";
-    static final String DATASOURCE_MAX_TOTAL = "datasource.maxTotal";
-    static List<String> DEFAULT_DATASOURCE_PROPERTIES = 
List.of(DATASOURCE_TEST_ON_BORROW, DATASOURCE_VALIDATION_QUERY_TIMEOUT_SEC, 
DATASOURCE_VALIDATION_QUERY, DATASOURCE_MAX_TOTAL);
-
-    static final String ATTACHMENT_STORAGE = "attachmentStorage.enabled";
+    public static final String JPA_CONNECTION_DRIVER_NAME = 
"openjpa.ConnectionDriverName";
+    public static final String JPA_CONNECTION_USERNAME = 
"openjpa.ConnectionUserName";
+    public static final String JPA_CONNECTION_PASSWORD = 
"openjpa.ConnectionPassword";
+    public static final String JPA_CONNECTION_PROPERTIES = 
"openjpa.ConnectionProperties";
+    public static final String JPA_CONNECTION_URL = "openjpa.ConnectionURL";
+    public static final String JPA_MULTITHREADED = "openjpa.Multithreaded";
+    public static final List<String> DEFAULT_JPA_PROPERTIES = 
List.of(JPA_CONNECTION_DRIVER_NAME, JPA_CONNECTION_URL, JPA_MULTITHREADED, 
JPA_CONNECTION_USERNAME, JPA_CONNECTION_PASSWORD);
+
+    public static final String DATASOURCE_TEST_ON_BORROW = 
"datasource.testOnBorrow";
+    public static final String DATASOURCE_VALIDATION_QUERY_TIMEOUT_SEC = 
"datasource.validationQueryTimeoutSec";
+    public static final String DATASOURCE_VALIDATION_QUERY = 
"datasource.validationQuery";
+    public static final String DATASOURCE_MAX_TOTAL = "datasource.maxTotal";
+    public static final List<String> DEFAULT_DATASOURCE_PROPERTIES = 
List.of(DATASOURCE_TEST_ON_BORROW, DATASOURCE_VALIDATION_QUERY_TIMEOUT_SEC, 
DATASOURCE_VALIDATION_QUERY, DATASOURCE_MAX_TOTAL);
+
+    public static final String ATTACHMENT_STORAGE = 
"attachmentStorage.enabled";
 
     static {
     }
diff --git 
a/server/container/guice/jpa-common/src/test/java/org/apache/james/modules/data/JPAConfigurationTest.java
 
b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JPAConfigurationTest.java
similarity index 99%
rename from 
server/container/guice/jpa-common/src/test/java/org/apache/james/modules/data/JPAConfigurationTest.java
rename to 
backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JPAConfigurationTest.java
index 6758163475..2021c86e5d 100644
--- 
a/server/container/guice/jpa-common/src/test/java/org/apache/james/modules/data/JPAConfigurationTest.java
+++ 
b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JPAConfigurationTest.java
@@ -17,7 +17,7 @@
  * under the License.                                           *
  ****************************************************************/
 
-package org.apache.james.modules.data;
+package org.apache.james.backends.jpa;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.assertThatThrownBy;
diff --git a/mailbox/jpa/pom.xml b/mailbox/jpa/pom.xml
index 209bbdd037..b3020ba999 100644
--- a/mailbox/jpa/pom.xml
+++ b/mailbox/jpa/pom.xml
@@ -31,18 +31,6 @@
     <packaging>jar</packaging>
     <name>Apache James :: Mailbox :: JPA</name>
 
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>${james.groupId}</groupId>
-                <artifactId>james-server-guice</artifactId>
-                <version>${project.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
     <dependencies>
         <dependency>
             <groupId>${james.groupId}</groupId>
@@ -101,16 +89,6 @@
             <artifactId>james-server-data-jpa</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
-            <artifactId>james-server-jpa-common-guice</artifactId>
-            <type>test-jar</type>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>${james.groupId}</groupId>
-            <artifactId>james-server-jpa-common-guice</artifactId>
-        </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
             <artifactId>james-server-testing</artifactId>
diff --git 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxSessionMapperFactory.java
 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxSessionMapperFactory.java
index 96612081f1..670651b13f 100644
--- 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxSessionMapperFactory.java
+++ 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPAMailboxSessionMapperFactory.java
@@ -24,6 +24,7 @@ import javax.persistence.EntityManagerFactory;
 
 import org.apache.commons.lang3.NotImplementedException;
 import org.apache.james.backends.jpa.EntityManagerUtils;
+import org.apache.james.backends.jpa.JPAConfiguration;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.jpa.mail.JPAAnnotationMapper;
 import org.apache.james.mailbox.jpa.mail.JPAAttachmentMapper;
@@ -42,7 +43,6 @@ import org.apache.james.mailbox.store.mail.MessageMapper;
 import org.apache.james.mailbox.store.mail.ModSeqProvider;
 import org.apache.james.mailbox.store.mail.UidProvider;
 import org.apache.james.mailbox.store.user.SubscriptionMapper;
-import org.apache.james.modules.data.JPAConfiguration;
 
 /**
  * JPA implementation of {@link MailboxSessionMapperFactory}
diff --git 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
index a0c0ef3a4b..b4e7de4327 100644
--- 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
+++ 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
@@ -31,6 +31,7 @@ import javax.persistence.EntityManagerFactory;
 import javax.persistence.PersistenceException;
 import javax.persistence.Query;
 
+import org.apache.james.backends.jpa.JPAConfiguration;
 import org.apache.james.mailbox.ApplicableFlagBuilder;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.ModSeq;
@@ -56,7 +57,6 @@ import org.apache.james.mailbox.model.UpdatedFlags;
 import org.apache.james.mailbox.store.FlagsUpdateCalculator;
 import org.apache.james.mailbox.store.mail.MessageMapper;
 import org.apache.james.mailbox.store.mail.model.MailboxMessage;
-import org.apache.james.modules.data.JPAConfiguration;
 import org.apache.openjpa.persistence.ArgumentException;
 
 import com.github.fge.lambdas.Throwing;
diff --git 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAAttachment.java
 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAAttachment.java
index 1e4ab8098c..60e3e9ad4b 100644
--- 
a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAAttachment.java
+++ 
b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/model/JPAAttachment.java
@@ -63,7 +63,7 @@ public class JPAAttachment {
     private long size;
 
     @Basic(optional = false, fetch = FetchType.LAZY)
-    @Column(name = "CONTENT", nullable = false)
+    @Column(name = "CONTENT", length = 1048576000, nullable = false)
     @Lob
     private byte[] content;
 
diff --git a/mailbox/jpa/src/main/resources/META-INF/spring/mailbox-jpa.xml 
b/mailbox/jpa/src/main/resources/META-INF/spring/mailbox-jpa.xml
index 16a268cf98..30b9d4a6a9 100644
--- a/mailbox/jpa/src/main/resources/META-INF/spring/mailbox-jpa.xml
+++ b/mailbox/jpa/src/main/resources/META-INF/spring/mailbox-jpa.xml
@@ -105,5 +105,5 @@
     <bean id="jpaCurrentQuotaManager" 
class="org.apache.james.mailbox.jpa.quota.JpaCurrentQuotaManager">
         <constructor-arg index="0" ref="entityManagerFactory"/>
     </bean>
-    <bean id="jpa-configuration" 
class="org.apache.james.modules.data.JPAConfiguration"/>
+    <bean id="jpa-configuration" 
class="org.apache.james.backends.jpa.JPAConfiguration"/>
 </beans>
diff --git a/mailbox/jpa/src/main/resources/james-database.properties 
b/mailbox/jpa/src/main/resources/james-database.properties
index 22770d00d2..852f8f2989 100644
--- a/mailbox/jpa/src/main/resources/james-database.properties
+++ b/mailbox/jpa/src/main/resources/james-database.properties
@@ -44,3 +44,8 @@ openjpa.streaming=false
 # datasource.validationQueryTimeoutSec=2
 # This is different per database. See 
https://stackoverflow.com/questions/10684244/dbcp-validationquery-for-different-databases#10684260
 # datasource.validationQuery=select 1
+
+# Attachment storage
+# *WARNING*: Is not made to store large binary content (no more than 1 GB of 
data)
+# Optional, Allowed values are: true, false, defaults to false
+# attachmentStorage.enabled=false
\ No newline at end of file
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 6f4510e852..fdc777d31f 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
@@ -20,6 +20,7 @@ package org.apache.james.mailbox.jpa;
 
 import javax.persistence.EntityManagerFactory;
 
+import org.apache.james.backends.jpa.JPAConfiguration;
 import org.apache.james.backends.jpa.JpaTestCluster;
 import org.apache.james.events.EventBusTestFixture;
 import org.apache.james.events.InVMEventBus;
@@ -31,7 +32,6 @@ import org.apache.james.mailbox.jpa.mail.JPAModSeqProvider;
 import org.apache.james.mailbox.jpa.mail.JPAUidProvider;
 import org.apache.james.mailbox.store.StoreSubscriptionManager;
 import org.apache.james.metrics.tests.RecordingMetricFactory;
-import org.apache.james.modules.data.JPAConfiguration;
 
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
diff --git 
a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerProvider.java
 
b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerProvider.java
index afe26b1119..770f17dd7e 100644
--- 
a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerProvider.java
+++ 
b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/JpaMailboxManagerProvider.java
@@ -23,6 +23,7 @@ import java.time.Instant;
 
 import javax.persistence.EntityManagerFactory;
 
+import org.apache.james.backends.jpa.JPAConfiguration;
 import org.apache.james.backends.jpa.JpaTestCluster;
 import org.apache.james.events.EventBusTestFixture;
 import org.apache.james.events.InVMEventBus;
@@ -46,7 +47,6 @@ import org.apache.james.mailbox.store.quota.QuotaComponents;
 import org.apache.james.mailbox.store.search.MessageSearchIndex;
 import org.apache.james.mailbox.store.search.SimpleMessageSearchIndex;
 import org.apache.james.metrics.tests.RecordingMetricFactory;
-import org.apache.james.modules.data.JPAConfiguration;
 import org.apache.james.utils.UpdatableTickingClock;
 
 public class JpaMailboxManagerProvider {
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 9388bd60c1..c5e054b3bd 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
@@ -25,6 +25,7 @@ import java.util.concurrent.ThreadLocalRandom;
 import javax.persistence.EntityManagerFactory;
 
 import org.apache.commons.lang3.NotImplementedException;
+import org.apache.james.backends.jpa.JPAConfiguration;
 import org.apache.james.backends.jpa.JpaTestCluster;
 import org.apache.james.mailbox.MessageUid;
 import org.apache.james.mailbox.ModSeq;
@@ -39,7 +40,6 @@ import org.apache.james.mailbox.store.mail.MessageIdMapper;
 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.MapperProvider;
-import org.apache.james.modules.data.JPAConfiguration;
 
 import com.google.common.collect.ImmutableList;
 
diff --git 
a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/task/JPARecomputeCurrentQuotasServiceTest.java
 
b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/task/JPARecomputeCurrentQuotasServiceTest.java
index f044028ac3..38fad55fac 100644
--- 
a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/task/JPARecomputeCurrentQuotasServiceTest.java
+++ 
b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/task/JPARecomputeCurrentQuotasServiceTest.java
@@ -22,6 +22,7 @@ package org.apache.james.mailbox.jpa.mail.task;
 import javax.persistence.EntityManagerFactory;
 
 import org.apache.commons.configuration2.BaseHierarchicalConfiguration;
+import org.apache.james.backends.jpa.JPAConfiguration;
 import org.apache.james.backends.jpa.JpaTestCluster;
 import org.apache.james.domainlist.api.DomainList;
 import org.apache.james.domainlist.jpa.model.JPADomain;
@@ -41,7 +42,6 @@ import 
org.apache.james.mailbox.quota.task.RecomputeMailboxCurrentQuotasService;
 import org.apache.james.mailbox.store.StoreMailboxManager;
 import org.apache.james.mailbox.store.quota.CurrentQuotaCalculator;
 import org.apache.james.mailbox.store.quota.DefaultUserQuotaRootResolver;
-import org.apache.james.modules.data.JPAConfiguration;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.jpa.JPAUsersRepository;
 import org.apache.james.user.jpa.model.JPAUser;
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 5c40f0db23..71aab4ca1a 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
@@ -23,6 +23,7 @@ import java.time.Instant;
 
 import javax.persistence.EntityManagerFactory;
 
+import org.apache.james.backends.jpa.JPAConfiguration;
 import org.apache.james.backends.jpa.JpaTestCluster;
 import org.apache.james.core.quota.QuotaCountLimit;
 import org.apache.james.core.quota.QuotaSizeLimit;
@@ -64,7 +65,6 @@ import 
org.apache.james.mailbox.store.search.MessageSearchIndex;
 import org.apache.james.mailbox.store.search.SimpleMessageSearchIndex;
 import org.apache.james.metrics.logger.DefaultMetricFactory;
 import org.apache.james.metrics.tests.RecordingMetricFactory;
-import org.apache.james.modules.data.JPAConfiguration;
 import org.apache.james.mpt.api.ImapFeatures;
 import org.apache.james.mpt.api.ImapFeatures.Feature;
 import org.apache.james.mpt.host.JamesImapHostSystem;
diff --git 
a/server/apps/jpa-app/sample-configuration/james-database-mariadb.properties 
b/server/apps/jpa-app/sample-configuration/james-database-mariadb.properties
index 52ca423635..9b5afa0be2 100644
--- a/server/apps/jpa-app/sample-configuration/james-database-mariadb.properties
+++ b/server/apps/jpa-app/sample-configuration/james-database-mariadb.properties
@@ -44,6 +44,6 @@ openjpa.streaming=false
 # datasource.maxTotal=8
 
 # Attachment storage
-# *WARNING*: Is not made to store large binary content
+# *WARNING*: Is not made to store large binary content (no more than 1 GB of 
data)
 # Optional, Allowed values are: true, false, defaults to false
 # attachmentStorage.enabled=false
diff --git a/server/apps/jpa-app/sample-configuration/james-database.properties 
b/server/apps/jpa-app/sample-configuration/james-database.properties
index 1336fe5a1c..6aecddbbdd 100644
--- a/server/apps/jpa-app/sample-configuration/james-database.properties
+++ b/server/apps/jpa-app/sample-configuration/james-database.properties
@@ -48,6 +48,6 @@ openjpa.streaming=false
 # datasource.maxTotal=8
 
 # Attachment storage
-# *WARNING*: Is not made to store large binary content
+# *WARNING*: Is not made to store large binary content (no more than 1 GB of 
data)
 # Optional, Allowed values are: true, false, defaults to false
 # attachmentStorage.enabled=false
diff --git 
a/server/apps/jpa-smtp-app/sample-configuration/james-database-mariadb.properties
 
b/server/apps/jpa-smtp-app/sample-configuration/james-database-mariadb.properties
index 52ca423635..9b5afa0be2 100644
--- 
a/server/apps/jpa-smtp-app/sample-configuration/james-database-mariadb.properties
+++ 
b/server/apps/jpa-smtp-app/sample-configuration/james-database-mariadb.properties
@@ -44,6 +44,6 @@ openjpa.streaming=false
 # datasource.maxTotal=8
 
 # Attachment storage
-# *WARNING*: Is not made to store large binary content
+# *WARNING*: Is not made to store large binary content (no more than 1 GB of 
data)
 # Optional, Allowed values are: true, false, defaults to false
 # attachmentStorage.enabled=false
diff --git 
a/server/apps/jpa-smtp-app/sample-configuration/james-database.properties 
b/server/apps/jpa-smtp-app/sample-configuration/james-database.properties
index 1336fe5a1c..6aecddbbdd 100644
--- a/server/apps/jpa-smtp-app/sample-configuration/james-database.properties
+++ b/server/apps/jpa-smtp-app/sample-configuration/james-database.properties
@@ -48,6 +48,6 @@ openjpa.streaming=false
 # datasource.maxTotal=8
 
 # Attachment storage
-# *WARNING*: Is not made to store large binary content
+# *WARNING*: Is not made to store large binary content (no more than 1 GB of 
data)
 # Optional, Allowed values are: true, false, defaults to false
 # attachmentStorage.enabled=false
diff --git 
a/server/apps/jpa-smtp-app/src/test/java/org/apache/james/mariadb/TestJPAMariaDBConfigurationModule.java
 
b/server/apps/jpa-smtp-app/src/test/java/org/apache/james/mariadb/TestJPAMariaDBConfigurationModule.java
index bc7d7a7503..22491585a2 100644
--- 
a/server/apps/jpa-smtp-app/src/test/java/org/apache/james/mariadb/TestJPAMariaDBConfigurationModule.java
+++ 
b/server/apps/jpa-smtp-app/src/test/java/org/apache/james/mariadb/TestJPAMariaDBConfigurationModule.java
@@ -21,7 +21,7 @@ package org.apache.james.mariadb;
 
 import javax.inject.Singleton;
 
-import org.apache.james.modules.data.JPAConfiguration;
+import org.apache.james.backends.jpa.JPAConfiguration;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Provides;
diff --git 
a/server/apps/spring-app/src/main/resources/james-database.properties 
b/server/apps/spring-app/src/main/resources/james-database.properties
index 5dc74806b1..6d5ab15ca2 100644
--- a/server/apps/spring-app/src/main/resources/james-database.properties
+++ b/server/apps/spring-app/src/main/resources/james-database.properties
@@ -46,7 +46,7 @@ openjpa.streaming=false
 # datasource.validationQuery=select 1
 
 # Attachment storage
-# *WARNING*: Is not made to store large binary content
+# *WARNING*: Is not made to store large binary content (no more than 1 GB of 
data)
 # Optional, Allowed values are: true, false, defaults to false
 # attachmentStorage.enabled=false
 
diff --git 
a/server/container/guice/jpa-common/src/main/java/org/apache/james/modules/data/JPAEntityManagerModule.java
 
b/server/container/guice/jpa-common/src/main/java/org/apache/james/modules/data/JPAEntityManagerModule.java
index 758e3aa87e..19432d372c 100644
--- 
a/server/container/guice/jpa-common/src/main/java/org/apache/james/modules/data/JPAEntityManagerModule.java
+++ 
b/server/container/guice/jpa-common/src/main/java/org/apache/james/modules/data/JPAEntityManagerModule.java
@@ -32,6 +32,7 @@ import javax.persistence.Persistence;
 
 import org.apache.commons.configuration2.Configuration;
 import org.apache.commons.configuration2.ex.ConfigurationException;
+import org.apache.james.backends.jpa.JPAConfiguration;
 import org.apache.james.utils.PropertiesProvider;
 
 import com.google.common.base.Joiner;
diff --git 
a/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModule.java
 
b/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModule.java
index 3ba1c7bff9..957cddc27d 100644
--- 
a/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModule.java
+++ 
b/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModule.java
@@ -21,7 +21,7 @@ package org.apache.james;
 
 import javax.inject.Singleton;
 
-import org.apache.james.modules.data.JPAConfiguration;
+import org.apache.james.backends.jpa.JPAConfiguration;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Provides;
diff --git 
a/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModuleWithSqlValidation.java
 
b/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModuleWithSqlValidation.java
index 9013fef579..1cf89b519b 100644
--- 
a/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModuleWithSqlValidation.java
+++ 
b/server/container/guice/jpa-common/src/test/java/org/apache/james/TestJPAConfigurationModuleWithSqlValidation.java
@@ -26,7 +26,7 @@ import java.sql.SQLException;
 
 import javax.inject.Singleton;
 
-import org.apache.james.modules.data.JPAConfiguration;
+import org.apache.james.backends.jpa.JPAConfiguration;
 
 import com.google.inject.AbstractModule;
 import com.google.inject.Provides;
diff --git a/src/site/xdoc/server/config-system.xml 
b/src/site/xdoc/server/config-system.xml
index 3e33f17c0f..68db2898b7 100644
--- a/src/site/xdoc/server/config-system.xml
+++ b/src/site/xdoc/server/config-system.xml
@@ -86,7 +86,7 @@
                     <dd>Supported adapters are: DB2, DERBY, H2, HSQL, 
INFORMIX, MYSQL, ORACLE, POSTGRESQL, SQL_SERVER, SYBASE .</dd>
                     <dt><strong>openjpa.streaming</strong></dt>
                     <dd>true or false - Use streaming for Blobs. This is only 
supported on a limited set of databases atm. You
-                        should check if its supported by your DB before enable 
it. See <a 
href="http://openjpa.apache.org/builds/latest/docs/manual/ref_guide_mapping_jpa.html";>http://openjpa.apache.org/builds/latest/docs/manual/ref_guide_mapping_jpa.html</a>
 (#7.11. LOB Streaming).</dd>
+                        should check if it's supported by your DB before 
enable it. See <a 
href="http://openjpa.apache.org/builds/latest/docs/manual/ref_guide_mapping_jpa.html";>http://openjpa.apache.org/builds/latest/docs/manual/ref_guide_mapping_jpa.html</a>
 (#7.11. LOB Streaming).</dd>
                 </dl>
 
                 <p>NOTE: all<code>openjpa.*</code> properties will be passed 
to OpenJPA library as configuration See <a 
href="https://openjpa.apache.org/builds/3.2.2/apache-openjpa/docs/ref_guide_conf_openjpa.html";>https://openjpa.apache.org/builds/3.2.2/apache-openjpa/docs/ref_guide_conf_openjpa.html</a>
 for a complete list </p>
@@ -110,8 +110,8 @@
                 <p>Attachment storage configuration</p>
                 <dl>
                     <dt><strong>attachmentStorage.enabled</strong></dt>
-                    <dd>(Guice only). The attachment storage configuration for 
JPA is used to enable the implementation of the attachment storage mechanism.
-                        *WARNING*: this configuration is not designed to store 
large binary content, as it is not optimized for this purpose.
+                    <dd>The attachment storage configuration for JPA is used 
to enable the implementation of the attachment storage mechanism.
+                        *WARNING*: this configuration is not designed to store 
large binary content (no more than 1 GB of data), as it is not optimized for 
this purpose.
                         Optional, Allowed values are: `true` or `false`, 
defaults to `false`</dd>
                 </dl>
             </subsection>


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

Reply via email to