You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ti...@apache.org on 2010/02/25 10:40:30 UTC
svn commit: r916204 - in
/incubator/aries/trunk/jpa/jpa-container-context/src:
main/java/org/apache/aries/jpa/container/context/
main/java/org/apache/aries/jpa/container/context/impl/
main/java/org/apache/aries/jpa/container/context/namespace/ main/res...
Author: timothyjward
Date: Thu Feb 25 09:40:30 2010
New Revision: 916204
URL: http://svn.apache.org/viewvc?rev=916204&view=rev
Log:
ARIES-202 : Separate the JPA blueprint integration from managed persistence contexts
Modified:
incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/PersistenceContextProvider.java
incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java
incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java
incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java
incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/namespace/NSHandler.java
incubator/aries/trunk/jpa/jpa-container-context/src/main/resources/OSGI-INF/blueprint/jpa.xml
incubator/aries/trunk/jpa/jpa-container-context/src/test/java/org/apache/aries/jpa/container/context/namespace/NSHandlerTest.java
Modified: incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/PersistenceContextProvider.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/PersistenceContextProvider.java?rev=916204&r1=916203&r2=916204&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/PersistenceContextProvider.java (original)
+++ incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/PersistenceContextProvider.java Thu Feb 25 09:40:30 2010
@@ -20,9 +20,15 @@
import java.util.HashMap;
+import javax.persistence.PersistenceContextType;
+
import org.osgi.framework.Bundle;
-public interface PersistenceManager {
+public interface PersistenceContextProvider {
+
+ /** The key to use when storing the {@link PersistenceContextType} for this context */
+ public static final String PERSISTENCE_CONTEXT_TYPE = "org.apache.aries.jpa.context.type";
+
/**
* This method will be called whenever a persistence context element is processed by the jpa
* blueprint namespace handler.
Modified: incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java?rev=916204&r1=916203&r2=916204&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java (original)
+++ incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/GlobalPersistenceManager.java Thu Feb 25 09:40:30 2010
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.aries.jpa.container.context;
+package org.apache.aries.jpa.container.context.impl;
import java.util.Collections;
import java.util.HashMap;
@@ -24,7 +24,7 @@
import java.util.Map;
import java.util.Set;
-import org.apache.aries.jpa.container.context.impl.PersistenceContextManager;
+import org.apache.aries.jpa.container.context.PersistenceContextProvider;
import org.apache.aries.jpa.container.context.transaction.impl.JTAPersistenceContextRegistry;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleEvent;
@@ -35,7 +35,7 @@
/**
* Class that coordinates PersistenceContextManagers across multiple (nested) OSGi frameworks.
*/
-public class GlobalPersistenceManager implements PersistenceManager, SynchronousBundleListener {
+public class GlobalPersistenceManager implements PersistenceContextProvider, SynchronousBundleListener {
/** Logger */
private static final Logger _logger = LoggerFactory.getLogger("org.apache.aries.jpa.container.context");
Modified: incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java?rev=916204&r1=916203&r2=916204&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java (original)
+++ incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/ManagedPersistenceContextFactory.java Thu Feb 25 09:40:30 2010
@@ -30,6 +30,7 @@
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.metamodel.Metamodel;
+import org.apache.aries.jpa.container.context.PersistenceContextProvider;
import org.apache.aries.jpa.container.context.transaction.impl.JTAEntityManager;
import org.apache.aries.jpa.container.context.transaction.impl.JTAPersistenceContextRegistry;
import org.osgi.framework.ServiceReference;
@@ -58,7 +59,7 @@
properties = new HashMap<String, Object>(props);
registry = contextRegistry;
//Remove our internal property so that it doesn't get passed on the createEntityManager call
- type = (PersistenceContextType) properties.remove(PersistenceContextManager.PERSISTENCE_CONTEXT_TYPE);
+ type = (PersistenceContextType) properties.remove(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE);
}
public EntityManager createEntityManager() {
Modified: incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java?rev=916204&r1=916203&r2=916204&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java (original)
+++ incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/impl/PersistenceContextManager.java Thu Feb 25 09:40:30 2010
@@ -51,8 +51,6 @@
/** Logger */
private static final Logger _logger = LoggerFactory.getLogger("org.apache.aries.jpa.container.context");
- /** The key to use when storing the {@link PersistenceContextType} for this context */
- public static final String PERSISTENCE_CONTEXT_TYPE = "org.apache.aries.jpa.context.type";
/** The filter this tracker uses to select Persistence Units. */
private static final Filter filter;
static {
Modified: incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/namespace/NSHandler.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/namespace/NSHandler.java?rev=916204&r1=916203&r2=916204&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/namespace/NSHandler.java (original)
+++ incubator/aries/trunk/jpa/jpa-container-context/src/main/java/org/apache/aries/jpa/container/context/namespace/NSHandler.java Thu Feb 25 09:40:30 2010
@@ -40,9 +40,7 @@
import org.apache.aries.blueprint.mutable.MutableRefMetadata;
import org.apache.aries.blueprint.mutable.MutableReferenceMetadata;
import org.apache.aries.jpa.container.PersistenceUnitConstants;
-import org.apache.aries.jpa.container.context.GlobalPersistenceManager;
-import org.apache.aries.jpa.container.context.PersistenceManager;
-import org.apache.aries.jpa.container.context.impl.PersistenceContextManager;
+import org.apache.aries.jpa.container.context.PersistenceContextProvider;
import org.osgi.framework.Bundle;
import org.osgi.service.blueprint.reflect.BeanMetadata;
import org.osgi.service.blueprint.reflect.BeanProperty;
@@ -111,9 +109,9 @@
/** The blueprint attribute value to make a bean eager */
private static final String ACTIVATION_EAGER = "EAGER";
/** The {@link PersistenceManager} to register contexts with */
- private PersistenceManager manager;
+ private PersistenceContextProvider manager;
- public void setManager(PersistenceManager manager) {
+ public void setManager(PersistenceContextProvider manager) {
this.manager = manager;
}
@@ -173,7 +171,7 @@
// Remember to add the PersistenceContextType so that we can create
// the correct type of
// EntityManager
- properties.put(PersistenceContextManager.PERSISTENCE_CONTEXT_TYPE,
+ properties.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE,
parseType(element));
properties.putAll(parseJPAProperties(element, context));
Modified: incubator/aries/trunk/jpa/jpa-container-context/src/main/resources/OSGI-INF/blueprint/jpa.xml
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container-context/src/main/resources/OSGI-INF/blueprint/jpa.xml?rev=916204&r1=916203&r2=916204&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-container-context/src/main/resources/OSGI-INF/blueprint/jpa.xml (original)
+++ incubator/aries/trunk/jpa/jpa-container-context/src/main/resources/OSGI-INF/blueprint/jpa.xml Thu Feb 25 09:40:30 2010
@@ -30,7 +30,9 @@
</bean>
</service>
- <bean id="persistenceManager" class="org.apache.aries.jpa.container.context.GlobalPersistenceManager">
+ <service interface="org.apache.aries.jpa.container.context.PersistenceContextProvider" ref="persistenceManager"/>
+
+ <bean id="persistenceManager" class="org.apache.aries.jpa.container.context.impl.GlobalPersistenceManager">
<property name="registry" ref="JtaPersistenceContextRegistry" />
</bean>
Modified: incubator/aries/trunk/jpa/jpa-container-context/src/test/java/org/apache/aries/jpa/container/context/namespace/NSHandlerTest.java
URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container-context/src/test/java/org/apache/aries/jpa/container/context/namespace/NSHandlerTest.java?rev=916204&r1=916203&r2=916204&view=diff
==============================================================================
--- incubator/aries/trunk/jpa/jpa-container-context/src/test/java/org/apache/aries/jpa/container/context/namespace/NSHandlerTest.java (original)
+++ incubator/aries/trunk/jpa/jpa-container-context/src/test/java/org/apache/aries/jpa/container/context/namespace/NSHandlerTest.java Thu Feb 25 09:40:30 2010
@@ -40,7 +40,7 @@
import org.apache.aries.blueprint.reflect.BeanMetadataImpl;
import org.apache.aries.blueprint.reflect.RefMetadataImpl;
import org.apache.aries.blueprint.reflect.ReferenceMetadataImpl;
-import org.apache.aries.jpa.container.context.PersistenceManager;
+import org.apache.aries.jpa.container.context.PersistenceContextProvider;
import org.apache.aries.jpa.container.context.impl.PersistenceContextManager;
import org.apache.aries.unittest.mocks.MethodCall;
import org.apache.aries.unittest.mocks.Skeleton;
@@ -61,7 +61,7 @@
public class NSHandlerTest {
private Element root;
private NSHandler sut;
- private PersistenceManager manager;
+ private PersistenceContextProvider manager;
private ParserContext parserCtx;
private Bundle clientBundle;
private List<ComponentMetadata> registeredComponents = new ArrayList<ComponentMetadata>();
@@ -77,7 +77,7 @@
root = doc.getDocumentElement();
sut = new NSHandler();
- manager = Skeleton.newMock(PersistenceManager.class);
+ manager = Skeleton.newMock(PersistenceContextProvider.class);
sut.setManager(manager);
clientBundle = Skeleton.newMock(Bundle.class);
@@ -201,9 +201,9 @@
assertEquals("(&(org.apache.aries.jpa.proxy.factory=*)(osgi.unit.name=myUnit))", reference.getFilter());
Map<String,Object> props = new HashMap<String, Object>();
- props.put(PersistenceContextManager.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.TRANSACTION);
+ props.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.TRANSACTION);
Skeleton.getSkeleton(manager).assertCalled(
- new MethodCall(PersistenceManager.class, "registerContext", "myUnit", clientBundle, props));
+ new MethodCall(PersistenceContextProvider.class, "registerContext", "myUnit", clientBundle, props));
}
@Test
@@ -223,11 +223,11 @@
reference.getFilter());
Map<String,Object> props = new HashMap<String, Object>();
- props.put(PersistenceContextManager.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.EXTENDED);
+ props.put(PersistenceContextProvider.PERSISTENCE_CONTEXT_TYPE, PersistenceContextType.EXTENDED);
props.put("one", "eins");
props.put("two", "zwo");
Skeleton.getSkeleton(manager).assertCalled(
- new MethodCall(PersistenceManager.class, "registerContext", "", clientBundle, props));
+ new MethodCall(PersistenceContextProvider.class, "registerContext", "", clientBundle, props));
}
@Test