You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by th...@apache.org on 2014/04/30 11:15:03 UTC

[1/3] git commit: DELTASPIKE-586 Forward compatibility for javax.interceptor.InvocationContext

Repository: deltaspike
Updated Branches:
  refs/heads/master 842933b7b -> 356f8f7d9


DELTASPIKE-586 Forward compatibility for javax.interceptor.InvocationContext


Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/28634675
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/28634675
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/28634675

Branch: refs/heads/master
Commit: 286346753cab892234c05d2f720736d814149762
Parents: 842933b
Author: Thomas Hug <Th...@ctp.com>
Authored: Wed Apr 30 09:43:24 2014 +0200
Committer: Thomas Hug <Th...@ctp.com>
Committed: Wed Apr 30 09:43:24 2014 +0200

----------------------------------------------------------------------
 .../deltaspike/data/impl/tx/InvocationContextWrapper.java     | 7 +++++++
 1 file changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltaspike/blob/28634675/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/tx/InvocationContextWrapper.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/tx/InvocationContextWrapper.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/tx/InvocationContextWrapper.java
index e8692cb..4cee509 100644
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/tx/InvocationContextWrapper.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/tx/InvocationContextWrapper.java
@@ -18,6 +18,7 @@
  */
 package org.apache.deltaspike.data.impl.tx;
 
+import java.lang.reflect.Constructor;
 import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.Map;
@@ -36,6 +37,12 @@ public abstract class InvocationContextWrapper implements InvocationContext
         this.context = context;
     }
 
