You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by ta...@apache.org on 2016/06/02 21:47:41 UTC
[3/3] deltaspike git commit: DELTASPIKE-1164 [perf] QueryBuilder can
be ApplicationScoped
DELTASPIKE-1164 [perf] QueryBuilder can be ApplicationScoped
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/70299c16
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/70299c16
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/70299c16
Branch: refs/heads/master
Commit: 70299c16d60eb47ced53d68a4dbc101326e910bb
Parents: d94bce7
Author: Thomas Andraschko <ta...@apache.org>
Authored: Thu Jun 2 23:41:39 2016 +0200
Committer: Thomas Andraschko <ta...@apache.org>
Committed: Thu Jun 2 23:41:39 2016 +0200
----------------------------------------------------------------------
.../data/impl/builder/AnnotatedQueryBuilder.java | 2 ++
.../data/impl/builder/DelegateQueryBuilder.java | 2 ++
.../deltaspike/data/impl/builder/MethodQueryBuilder.java | 2 ++
.../deltaspike/data/impl/builder/QueryBuilderFactory.java | 10 +++-------
.../apache/deltaspike/data/impl/handler/QueryHandler.java | 4 ++--
5 files changed, 11 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/70299c16/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/AnnotatedQueryBuilder.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/AnnotatedQueryBuilder.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/AnnotatedQueryBuilder.java
index 1d8b0d5..9e7cba2 100644
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/AnnotatedQueryBuilder.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/AnnotatedQueryBuilder.java
@@ -27,6 +27,7 @@ import org.apache.deltaspike.data.impl.util.jpa.QueryStringExtractorFactory;
import javax.persistence.EntityManager;
import java.lang.reflect.Method;
+import javax.enterprise.context.ApplicationScoped;
import static org.apache.deltaspike.core.util.StringUtils.isNotEmpty;
@@ -34,6 +35,7 @@ import static org.apache.deltaspike.core.util.StringUtils.isNotEmpty;
* Create the query based on method annotations.
*/
@QueryInvocation(MethodType.ANNOTATED)
+@ApplicationScoped
public class AnnotatedQueryBuilder extends QueryBuilder
{
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/70299c16/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/DelegateQueryBuilder.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/DelegateQueryBuilder.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/DelegateQueryBuilder.java
index 99ccf87..c97dc14 100644
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/DelegateQueryBuilder.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/DelegateQueryBuilder.java
@@ -21,6 +21,7 @@ package org.apache.deltaspike.data.impl.builder;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Set;
+import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.context.Dependent;
import javax.enterprise.context.spi.CreationalContext;
@@ -39,6 +40,7 @@ import org.apache.deltaspike.data.impl.util.bean.BeanDestroyable;
import org.apache.deltaspike.data.spi.DelegateQueryHandler;
@QueryInvocation(MethodType.DELEGATE)
+@ApplicationScoped
public class DelegateQueryBuilder extends QueryBuilder
{
@Inject
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/70299c16/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/MethodQueryBuilder.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/MethodQueryBuilder.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/MethodQueryBuilder.java
index 4aa8b30..850d97f 100644
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/MethodQueryBuilder.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/MethodQueryBuilder.java
@@ -18,6 +18,7 @@
*/
package org.apache.deltaspike.data.impl.builder;
+import javax.enterprise.context.ApplicationScoped;
import javax.persistence.Query;
import org.apache.deltaspike.data.impl.builder.part.QueryRoot;
@@ -27,6 +28,7 @@ import org.apache.deltaspike.data.impl.meta.QueryInvocation;
import org.apache.deltaspike.data.impl.param.Parameters;
@QueryInvocation(MethodType.PARSE)
+@ApplicationScoped
public class MethodQueryBuilder extends QueryBuilder
{
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/70299c16/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/QueryBuilderFactory.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/QueryBuilderFactory.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/QueryBuilderFactory.java
index be1eaa1..9c5625d 100644
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/QueryBuilderFactory.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/builder/QueryBuilderFactory.java
@@ -27,18 +27,15 @@ import java.util.Map;
import javax.enterprise.context.ApplicationScoped;
import org.apache.deltaspike.core.api.provider.BeanProvider;
-import org.apache.deltaspike.core.api.provider.DependentProvider;
import org.apache.deltaspike.data.api.QueryResult;
import org.apache.deltaspike.data.impl.handler.CdiQueryInvocationContext;
import org.apache.deltaspike.data.impl.meta.MethodType;
import org.apache.deltaspike.data.impl.meta.QueryInvocationLiteral;
import org.apache.deltaspike.data.impl.meta.RepositoryMethod;
-import org.apache.deltaspike.data.impl.util.bean.DependentProviderDestroyable;
@ApplicationScoped
public class QueryBuilderFactory
{
-
private static final Map<MethodType, QueryInvocationLiteral> LITERALS =
new HashMap<MethodType, QueryInvocationLiteral>()
{
@@ -53,14 +50,13 @@ public class QueryBuilderFactory
public QueryBuilder build(RepositoryMethod method, CdiQueryInvocationContext context)
{
- DependentProvider<QueryBuilder> builder = BeanProvider.getDependent(
+ QueryBuilder builder = BeanProvider.getContextualReference(
QueryBuilder.class, LITERALS.get(method.getMethodType()));
- context.addDestroyable(new DependentProviderDestroyable(builder));
if (method.returns(QueryResult.class))
{
- return new WrappedQueryBuilder(builder.get());
+ return new WrappedQueryBuilder(builder);
}
- return builder.get();
+ return builder;
}
}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/70299c16/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/QueryHandler.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/QueryHandler.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/QueryHandler.java
index b29613f..d83e227 100755
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/QueryHandler.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/QueryHandler.java
@@ -60,7 +60,7 @@ public class QueryHandler implements Serializable, InvocationHandler
private static final Logger log = Logger.getLogger(QueryHandler.class.getName());
@Inject
- private QueryBuilderFactory queryBuilder;
+ private QueryBuilderFactory queryBuilderFactory;
@Inject
@Initialized
@@ -143,7 +143,7 @@ public class QueryHandler implements Serializable, InvocationHandler
entityManagerRef = entityManagerRefLookup.lookupReference(repo);
queryContext = createContext(proxy, method, args, entityManagerRef.getEntityManager(), repoMethod);
- QueryBuilder builder = queryBuilder.build(repoMethod, queryContext);
+ QueryBuilder builder = queryBuilderFactory.build(repoMethod, queryContext);
Object result = runner.executeQuery(builder, queryContext);
return result;
}