You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2003/09/15 11:55:13 UTC
cvs commit: avalon-sandbox/merlin/repository/impl/src/java/org/apache/avalon/repository/impl DefaultFileRepository.java HttpController.java
mcconnell 2003/09/15 02:55:13
Modified: merlin/repository/impl/src/java/org/apache/avalon/repository/impl
DefaultFileRepository.java HttpController.java
Log:
Add "...." messages to System.out when downloading content (special request from Alexis).
Revision Changes Path
1.4 +35 -8 avalon-sandbox/merlin/repository/impl/src/java/org/apache/avalon/repository/impl/DefaultFileRepository.java
Index: DefaultFileRepository.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/repository/impl/src/java/org/apache/avalon/repository/impl/DefaultFileRepository.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DefaultFileRepository.java 14 Sep 2003 13:07:15 -0000 1.3
+++ DefaultFileRepository.java 15 Sep 2003 09:55:13 -0000 1.4
@@ -174,29 +174,56 @@
return m_base.toString();
}
+
/**
* Install a block archive into the repository.
* @param url the block archive url
- * @param buffer a string buffer against which install messages may be logged
+ * @param buffer a string buffer against which messages may be logged
* @return the block manifest
*/
public BlockManifest install( URL url, StringBuffer buffer ) throws RepositoryException
{
- buffer.append( "install target: " + url );
+ String path = url.getFile();
try
{
+ File temp = File.createTempFile( "avalon-", "-bar" );
+ temp.delete();
+ HttpController.getFile( url.toString(), temp, true );
+ temp.deleteOnExit();
+ return expand( temp.toURL(), buffer );
+ }
+ catch( RepositoryException e )
+ {
+ throw e;
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ "Cannot install target: " + url;
+ throw new RepositoryException( error, e );
+ }
+ }
+
+ /**
+ * Expand a block archive into the repository.
+ * @param url the block archive url
+ * @param buffer a string buffer against which messages may be logged
+ * @return the block manifest
+ */
+ private BlockManifest expand( URL url, StringBuffer buffer ) throws RepositoryException
+ {
+ try
+ {
URL jurl = new URL( "jar:" + url.toString() + "!/" );
JarURLConnection connection = (JarURLConnection) jurl.openConnection();
BlockManifest manifest =
new DefaultBlockManifest( connection.getManifest() );
final String group = manifest.getBlockGroup();
- buffer.append( "\n block group: " + group );
+ buffer.append( "\nBlock Group: " + group );
final File root = new File( m_base, group );
-
- buffer.append( "\nInstall target: " + root );
-
+ buffer.append( "\nLocal target: " + root );
JarFile jar = connection.getJarFile();
Enumeration entries = jar.entries();
while( entries.hasMoreElements() )
@@ -207,7 +234,7 @@
installEntry( buffer, root, jar, entry );
}
}
- buffer.append( "\nInstall sucessful." );
+ buffer.append( "\nInstall successful." );
return manifest;
}
catch( Throwable e )
1.2 +4 -1 avalon-sandbox/merlin/repository/impl/src/java/org/apache/avalon/repository/impl/HttpController.java
Index: HttpController.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/repository/impl/src/java/org/apache/avalon/repository/impl/HttpController.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- HttpController.java 11 Aug 2003 22:37:15 -0000 1.1
+++ HttpController.java 15 Sep 2003 09:55:13 -0000 1.2
@@ -202,11 +202,14 @@
byte[] buffer = new byte[100 * 1024];
int length;
+ System.out.print( "Source: " + source + "\n");
while ( ( length = is.read( buffer ) ) >= 0 )
{
fos.write( buffer, 0, length );
+ System.out.print( "." );
}
+ System.out.println( "" );
fos.close();
is.close();
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org