mcconnell 2003/11/19 20:17:55
Modified: repository/impl project.xml
repository/impl/src/java/org/apache/avalon/repository/impl
ArtifactDatabaseImpl.java
DefaultFileRepository.java
DefaultRepositoryFactory.java defaults.properties
Log:
Refactoring.
Revision Changes Path
1.5 +5 -0 avalon-sandbox/repository/impl/project.xml
Index: project.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/repository/impl/project.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- project.xml 13 Nov 2003 14:24:42 -0000 1.4
+++ project.xml 20 Nov 2003 04:17:55 -0000 1.5
@@ -25,6 +25,11 @@
<version>1.2-dev</version>
</dependency>
<dependency>
+ <groupId>avalon-repository</groupId>
+ <artifactId>avalon-repository-util</artifactId>
+ <version>1.2-dev</version>
+ </dependency>
+ <dependency>
<groupId>avalon-util</groupId>
<artifactId>avalon-util-defaults</artifactId>
<version>1.0-dev</version>
1.6 +4 -4
avalon-sandbox/repository/impl/src/java/org/apache/avalon/repository/impl/ArtifactDatabaseImpl.java
Index: ArtifactDatabaseImpl.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/repository/impl/src/java/org/apache/avalon/repository/impl/ArtifactDatabaseImpl.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ArtifactDatabaseImpl.java 19 Nov 2003 17:28:37 -0000 1.5
+++ ArtifactDatabaseImpl.java 20 Nov 2003 04:17:55 -0000 1.6
@@ -62,8 +62,8 @@
import org.apache.avalon.repository.ArtifactDatabase ;
import org.apache.avalon.repository.Artifact;
import org.apache.avalon.repository.RepositoryException ;
-import org.apache.avalon.repository.RepositoryUtils ;
-import org.apache.avalon.repository.MavenArtifactFactory ;
+import org.apache.avalon.repository.util.MavenArtifactFactory ;
+import org.apache.avalon.repository.util.RepositoryUtils ;
/**
1.12 +25 -5
avalon-sandbox/repository/impl/src/java/org/apache/avalon/repository/impl/DefaultFileRepository.java
Index: DefaultFileRepository.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/repository/impl/src/java/org/apache/avalon/repository/impl/DefaultFileRepository.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- DefaultFileRepository.java 19 Nov 2003 17:28:37 -0000 1.11
+++ DefaultFileRepository.java 20 Nov 2003 04:17:55 -0000 1.12
@@ -75,7 +75,8 @@
import org.apache.avalon.repository.ArtifactDatabase;
import org.apache.avalon.repository.RepositoryException;
import org.apache.avalon.repository.RepositoryRuntimeException;
-import org.apache.avalon.repository.MavenArtifactFactory;
+import org.apache.avalon.repository.util.MavenArtifactFactory;
+import org.apache.avalon.repository.util.LOADER;
@@ -101,6 +102,11 @@
* Sequence of remote hosts.
*/
private final URL[] m_hosts;
+
+ /**
+ * Sequence of remote hosts.
+ */
+ private final String[] m_roots;
/** The database implementation. */
private final ArtifactDatabase m_db;
@@ -157,6 +163,12 @@
}
}
+ m_roots = new String[ m_hosts.length ];
+ for( int i=0; i<m_hosts.length; i++ )
+ {
+ m_roots[i] = m_hosts[i].toString();
+ }
+
if( context != null )
{
System.getProperties().put( "proxySet", "true" );
@@ -236,9 +248,13 @@
throw new NullPointerException( "artifact" );
}
+ return LOADER.getResource( artifact, m_roots, m_base, true );
+
+ /*
final String path = artifact.getURL( "" );
File file = new File( m_base, path );
getFile( path );
+System.out.println("RESOURCE: " + path + "(" + new File( m_base, path ).exists() +
")" );
try
{
return file.toURL();
@@ -249,8 +265,10 @@
"Cannot covert file to url: " + file;
throw new RepositoryRuntimeException( error, mue );
}
+ */
}
+ /*
private boolean getFile( String path ) throws RepositoryException
{
final File local = new File( m_base, path );
@@ -278,6 +296,7 @@
throw new RepositoryException( error, e );
}
}
+ */
/**
* Get a resource relative to the supplied artifact name where the artifact
@@ -376,12 +395,12 @@
return (URL[]) list.toArray( new URL[0] );
}
- private URL[] getURLs( Artifact main, Artifact[] dependents )
+ private URL[] getURLs( Artifact artifact, Artifact[] dependents )
throws RepositoryException
{
ArrayList list = new ArrayList();
getURLs( list, dependents );
- list.add( getResource( main ) );
+ list.add( getResource( artifact ) );
return (URL[]) list.toArray( new URL[0] );
}
@@ -409,7 +428,8 @@
{
File temp = File.createTempFile( "avalon-", "-bar" );
temp.delete();
- HttpController.getFile( url.toString(), temp, true );
+ LOADER.getResource( url.toString(), temp, true );
+ //HttpController.getFile( url.toString(), temp, true );
temp.deleteOnExit();
return expand( temp.toURL(), buffer );
}
1.9 +22 -19
avalon-sandbox/repository/impl/src/java/org/apache/avalon/repository/impl/DefaultRepositoryFactory.java
Index: DefaultRepositoryFactory.java
===================================================================
RCS file:
/home/cvs/avalon-sandbox/repository/impl/src/java/org/apache/avalon/repository/impl/DefaultRepositoryFactory.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- DefaultRepositoryFactory.java 18 Nov 2003 07:36:57 -0000 1.8
+++ DefaultRepositoryFactory.java 20 Nov 2003 04:17:55 -0000 1.9
@@ -69,6 +69,7 @@
import org.apache.avalon.repository.RepositoryContext ;
import org.apache.avalon.repository.RepositoryFactory ;
import org.apache.avalon.repository.RepositoryException ;
+import org.apache.avalon.repository.util.DefaultRepositoryContext ;
/**
@@ -124,7 +125,7 @@
{
Properties l_bootstrap = new Properties() ;
ProxyContext l_proxy = null ;
- RepositoryContext l_config = new DefaultRepositoryConfig() ;
+ DefaultRepositoryContext context = new DefaultRepositoryContext() ;
try
{
@@ -136,7 +137,8 @@
"Internal error, unable to locate enbedded resource: "
+ DEFAULTS
+ " from the resource: "
- +
DefaultRepositoryFactory.class.getProtectionDomain().getCodeSource().getLocation();
+ + DefaultRepositoryFactory.class.getProtectionDomain()
+ .getCodeSource().getLocation();
throw new IllegalStateException( error );
}
l_bootstrap.load( input );
@@ -145,14 +147,15 @@
catch ( IOException e )
{
throw new RepositoryException(
- "Failed to load implementation defaults from jar's "
- + DEFAULTS, e ) ;
+ "Failed to load implementation defaults from jar's "
+ + DEFAULTS, e ) ;
}
- /*
- * Create the finder (discovery policy), construct the defaults, and
- * macro expand the values.
- */
+ //
+ // Create the finder (discovery policy), construct the defaults, and
+ // macro expand the values.
+ //
+
final DefaultsFinder [] l_finders = {
new SimpleDefaultsFinder( new Properties[] { l_bootstrap }, false ),
new SystemDefaultsFinder()
@@ -161,17 +164,17 @@
Defaults l_defaults = new Defaults( s_singles, s_multiple, l_finders ) ;
Defaults.macroExpand( l_defaults, null ) ;
- /*
- * Here we start to populate the empty repository configuration using
- * the values stored in the defaults.
- */
+ //
+ // Here we start to populate the empty repository configuration using
+ // the values stored in the defaults.
+ //
- l_config.setCacheDir( l_defaults.getProperty( CACHE_DIR ) ) ;
+ context.setCacheDir( l_defaults.getProperty( CACHE_DIR ) ) ;
try
{
- l_config.setRemoteRepositoryUrls(
- l_defaults.getEnumerated( REMOTE_REPO_BASE ) ) ;
+ context.setRemoteRepositoryUrls(
+ l_defaults.getEnumerated( REMOTE_REPO_BASE ) ) ;
}
catch ( MalformedURLException e )
{
@@ -190,9 +193,9 @@
l_proxy = new ProxyContext( l_host, l_port, l_authenticator) ;
}
- l_config.setProxyContext( l_proxy ) ;
+ context.setProxyContext( l_proxy ) ;
- return l_config ;
+ return context ;
}
1.4 +1 -1
avalon-sandbox/repository/impl/src/java/org/apache/avalon/repository/impl/defaults.properties
Index: defaults.properties
===================================================================
RCS file:
/home/cvs/avalon-sandbox/repository/impl/src/java/org/apache/avalon/repository/impl/defaults.properties,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- defaults.properties 18 Nov 2003 07:35:53 -0000 1.3
+++ defaults.properties 20 Nov 2003 04:17:55 -0000 1.4
@@ -1,5 +1,5 @@
# Not used at the moment but can be used for defaults discovery
#
-cache.dir=.merlin
+cache.dir=.merlin
remote.repository.url.0=http://dpml.net
remote.repository.url.1=http://ibiblio.org/maven
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]