User: oberg   
  Date: 00/05/30 11:32:22

  Modified:    src/main/org/jboss/ejb/plugins
                        EntitySynchronizationInterceptor.java
                        LogInterceptor.java SecurityInterceptor.java
                        TxInterceptor.java
  Log:
  Major update. Too much to mention.
  
  Revision  Changes    Path
  1.4       +7 -7      
jboss/src/main/org/jboss/ejb/plugins/EntitySynchronizationInterceptor.java
  
  Index: EntitySynchronizationInterceptor.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/EntitySynchronizationInterceptor.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- EntitySynchronizationInterceptor.java     2000/05/12 11:43:57     1.3
  +++ EntitySynchronizationInterceptor.java     2000/05/30 18:32:22     1.4
  @@ -45,7 +45,7 @@
    *      
    *   @see <related>
    *   @author Rickard �berg ([EMAIL PROTECTED])
  - *   @version $Revision: 1.3 $
  + *   @version $Revision: 1.4 $
    */
   public class EntitySynchronizationInterceptor
      extends AbstractInterceptor
  @@ -101,7 +101,7 @@
            }
            
            synch.add(ctx);
  -         ctx.setTransaction(tx);
  +         ((EntityEnterpriseContext)ctx).setTransaction(tx);
         }
      }
   
  @@ -151,7 +151,7 @@
         EntityEnterpriseContext entityCtx = (EntityEnterpriseContext)ctx;
         
         
  -      Transaction tx = ctx.getTransaction();
  +      Transaction tx = entityCtx.getTransaction();
         Transaction current = getContainer().getTransactionManager().getTransaction();
         
   //DEBUG      Logger.debug("TX:"+(current.getStatus() == Status.STATUS_ACTIVE));
  @@ -162,10 +162,10 @@
            if (tx != null && !tx.equals(current))
            {
               // Wait for other tx associated with ctx to finish
  -            while ((tx = ctx.getTransaction()) != null)
  +            while ((tx = entityCtx.getTransaction()) != null)
               {
                  // Release context temporarily
  -               ((EntityContainer)getContainer()).getInstanceCache().release(ctx);
  +               
((EntityContainer)getContainer()).getInstanceCache().release(entityCtx);
                  
                  // Wait for tx to end
   //DEBUG               Logger.debug("Wait for "+ctx.getId()+":Current="+current+", 
Tx="+tx);
  @@ -182,7 +182,7 @@
                  {
                     try
                     {
  -                     tx.wait(TIMEOUT); // This should be changed to a s
  +                     synch.wait(TIMEOUT); // This should be changed to a s
                     } catch (InterruptedException e)
                     {
                        throw new ServerException("Time out", e);
  @@ -222,7 +222,7 @@
               } else
               {
                  // Entity was removed
  -               if (ctx.getTransaction() != null)
  +               if (entityCtx.getTransaction() != null)
                  {
                     // Disassociate ctx with tx
                     deregister(entityCtx, current);
  
  
  
  1.3       +30 -21    jboss/src/main/org/jboss/ejb/plugins/LogInterceptor.java
  
  Index: LogInterceptor.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/LogInterceptor.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- LogInterceptor.java       2000/04/26 06:41:32     1.2
  +++ LogInterceptor.java       2000/05/30 18:32:22     1.3
  @@ -7,7 +7,7 @@
   package org.jboss.ejb.plugins;
   
   import java.lang.reflect.Method;
  -import java.security.Principal;
  +import java.rmi.RemoteException;
   import java.util.Map;
   import java.util.HashMap;
   import java.util.Enumeration;
  @@ -30,7 +30,7 @@
    *      
    *   @see <related>
    *   @author Rickard �berg ([EMAIL PROTECTED])
  - *   @version $Revision: 1.2 $
  + *   @version $Revision: 1.3 $
    */
   public class LogInterceptor
      extends AbstractInterceptor
  @@ -40,6 +40,8 @@
      // Attributes ----------------------------------------------------
      Log log;
      
  +     boolean callLogging;
  +     
      // Static --------------------------------------------------------
   
      // Constructors --------------------------------------------------
  @@ -53,6 +55,10 @@
         super.start();
         
         String name = getContainer().getMetaData().getEjbName();
  +             
  +             // Should we log all calls?
  +             callLogging = 
getContainer().getMetaData().getContainerConfiguration().getCallLogging();
  +             
         log = new Log(name);
      }
      
  @@ -61,31 +67,34 @@
      {
         Log.setLog(log);
         
  -      StringBuffer str = new StringBuffer();
  -             str.append(method.getName());
  -             str.append("(");
  -      if (args != null)
  -         for (int i = 0; i < args.length; i++)
  -                     {
  -            str.append(i==0?"":",");
  -                             str.append(args[i]);
  -                     }
  -             str.append(")");
  -      log.log(str.toString());
  +             // Log calls?
  +             if (callLogging)
  +             {
  +                     StringBuffer str = new StringBuffer();
  +                     str.append(method.getName());
  +                     str.append("(");
  +                     if (args != null)
  +                        for (int i = 0; i < args.length; i++)
  +                             {
  +                           str.append(i==0?"":",");
  +                                     str.append(args[i]);
  +                             }
  +                     str.append(")");
  +                     log.log(str.toString());
  +             }
         
         try
         {
            return getNext().invokeHome(method, args, ctx);
         } catch (Exception e)
         {
  -         if (e instanceof FinderException)
  -            throw e;
  -         else if (e instanceof CreateException)
  -            throw e;
  -         else if (e instanceof RemoveException)
  -            throw e;
  -            
  -         e.printStackTrace();
  +                     // Log system exceptions
  +         if (e instanceof RemoteException ||
  +                              e instanceof RuntimeException)
  +                     {
  +                             e.printStackTrace();
  +                     }
  +                     
            throw e;
         } finally
         {
  
  
  
  1.2       +4 -4      jboss/src/main/org/jboss/ejb/plugins/SecurityInterceptor.java
  
  Index: SecurityInterceptor.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/SecurityInterceptor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SecurityInterceptor.java  2000/04/22 14:30:12     1.1
  +++ SecurityInterceptor.java  2000/05/30 18:32:22     1.2
  @@ -34,7 +34,7 @@
    *      
    *   @see <related>
    *   @author Rickard �berg ([EMAIL PROTECTED])
  - *   @version $Revision: 1.1 $
  + *   @version $Revision: 1.2 $
    */
   public class SecurityInterceptor
      extends AbstractInterceptor
  @@ -59,8 +59,8 @@
      public Object invokeHome(Method method, Object[] args, EnterpriseContext ctx)
         throws Exception
      {
  -      if (ctx != null)
  -         ctx.setPrincipal(SecureSocketFactory.getPrincipal());
  +//      if (ctx != null)
  +//         ctx.setPrincipal(SecureSocketFactory.getPrincipal());
         return getNext().invokeHome(method, args, ctx);
      }
   
  @@ -78,7 +78,7 @@
      public Object invoke(Object id, Method method, Object[] args, EnterpriseContext 
ctx)
         throws Exception
      {
  -      ctx.setPrincipal(SecureSocketFactory.getPrincipal());
  +//      ctx.setPrincipal(SecureSocketFactory.getPrincipal());
         return getNext().invoke(id, method, args, ctx);
      }
      
  
  
  
  1.5       +12 -12    jboss/src/main/org/jboss/ejb/plugins/TxInterceptor.java
  
  Index: TxInterceptor.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/TxInterceptor.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TxInterceptor.java        2000/05/19 07:11:53     1.4
  +++ TxInterceptor.java        2000/05/30 18:32:22     1.5
  @@ -29,7 +29,7 @@
    *      
    *   @see <related>
    *   @author Rickard �berg ([EMAIL PROTECTED])
  - *   @version $Revision: 1.4 $
  + *   @version $Revision: 1.5 $
    */
   public class TxInterceptor
      extends AbstractInterceptor
  @@ -89,7 +89,7 @@
         {
            case TX_NOT_SUPPORTED:
            {
  -            Logger.debug("TX_NOT_SUPPORTED");
  +//DEBUG            Logger.debug("TX_NOT_SUPPORTED");
               if (current.getStatus() != Status.STATUS_NO_TRANSACTION)
               {
                  // Suspend tx
  @@ -111,14 +111,14 @@
            
            case TX_REQUIRED:
            {
  -            Logger.debug("TX_REQUIRED");
  +//DEBUG            Logger.debug("TX_REQUIRED");
               Transaction tx = current;
               
  -            if (tx.getStatus() == Status.STATUS_NO_TRANSACTION)
  +            if (current.getStatus() == Status.STATUS_NO_TRANSACTION)
               {
                  // No tx running
                  // Create tx
  -               Logger.debug("Begin tx");
  +//DEBUG               Logger.debug("Begin tx");
                  getContainer().getTransactionManager().begin();
                  tx = getContainer().getTransactionManager().getTransaction();
               } 
  @@ -131,21 +131,21 @@
               {
                                        if (!tx.equals(current))
                                        {
  -                                             
getContainer().getTransactionManager().rollback();
  +                                             tx.rollback();
                                        }
                  throw e;
               } catch (RuntimeException e)
               {
                if (!tx.equals(current))
                {
  -                     getContainer().getTransactionManager().rollback();
  +                     tx.rollback();
                }
                  throw new ServerException("Exception occurred", e);
               } catch (Error e)
               {
                if (!tx.equals(current))
                {
  -                     getContainer().getTransactionManager().rollback();
  +                     tx.rollback();
                }
                  throw new ServerException("Exception occurred:"+e.getMessage());
               } finally
  @@ -168,7 +168,7 @@
            
            case TX_SUPPORTS:
            {
  -              Logger.debug("TX_SUPPORTS");
  +//DEBUG               Logger.debug("TX_SUPPORTS");
                 Transaction tx = current;
                 
                                // This mode doesn't really do anything
  @@ -222,7 +222,7 @@
            
            case TX_MANDATORY:
            {
  -              Logger.debug("TX_MANDATORY");
  +//DEBUG               Logger.debug("TX_MANDATORY");
                 if (current.getStatus() == Status.STATUS_NO_TRANSACTION)
                 {
                                        throw new TransactionRequiredException();
  @@ -234,7 +234,7 @@
            
            case TX_NEVER:
            {
  -              Logger.debug("TX_NEVER");
  +//DEBUG               Logger.debug("TX_NEVER");
                 if (current.getStatus() == Status.STATUS_ACTIVE)
                 {
                        throw new RemoteException("Transaction not allowed");
  @@ -253,7 +253,7 @@
      // This should be cached, since this method is called very often
      protected int getTransactionMethod(Method m)
      {
  -      return TX_REQUIRED; // TODO: find out transaction method
  +      return TX_SUPPORTS; // TODO: find out transaction method
      }
      // Inner classes -------------------------------------------------
   }
  
  
  

Reply via email to