in jpa-container-eclipselink-adapter/src/main/java/org/apache/aries/jpa/eclipselink/adapter/Activator.java [97:122]
private void handlePotentialEclipseLink(Bundle b) {
if (!ECLIPSELINK_JPA_PROVIDER_BUNDLE_SYMBOLIC_NAME.equals(b.getSymbolicName())) {
return;
}
if (registeredProviders.containsKey(b)) {
return;
}
PersistenceProvider provider = createEclipselinkProvider(b);
if (provider == null) {
return;
}
LOG.debug("Adding new EclipseLink provider for bundle {}", b);
PersistenceProvider proxiedProvider = new EclipseLinkPersistenceProvider(provider, b);
Dictionary<String, Object> props = new Hashtable<String, Object>(); // NOSONAR
props.put("org.apache.aries.jpa.container.weaving.packages", getJPAPackages(b));
props.put("javax.persistence.provider", ECLIPSELINK_JPA_PROVIDER_CLASS_NAME);
ServiceRegistration<?> reg = context.registerService(PersistenceProvider.class, proxiedProvider, props);
ServiceRegistration<?> old = registeredProviders.putIfAbsent(b, reg);
if (old != null) {
reg.unregister();
}
}