use of org.apache.openejb.assembler.classic.PersistenceUnitReferenceInfo in project tomee by apache.
the class TomcatJndiBuilder method mergeJndi.
public void mergeJndi() throws OpenEJBException {
final NamingResourcesImpl naming = standardContext.getNamingResources();
final URI moduleUri = URLs.uri(webAppInfo.moduleId);
for (final EnvEntryInfo ref : webAppInfo.jndiEnc.envEntries) {
mergeRef(naming, ref);
}
for (final EjbReferenceInfo ref : webAppInfo.jndiEnc.ejbReferences) {
mergeRef(naming, ref);
}
for (final EjbLocalReferenceInfo ref : webAppInfo.jndiEnc.ejbLocalReferences) {
mergeRef(naming, ref);
}
for (final PersistenceContextReferenceInfo ref : webAppInfo.jndiEnc.persistenceContextRefs) {
mergeRef(naming, ref, moduleUri);
}
for (final PersistenceUnitReferenceInfo ref : webAppInfo.jndiEnc.persistenceUnitRefs) {
mergeRef(naming, ref, moduleUri);
}
for (final ResourceReferenceInfo ref : webAppInfo.jndiEnc.resourceRefs) {
mergeRef(naming, ref);
}
for (final ResourceEnvReferenceInfo ref : webAppInfo.jndiEnc.resourceEnvRefs) {
mergeRef(naming, ref);
}
for (final ServiceReferenceInfo ref : webAppInfo.jndiEnc.serviceRefs) {
mergeRef(naming, ref);
}
final ContextTransaction contextTransaction = new ContextTransaction();
contextTransaction.setProperty(Constants.FACTORY, UserTransactionFactory.class.getName());
naming.setTransaction(contextTransaction);
}
use of org.apache.openejb.assembler.classic.PersistenceUnitReferenceInfo in project aries by apache.
the class EJBExtender method processJPAMappings.
private void processJPAMappings(EjbJarInfo ejbInfo) {
for (EnterpriseBeanInfo ebi : ejbInfo.enterpriseBeans) {
for (PersistenceUnitReferenceInfo pui : ebi.jndiEnc.persistenceUnitRefs) {
pui.location = new ReferenceLocationInfo();
pui.location.jndiName = "aries/integration/unit/" + pui.persistenceUnitName;
}
for (PersistenceContextReferenceInfo pci : ebi.jndiEnc.persistenceContextRefs) {
pci.location = new ReferenceLocationInfo();
pci.location.jndiName = "aries/integration/context/" + pci.persistenceUnitName;
}
}
}
use of org.apache.openejb.assembler.classic.PersistenceUnitReferenceInfo in project aries by apache.
the class RunningApplication method addingService.
public Object addingService(ServiceReference reference) {
if (isTrue(reference, PersistenceUnitConstants.CONTAINER_MANAGED_PERSISTENCE_UNIT) && !!!isTrue(reference, PersistenceContextProvider.PROXY_FACTORY_EMF_ATTRIBUTE)) {
Map<Context, PersistenceUnitReferenceInfo> pUnitRefs = unitRegistrations.get(reference.getProperty(PersistenceUnitConstants.OSGI_UNIT_NAME));
Map<Context, PersistenceContextReferenceInfo> pCtxRefs = contextRegistrations.get(reference.getProperty(PersistenceUnitConstants.OSGI_UNIT_NAME));
if (pUnitRefs == null) {
pUnitRefs = new HashMap<Context, PersistenceUnitReferenceInfo>();
}
if (pCtxRefs == null) {
pCtxRefs = new HashMap<Context, PersistenceContextReferenceInfo>();
}
if (pUnitRefs.size() > 0 || pCtxRefs.size() > 0) {
EntityManagerFactory emf = (EntityManagerFactory) bundle.getBundleContext().getService(reference);
for (Entry<Context, PersistenceUnitReferenceInfo> e : pUnitRefs.entrySet()) {
try {
e.getKey().bind(e.getValue().referenceName, emf);
} catch (NamingException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
}
}
for (Entry<Context, PersistenceContextReferenceInfo> e : pCtxRefs.entrySet()) {
PersistenceContextReferenceInfo pci = e.getValue();
try {
e.getKey().bind(pci.referenceName, new JtaEntityManager((String) reference.getProperty(PersistenceUnitConstants.OSGI_UNIT_NAME), AriesPersistenceContextIntegration.get(), emf, pci.properties, pci.extended));
} catch (NamingException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
}
}
return emf;
}
}
return null;
}
use of org.apache.openejb.assembler.classic.PersistenceUnitReferenceInfo in project aries by apache.
the class RunningApplication method removedService.
public void removedService(ServiceReference reference, Object service) {
Map<Context, PersistenceUnitReferenceInfo> pUnitRefs = unitRegistrations.get(reference.getProperty(PersistenceUnitConstants.OSGI_UNIT_NAME));
Map<Context, PersistenceContextReferenceInfo> pCtxRefs = contextRegistrations.get(reference.getProperty(PersistenceUnitConstants.OSGI_UNIT_NAME));
if (pUnitRefs == null) {
pUnitRefs = new HashMap<Context, PersistenceUnitReferenceInfo>();
}
if (pCtxRefs == null) {
pCtxRefs = new HashMap<Context, PersistenceContextReferenceInfo>();
}
if (pUnitRefs.size() > 0 || pCtxRefs.size() > 0) {
for (Entry<Context, PersistenceUnitReferenceInfo> e : pUnitRefs.entrySet()) {
try {
e.getKey().unbind(e.getValue().referenceName);
} catch (NamingException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
}
}
for (Entry<Context, PersistenceContextReferenceInfo> e : pCtxRefs.entrySet()) {
PersistenceContextReferenceInfo pci = e.getValue();
try {
e.getKey().unbind(pci.referenceName);
} catch (NamingException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
}
}
}
}
use of org.apache.openejb.assembler.classic.PersistenceUnitReferenceInfo in project tomee by apache.
the class JndiEncInfoBuilder method buildPersistenceUnitRefInfos.
private void buildPersistenceUnitRefInfos(final JndiConsumer jndiConsumer, final JndiEncInfo moduleJndiEnc, final JndiEncInfo compJndiEnc) {
for (final PersistenceUnitRef puRef : jndiConsumer.getPersistenceUnitRef()) {
final PersistenceUnitReferenceInfo info = new PersistenceUnitReferenceInfo();
info.referenceName = puRef.getPersistenceUnitRefName();
info.persistenceUnitName = puRef.getPersistenceUnitName();
info.unitId = puRef.getMappedName();
info.location = buildLocationInfo(puRef);
info.targets.addAll(buildInjectionInfos(puRef));
insert(info, appInfo.globalJndiEnc.persistenceUnitRefs, appInfo.appJndiEnc.persistenceUnitRefs, moduleJndiEnc.persistenceUnitRefs, compJndiEnc.persistenceUnitRefs);
}
}
Aggregations