Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*     */ package org.jboss.ejb3.enc;
  /*     */ 
  /*     */ import java.util.Collection;
  /*     */ import java.util.LinkedHashMap;
  /*     */ import java.util.List;
  /*     */ import javax.naming.NameNotFoundException;
  /*     */ import org.jboss.ejb3.DeploymentScope;
  /*     */ import org.jboss.ejb3.DeploymentUnit;
  /*     */ import org.jboss.ejb3.Ejb3Deployment;
 /*     */ import org.jboss.ejb3.PersistenceUnitRegistry;
 /*     */ import org.jboss.logging.Logger;
 /*     */ 
 /*     */ public class DeploymentPersistenceUnitResolver
 /*     */ {
 /*  43 */   private static final Logger log = Logger.getLogger(DeploymentPersistenceUnitResolver.class);
 /*     */   protected List<PersistenceUnitDeploymentpersistenceUnitDeployments;
 /*     */   protected DeploymentScope deploymentScope;
 /*     */   protected LinkedHashMap ejbContainers;
 /*     */ 
 /*     */   public DeploymentPersistenceUnitResolver(List<PersistenceUnitDeploymentpersistenceUnitDeploymentsDeploymentScope deploymentScopeLinkedHashMap ejbContainers)
 /*     */   {
 /*  51 */     this.persistenceUnitDeployments = persistenceUnitDeployments;
 /*  52 */     this.deploymentScope = deploymentScope;
 /*  53 */     this.ejbContainers = ejbContainers;
 /*     */   }
 /*     */ 
 /*     */   {
 /*  58 */     if ((unitName == null) || ("".equals(unitName)))
 /*     */     {
 /*  60 */       if (this.persistenceUnitDeployments == null)
 /*     */       {
 /*  62 */         throw new NameNotFoundException("EMPTY STRING unitName but there is no deployments in scope");
 /*     */       }
 /*  64 */       if ((this.persistenceUnitDeployments.size() == 1) && (this.ejbContainers.size() > 0))
 /*     */       {
 /*  66 */         return (PersistenceUnitDeployment)this.persistenceUnitDeployments.get(0);
 /*     */       }
 /*  68 */       if (this.persistenceUnitDeployments.size() > 1)
 /*     */       {
 /*  70 */         throw new NameNotFoundException("EMPTY STRING unitName and there is more than one scoped persistence unit");
 /*     */       }
 /*     */ 
 /*  74 */       if (this.deploymentScope != null)
 /*     */       {
 /*  76 */         Collection deployments = this.deploymentScope.getEjbDeployments();
 /*  77 */         if (deployments != null)
 /*     */         {
 /*  79 */           for (Ejb3Deployment deployment : deployments)
 /*     */           {
 /*  81 */             if (deployment.getPersistenceUnitDeployments().size() == 1)
 /*     */             {
 /*  83 */               return (PersistenceUnitDeployment)deployment.getPersistenceUnitDeployments().get(0);
 /*     */             }
 /*     */           }
 /*     */         }
 /*     */       }
 /*  88 */       throw new NameNotFoundException("There is no default persistence unit in this deployment.");
 /*     */     }
 /*     */ 
 /*  92 */     int hashIndex = unitName.indexOf('#');
 /*  93 */     if (hashIndex != -1)
 /*     */     {
 /*  95 */       String relativePath = unitName.substring(0, hashIndex);
 /*  96 */       String name = unitName.substring(hashIndex + 1);
 /*  97 */       if (this.deploymentScope == null)
 /*     */       {
 /*  99 */         String relativeJarName = relativePath.substring(3);
 /*     */ 
 /* 101 */         for (PersistenceUnitDeployment pud : PersistenceUnitRegistry.getPersistenceUnits())
 /*     */         {
 /* 103 */           String jarName = pud.getDeployment().getDeploymentUnit().getShortName() + ".jar";
 /* 104 */           if ((pud.getDeployment().getEar() == null) && (jarName.equals(relativeJarName)) && (pud.getEntityManagerName().equals(name)) && (pud.isScoped()))
 /*     */           {
 /* 109 */             return pud;
 /*     */           }
 /*     */         }
 /* 112 */         return null;
 /*     */       }
 /* 114 */       Ejb3Deployment dep = this.deploymentScope.findRelativeDeployment(relativePath);
 /* 115 */       if (dep == null)
 /*     */       {
 /* 117 */         return null;
 /*     */       }
 /* 119 */       PersistenceUnitDeployment rtn = dep.getPersistenceUnitDeploymentInternal(name);
 /* 120 */       return rtn;
 /*     */     }
 /* 122 */     PersistenceUnitDeployment rtn = getPersistenceUnitDeploymentInternal(unitName);
 /* 123 */     if (rtn != nullreturn rtn;
 /*     */ 
 /* 125 */     for (PersistenceUnitDeployment deployment : PersistenceUnitRegistry.getPersistenceUnits())
 /*     */     {
 /* 127 */       if (!deployment.isScoped())
 /* 128 */         if (deployment.getEntityManagerName().equals(unitName)) return deployment;
 /*     */     }
 /* 130 */     return rtn;
 /*     */   }
 /*     */ 
/*     */   {
/* 135 */     if (this.persistenceUnitDeployments != null)
/*     */     {
/* 137 */       for (PersistenceUnitDeployment deployment : this.persistenceUnitDeployments)
/*     */       {
/* 139 */         if (deployment.getEntityManagerName().equals(unitName))
/*     */         {
/* 141 */           return deployment;
/*     */         }
/*     */       }
/*     */     }
/* 145 */     return null;
/*     */   }
/*     */ }
/* Location:           /home/mnovotny/projects/EMBEDDED_JBOSS_BETA3_COMMUNITY/embedded/output/lib/embedded-jboss/lib/jboss-embedded-all.jar
 * Qualified Name:     org.jboss.ejb3.enc.DeploymentPersistenceUnitResolver
 * JD-Core Version:    0.6.0
 */
New to GrepCode? Check out our FAQ X