mcconnell 2003/09/08 03:38:00 Modified: merlin/activation/src/java/org/apache/avalon/activation/appliance/impl DefaultAppliance.java Log: Check for non-deployed state (can occur if a recursive dependency is not identified). Revision Changes Path 1.15 +10 -3 avalon-sandbox/merlin/activation/src/java/org/apache/avalon/activation/appliance/impl/DefaultAppliance.java Index: DefaultAppliance.java =================================================================== RCS file: /home/cvs/avalon-sandbox/merlin/activation/src/java/org/apache/avalon/activation/appliance/impl/DefaultAppliance.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- DefaultAppliance.java 8 Sep 2003 06:12:21 -0000 1.14 +++ DefaultAppliance.java 8 Sep 2003 10:38:00 -0000 1.15 @@ -486,6 +486,7 @@ // m_lifestyle = createLifestyleHandler( lifestyle ); + m_deployment.setEnabled( true ); // // if the deployment policy is on startup then trigger @@ -501,7 +502,6 @@ getLogger().debug( "activated instance: " + id ); } } - m_deployment.setEnabled( true ); } } @@ -560,7 +560,14 @@ public Object resolve( final Object source, final Class[] ref ) throws Exception { if( source == null ) throw new NullPointerException( "source" ); - if( m_lifestyle == null ) throw new IllegalStateException( "lifestyle" ); + if( !m_deployment.isEnabled() ) + { + final String error = + "Illegal attempt to resolve an service from a non-deployed appliance [" + + this + "]. A probably cause is a recursive dependency declaration."; + getLogger().error( error ); + throw new IllegalStateException( error ); + } Class[] refs = ref; if( refs == null ) refs = new Class[0];
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]