mcconnell    2004/01/08 01:43:45

  Modified:    
merlin/activation/impl/src/java/org/apache/avalon/activation/appliance/impl
                        Tag: Ver_3_4 DefaultBlock.java
  Log:
  Fix UndeclaredThrowableException handling in block proxy (reported by Timothy 
Bennet).
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.7.2.3   +13 -3     
avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/appliance/impl/Attic/DefaultBlock.java
  
  Index: DefaultBlock.java
  ===================================================================
  RCS file: 
/home/cvs/avalon/merlin/activation/impl/src/java/org/apache/avalon/activation/appliance/impl/Attic/DefaultBlock.java,v
  retrieving revision 1.7.2.2
  retrieving revision 1.7.2.3
  diff -u -r1.7.2.2 -r1.7.2.3
  --- DefaultBlock.java 7 Jan 2004 13:58:11 -0000       1.7.2.2
  +++ DefaultBlock.java 8 Jan 2004 09:43:45 -0000       1.7.2.3
  @@ -279,11 +279,21 @@
                   Object object = provider.resolve();
                   return method.invoke( object, args );
               }
  +            catch( UndeclaredThrowableException e )
  +            {
  +                Throwable cause = e.getUndeclaredThrowable();
  +                if( cause != null ) throw cause;
  +                final String error = 
  +                  "Delegation error raised by component: " + 
m_model.getQualifiedName();
  +                throw new ApplianceException( error, e );
  +            }
               catch( InvocationTargetException e )
               {
  +                Throwable cause = e.getTargetException();
  +                if( cause != null ) throw cause;
                   final String error = 
  -                  "Delegation error raised by provider: " + provider;
  -                throw new ApplianceException( error, e.getTargetException() );
  +                  "Delegation error raised by component: " + 
m_model.getQualifiedName();
  +                throw new ApplianceException( error, e );
               }
               catch( Throwable e )
               {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to