You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jd...@apache.org on 2008/11/29 01:58:59 UTC
svn commit: r721603 - in /geronimo/gshell/trunk:
gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/
gshell-support/gshell-artifact-maven/src/main/java/org/apache/geronimo/gshell/artifact/maven/
gshell-support/gshell-artifact/src/main/java/org/apa...
Author: jdillon
Date: Fri Nov 28 16:58:59 2008
New Revision: 721603
URL: http://svn.apache.org/viewvc?rev=721603&view=rev
Log:
More artifact listener muck
Modified:
geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java
geronimo/gshell/trunk/gshell-support/gshell-artifact-maven/src/main/java/org/apache/geronimo/gshell/artifact/maven/ArtifactResolverImpl.java
geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferEvent.java
geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferListener.java
geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferListenerSupport.java
geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/monitor/ProgressSpinnerMonitor.java
Modified: geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java?rev=721603&r1=721602&r2=721603&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java (original)
+++ geronimo/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java Fri Nov 28 16:58:59 2008
@@ -214,9 +214,11 @@
builder.setClassLoader(getClass().getClassLoader());
builder.setIo(io);
- // Configure the download monitor
- ArtifactResolver artifactResolver = builder.getContainer().getBean(ArtifactResolver.class);
- artifactResolver.setTransferListener(new ProgressSpinnerMonitor(io));
+ if (!io.isQuiet() && !io.isSilent()) {
+ // Configure the download monitor
+ ArtifactResolver artifactResolver = builder.getContainer().getBean(ArtifactResolver.class);
+ artifactResolver.setTransferListener(new ProgressSpinnerMonitor(io));
+ }
// --help and --version need access to the application's information, so we have to handle these options late
if (help|version) {
Modified: geronimo/gshell/trunk/gshell-support/gshell-artifact-maven/src/main/java/org/apache/geronimo/gshell/artifact/maven/ArtifactResolverImpl.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-support/gshell-artifact-maven/src/main/java/org/apache/geronimo/gshell/artifact/maven/ArtifactResolverImpl.java?rev=721603&r1=721602&r2=721603&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-support/gshell-artifact-maven/src/main/java/org/apache/geronimo/gshell/artifact/maven/ArtifactResolverImpl.java (original)
+++ geronimo/gshell/trunk/gshell-support/gshell-artifact-maven/src/main/java/org/apache/geronimo/gshell/artifact/maven/ArtifactResolverImpl.java Fri Nov 28 16:58:59 2008
@@ -53,8 +53,32 @@
public void setTransferListener(final TransferListener listener) {
assert listener != null;
-
- // TODO: Hookup adapter to wagon manager
+
+ artifactManager.setDownloadMonitor(new org.apache.maven.wagon.events.TransferListener() {
+ public void transferInitiated(final org.apache.maven.wagon.events.TransferEvent transferEvent) {
+ // ignore
+ }
+
+ public void transferStarted(final org.apache.maven.wagon.events.TransferEvent transferEvent) {
+ // TODO:
+ }
+
+ public void transferProgress(final org.apache.maven.wagon.events.TransferEvent transferEvent, final byte[] buffer, final int length) {
+ // TODO:
+ }
+
+ public void transferCompleted(final org.apache.maven.wagon.events.TransferEvent transferEvent) {
+ // TODO:
+ }
+
+ public void transferError(final org.apache.maven.wagon.events.TransferEvent transferEvent) {
+ // TODO:
+ }
+
+ public void debug(final String message) {
+ log.trace(message);
+ }
+ });
}
public Result resolve(final Request request) throws Failure {
Modified: geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferEvent.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferEvent.java?rev=721603&r1=721602&r2=721603&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferEvent.java (original)
+++ geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferEvent.java Fri Nov 28 16:58:59 2008
@@ -19,6 +19,8 @@
package org.apache.geronimo.gshell.artifact.transfer;
+import java.net.URL;
+
/**
* Artifact transfer event.
*
@@ -26,5 +28,23 @@
*/
public interface TransferEvent
{
- // ???
+ enum Type {
+ UPLOAD, DOWNLOAD
+ }
+
+ Type getType();
+
+ URL getUrl();
+
+ /**
+ * The maximum length of the content.
+ */
+ long getContentLength();
+
+ /**
+ * The length of bytes received for this event.
+ */
+ long getLength();
+
+ Throwable getCause();
}
\ No newline at end of file
Modified: geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferListener.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferListener.java?rev=721603&r1=721602&r2=721603&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferListener.java (original)
+++ geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferListener.java Fri Nov 28 16:58:59 2008
@@ -26,6 +26,8 @@
*/
public interface TransferListener
{
+ int UNKNOWN_LENGTH = -1;
+
void transferStarted(TransferEvent event);
void transferProgress(TransferEvent event);
Modified: geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferListenerSupport.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferListenerSupport.java?rev=721603&r1=721602&r2=721603&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferListenerSupport.java (original)
+++ geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/TransferListenerSupport.java Fri Nov 28 16:58:59 2008
@@ -45,8 +45,6 @@
}
public void transferFailed(final TransferEvent event) {
- log.trace("Transfer error: {}", event);
-
- log.error("Transfer failure: {}", event);
+ log.trace("Transfer failure: {}", event);
}
}
\ No newline at end of file
Modified: geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/monitor/ProgressSpinnerMonitor.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/monitor/ProgressSpinnerMonitor.java?rev=721603&r1=721602&r2=721603&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/monitor/ProgressSpinnerMonitor.java (original)
+++ geronimo/gshell/trunk/gshell-support/gshell-artifact/src/main/java/org/apache/geronimo/gshell/artifact/transfer/monitor/ProgressSpinnerMonitor.java Fri Nov 28 16:58:59 2008
@@ -21,8 +21,10 @@
import org.apache.geronimo.gshell.io.IO;
import org.apache.geronimo.gshell.artifact.transfer.TransferListenerSupport;
+import org.apache.geronimo.gshell.artifact.transfer.TransferEvent;
import java.io.IOException;
+import java.net.URL;
/**
* A download monitor providing a simple spinning progress interface.
@@ -61,39 +63,28 @@
}
}
- //
- // TODO: May actually want to use a little timmer thread to make this spin more often for better user feedback
- // that we are still working, then use the event to update the message. Or really, put the timer in
- // the spinner impl, and then just update the status message
- //
-
- /*
public void transferStarted(final TransferEvent event) {
assert event != null;
- super.transferStarted(event);
-
complete = 0;
spinner.reset();
- String type = event.getRequestType() == REQUEST_PUT ? "Uploading" : "Downloading";
- String url = event.getWagon().getRepository().getUrl();
+ String type = event.getType() == TransferEvent.Type.UPLOAD ? "Uploading" : "Downloading";
+ URL url = event.getUrl();
- String message = type + ": " + url + "/" + event.getResource().getName();
+ String message = type + ": " + url;
log.debug(message);
println(message);
}
- public void transferProgress(final TransferEvent event, final byte[] buffer, final int length) {
+ public void transferProgress(final TransferEvent event) {
assert event != null;
- super.transferProgress(event, buffer, length);
-
- long total = event.getResource().getContentLength();
- complete += length;
+ long total = event.getContentLength();
+ complete += event.getLength();
String message;
@@ -114,12 +105,11 @@
super.transferCompleted(event);
- long length = event.getResource().getContentLength();
- String type = event.getRequestType() == REQUEST_PUT ? "Uploaded" : "Downloaded";
+ long length = event.getLength();
+ String type = event.getType() == TransferEvent.Type.UPLOAD ? "Uploaded" : "Downloaded";
String bytes = length >= 1024 ? ( length / 1024 ) + "K" : length + "b";
// pad at end just incase, should really blank the reset of the line
print(type + " " + bytes + " ");
}
- */
}
\ No newline at end of file