Package org.jboss.ejb3.tx

Source Code of org.jboss.ejb3.tx.TxUtil

/*    */ package org.jboss.ejb3.tx;
/*    */
/*    */ import javax.ejb.ApplicationException;
/*    */ import javax.ejb.TransactionManagement;
/*    */ import javax.ejb.TransactionManagementType;
/*    */ import javax.naming.InitialContext;
/*    */ import javax.naming.NamingException;
/*    */ import javax.transaction.TransactionManager;
/*    */ import org.jboss.aop.Advisor;
/*    */ import org.jboss.aop.joinpoint.Invocation;
/*    */ import org.jboss.aop.joinpoint.MethodInvocation;
/*    */ import org.jboss.ejb.ApplicationExceptionImpl;
/*    */ import org.jboss.ejb3.EJBContainer;
/*    */ import org.jboss.ejb3.InitialContextFactory;
/*    */ import org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData;
/*    */ import org.jboss.metadata.ejb.spec.ApplicationExceptionMetaData;
/*    */ import org.jboss.metadata.ejb.spec.ApplicationExceptionsMetaData;
/*    */ import org.jboss.tm.TransactionManagerLocator;
/*    */
/*    */ public class TxUtil
/*    */ {
/*    */   public static TransactionManager getTransactionManager()
/*    */     throws RuntimeException
/*    */   {
/*    */     try
/*    */     {
/* 55 */       InitialContext jndiContext = InitialContextFactory.getInitialContext();
/* 56 */       TransactionManager tm = TransactionManagerLocator.getInstance().locate();
/* 57 */       return tm;
/*    */     }
/*    */     catch (NamingException e) {
/*    */     }
/* 61 */     throw new RuntimeException("Unable to lookup TransactionManager", e);
/*    */   }
/*    */
/*    */   public static TransactionManagementType getTransactionManagementType(Advisor c)
/*    */   {
/* 67 */     TransactionManagement transactionManagement = (TransactionManagement)c.resolveAnnotation(TransactionManagement.class);
/* 68 */     if (transactionManagement == null) return TransactionManagementType.CONTAINER;
/* 69 */     return transactionManagement.value();
/*    */   }
/*    */
/*    */   public static ApplicationException getApplicationException(Class<?> exceptionClass, Invocation invocation)
/*    */   {
/* 74 */     MethodInvocation ejb = (MethodInvocation)invocation;
/* 75 */     EJBContainer container = (EJBContainer)ejb.getAdvisor();
/*    */
/* 79 */     if (exceptionClass.isAnnotationPresent(ApplicationException.class)) {
/* 80 */       return (ApplicationException)exceptionClass.getAnnotation(ApplicationException.class);
/*    */     }
/* 82 */     JBossAssemblyDescriptorMetaData assembly = container.getAssemblyDescriptor();
/*    */
/* 84 */     if (assembly != null)
/*    */     {
/* 86 */       ApplicationExceptionsMetaData exceptions = assembly.getApplicationExceptions();
/* 87 */       if (exceptions != null)
/*    */       {
/* 89 */         for (ApplicationExceptionMetaData exception : exceptions)
/*    */         {
/* 91 */           if (exception.getExceptionClass().equals(exceptionClass.getName())) {
/* 92 */             return new ApplicationExceptionImpl(exception.isRollback());
/*    */           }
/*    */         }
/*    */       }
/*    */     }
/* 97 */     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.tx.TxUtil
* JD-Core Version:    0.6.0
*/
TOP

Related Classes of org.jboss.ejb3.tx.TxUtil

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.