Author: gawor Date: Wed Jun 2 20:49:05 2010 New Revision: 950757 URL: http://svn.apache.org/viewvc?rev=950757&view=rev Log: Revert most of changes for ARIES-320 as there is a better way for agent support through ManagedPersistenceUnitInfoFactory extensions.
Removed: incubator/aries/trunk/jpa/jpa-api/src/main/java/org/apache/aries/jpa/transformer/ incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/TransformerWrapper.java Modified: incubator/aries/trunk/jpa/jpa-api/pom.xml incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/ManagedPersistenceUnitInfoFactoryImpl.java incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/ManagedPersistenceUnitInfoImpl.java incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/PersistenceUnitInfoImpl.java Modified: incubator/aries/trunk/jpa/jpa-api/pom.xml URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-api/pom.xml?rev=950757&r1=950756&r2=950757&view=diff ============================================================================== --- incubator/aries/trunk/jpa/jpa-api/pom.xml (original) +++ incubator/aries/trunk/jpa/jpa-api/pom.xml Wed Jun 2 20:49:05 2010 @@ -62,8 +62,7 @@ <Export-Package> org.apache.aries.jpa.container.parsing;version="${pom.version}", org.apache.aries.jpa.container;version="${pom.version}", - org.apache.aries.jpa.container.context;version="${pom.version}", - org.apache.aries.jpa.transformer;version="${pom.version}" + org.apache.aries.jpa.container.context;version="${pom.version}" </Export-Package> <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy> <_removeheaders>Ignore-Package,Include-Resource,Private-Package,Bundle-DocURL</_removeheaders> Modified: incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/ManagedPersistenceUnitInfoFactoryImpl.java URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/ManagedPersistenceUnitInfoFactoryImpl.java?rev=950757&r1=950756&r2=950757&view=diff ============================================================================== --- incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/ManagedPersistenceUnitInfoFactoryImpl.java (original) +++ incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/ManagedPersistenceUnitInfoFactoryImpl.java Wed Jun 2 20:49:05 2010 @@ -20,75 +20,40 @@ package org.apache.aries.jpa.container.u import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; import org.apache.aries.jpa.container.ManagedPersistenceUnitInfo; import org.apache.aries.jpa.container.ManagedPersistenceUnitInfoFactory; import org.apache.aries.jpa.container.parsing.ParsedPersistenceUnit; -import org.apache.aries.jpa.transformer.TransformerAgent; import org.osgi.framework.Bundle; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; -public class ManagedPersistenceUnitInfoFactoryImpl implements ManagedPersistenceUnitInfoFactory { +public class ManagedPersistenceUnitInfoFactoryImpl implements + ManagedPersistenceUnitInfoFactory { - private Map<Bundle, PersistenceBundleInfo> map = - Collections.synchronizedMap(new HashMap<Bundle, PersistenceBundleInfo>()); - public Collection<ManagedPersistenceUnitInfo> createManagedPersistenceUnitMetadata( BundleContext containerContext, Bundle persistenceBundle, ServiceReference providerReference, Collection<ParsedPersistenceUnit> persistenceMetadata) { //TODO add support for provider bundle imports (e.g. for weaving) here - - // try to get TransformerAgent service - ServiceReference agentReference = containerContext.getServiceReference(TransformerAgent.class.getName()); - TransformerAgent agent = null; - if (agentReference != null) { - agent = (TransformerAgent) containerContext.getService(agentReference); - } - - Collection<ManagedPersistenceUnitInfo> managedUnits = new ArrayList<ManagedPersistenceUnitInfo>(); - for (ParsedPersistenceUnit unit : persistenceMetadata) { - managedUnits.add(new ManagedPersistenceUnitInfoImpl(persistenceBundle, unit, providerReference, agent)); - } - PersistenceBundleInfo info = new PersistenceBundleInfo(); - info.managedUnits = managedUnits; - info.agentReference = agentReference; + Collection<ManagedPersistenceUnitInfo> managedUnits = new ArrayList<ManagedPersistenceUnitInfo>(); - map.put(persistenceBundle, info); + for(ParsedPersistenceUnit unit : persistenceMetadata) + managedUnits.add(new ManagedPersistenceUnitInfoImpl(persistenceBundle, unit, providerReference)); return managedUnits; } - - public void destroyPersistenceBundle(BundleContext containerContext, Bundle persistenceBundle) { - PersistenceBundleInfo info = map.remove(persistenceBundle); - if (info != null) { - // destroy units - for (ManagedPersistenceUnitInfo unit : info.managedUnits) { - ((ManagedPersistenceUnitInfoImpl) unit).destroy(); - } - info.managedUnits.clear(); - // unget agent service - if (info.agentReference != null) { - containerContext.ungetService(info.agentReference); - } - } + + public void destroyPersistenceBundle(BundleContext containerContext, Bundle bundle) { + } public String getDefaultProviderClassName() { - return null; + return null; } - - private static class PersistenceBundleInfo { - private Collection<ManagedPersistenceUnitInfo> managedUnits; - private ServiceReference agentReference; - } - + //Code that can be used to attach a fragment for provider wiring ////If we can't find a provider then bomb out Modified: incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/ManagedPersistenceUnitInfoImpl.java URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/ManagedPersistenceUnitInfoImpl.java?rev=950757&r1=950756&r2=950757&view=diff ============================================================================== --- incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/ManagedPersistenceUnitInfoImpl.java (original) +++ incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/ManagedPersistenceUnitInfoImpl.java Wed Jun 2 20:49:05 2010 @@ -25,19 +25,18 @@ import javax.persistence.spi.Persistence import org.apache.aries.jpa.container.ManagedPersistenceUnitInfo; import org.apache.aries.jpa.container.parsing.ParsedPersistenceUnit; -import org.apache.aries.jpa.transformer.TransformerAgent; import org.osgi.framework.Bundle; import org.osgi.framework.ServiceReference; -public class ManagedPersistenceUnitInfoImpl implements ManagedPersistenceUnitInfo { +public class ManagedPersistenceUnitInfoImpl implements + ManagedPersistenceUnitInfo { - private final PersistenceUnitInfoImpl info; + private final PersistenceUnitInfo info; public ManagedPersistenceUnitInfoImpl(Bundle persistenceBundle, - ParsedPersistenceUnit unit, - ServiceReference providerRef, - TransformerAgent agent) { - info = new PersistenceUnitInfoImpl(persistenceBundle, unit, providerRef, agent); + ParsedPersistenceUnit unit, + ServiceReference providerRef) { + info = new PersistenceUnitInfoImpl(persistenceBundle, unit, providerRef); } public Map<String, Object> getContainerProperties() { @@ -48,8 +47,5 @@ public class ManagedPersistenceUnitInfoI return info; } - public void destroy() { - info.destroy(); - } } Modified: incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/PersistenceUnitInfoImpl.java URL: http://svn.apache.org/viewvc/incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/PersistenceUnitInfoImpl.java?rev=950757&r1=950756&r2=950757&view=diff ============================================================================== --- incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/PersistenceUnitInfoImpl.java (original) +++ incubator/aries/trunk/jpa/jpa-container/src/main/java/org/apache/aries/jpa/container/unit/impl/PersistenceUnitInfoImpl.java Wed Jun 2 20:49:05 2010 @@ -34,7 +34,6 @@ import javax.persistence.spi.Persistence import javax.sql.DataSource; import org.apache.aries.jpa.container.parsing.ParsedPersistenceUnit; -import org.apache.aries.jpa.transformer.TransformerAgent; import org.osgi.framework.Bundle; import org.osgi.framework.ServiceReference; import org.slf4j.Logger; @@ -50,32 +49,19 @@ public class PersistenceUnitInfoImpl imp private final ServiceReference providerRef; - private final TransformerAgent agent; - - private final List<TransformerWrapper> transformers; - /** Logger */ private static final Logger _logger = LoggerFactory.getLogger("org.apache.aries.jpa.container"); - public PersistenceUnitInfoImpl(Bundle bundle, - ParsedPersistenceUnit parsedData, - ServiceReference providerRef, - TransformerAgent agent) + public PersistenceUnitInfoImpl (Bundle b, ParsedPersistenceUnit parsedData, final ServiceReference providerRef) { - this.bundle = bundle; + bundle = b; unit = parsedData; this.providerRef = providerRef; - this.agent = agent; - this.transformers = new ArrayList<TransformerWrapper>(); - cl = new BundleDelegatingClassLoader(bundle); + cl = new BundleDelegatingClassLoader(b); } - public void addTransformer(ClassTransformer classTransformer) { - if (agent != null) { - TransformerWrapper transformer = new TransformerWrapper(classTransformer, bundle); - transformers.add(transformer); - agent.addTransformer(transformer); - } + public void addTransformer(ClassTransformer arg0) { + // TODO Add support for class transformation from this method } public boolean excludeUnlistedClasses() { @@ -208,13 +194,4 @@ public class PersistenceUnitInfoImpl imp } - public void destroy() { - if (agent != null) { - for (TransformerWrapper transformer : transformers) { - agent.removeTransformer(transformer); - } - transformers.clear(); - } - } - -} +} \ No newline at end of file