sylvain 2003/01/08 06:08:05 Modified: src/java/org/apache/cocoon/components/source/impl ContextSourceFactory.java Log: Fix endless loop Revision Changes Path 1.8 +14 -2 xml-cocoon2/src/java/org/apache/cocoon/components/source/impl/ContextSourceFactory.java Index: ContextSourceFactory.java =================================================================== RCS file: /home/cvs/xml-cocoon2/src/java/org/apache/cocoon/components/source/impl/ContextSourceFactory.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- ContextSourceFactory.java 8 Jan 2003 11:04:53 -0000 1.7 +++ ContextSourceFactory.java 8 Jan 2003 14:08:05 -0000 1.8 @@ -99,7 +99,10 @@ */ public void compose(ComponentManager manager) throws ComponentException { this.manager = manager; - this.resolver = (SourceResolver)this.manager.lookup(SourceResolver.ROLE); + // FIXME : Looking up the resolver here leads to an infinite loop + // (is this because of Avalon or CocoonComponentManager ??) + // So we delay this for to the first call to getSource(). + //this.resolver = (SourceResolver)this.manager.lookup(SourceResolver.ROLE); } /** @@ -132,6 +135,15 @@ this.getLogger().debug( "Creating source object for " + location ); } + // Lookup resolver if needed + if (this.resolver == null) { + try { + this.resolver = (SourceResolver)this.manager.lookup( SourceResolver.ROLE ); + } catch (ComponentException ce) { + throw new SourceException("Unable to lookup source resolver.", ce); + } + } + // Remove the protocol and the first '/' int pos = location.indexOf(":/"); String path = location.substring(pos+1);
---------------------------------------------------------------------- In case of troubles, e-mail: [EMAIL PROTECTED] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]