javax-persistence/2_0/src/main/java/org/apache/aries/jpa/javax/persistence/AriesJPASpecActivator.java [30:67]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
public class AriesJPASpecActivator implements BundleActivator, PersistenceProviderResolver {

	private ServiceTracker<PersistenceProvider, PersistenceProvider> tracker;
	
	private EMFBuilderServiceResolver emfResolver;
	
	@Override
	public void start(BundleContext context) throws Exception {
		emfResolver = new EMFBuilderServiceResolver(context);
		
		tracker = new ServiceTracker<PersistenceProvider, PersistenceProvider>(context, 
				PersistenceProvider.class, null);
		tracker.open();
		
		PersistenceProviderResolverHolder.setPersistenceProviderResolver(this);
	}

	@Override
	public void stop(BundleContext context) throws Exception {
		PersistenceProviderResolverHolder.setPersistenceProviderResolver(null);
		tracker.close();
		emfResolver.close();
	}

	@Override
	public List<PersistenceProvider> getPersistenceProviders() {
		Collection<PersistenceProvider> services = tracker.getTracked().values();
		
		List<PersistenceProvider> providers = new ArrayList<PersistenceProvider>(services.size() + 1);
		
		providers.add(emfResolver);
		providers.addAll(services);
		
		return providers;
	}

	@Override
	public void clearCachedProviders() {
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



javax-persistence/2_1/src/main/java/org/apache/aries/jpa/javax/persistence/AriesJPASpecActivator.java [31:68]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
public class AriesJPASpecActivator implements BundleActivator, PersistenceProviderResolver {

	private ServiceTracker<PersistenceProvider, PersistenceProvider> tracker;
	
	private EMFBuilderServiceResolver emfResolver;
	
	@Override
	public void start(BundleContext context) throws Exception {
		emfResolver = new EMFBuilderServiceResolver(context);
		
		tracker = new ServiceTracker<PersistenceProvider, PersistenceProvider>(context, 
				PersistenceProvider.class, null);
		tracker.open();
		
		PersistenceProviderResolverHolder.setPersistenceProviderResolver(this);
	}

	@Override
	public void stop(BundleContext context) throws Exception {
		PersistenceProviderResolverHolder.setPersistenceProviderResolver(null);
		tracker.close();
		emfResolver.close();
	}

	@Override
	public List<PersistenceProvider> getPersistenceProviders() {
		Collection<PersistenceProvider> services = tracker.getTracked().values();
		
		List<PersistenceProvider> providers = new ArrayList<PersistenceProvider>(services.size() + 1);
		
		providers.add(emfResolver);
		providers.addAll(services);
		
		return providers;
	}

	@Override
	public void clearCachedProviders() {
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