+    // @Override - forward compatibility to interceptors API 1.2
+    public Constructor<?> getConstructor()
+    {
+        return null;
+    }
+
     @Override
     public Map<String, Object> getContextData()
     {


[2/3] git commit: DELTASPIKE-578 Move initialization before normal-scope flag

Posted by th...@apache.org.
DELTASPIKE-578 Move initialization before normal-scope flag


Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/b68774d4
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/b68774d4
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/b68774d4

Branch: refs/heads/master
Commit: b68774d4b8975f6ac44c70812b465bcb88598c93
Parents: 2863467
Author: Thomas Hug <Th...@ctp.com>
Authored: Wed Apr 30 10:32:44 2014 +0200
Committer: Thomas Hug <Th...@ctp.com>
Committed: Wed Apr 30 10:32:44 2014 +0200

----------------------------------------------------------------------
 .../apache/deltaspike/data/impl/meta/RepositoryComponent.java    | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltaspike/blob/b68774d4/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/meta/RepositoryComponent.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/meta/RepositoryComponent.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/meta/RepositoryComponent.java
index 25f9cc4..edbf009 100644
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/meta/RepositoryComponent.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/meta/RepositoryComponent.java
@@ -90,7 +90,7 @@ public class RepositoryComponent
         {
             return;
         }
-
+        initialize();
         if (entityManagerResolver != null && beanManager != null)
         {
             final Set<Bean<?>> beans = beanManager.getBeans(entityManagerResolver);
@@ -101,8 +101,6 @@ public class RepositoryComponent
         {
             entityManagerResolverIsNormalScope = false;
         }
-
-        initialize();
     }
 
     public boolean isEntityManagerResolverIsNormalScope()


[3/3] git commit: DELTASPIKE-581 Handle count queries without where-clause

Posted by th...@apache.org.
DELTASPIKE-581 Handle count queries without where-clause


Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/356f8f7d
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/356f8f7d
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/356f8f7d

Branch: refs/heads/master
Commit: 356f8f7d9f4ddf996b705e6167e5b725dbdcf881
Parents: b68774d
Author: Thomas Hug <Th...@ctp.com>
Authored: Wed Apr 30 10:55:17 2014 +0200
Committer: Thomas Hug <Th...@ctp.com>
Committed: Wed Apr 30 10:55:17 2014 +0200

----------------------------------------------------------------------
 .../postprocessor/CountQueryPostProcessor.java       | 14 +++++++++++---
 .../apache/deltaspike/data/impl/util/QueryUtils.java | 10 ++++++++++
 .../apache/deltaspike/data/impl/QueryResultTest.java | 15 +++++++++++++++
 .../data/test/service/SimpleRepository.java          |  3 +++
 4 files changed, 39 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltaspike/blob/356f8f7d/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/postprocessor/CountQueryPostProcessor.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/postprocessor/CountQueryPostProcessor.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/postprocessor/CountQueryPostProcessor.java
index c34e269..118a583 100644
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/postprocessor/CountQueryPostProcessor.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/postprocessor/CountQueryPostProcessor.java
@@ -18,6 +18,9 @@
  */
 package org.apache.deltaspike.data.impl.builder.postprocessor;
 
+import static org.apache.deltaspike.data.impl.util.QueryUtils.isNotEmpty;
+import static org.apache.deltaspike.data.impl.util.QueryUtils.nullSafeValue;
+
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -26,7 +29,6 @@ import javax.persistence.Query;
 import org.apache.deltaspike.data.impl.handler.CdiQueryInvocationContext;
 import org.apache.deltaspike.data.impl.handler.JpaQueryPostProcessor;
 import org.apache.deltaspike.data.impl.param.Parameters;
-import org.apache.deltaspike.data.impl.util.QueryUtils;
 import org.apache.deltaspike.data.impl.util.jpa.QueryStringExtractorFactory;
 
 public class CountQueryPostProcessor implements JpaQueryPostProcessor
@@ -51,7 +53,7 @@ public class CountQueryPostProcessor implements JpaQueryPostProcessor
 
     private String getQueryString(CdiQueryInvocationContext context, Query query)
     {
-        if (QueryUtils.isNotEmpty(context.getQueryString()))
+        if (isNotEmpty(context.getQueryString()))
         {
             return context.getQueryString();
         }
@@ -82,7 +84,13 @@ public class CountQueryPostProcessor implements JpaQueryPostProcessor
 
         private String rewrite()
         {
-            return "select count(" + (select != null ? select : entityName) + ") " + from + where;
+            return new StringBuilder()
+                    .append("select count(")
+                        .append(nullSafeValue(select, entityName))
+                    .append(") ")
+                    .append(from)
+                    .append(nullSafeValue(where))
+                    .toString();
         }
 
         private void extractEntityName()

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/356f8f7d/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/QueryUtils.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/QueryUtils.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/QueryUtils.java
index ad96a28..adea94d 100644
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/QueryUtils.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/QueryUtils.java
@@ -73,6 +73,16 @@ public final class QueryUtils
         return value != null && value instanceof String;
     }
 
+    public static String nullSafeValue(String value)
+    {
+        return nullSafeValue(value, null);
+    }
+
+    public static String nullSafeValue(String value, String fallback)
+    {
+        return value != null ? value : (fallback != null ? fallback : "");
+    }
+
     public static boolean contains(Class<?> clazz, Method method)
     {
         return extract(clazz, method) != null;

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/356f8f7d/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/QueryResultTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/QueryResultTest.java b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/QueryResultTest.java
index 55db66f..5e13512 100644
--- a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/QueryResultTest.java
+++ b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/QueryResultTest.java
@@ -283,6 +283,21 @@ public class QueryResultTest extends TransactionalTestCase
     }
 
     @Test
+    public void should_count_without_whereclause()
+    {
+        // given
+        final String name = "testCountWithoutWhereclause";
+        builder.createSimple(name);
+        builder.createSimple(name);
+
+        // when
+        long result = repo.queryAll().count();
+
+        // then
+        assertEquals(2L, result);
+    }
+
+    @Test
     public void should_query_optional()
     {
         // given

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/356f8f7d/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepository.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepository.java b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepository.java
index f3d1d07..45301ea 100755
--- a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepository.java
+++ b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepository.java
@@ -89,6 +89,9 @@ public abstract class SimpleRepository extends AbstractEntityRepository<Simple,
     @Query(named = Simple.BY_NAME_LIKE)
     public abstract QueryResult<Simple> queryResultWithNamed(String name);
 
+    @Query("select s from Simple s")
+    public abstract QueryResult<Simple> queryAll();
+
     public abstract QueryResult<Simple> findByName(String name);
 
     @Override