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 2013/10/02 14:45:52 UTC
[1/6] git commit: DELTASPIKE-391 Cleanup of dependent beans.
Updated Branches:
refs/heads/master f8936831e -> e9038460f
DELTASPIKE-391 Cleanup of dependent beans.
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/92c0e773
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/92c0e773
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/92c0e773
Branch: refs/heads/master
Commit: 92c0e773d344c78808bce5ce923e3000368c68fe
Parents: f893683
Author: Thomas Hug <Th...@ctp-consulting.com>
Authored: Wed Oct 2 10:54:25 2013 +0200
Committer: Thomas Hug <Th...@ctp-consulting.com>
Committed: Wed Oct 2 11:10:39 2013 +0200
----------------------------------------------------------------------
.../data/impl/builder/DelegateQueryBuilder.java | 41 +++++++++++-------
.../data/impl/builder/QueryBuilderFactory.java | 39 +++++++++++------
.../impl/handler/CdiQueryContextHolder.java | 1 +
.../impl/handler/CdiQueryInvocationContext.java | 17 ++++++++
.../data/impl/handler/EntityManagerLookup.java | 17 ++++----
.../data/impl/handler/QueryHandler.java | 2 +-
.../data/impl/util/bean/BeanDestroyable.java | 44 ++++++++++++++++++++
.../util/bean/DependentProviderDestroyable.java | 39 +++++++++++++++++
.../data/impl/util/bean/Destroyable.java | 24 +++++++++++
9 files changed, 189 insertions(+), 35 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/92c0e773/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 65cbf05..8ed2361 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
@@ -20,31 +20,34 @@ package org.apache.deltaspike.data.impl.builder;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.util.Set;
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Instance;
+import javax.enterprise.context.Dependent;
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+import javax.enterprise.inject.spi.BeanManager;
import javax.inject.Inject;
+import org.apache.deltaspike.core.api.provider.BeanProvider;
import org.apache.deltaspike.data.impl.handler.CdiQueryInvocationContext;
import org.apache.deltaspike.data.impl.handler.QueryInvocationException;
import org.apache.deltaspike.data.impl.meta.MethodType;
import org.apache.deltaspike.data.impl.meta.QueryInvocation;
+import org.apache.deltaspike.data.impl.util.bean.BeanDestroyable;
import org.apache.deltaspike.data.spi.DelegateQueryHandler;
@QueryInvocation(MethodType.DELEGATE)
public class DelegateQueryBuilder extends QueryBuilder
{
-
@Inject
- @Any
- private Instance<DelegateQueryHandler> delegates;
+ private BeanManager beanManager;
@Override
public Object execute(CdiQueryInvocationContext context)
{
try
{
- DelegateQueryHandler delegate = selectDelegate(context.getMethod());
+ DelegateQueryHandler delegate = selectDelegate(context);
if (delegate != null)
{
return invoke(delegate, context);
@@ -57,29 +60,39 @@ public class DelegateQueryBuilder extends QueryBuilder
throw new QueryInvocationException("No DelegateQueryHandler found", context);
}
- private DelegateQueryHandler selectDelegate(Method method)
+ private DelegateQueryHandler selectDelegate(CdiQueryInvocationContext context)
{
- for (DelegateQueryHandler delegate : delegates)
+ Set<Bean<DelegateQueryHandler>> beans = BeanProvider
+ .getBeanDefinitions(DelegateQueryHandler.class, true, true);
+ for (Bean<DelegateQueryHandler> bean : beans)
{
- if (contains(delegate, method))
+ if (contains(bean.getBeanClass(), context.getMethod()))
{
- return delegate;
+ if (bean.getScope().equals(Dependent.class))
+ {
+ CreationalContext<DelegateQueryHandler> cc = beanManager.createCreationalContext(bean);
+ DelegateQueryHandler instance = (DelegateQueryHandler) beanManager.getReference(
+ bean, DelegateQueryHandler.class, cc);
+ context.addDestroyable(new BeanDestroyable<DelegateQueryHandler>(bean, instance, cc));
+ return instance;
+ }
+ return (DelegateQueryHandler) BeanProvider.getContextualReference(bean.getBeanClass());
}
}
return null;
}
- private boolean contains(Object obj, Method method)
+ private boolean contains(Class<?> obj, Method method)
{
return extract(obj, method) != null;
}
- private Method extract(Object obj, Method method)
+ private Method extract(Class<?> obj, Method method)
{
try
{
String name = method.getName();
- return obj != null ? obj.getClass().getMethod(name, method.getParameterTypes()) : null;
+ return obj != null ? obj.getMethod(name, method.getParameterTypes()) : null;
}
catch (NoSuchMethodException e)
{
@@ -106,7 +119,7 @@ public class DelegateQueryBuilder extends QueryBuilder
protected Object invoke(Object target, Method method, Object[] args) throws InvocationTargetException,
IllegalAccessException
{
- Method extract = extract(target, method);
+ Method extract = extract(target.getClass(), method);
return extract.invoke(target, args);
}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/92c0e773/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 b37c9b8..56ecbeb 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
@@ -18,33 +18,48 @@
*/
package org.apache.deltaspike.data.impl.builder;
-import java.io.Serializable;
+import static org.apache.deltaspike.data.impl.meta.MethodType.ANNOTATED;
+import static org.apache.deltaspike.data.impl.meta.MethodType.DELEGATE;
+import static org.apache.deltaspike.data.impl.meta.MethodType.PARSE;
-import javax.enterprise.inject.Any;
-import javax.enterprise.inject.Instance;
-import javax.inject.Inject;
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+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.meta.RepositoryMethod;
+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;
public class QueryBuilderFactory implements Serializable
{
private static final long serialVersionUID = 1L;
- @Inject
- @Any
- private Instance<QueryBuilder> queryBuilder;
+ private static final Map<MethodType, QueryInvocationLiteral> LITERALS =
+ new HashMap<MethodType, QueryInvocationLiteral>()
+ {
+ {
+ put(ANNOTATED, new QueryInvocationLiteral(ANNOTATED));
+ put(DELEGATE, new QueryInvocationLiteral(DELEGATE));
+ put(PARSE, new QueryInvocationLiteral(PARSE));
+ }
+ };
- public QueryBuilder build(RepositoryMethod method)
+ public QueryBuilder build(RepositoryMethod method, CdiQueryInvocationContext context)
{
- QueryBuilder builder = queryBuilder.select(new QueryInvocationLiteral(method.getMethodType())).get();
+ DependentProvider<QueryBuilder> builder = BeanProvider.getDependent(
+ QueryBuilder.class, LITERALS.get(method.getMethodType()));
+ context.addDestroyable(new DependentProviderDestroyable(builder));
if (method.returns(QueryResult.class))
{
- return new WrappedQueryBuilder(builder);
+ return new WrappedQueryBuilder(builder.get());
}
- return builder;
+ return builder.get();
}
}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/92c0e773/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryContextHolder.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryContextHolder.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryContextHolder.java
index c17e4f9..a3eab9e 100644
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryContextHolder.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryContextHolder.java
@@ -40,6 +40,7 @@ public class CdiQueryContextHolder
public void dispose()
{
+ context.get().cleanup();
context.remove();
}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/92c0e773/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryInvocationContext.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryInvocationContext.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryInvocationContext.java
index ac1bdf0..ac130f3 100644
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryInvocationContext.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryInvocationContext.java
@@ -27,6 +27,7 @@ import javax.persistence.Query;
import org.apache.deltaspike.data.impl.meta.RepositoryMethod;
import org.apache.deltaspike.data.impl.param.Parameters;
+import org.apache.deltaspike.data.impl.util.bean.Destroyable;
import org.apache.deltaspike.data.spi.QueryInvocationContext;
public class CdiQueryInvocationContext implements QueryInvocationContext
@@ -41,6 +42,7 @@ public class CdiQueryInvocationContext implements QueryInvocationContext
private final RepositoryMethod repoMethod;
private final List<QueryStringPostProcessor> queryPostProcessors;
private final List<JpaQueryPostProcessor> jpaPostProcessors;
+ private final List<Destroyable> cleanup;
private String queryString;
@@ -56,6 +58,7 @@ public class CdiQueryInvocationContext implements QueryInvocationContext
this.entityClass = repoMethod.getRepository().getEntityClass();
this.queryPostProcessors = new LinkedList<QueryStringPostProcessor>();
this.jpaPostProcessors = new LinkedList<JpaQueryPostProcessor>();
+ this.cleanup = new LinkedList<Destroyable>();
}
@Override
@@ -139,6 +142,20 @@ public class CdiQueryInvocationContext implements QueryInvocationContext
return result;
}
+ public void addDestroyable(Destroyable destroyable)
+ {
+ cleanup.add(destroyable);
+ }
+
+ public void cleanup()
+ {
+ for (Destroyable destroy : cleanup)
+ {
+ destroy.destroy();
+ }
+ cleanup.clear();
+ }
+
public Object executeQuery(Query jpaQuery)
{
return repoMethod.getQueryProcessor().executeQuery(jpaQuery);
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/92c0e773/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java
index 6d866ca..25885aa 100644
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java
@@ -23,6 +23,8 @@ import javax.enterprise.inject.Instance;
import javax.inject.Inject;
import javax.persistence.EntityManager;
+import org.apache.deltaspike.core.api.provider.BeanProvider;
+import org.apache.deltaspike.core.api.provider.DependentProvider;
import org.apache.deltaspike.data.api.EntityManagerResolver;
import org.apache.deltaspike.data.impl.meta.RepositoryComponent;
@@ -33,27 +35,26 @@ public class EntityManagerLookup
@Any
private Instance<EntityManager> entityManager;
- @Inject
- @Any
- private Instance<EntityManagerResolver> entityManagerResolver;
-
public EntityManager lookupFor(RepositoryComponent repository)
{
if (repository.hasEntityManagerResolver())
{
- EntityManagerResolver resolver = lookupResolver(repository.getEntityManagerResolverClass());
- EntityManager result = resolver.resolveEntityManager();
+ DependentProvider<? extends EntityManagerResolver> resolver =
+ lookupResolver(repository.getEntityManagerResolverClass());
+ EntityManager result = resolver.get().resolveEntityManager();
if (repository.getEntityManagerFlushMode() != null)
{
result.setFlushMode(repository.getEntityManagerFlushMode());
}
+ resolver.destroy();
}
return entityManager.get();
}
- private EntityManagerResolver lookupResolver(
+ private DependentProvider<? extends EntityManagerResolver> lookupResolver(
Class<? extends EntityManagerResolver> resolverClass)
{
- return entityManagerResolver.select(resolverClass).get();
+ DependentProvider<? extends EntityManagerResolver> resolver = BeanProvider.getDependent(resolverClass);
+ return resolver;
}
}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/92c0e773/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 fc23a77..8b4e522 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
@@ -72,7 +72,7 @@ public class QueryHandler implements Serializable, InvocationHandler
RepositoryComponent repo = components.lookupComponent(candidates);
RepositoryMethod repoMethod = components.lookupMethod(repo.getRepositoryClass(), method);
queryContext = createContext(proxy, method, args, repo, repoMethod);
- QueryBuilder builder = queryBuilder.build(repoMethod);
+ QueryBuilder builder = queryBuilder.build(repoMethod, queryContext);
Object result = builder.execute(queryContext);
return result;
}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/92c0e773/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/bean/BeanDestroyable.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/bean/BeanDestroyable.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/bean/BeanDestroyable.java
new file mode 100644
index 0000000..9e6c88b
--- /dev/null
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/bean/BeanDestroyable.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.data.impl.util.bean;
+
+import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.spi.Bean;
+
+public class BeanDestroyable<T> implements Destroyable
+{
+
+ private final Bean<T> bean;
+ private final T instance;
+ private final CreationalContext<T> creationalContext;
+
+ public BeanDestroyable(Bean<T> bean, T instance, CreationalContext<T> creationalContext)
+ {
+ this.bean = bean;
+ this.instance = instance;
+ this.creationalContext = creationalContext;
+ }
+
+ @Override
+ public void destroy()
+ {
+ bean.destroy(instance, creationalContext);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/92c0e773/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/bean/DependentProviderDestroyable.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/bean/DependentProviderDestroyable.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/bean/DependentProviderDestroyable.java
new file mode 100644
index 0000000..b2610e1
--- /dev/null
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/bean/DependentProviderDestroyable.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.data.impl.util.bean;
+
+import org.apache.deltaspike.core.api.provider.DependentProvider;
+
+public class DependentProviderDestroyable implements Destroyable
+{
+
+ private final DependentProvider<?> dependent;
+
+ public DependentProviderDestroyable(DependentProvider<?> dependent)
+ {
+ this.dependent = dependent;
+ }
+
+ @Override
+ public void destroy()
+ {
+ dependent.destroy();
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/92c0e773/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/bean/Destroyable.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/bean/Destroyable.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/bean/Destroyable.java
new file mode 100644
index 0000000..6f1c931
--- /dev/null
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/util/bean/Destroyable.java
@@ -0,0 +1,24 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.data.impl.util.bean;
+
+public interface Destroyable
+{
+ void destroy();
+}
[4/6] git commit: DELTASPIKE-417 Improved tests,
allow default EM producer.
Posted by th...@apache.org.
DELTASPIKE-417 Improved tests, allow default EM producer.
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/dec5d7e7
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/dec5d7e7
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/dec5d7e7
Branch: refs/heads/master
Commit: dec5d7e7e7f80e4c7d22c4e56b42d0f568f730b4
Parents: af0270f
Author: Thomas Hug <Th...@ctp-consulting.com>
Authored: Wed Oct 2 13:59:54 2013 +0200
Committer: Thomas Hug <Th...@ctp-consulting.com>
Committed: Wed Oct 2 14:36:54 2013 +0200
----------------------------------------------------------------------
.../impl/handler/CdiQueryContextHolder.java | 6 +-
.../data/impl/handler/EntityManagerLookup.java | 3 +-
.../data/impl/handler/EntityManagerTest.java | 40 ++-
.../impl/handler/EntityManagerTestProducer.java | 35 ---
.../NonQualifiedEntityManagerTestProducer.java | 32 +++
.../QualifiedEntityManagerTestProducer.java | 286 +++++++++++++++++++
.../SimpleRepositoryWithEntityManager.java | 2 -
...mpleRepositoryWithEntityManagerResolver.java | 35 +++
...leRepositoryWithOverriddenEntityManager.java | 42 ---
9 files changed, 377 insertions(+), 104 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/dec5d7e7/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryContextHolder.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryContextHolder.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryContextHolder.java
index a3eab9e..bda1e42 100644
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryContextHolder.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/CdiQueryContextHolder.java
@@ -40,7 +40,11 @@ public class CdiQueryContextHolder
public void dispose()
{
- context.get().cleanup();
+ CdiQueryInvocationContext ctx = context.get();
+ if (ctx != null)
+ {
+ ctx.cleanup();
+ }
context.remove();
}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/dec5d7e7/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java
index 976ba70..5548f16 100644
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java
@@ -23,6 +23,7 @@ import javax.enterprise.inject.Instance;
import javax.inject.Inject;
import javax.persistence.EntityManager;
+import org.apache.deltaspike.core.api.literal.DefaultLiteral;
import org.apache.deltaspike.core.api.provider.BeanProvider;
import org.apache.deltaspike.core.api.provider.DependentProvider;
import org.apache.deltaspike.data.api.EntityManagerResolver;
@@ -47,7 +48,7 @@ public class EntityManagerLookup
}
else
{
- result = entityManager.get();
+ result = entityManager.select(new DefaultLiteral()).get();
}
if (repository.hasEntityManagerFlushMode())
{
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/dec5d7e7/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/EntityManagerTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/EntityManagerTest.java b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/EntityManagerTest.java
index e812c8a..18f2399 100644
--- a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/EntityManagerTest.java
+++ b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/EntityManagerTest.java
@@ -20,6 +20,7 @@ package org.apache.deltaspike.data.impl.handler;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
import java.util.List;
@@ -27,7 +28,7 @@ import javax.inject.Inject;
import org.apache.deltaspike.data.test.domain.Simple;
import org.apache.deltaspike.data.test.service.SimpleRepositoryWithEntityManager;
-import org.apache.deltaspike.data.test.service.SimpleRepositoryWithOverriddenEntityManager;
+import org.apache.deltaspike.data.test.service.SimpleRepositoryWithEntityManagerResolver;
import org.apache.deltaspike.data.test.service.Simplistic;
import org.apache.deltaspike.data.test.service.SimplisticEntityManagerResolver;
import org.apache.deltaspike.data.test.util.TestDeployments;
@@ -49,48 +50,41 @@ public class EntityManagerTest
{
return TestDeployments.initDeployment()
.addClasses(SimpleRepositoryWithEntityManager.class,
- SimpleRepositoryWithOverriddenEntityManager.class,
- EntityManagerTestProducer.class,
+ SimpleRepositoryWithEntityManagerResolver.class,
+ QualifiedEntityManagerTestProducer.class,
+ NonQualifiedEntityManagerTestProducer.class,
Simplistic.class, SimplisticEntityManagerResolver.class);
}
@Inject
- private SimpleRepositoryWithEntityManager repoWithAnnotation;
+ private SimpleRepositoryWithEntityManager repoWithDefaultEm;
@Inject
- private SimpleRepositoryWithOverriddenEntityManager repoWithInjection;
+ private SimpleRepositoryWithEntityManagerResolver repoWithInjection;
@Test
- public void should_use_qualified_entity_manager()
+ public void should_use_default_entity_manager()
{
// when
- List<Simple> result = repoWithAnnotation.findByName("testUseQualifiedEntityManager");
+ List<Simple> result = repoWithDefaultEm.findByName("testUseQualifiedEntityManager");
// then
assertNotNull(result);
assertEquals(0, result.size());
}
- @Test
- public void should_use_injected_entity_manager()
- {
- // when
- List<Simple> result = repoWithInjection.findByName("testUseInjectedEntityManager");
-
- // then
- assertNotNull(result);
- assertEquals(0, result.size());
- }
-
- @Test
- public void should_inject_entity_manager()
+ /*
+ * Injected EM throws UnsupportedOperationException on all methods.
+ * Shortcutting the creation of multiple PUs (lazy guy...)
+ */
+ @Test(expected = QueryInvocationException.class)
+ public void should_use_entity_manager_from_resolver()
{
// when
- List<Simple> result = repoWithInjection.findWithEm("testInjectEntityManager");
+ repoWithInjection.findByName("testUseQualifiedEntityManager");
// then
- assertNotNull(result);
- assertEquals(0, result.size());
+ fail("Fake EM should have thrown Exception");
}
}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/dec5d7e7/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/EntityManagerTestProducer.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/EntityManagerTestProducer.java b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/EntityManagerTestProducer.java
deleted file mode 100644
index 87aeda4..0000000
--- a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/EntityManagerTestProducer.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.data.impl.handler;
-
-import javax.enterprise.inject.Produces;
-import javax.persistence.EntityManager;
-import javax.persistence.PersistenceContext;
-
-import org.apache.deltaspike.data.test.service.Simplistic;
-
-public class EntityManagerTestProducer
-{
-
- @Produces
- @Simplistic
- @PersistenceContext
- private EntityManager entityManager;
-
-}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/dec5d7e7/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/NonQualifiedEntityManagerTestProducer.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/NonQualifiedEntityManagerTestProducer.java b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/NonQualifiedEntityManagerTestProducer.java
new file mode 100644
index 0000000..eac7620
--- /dev/null
+++ b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/NonQualifiedEntityManagerTestProducer.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.data.impl.handler;
+
+import javax.enterprise.inject.Produces;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+public class NonQualifiedEntityManagerTestProducer
+{
+
+ @Produces
+ @PersistenceContext
+ private EntityManager entityManager;
+
+}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/dec5d7e7/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/QualifiedEntityManagerTestProducer.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/QualifiedEntityManagerTestProducer.java b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/QualifiedEntityManagerTestProducer.java
new file mode 100644
index 0000000..4a80299
--- /dev/null
+++ b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/impl/handler/QualifiedEntityManagerTestProducer.java
@@ -0,0 +1,286 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.data.impl.handler;
+
+import java.util.Map;
+
+import javax.enterprise.inject.Produces;
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.EntityTransaction;
+import javax.persistence.FlushModeType;
+import javax.persistence.LockModeType;
+import javax.persistence.Query;
+import javax.persistence.TypedQuery;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.metamodel.Metamodel;
+
+import org.apache.deltaspike.data.test.service.Simplistic;
+
+public class QualifiedEntityManagerTestProducer
+{
+
+ @Produces
+ @Simplistic
+ private final EntityManager entityManager = new EntityManager()
+ {
+
+ @Override
+ public <T> T unwrap(Class<T> arg0)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setProperty(String arg0, Object arg1)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setFlushMode(FlushModeType arg0)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void remove(Object arg0)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void refresh(Object arg0, LockModeType arg1, Map<String, Object> arg2)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void refresh(Object arg0, LockModeType arg1)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void refresh(Object arg0, Map<String, Object> arg1)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void refresh(Object arg0)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void persist(Object arg0)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public <T> T merge(T arg0)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void lock(Object arg0, LockModeType arg1, Map<String, Object> arg2)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void lock(Object arg0, LockModeType arg1)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void joinTransaction()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean isOpen()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public EntityTransaction getTransaction()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public <T> T getReference(Class<T> arg0, Object arg1)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Map<String, Object> getProperties()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Metamodel getMetamodel()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public LockModeType getLockMode(Object arg0)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public FlushModeType getFlushMode()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public EntityManagerFactory getEntityManagerFactory()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Object getDelegate()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public CriteriaBuilder getCriteriaBuilder()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void flush()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public <T> T find(Class<T> arg0, Object arg1, LockModeType arg2, Map<String, Object> arg3)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public <T> T find(Class<T> arg0, Object arg1, LockModeType arg2)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public <T> T find(Class<T> arg0, Object arg1, Map<String, Object> arg2)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public <T> T find(Class<T> arg0, Object arg1)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void detach(Object arg0)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public <T> TypedQuery<T> createQuery(String arg0, Class<T> arg1)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public <T> TypedQuery<T> createQuery(CriteriaQuery<T> arg0)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Query createQuery(String arg0)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Query createNativeQuery(String arg0, String arg1)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Query createNativeQuery(String arg0, Class arg1)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Query createNativeQuery(String arg0)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public <T> TypedQuery<T> createNamedQuery(String arg0, Class<T> arg1)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Query createNamedQuery(String arg0)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean contains(Object arg0)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void close()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void clear()
+ {
+ throw new UnsupportedOperationException();
+ }
+ };
+
+}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/dec5d7e7/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepositoryWithEntityManager.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepositoryWithEntityManager.java b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepositoryWithEntityManager.java
index d6f8ca7..6c890c5 100644
--- a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepositoryWithEntityManager.java
+++ b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepositoryWithEntityManager.java
@@ -20,13 +20,11 @@ package org.apache.deltaspike.data.test.service;
import java.util.List;
-import org.apache.deltaspike.data.api.EntityManagerConfig;
import org.apache.deltaspike.data.api.EntityRepository;
import org.apache.deltaspike.data.api.Repository;
import org.apache.deltaspike.data.test.domain.Simple;
@Repository
-@EntityManagerConfig(entityManagerResolver = SimplisticEntityManagerResolver.class)
public interface SimpleRepositoryWithEntityManager extends EntityRepository<Simple, Long>
{
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/dec5d7e7/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepositoryWithEntityManagerResolver.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepositoryWithEntityManagerResolver.java b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepositoryWithEntityManagerResolver.java
new file mode 100644
index 0000000..dc82e2d
--- /dev/null
+++ b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepositoryWithEntityManagerResolver.java
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.deltaspike.data.test.service;
+
+import java.util.List;
+
+import org.apache.deltaspike.data.api.AbstractEntityRepository;
+import org.apache.deltaspike.data.api.EntityManagerConfig;
+import org.apache.deltaspike.data.api.Repository;
+import org.apache.deltaspike.data.test.domain.Simple;
+
+@Repository
+@EntityManagerConfig(entityManagerResolver = SimplisticEntityManagerResolver.class)
+public abstract class SimpleRepositoryWithEntityManagerResolver extends AbstractEntityRepository<Simple, Long>
+{
+
+ public abstract List<Simple> findByName(String name);
+
+}
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/dec5d7e7/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepositoryWithOverriddenEntityManager.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepositoryWithOverriddenEntityManager.java b/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepositoryWithOverriddenEntityManager.java
deleted file mode 100644
index 6111a8d..0000000
--- a/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleRepositoryWithOverriddenEntityManager.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.data.test.service;
-
-import java.util.List;
-
-import org.apache.deltaspike.data.api.AbstractEntityRepository;
-import org.apache.deltaspike.data.api.EntityManagerConfig;
-import org.apache.deltaspike.data.api.Repository;
-import org.apache.deltaspike.data.test.domain.Simple;
-
-@EntityManagerConfig(entityManagerResolver = SimplisticEntityManagerResolver.class)
-@Repository
-public abstract class SimpleRepositoryWithOverriddenEntityManager extends AbstractEntityRepository<Simple, Long>
-{
-
- public abstract List<Simple> findByName(String name);
-
- public List<Simple> findWithEm(String name)
- {
- return entityManager().createQuery("select s from Simple s where s.name = ?1", Simple.class)
- .setParameter(1, name)
- .getResultList();
- }
-
-}
[6/6] git commit: DELTASPIKE-412 Wildfly profiles
Posted by th...@apache.org.
DELTASPIKE-412 Wildfly profiles
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/e9038460
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/e9038460
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/e9038460
Branch: refs/heads/master
Commit: e9038460f6b49a1a69d261d9c2d3a269faed7bb5
Parents: 2603727
Author: Thomas Hug <Th...@ctp-consulting.com>
Authored: Wed Oct 2 14:39:02 2013 +0200
Committer: Thomas Hug <Th...@ctp-consulting.com>
Committed: Wed Oct 2 14:39:02 2013 +0200
----------------------------------------------------------------------
deltaspike/modules/data/impl/pom.xml | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/e9038460/deltaspike/modules/data/impl/pom.xml
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/pom.xml b/deltaspike/modules/data/impl/pom.xml
index 3538bb7..0eebd04 100755
--- a/deltaspike/modules/data/impl/pom.xml
+++ b/deltaspike/modules/data/impl/pom.xml
@@ -165,6 +165,32 @@
</build>
</profile>
<profile>
+ <id>wildfly-managed</id>
+ <build>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources-jbossas7</directory>
+ </testResource>
+ </testResources>
+ </build>
+ </profile>
+ <profile>
+ <id>wildfly-remote</id>
+ <build>
+ <testResources>
+ <testResource>
+ <directory>src/test/resources</directory>
+ </testResource>
+ <testResource>
+ <directory>src/test/resources-jbossas7</directory>
+ </testResource>
+ </testResources>
+ </build>
+ </profile>
+ <profile>
<id>glassfish-remote-3.1</id>
<build>
<testResources>
[3/6] git commit: DELTASPIKE-417 Use EntityManagerResolver result,
set EM flush mode.
Posted by th...@apache.org.
DELTASPIKE-417 Use EntityManagerResolver result, set EM flush mode.
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/e0132b6f
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/e0132b6f
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/e0132b6f
Branch: refs/heads/master
Commit: e0132b6fe804291f8950fa2d107aa7d25cabb3a1
Parents: 92c0e77
Author: Thomas Hug <Th...@ctp-consulting.com>
Authored: Wed Oct 2 10:57:10 2013 +0200
Committer: Thomas Hug <Th...@ctp-consulting.com>
Committed: Wed Oct 2 11:10:47 2013 +0200
----------------------------------------------------------------------
.../data/impl/handler/EntityManagerLookup.java | 17 +++++++++++------
.../data/impl/meta/RepositoryComponent.java | 5 +++++
2 files changed, 16 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/e0132b6f/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java
index 25885aa..976ba70 100644
--- a/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java
+++ b/deltaspike/modules/data/impl/src/main/java/org/apache/deltaspike/data/impl/handler/EntityManagerLookup.java
@@ -37,18 +37,23 @@ public class EntityManagerLookup
public EntityManager lookupFor(RepositoryComponent repository)
{
+ EntityManager result = null;
if (repository.hasEntityManagerResolver())
{
DependentProvider<? extends EntityManagerResolver> resolver =
lookupResolver(repository.getEntityManagerResolverClass());
- EntityManager result = resolver.get().resolveEntityManager();
- if (repository.getEntityManagerFlushMode() != null)
- {
- result.setFlushMode(repository.getEntityManagerFlushMode());
- }
+ result = resolver.get().resolveEntityManager();
resolver.destroy();
}
- return entityManager.get();
+ else
+ {
+ result = entityManager.get();
+ }
+ if (repository.hasEntityManagerFlushMode())
+ {
+ result.setFlushMode(repository.getEntityManagerFlushMode());
+ }
+ return result;
}
private DependentProvider<? extends EntityManagerResolver> lookupResolver(
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/e0132b6f/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 4d9e30d..c2dc466 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
@@ -142,6 +142,11 @@ public class RepositoryComponent
return entityManagerResolver;
}
+ public boolean hasEntityManagerFlushMode()
+ {
+ return entityManagerFlushMode != null;
+ }
+
public FlushModeType getEntityManagerFlushMode()
{
return entityManagerFlushMode;
[5/6] git commit: DELTASPIKE-411 Remove port offset for Wildfly tests
Posted by th...@apache.org.
DELTASPIKE-411 Remove port offset for Wildfly tests
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/2603727a
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/2603727a
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/2603727a
Branch: refs/heads/master
Commit: 2603727a923d45037a51b51f58717f4c1ed08192
Parents: dec5d7e
Author: Thomas Hug <Th...@ctp-consulting.com>
Authored: Wed Oct 2 14:38:09 2013 +0200
Committer: Thomas Hug <Th...@ctp-consulting.com>
Committed: Wed Oct 2 14:38:09 2013 +0200
----------------------------------------------------------------------
deltaspike/modules/data/impl/src/test/resources/arquillian.xml | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/2603727a/deltaspike/modules/data/impl/src/test/resources/arquillian.xml
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/impl/src/test/resources/arquillian.xml b/deltaspike/modules/data/impl/src/test/resources/arquillian.xml
index af1845a..b33c5a1 100644
--- a/deltaspike/modules/data/impl/src/test/resources/arquillian.xml
+++ b/deltaspike/modules/data/impl/src/test/resources/arquillian.xml
@@ -31,8 +31,7 @@
<container qualifier="jbossas-managed-7">
<configuration>
- <property name="javaVmArguments">-client -noverify -Xms64m -Xmx1024m -XX:MaxPermSize=512m -Djboss.socket.binding.port-offset=10000</property>
- <property name="managementPort">19999</property>
+ <property name="javaVmArguments">-client -noverify -Xms64m -Xmx1024m -XX:MaxPermSize=512m</property>
<property name="outputToConsole">false</property>
<property name="allowConnectingToRunningServer">true</property>
</configuration>
@@ -41,8 +40,7 @@
<container qualifier="jbossas-build-managed-7">
<configuration>
<property name="jbossHome">target/jboss-as-7.1.1.Final</property>
- <property name="managementPort">19999</property>
- <property name="javaVmArguments">-client -noverify -Xms64m -Xmx1024m -XX:MaxPermSize=512m -Djboss.socket.binding.port-offset=10000</property>
+ <property name="javaVmArguments">-client -noverify -Xms64m -Xmx1024m -XX:MaxPermSize=512m</property>
<property name="outputToConsole">false</property>
<property name="allowConnectingToRunningServer">true</property>
</configuration>
[2/6] git commit: DELTASPIKE-406 Warning for EAR deployments.
Posted by th...@apache.org.
DELTASPIKE-406 Warning for EAR deployments.
Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/af0270f9
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/af0270f9
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/af0270f9
Branch: refs/heads/master
Commit: af0270f9fe0f92ac55f482c72588a02566f4db45
Parents: e0132b6
Author: Thomas Hug <Th...@ctp-consulting.com>
Authored: Wed Oct 2 11:09:36 2013 +0200
Committer: Thomas Hug <Th...@ctp-consulting.com>
Committed: Wed Oct 2 11:10:47 2013 +0200
----------------------------------------------------------------------
deltaspike/modules/data/README.adoc | 5 +++++
1 file changed, 5 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltaspike/blob/af0270f9/deltaspike/modules/data/README.adoc
----------------------------------------------------------------------
diff --git a/deltaspike/modules/data/README.adoc b/deltaspike/modules/data/README.adoc
index 8db3333..c6c6cc0 100644
--- a/deltaspike/modules/data/README.adoc
+++ b/deltaspike/modules/data/README.adoc
@@ -77,6 +77,11 @@ to your application manually.
Also note that in order to use abstract classes as repositories, this currently requires the presence
of the http://www.javassist.org[javassist] library in your classpath.
+[CAUTION]
+===============================
+Using DeltaSpike data in an EAR deployment is currently restricted to annotation-based entities.
+===============================
+
==== Maven Dependency Configuration
If you are using Maven as your build tool, you can add the following dependencies to your +pom.xml+