bloritsch 2003/02/04 12:12:59
Modified: sourceresolve/src/java/org/apache/excalibur/source/impl
SourceResolverImpl.java
Log:
update sourceresolve with simpler semantics from CVS version of Fortress
Revision Changes Path
1.29 +25 -87
jakarta-avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl/SourceResolverImpl.java
Index: SourceResolverImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-excalibur/sourceresolve/src/java/org/apache/excalibur/source/impl/SourceResolverImpl.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- SourceResolverImpl.java 30 Jan 2003 18:11:53 -0000 1.28
+++ SourceResolverImpl.java 4 Feb 2003 20:12:59 -0000 1.29
@@ -164,31 +164,9 @@
{
m_manager = manager;
- // Best solution, part of Fortress and above
- if ( m_manager.hasService( SourceFactory.ROLE ) )
+ if ( m_manager.hasService( SourceFactory.ROLE + "Selector" ) )
{
- Object test = m_manager.lookup( SourceFactory.ROLE );
- if ( test instanceof ServiceSelector )
- {
- m_factorySelector = (ServiceSelector) test;
- }
- else
- {
- m_manager.release( test );
- }
- }
- // back compatibility hack for ECM
- else if ( m_manager.hasService( SourceFactory.ROLE + "Selector" ) )
- {
- Object test = m_manager.lookup( SourceFactory.ROLE + "Selector" );
- if ( test instanceof ServiceSelector )
- {
- m_factorySelector = (ServiceSelector) test;
- }
- else
- {
- m_manager.release( test );
- }
+ m_factorySelector = (ServiceSelector) m_manager.lookup(
SourceFactory.ROLE + "Selector" );
}
}
@@ -293,7 +271,7 @@
Source source = null;
// search for a SourceFactory implementing the protocol
final int protocolPos = systemID.indexOf( ':' );
- if( protocolPos != -1 && m_factorySelector != null)
+ if( protocolPos != -1)
{
final String protocol = systemID.substring( 0, protocolPos );
SourceFactory factory = null;
@@ -314,41 +292,20 @@
if( null == source )
{
- if ( null == m_factorySelector )
- {
- SourceFactory factory = null;
+ SourceFactory factory = null;
- try
- {
- factory = (SourceFactory) m_manager.lookup(SourceFactory.ROLE);
- source = factory.getSource( systemID, parameters );
- }
- catch (ServiceException se )
- {
- throw new SourceException( "Unable to select source factory for
" + systemID, se );
- }
- finally
- {
- m_manager.release(factory);
- }
+ try
+ {
+ factory = (SourceFactory) m_factorySelector.select("*");
+ source = factory.getSource( systemID, parameters );
}
- else
+ catch (ServiceException se )
{
- SourceFactory factory = null;
-
- try
- {
- factory = (SourceFactory) m_factorySelector.select("*");
- source = factory.getSource( systemID, parameters );
- }
- catch (ServiceException se )
- {
- throw new SourceException( "Unable to select source factory for
" + systemID, se );
- }
- finally
- {
- m_factorySelector.release(factory);
- }
+ throw new SourceException( "Unable to select source factory for " +
systemID, se );
+ }
+ finally
+ {
+ m_factorySelector.release(factory);
}
}
@@ -367,45 +324,26 @@
final String scheme = source.getScheme();
SourceFactory factory = null;
- if ( null == m_factorySelector )
+ try
+ {
+ factory = (SourceFactory) m_factorySelector.select(scheme);
+ factory.release(source);
+ }
+ catch (ServiceException se )
{
try
{
- factory = (SourceFactory) m_manager.lookup(SourceFactory.ROLE);
+ factory = (SourceFactory) m_factorySelector.select("*");
factory.release(source);
}
- catch (ServiceException se )
+ catch (ServiceException sse )
{
throw new CascadingRuntimeException( "Unable to select source
factory for " + source.getURI(), se );
}
- finally
- {
- m_manager.release( factory );
- }
}
- else
+ finally
{
- try
- {
- factory = (SourceFactory) m_factorySelector.select(scheme);
- factory.release(source);
- }
- catch (ServiceException se )
- {
- try
- {
- factory = (SourceFactory) m_factorySelector.select("*");
- factory.release(source);
- }
- catch (ServiceException sse )
- {
- throw new CascadingRuntimeException( "Unable to select source
factory for " + source.getURI(), se );
- }
- }
- finally
- {
- m_factorySelector.release( factory );
- }
+ m_factorySelector.release( factory );
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]