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 2020/07/07 16:02:39 UTC
[james-project] 01/05: [REFACTORING] Relocate LDAP retrying logic
from server-utils into data-ldap
This is an automated email from the ASF dual-hosted git repository.
rouazana pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 060413635d4d5044fca8eaf4dad833f2f1fbdfd8
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue Jul 7 10:58:02 2020 +0700
[REFACTORING] Relocate LDAP retrying logic from server-utils into data-ldap
---
.../org/apache/james/user/ldap/ReadOnlyLDAPUsersDAO.java | 6 +++---
.../james/user/ldap}/retry/DoublingRetrySchedule.java | 4 ++--
.../james/user/ldap}/retry/ExceptionRetryHandler.java | 10 +++++-----
.../org/apache/james/user/ldap}/retry/FaultyService.java | 2 +-
.../james/user/ldap}/retry/api/ExceptionRetryingProxy.java | 2 +-
.../org/apache/james/user/ldap}/retry/api/RetryHandler.java | 2 +-
.../apache/james/user/ldap}/retry/api/RetrySchedule.java | 2 +-
.../james/user/ldap}/retry/naming/LoggingRetryHandler.java | 6 +++---
.../ldap}/retry/naming/NamingExceptionRetryHandler.java | 10 +++++-----
.../james/user/ldap}/retry/naming/RetryingContext.java | 11 ++++++-----
.../ldap}/retry/naming/directory/RetryingDirContext.java | 13 +++++++------
.../user/ldap}/retry/naming/ldap/RetryingLdapContext.java | 13 +++++++------
.../james/user/ldap}/retry/DoublingRetryScheduleTest.java | 4 ++--
.../james/user/ldap}/retry/ExceptionRetryHandlerTest.java | 8 ++++----
.../ldap}/retry/naming/NamingExceptionRetryHandlerTest.java | 8 ++++----
15 files changed, 52 insertions(+), 49 deletions(-)
diff --git a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPUsersDAO.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPUsersDAO.java
index e618774..f85b3f6 100644
--- a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPUsersDAO.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyLDAPUsersDAO.java
@@ -50,10 +50,10 @@ import org.apache.james.lifecycle.api.Configurable;
import org.apache.james.user.api.UsersRepositoryException;
import org.apache.james.user.api.model.User;
import org.apache.james.user.ldap.api.LdapConstants;
+import org.apache.james.user.ldap.retry.DoublingRetrySchedule;
+import org.apache.james.user.ldap.retry.api.RetrySchedule;
+import org.apache.james.user.ldap.retry.naming.ldap.RetryingLdapContext;
import org.apache.james.user.lib.UsersDAO;
-import org.apache.james.util.retry.DoublingRetrySchedule;
-import org.apache.james.util.retry.api.RetrySchedule;
-import org.apache.james.util.retry.naming.ldap.RetryingLdapContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/server/container/util/src/main/java/org/apache/james/util/retry/DoublingRetrySchedule.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/DoublingRetrySchedule.java
similarity index 96%
rename from server/container/util/src/main/java/org/apache/james/util/retry/DoublingRetrySchedule.java
rename to server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/DoublingRetrySchedule.java
index 2c8d4fe..f9e435e 100644
--- a/server/container/util/src/main/java/org/apache/james/util/retry/DoublingRetrySchedule.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/DoublingRetrySchedule.java
@@ -18,9 +18,9 @@
*
*/
-package org.apache.james.util.retry;
+package org.apache.james.user.ldap.retry;
-import org.apache.james.util.retry.api.RetrySchedule;
+import org.apache.james.user.ldap.retry.api.RetrySchedule;
/**
diff --git a/server/container/util/src/main/java/org/apache/james/util/retry/ExceptionRetryHandler.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/ExceptionRetryHandler.java
similarity index 93%
rename from server/container/util/src/main/java/org/apache/james/util/retry/ExceptionRetryHandler.java
rename to server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/ExceptionRetryHandler.java
index 1b4f53b..218048b 100644
--- a/server/container/util/src/main/java/org/apache/james/util/retry/ExceptionRetryHandler.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/ExceptionRetryHandler.java
@@ -18,11 +18,11 @@
*
*/
-package org.apache.james.util.retry;
+package org.apache.james.user.ldap.retry;
-import org.apache.james.util.retry.api.ExceptionRetryingProxy;
-import org.apache.james.util.retry.api.RetryHandler;
-import org.apache.james.util.retry.api.RetrySchedule;
+import org.apache.james.user.ldap.retry.api.ExceptionRetryingProxy;
+import org.apache.james.user.ldap.retry.api.RetryHandler;
+import org.apache.james.user.ldap.retry.api.RetrySchedule;
/**
* Abstract class <code>ExceptionRetryHandler</code> retries the behaviour defined in abstract method
@@ -36,7 +36,7 @@ import org.apache.james.util.retry.api.RetrySchedule;
* The method stubs required to perform the proxy call via <code>operation()</code> may be generated by many means,
* including explicit code, a <code>DynamicProxy</code> and compile time aspect injection.
*
- * @see org.apache.james.util.retry.naming.RetryingContext
+ * @see org.apache.james.user.ldap.retry.naming.RetryingContext
*/
public abstract class ExceptionRetryHandler implements RetryHandler {
diff --git a/server/container/util/src/main/java/org/apache/james/util/retry/FaultyService.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/FaultyService.java
similarity index 96%
rename from server/container/util/src/main/java/org/apache/james/util/retry/FaultyService.java
rename to server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/FaultyService.java
index f8c85e6..b7b32b5 100644
--- a/server/container/util/src/main/java/org/apache/james/util/retry/FaultyService.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/FaultyService.java
@@ -17,7 +17,7 @@
* under the License. *
****************************************************************/
-package org.apache.james.util.retry;
+package org.apache.james.user.ldap.retry;
public interface FaultyService {
String faultyService();
diff --git a/server/container/util/src/main/java/org/apache/james/util/retry/api/ExceptionRetryingProxy.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/api/ExceptionRetryingProxy.java
similarity index 97%
rename from server/container/util/src/main/java/org/apache/james/util/retry/api/ExceptionRetryingProxy.java
rename to server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/api/ExceptionRetryingProxy.java
index fd67316..fb41fe9 100644
--- a/server/container/util/src/main/java/org/apache/james/util/retry/api/ExceptionRetryingProxy.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/api/ExceptionRetryingProxy.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.james.util.retry.api;
+package org.apache.james.user.ldap.retry.api;
/**
diff --git a/server/container/util/src/main/java/org/apache/james/util/retry/api/RetryHandler.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/api/RetryHandler.java
similarity index 97%
rename from server/container/util/src/main/java/org/apache/james/util/retry/api/RetryHandler.java
rename to server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/api/RetryHandler.java
index e67496d..77f7e56 100644
--- a/server/container/util/src/main/java/org/apache/james/util/retry/api/RetryHandler.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/api/RetryHandler.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.james.util.retry.api;
+package org.apache.james.user.ldap.retry.api;
/**
diff --git a/server/container/util/src/main/java/org/apache/james/util/retry/api/RetrySchedule.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/api/RetrySchedule.java
similarity index 95%
rename from server/container/util/src/main/java/org/apache/james/util/retry/api/RetrySchedule.java
rename to server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/api/RetrySchedule.java
index 5ad6c83..6607925 100644
--- a/server/container/util/src/main/java/org/apache/james/util/retry/api/RetrySchedule.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/api/RetrySchedule.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.james.util.retry.api;
+package org.apache.james.user.ldap.retry.api;
/**
* <code>RetrySchedule</code>
diff --git a/server/container/util/src/main/java/org/apache/james/util/retry/naming/LoggingRetryHandler.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/LoggingRetryHandler.java
similarity index 91%
rename from server/container/util/src/main/java/org/apache/james/util/retry/naming/LoggingRetryHandler.java
rename to server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/LoggingRetryHandler.java
index 2c8ff64..e9af6f4 100644
--- a/server/container/util/src/main/java/org/apache/james/util/retry/naming/LoggingRetryHandler.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/LoggingRetryHandler.java
@@ -18,12 +18,12 @@
*
*/
-package org.apache.james.util.retry.naming;
+package org.apache.james.user.ldap.retry.naming;
import javax.naming.NamingException;
-import org.apache.james.util.retry.api.ExceptionRetryingProxy;
-import org.apache.james.util.retry.api.RetrySchedule;
+import org.apache.james.user.ldap.retry.api.ExceptionRetryingProxy;
+import org.apache.james.user.ldap.retry.api.RetrySchedule;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/server/container/util/src/main/java/org/apache/james/util/retry/naming/NamingExceptionRetryHandler.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/NamingExceptionRetryHandler.java
similarity index 87%
rename from server/container/util/src/main/java/org/apache/james/util/retry/naming/NamingExceptionRetryHandler.java
rename to server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/NamingExceptionRetryHandler.java
index 5395b43..368b5d2 100644
--- a/server/container/util/src/main/java/org/apache/james/util/retry/naming/NamingExceptionRetryHandler.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/NamingExceptionRetryHandler.java
@@ -18,20 +18,20 @@
*
*/
-package org.apache.james.util.retry.naming;
+package org.apache.james.user.ldap.retry.naming;
import javax.naming.NamingException;
-import org.apache.james.util.retry.ExceptionRetryHandler;
-import org.apache.james.util.retry.api.ExceptionRetryingProxy;
-import org.apache.james.util.retry.api.RetrySchedule;
+import org.apache.james.user.ldap.retry.ExceptionRetryHandler;
+import org.apache.james.user.ldap.retry.api.ExceptionRetryingProxy;
+import org.apache.james.user.ldap.retry.api.RetrySchedule;
/**
* Abstract class <code>NamingExceptionRetryHandler</code> narrows the set of Exceptions throwable
* by <code>perform</code> to <code>NamingException</code> and its subclasses.
* <p><code>RuntimeException</code>s are <strong>not</strong> retried.
*
- * @see org.apache.james.user.ldap.ExceptionRetryHandler
+ * @see org.apache.james.user.ldap.retry.ExceptionRetryHandler
*
*/
public abstract class NamingExceptionRetryHandler extends ExceptionRetryHandler {
diff --git a/server/container/util/src/main/java/org/apache/james/util/retry/naming/RetryingContext.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/RetryingContext.java
similarity index 97%
rename from server/container/util/src/main/java/org/apache/james/util/retry/naming/RetryingContext.java
rename to server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/RetryingContext.java
index 37fc065..65bbd1a 100644
--- a/server/container/util/src/main/java/org/apache/james/util/retry/naming/RetryingContext.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/RetryingContext.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.james.util.retry.naming;
+package org.apache.james.user.ldap.retry.naming;
import java.util.Hashtable;
@@ -33,15 +33,16 @@ import javax.naming.NamingException;
import javax.naming.NoInitialContextException;
import javax.naming.ServiceUnavailableException;
-import org.apache.james.util.retry.api.ExceptionRetryingProxy;
-import org.apache.james.util.retry.api.RetrySchedule;
+import org.apache.james.user.ldap.retry.ExceptionRetryHandler;
+import org.apache.james.user.ldap.retry.api.ExceptionRetryingProxy;
+import org.apache.james.user.ldap.retry.api.RetrySchedule;
/**
* <code>RetryingContext</code> retries the methods defined by <code>javax.naming.Context</code>
* according to the specified schedule.
*
- * @see org.apache.james.util.retry.ExceptionRetryHandler
- * @see org.apache.james.util.retry.api.ExceptionRetryingProxy
+ * @see ExceptionRetryHandler
+ * @see org.apache.james.user.ldap.retry.api.ExceptionRetryingProxy
* @see javax.naming.Context
*/
public abstract class RetryingContext implements Context, ExceptionRetryingProxy {
diff --git a/server/container/util/src/main/java/org/apache/james/util/retry/naming/directory/RetryingDirContext.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/directory/RetryingDirContext.java
similarity index 97%
rename from server/container/util/src/main/java/org/apache/james/util/retry/naming/directory/RetryingDirContext.java
rename to server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/directory/RetryingDirContext.java
index d630a8c..72c1679 100644
--- a/server/container/util/src/main/java/org/apache/james/util/retry/naming/directory/RetryingDirContext.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/directory/RetryingDirContext.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.james.util.retry.naming.directory;
+package org.apache.james.user.ldap.retry.naming.directory;
import javax.naming.Context;
import javax.naming.Name;
@@ -30,16 +30,17 @@ import javax.naming.directory.ModificationItem;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
-import org.apache.james.util.retry.api.RetrySchedule;
-import org.apache.james.util.retry.naming.LoggingRetryHandler;
-import org.apache.james.util.retry.naming.RetryingContext;
+import org.apache.james.user.ldap.retry.ExceptionRetryHandler;
+import org.apache.james.user.ldap.retry.api.RetrySchedule;
+import org.apache.james.user.ldap.retry.naming.LoggingRetryHandler;
+import org.apache.james.user.ldap.retry.naming.RetryingContext;
/**
* <code>RetryingDirContext</code> retries the methods defined by <code>javax.naming.directory.DirContext</code>
* according to the specified schedule.
*
- * @see org.apache.james.util.retry.ExceptionRetryHandler
- * @see org.apache.james.util.retry.api.ExceptionRetryingProxy
+ * @see ExceptionRetryHandler
+ * @see org.apache.james.user.ldap.retry.api.ExceptionRetryingProxy
* @see javax.naming.directory.DirContext
*/
public abstract class RetryingDirContext extends RetryingContext implements DirContext {
diff --git a/server/container/util/src/main/java/org/apache/james/util/retry/naming/ldap/RetryingLdapContext.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/ldap/RetryingLdapContext.java
similarity index 91%
rename from server/container/util/src/main/java/org/apache/james/util/retry/naming/ldap/RetryingLdapContext.java
rename to server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/ldap/RetryingLdapContext.java
index c144132..0355c09 100644
--- a/server/container/util/src/main/java/org/apache/james/util/retry/naming/ldap/RetryingLdapContext.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/retry/naming/ldap/RetryingLdapContext.java
@@ -18,7 +18,7 @@
*
*/
-package org.apache.james.util.retry.naming.ldap;
+package org.apache.james.user.ldap.retry.naming.ldap;
import javax.naming.Context;
import javax.naming.NamingException;
@@ -27,16 +27,17 @@ import javax.naming.ldap.ExtendedRequest;
import javax.naming.ldap.ExtendedResponse;
import javax.naming.ldap.LdapContext;
-import org.apache.james.util.retry.api.RetrySchedule;
-import org.apache.james.util.retry.naming.LoggingRetryHandler;
-import org.apache.james.util.retry.naming.directory.RetryingDirContext;
+import org.apache.james.user.ldap.retry.ExceptionRetryHandler;
+import org.apache.james.user.ldap.retry.api.RetrySchedule;
+import org.apache.james.user.ldap.retry.naming.LoggingRetryHandler;
+import org.apache.james.user.ldap.retry.naming.directory.RetryingDirContext;
/**
* <code>RetryingLdapContext</code> retries the methods defined by <code>javax.naming.ldap.LdapContext</code>
* according to the specified schedule.
*
- * @see org.apache.james.util.retry.ExceptionRetryHandler
- * @see org.apache.james.util.retry.api.ExceptionRetryingProxy
+ * @see ExceptionRetryHandler
+ * @see org.apache.james.user.ldap.retry.api.ExceptionRetryingProxy
* @see javax.naming.ldap.LdapContext
*/
public abstract class RetryingLdapContext extends RetryingDirContext implements LdapContext {
diff --git a/server/container/util/src/test/java/org/apache/james/util/retry/DoublingRetryScheduleTest.java b/server/data/data-ldap/src/test/java/org/apache/james/user/ldap/retry/DoublingRetryScheduleTest.java
similarity index 97%
rename from server/container/util/src/test/java/org/apache/james/util/retry/DoublingRetryScheduleTest.java
rename to server/data/data-ldap/src/test/java/org/apache/james/user/ldap/retry/DoublingRetryScheduleTest.java
index 60f348f..7ec732c 100644
--- a/server/container/util/src/test/java/org/apache/james/util/retry/DoublingRetryScheduleTest.java
+++ b/server/data/data-ldap/src/test/java/org/apache/james/user/ldap/retry/DoublingRetryScheduleTest.java
@@ -17,11 +17,11 @@
* under the License.
*
*/
-package org.apache.james.util.retry;
+package org.apache.james.user.ldap.retry;
import static org.assertj.core.api.Assertions.assertThat;
-import org.apache.james.util.retry.api.RetrySchedule;
+import org.apache.james.user.ldap.retry.api.RetrySchedule;
import org.junit.jupiter.api.Test;
class DoublingRetryScheduleTest {
diff --git a/server/container/util/src/test/java/org/apache/james/util/retry/ExceptionRetryHandlerTest.java b/server/data/data-ldap/src/test/java/org/apache/james/user/ldap/retry/ExceptionRetryHandlerTest.java
similarity index 94%
rename from server/container/util/src/test/java/org/apache/james/util/retry/ExceptionRetryHandlerTest.java
rename to server/data/data-ldap/src/test/java/org/apache/james/user/ldap/retry/ExceptionRetryHandlerTest.java
index 6e96018..f3d921d 100644
--- a/server/container/util/src/test/java/org/apache/james/util/retry/ExceptionRetryHandlerTest.java
+++ b/server/data/data-ldap/src/test/java/org/apache/james/user/ldap/retry/ExceptionRetryHandlerTest.java
@@ -17,7 +17,7 @@
* under the License.
*
*/
-package org.apache.james.util.retry;
+package org.apache.james.user.ldap.retry;
import static org.assertj.core.api.Assertions.assertThat;
@@ -26,9 +26,9 @@ import java.util.List;
import javax.naming.Context;
-import org.apache.james.util.retry.api.ExceptionRetryingProxy;
-import org.apache.james.util.retry.api.RetryHandler;
-import org.apache.james.util.retry.api.RetrySchedule;
+import org.apache.james.user.ldap.retry.api.ExceptionRetryingProxy;
+import org.apache.james.user.ldap.retry.api.RetryHandler;
+import org.apache.james.user.ldap.retry.api.RetrySchedule;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/server/container/util/src/test/java/org/apache/james/util/retry/naming/NamingExceptionRetryHandlerTest.java b/server/data/data-ldap/src/test/java/org/apache/james/user/ldap/retry/naming/NamingExceptionRetryHandlerTest.java
similarity index 92%
rename from server/container/util/src/test/java/org/apache/james/util/retry/naming/NamingExceptionRetryHandlerTest.java
rename to server/data/data-ldap/src/test/java/org/apache/james/user/ldap/retry/naming/NamingExceptionRetryHandlerTest.java
index 60ef0ad..59c8fb8 100644
--- a/server/container/util/src/test/java/org/apache/james/util/retry/naming/NamingExceptionRetryHandlerTest.java
+++ b/server/data/data-ldap/src/test/java/org/apache/james/user/ldap/retry/naming/NamingExceptionRetryHandlerTest.java
@@ -17,16 +17,16 @@
* under the License.
*
*/
-package org.apache.james.util.retry.naming;
+package org.apache.james.user.ldap.retry.naming;
import static org.assertj.core.api.Assertions.assertThat;
import javax.naming.Context;
import javax.naming.NamingException;
-import org.apache.james.util.retry.api.ExceptionRetryingProxy;
-import org.apache.james.util.retry.api.RetryHandler;
-import org.apache.james.util.retry.api.RetrySchedule;
+import org.apache.james.user.ldap.retry.api.ExceptionRetryingProxy;
+import org.apache.james.user.ldap.retry.api.RetryHandler;
+import org.apache.james.user.ldap.retry.api.RetrySchedule;
import org.junit.jupiter.api.Test;
class NamingExceptionRetryHandlerTest {
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org