Package org.jboss.ejb.deployers

Source Code of org.jboss.ejb.deployers.MergedJBossMetaDataDeployer

/*    */ package org.jboss.ejb.deployers;
/*    */
/*    */ import org.jboss.deployers.spi.DeploymentException;
/*    */ import org.jboss.deployers.spi.attachments.MutableAttachments;
/*    */ import org.jboss.deployers.spi.deployer.DeploymentStages;
/*    */ import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
/*    */ import org.jboss.deployers.structure.spi.DeploymentUnit;
/*    */ import org.jboss.deployment.AnnotationMetaDataDeployer;
/*    */ import org.jboss.metadata.ejb.jboss.JBossMetaData;
/*    */ import org.jboss.metadata.ejb.spec.AnnotationMergedView;
/*    */ import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
/*    */ import org.jboss.metadata.ejb.spec.EjbJar3xMetaData;
/*    */ import org.jboss.metadata.ejb.spec.EjbJarMetaData;
/*    */
/*    */ public class MergedJBossMetaDataDeployer extends AbstractDeployer
/*    */ {
/* 44 */   public static final String EJB_MERGED_ATTACHMENT_NAME = "merged." + JBossMetaData.class.getName();
/*    */
/*    */   public MergedJBossMetaDataDeployer()
/*    */   {
/* 51 */     setStage(DeploymentStages.POST_CLASSLOADER);
/*    */
/* 53 */     addInput(EjbJarMetaData.class);
/*    */
/* 55 */     addInput(JBossMetaData.class);
/*    */
/* 57 */     addInput(AnnotationMetaDataDeployer.EJB_ANNOTATED_ATTACHMENT_NAME);
/*    */
/* 59 */     setOutput(JBossMetaData.class);
/*    */
/* 61 */     addOutput(EJB_MERGED_ATTACHMENT_NAME);
/*    */   }
/*    */
/*    */   public void deploy(DeploymentUnit unit) throws DeploymentException
/*    */   {
/* 66 */     EjbJarMetaData specMetaData = (EjbJarMetaData)unit.getAttachment(EjbJarMetaData.class);
/* 67 */     JBossMetaData metaData = (JBossMetaData)unit.getAttachment(JBossMetaData.class);
/* 68 */     if ((specMetaData == null) && (metaData == null)) {
/* 69 */       return;
/*    */     }
/*    */
/* 72 */     String key = AnnotationMetaDataDeployer.EJB_ANNOTATED_ATTACHMENT_NAME;
/* 73 */     EjbJar3xMetaData annotatedMetaData = (EjbJar3xMetaData)unit.getAttachment(key, EjbJar3xMetaData.class);
/* 74 */     if (annotatedMetaData != null)
/*    */     {
/* 76 */       if (specMetaData != null)
/*    */       {
/* 78 */         EjbJar3xMetaData specMerged = new EjbJar30MetaData();
/* 79 */         AnnotationMergedView.merge(specMerged, (EjbJar3xMetaData)specMetaData, annotatedMetaData);
/* 80 */         specMetaData = specMerged;
/*    */       }
/*    */       else {
/* 83 */         specMetaData = annotatedMetaData;
/*    */       }
/*    */     }
/*    */
/* 87 */     JBossMetaData mergedMetaData = new JBossMetaData();
/* 88 */     mergedMetaData.merge(metaData, specMetaData);
/* 89 */     unit.getTransientManagedObjects().addAttachment(JBossMetaData.class, mergedMetaData);
/*    */   }
/*    */ }

/* Location:           /home/mnovotny/projects/EMBEDDED_JBOSS_BETA3_COMMUNITY/embedded/output/lib/embedded-jboss/lib/jboss-embedded-all.jar
* Qualified Name:     org.jboss.ejb.deployers.MergedJBossMetaDataDeployer
* JD-Core Version:    0.6.0
*/
TOP

Related Classes of org.jboss.ejb.deployers.MergedJBossMetaDataDeployer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.