Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*     */ package org.jboss.ejb3.deployers;
  /*     */ 
  /*     */ import java.io.InputStream;
  /*     */ import java.util.HashSet;
  /*     */ import java.util.List;
  /*     */ import java.util.Map;
  /*     */ import java.util.Properties;
  /*     */ import javax.management.MBeanServer;
 /*     */ import org.jboss.ejb3.DeploymentScope;
 /*     */ import org.jboss.ejb3.EJB3Deployer;
 /*     */ import org.jboss.ejb3.Ejb3Deployment;
 /*     */ import org.jboss.kernel.Kernel;
 /*     */ import org.jboss.logging.Logger;
 /*     */ import org.jboss.virtual.VirtualFile;
 /*     */ 
 /*     */ @Deprecated
 /*     */ public class EJBRegistrationDeployer extends AbstractVFSRealDeployer
 /*     */ {
 /*  54 */   private static final Logger log = Logger.getLogger(EJBRegistrationDeployer.class);
 /*     */   private HashSet ignoredJarsSet;
 /*     */   private MBeanServer mbeanServer;
 /*     */   private Kernel kernel;
 /*     */   private Properties defaultPersistenceProperties;
 /*     */   private List<StringallowedSuffixes;
 /*     */   private boolean requireDeploymentDescriptor;
 /*     */ 
 /*     */   public EJBRegistrationDeployer()
 /*     */   {
 /*  69 */     setRelativeOrder(-1);
 /*  70 */     setOutputs(new String[] { Ejb3Deployment.class.getName(), JaccPolicyUtil.IGNORE_ME_NAME });
 /*     */   }
 /*     */ 
 /*     */   public List<StringgetAllowedSuffixes()
 /*     */   {
 /*  75 */     return this.allowedSuffixes;
 /*     */   }
 /*     */ 
 /*     */   public void setAllowedSuffixes(List<StringallowedSuffixes)
 /*     */   {
 /*  80 */     this.allowedSuffixes = allowedSuffixes;
 /*     */   }
 /*     */ 
 /*     */   public HashSet getIgnoredJarsSet()
 /*     */   {
 /*  85 */     return this.ignoredJarsSet;
 /*     */   }
 /*     */ 
 /*     */   public void setIgnoredJarsSet(HashSet ignoredJarsSet)
 /*     */   {
 /*  90 */     this.ignoredJarsSet = ignoredJarsSet;
 /*     */   }
 /*     */ 
 /*     */   public MBeanServer getMbeanServer()
 /*     */   {
 /*  95 */     return this.mbeanServer;
 /*     */   }
 /*     */ 
 /*     */   public void setMbeanServer(MBeanServer mbeanServer)
 /*     */   {
 /* 100 */     this.mbeanServer = mbeanServer;
 /*     */   }
 /*     */ 
 /*     */   public Kernel getKernel()
 /*     */   {
 /* 105 */     return this.kernel;
 /*     */   }
 /*     */ 
 /*     */   public void setKernel(Kernel kernel)
 /*     */   {
 /* 110 */     this.kernel = kernel;
 /*     */   }
 /*     */ 
 /*     */   public Properties getDefaultPersistenceProperties()
 /*     */   {
 /* 115 */     return this.defaultPersistenceProperties;
 /*     */   }
 /*     */ 
 /*     */   public void setDefaultPersistenceProperties(Properties defaultPersistenceProperties)
 /*     */   {
 /* 120 */     this.defaultPersistenceProperties = defaultPersistenceProperties;
 /*     */   }
 /*     */ 
 /*     */   public boolean getRequireDeploymentDescriptor()
 /*     */   {
 /* 125 */     return this.requireDeploymentDescriptor;
 /*     */   }
 /*     */ 
 /*     */   public void setRequireDeploymentDescriptor(boolean requireDeploymentDescriptor)
 /*     */   {
 /* 130 */     this.requireDeploymentDescriptor = requireDeploymentDescriptor;
 /*     */   }
 /*     */ 
 /*     */   public void deploy(VFSDeploymentUnit unit)
 /*     */     throws DeploymentException
 /*     */   {
/*     */     try
/*     */     {
/* 138 */       boolean hasEjbDd = false;
/* 139 */       boolean hasJbossDd = false;
/*     */ 
/* 141 */       VirtualFile jar = unit.getRoot();
/* 142 */       if ((jar.isLeaf()) || (this.ignoredJarsSet.contains(jar.getName())))
/*     */       {
/* 144 */         log.trace("EJBRegistrationDeployer ignoring: " + jar.getName());
/* 145 */         return;
/*     */       }
/* 147 */       if (!hasAllowedSuffix(jar.getName()))
/*     */       {
/* 149 */         log.trace("EJBRegistrationDeployer suffix not allowed: " + jar.getName());
/* 150 */         return;
/*     */       }
/*     */ 
/* 153 */       VirtualFile ejbjar = unit.getMetaDataFile("ejb-jar.xml");
/* 154 */       if (ejbjar != null)
/*     */       {
/* 156 */         InputStream is = ejbjar.openStream();
/* 157 */         boolean has30EjbJarXml = EJB3Deployer.has30EjbJarXml(is);
/* 158 */         is.close();
/* 159 */         if (!has30EjbJarXml) {
/* 160 */           return;
/*     */         }
/*     */ 
/* 163 */         hasEjbDd = true;
/*     */       }
/*     */ 
/* 168 */       hasJbossDd = unit.getMetaDataFile("jboss.xml") != null;
/*     */ 
/* 172 */       if ((getRequireDeploymentDescriptor()) && (!hasJbossDd) && (!hasEjbDd))
/*     */       {
/* 174 */         log.trace(EJBRegistrationDeployer.class.getSimpleName() + " skipping deployment \"" + unit.getSimpleName() + "\", jar: \"" + jar.getName() + "\" - either EJB3 Deployment Descriptor or \"jboss.xml\" is required and neither were found.");
/*     */ 
/* 177 */         return;
/*     */       }
/*     */ 
/* 180 */       log.debug("********* EJBRegistrationDepoyer Begin Unit: " + unit.getSimpleName() + " jar: " + jar.getName());
/* 181 */       DeploymentScope scope = null;
/* 182 */       VFSDeploymentUnit parent = unit.getParent();
/* 183 */       if ((parent != null) && (parent.getSimpleName().endsWith(".ear")))
/*     */       {
/* 185 */         scope = (DeploymentScope)parent.getAttachment(DeploymentScope.class);
/* 186 */         if (scope == null)
/*     */         {
/* 188 */           scope = new JBoss5DeploymentScope(unit.getParent());
/* 189 */           parent.addAttachment(DeploymentScope.class, scope);
/*     */         }
/*     */       }
/* 192 */       JBoss5DeploymentUnit du = new JBoss5DeploymentUnit(unit);
/* 193 */       du.setDefaultPersistenceProperties(this.defaultPersistenceProperties);
/* 194 */       Ejb3JBoss5Deployment deployment = new Ejb3JBoss5Deployment(du, this.kernel, this.mbeanServer, unit, scope, nullnullnull);
/* 195 */       if (scope != null) scope.register(deployment);
/*     */ 
/* 197 */       deployment.create();
/* 198 */       if ((deployment.getEjbContainers().size() == 0) && (deployment.getPersistenceUnitDeployments().size() == 0))
/*     */       {
/* 200 */         log.trace("EJBRegistrationDeployer no containers in scanned jar, consider adding it to the ignore list: " + jar.getName() + " url: " + jar.toURL() + " unit: " + unit.getSimpleName());
/* 201 */         return;
/*     */       }
/* 203 */       unit.addAttachment(Ejb3Deployment.class, deployment);
/*     */ 
/* 205 */       unit.addAttachment(JaccPolicyUtil.IGNORE_ME_NAME, Boolean.valueOf(true), Boolean.class);
/*     */     }
/*     */     catch (Exception e)
/*     */     {
/* 209 */       throw new DeploymentException(e);
/*     */     }
/*     */   }
/*     */ 
/*     */   private boolean hasAllowedSuffix(String name)
/*     */   {
/* 215 */     if (this.allowedSuffixes == null) {
/* 216 */       return true;
/*     */     }
/* 218 */     for (String suffix : this.allowedSuffixes)
/*     */     {
/* 220 */       if (name.endsWith(suffix))
/*     */       {
/* 222 */         return true;
/*     */       }
/*     */     }
/* 225 */     return false;
/*     */   }
/*     */ 
/*     */   public void undeploy(VFSDeploymentUnit unit)
/*     */   {
/* 230 */     Ejb3Deployment deployment = (Ejb3Deployment)unit.getAttachment(Ejb3Deployment.class);
/* 231 */     if (deployment == nullreturn;
/*     */     try
/*     */     {
/* 234 */       deployment.stop();
/*     */     }
/*     */     catch (Exception e)
/*     */     {
/* 238 */       log.error("failed to stop deployment", e);
/*     */     }
/*     */     try
/*     */     {
/* 242 */       deployment.destroy();
/*     */     }
/*     */     catch (Exception e)
/*     */     {
/* 246 */       log.error("failed to destroy deployment", e);
/*     */     }
/*     */   }
/*     */ }
/* Location:           /home/mnovotny/projects/EMBEDDED_JBOSS_BETA3_COMMUNITY/embedded/output/lib/embedded-jboss/lib/jboss-embedded-all.jar
 * Qualified Name:     org.jboss.ejb3.deployers.EJBRegistrationDeployer
 * JD-Core Version:    0.6.0
 */
New to GrepCode? Check out our FAQ X