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 bt...@apache.org on 2019/01/30 10:56:23 UTC

[6/8] james-project git commit: JAMES-2655 JPA RRT getMapping & getStoredMappings are duplicated

JAMES-2655 JPA RRT getMapping & getStoredMappings are duplicated

mapAddress can then call getStoredMappings directly


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/12bf59e2
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/12bf59e2
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/12bf59e2

Branch: refs/heads/master
Commit: 12bf59e261ac25bb6c435b249a37a79f080f0d3e
Parents: e839a78
Author: Benoit Tellier <bt...@linagora.com>
Authored: Wed Jan 30 11:58:17 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Wed Jan 30 17:55:18 2019 +0700

----------------------------------------------------------------------
 .../james/rrt/jpa/JPARecipientRewriteTable.java | 31 ++------------------
 1 file changed, 2 insertions(+), 29 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/12bf59e2/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java b/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
index 44795ed..2850539 100644
--- a/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
+++ b/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
@@ -76,44 +76,17 @@ public class JPARecipientRewriteTable extends AbstractRecipientRewriteTable {
 
     @Override
     protected Mappings mapAddress(String user, Domain domain) throws RecipientRewriteTableException {
-        Mappings userDomainMapping = getMapping(MappingSource.fromUser(user, domain));
+        Mappings userDomainMapping = getStoredMappings(MappingSource.fromUser(user, domain));
         if (userDomainMapping != null && !userDomainMapping.isEmpty()) {
             return userDomainMapping;
         }
-        Mappings domainMapping = getMapping(MappingSource.fromDomain(domain));
+        Mappings domainMapping = getStoredMappings(MappingSource.fromDomain(domain));
         if (domainMapping != null && !domainMapping.isEmpty()) {
             return domainMapping;
         }
         return MappingsImpl.empty();
     }
 
-    private Mappings getMapping(MappingSource mappingSource) throws RecipientRewriteTableException {
-        EntityManager entityManager = entityManagerFactory.createEntityManager();
-        final EntityTransaction transaction = entityManager.getTransaction();
-        try {
-            transaction.begin();
-            @SuppressWarnings("unchecked")
-            List<JPARecipientRewrite> virtualUsers = entityManager
-                .createNamedQuery("selectUserDomainMapping")
-                .setParameter("user", mappingSource.getFixedUser())
-                .setParameter("domain", mappingSource.getFixedDomain())
-                .getResultList();
-            transaction.commit();
-            if (virtualUsers.size() > 0) {
-                return MappingsImpl.fromRawString(virtualUsers.get(0).getTargetAddress());
-            }
-            return MappingsImpl.empty();
-        } catch (PersistenceException e) {
-            LOGGER.debug("Failed to find mapping for source={}", mappingSource, e);
-            if (transaction.isActive()) {
-                transaction.rollback();
-            }
-            throw new RecipientRewriteTableException("Error while retrieve mappings", e);
-        } finally {
-            entityManager.close();
-        }
-    }
-
     @Override
     public Mappings getStoredMappings(MappingSource source) throws RecipientRewriteTableException {
         EntityManager entityManager = entityManagerFactory.createEntityManager();


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