Hook up the default download monitor
git-svn-id: https://svn.apache.org/repos/asf/geronimo/gshell/trunk@721599 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/gshell-cli/pom.xml b/gshell-cli/pom.xml
index 57e1a5d..9a0ebb3 100644
--- a/gshell-cli/pom.xml
+++ b/gshell-cli/pom.xml
@@ -59,6 +59,11 @@
</dependency>
<dependency>
+ <groupId>org.apache.geronimo.gshell.support</groupId>
+ <artifactId>gshell-artifact</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.geronimo.gshell</groupId>
<artifactId>gshell-api</artifactId>
</dependency>
diff --git a/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java b/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java
index 75ad3a5..4d0d845 100644
--- a/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java
+++ b/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java
@@ -20,6 +20,9 @@
package org.apache.geronimo.gshell.cli;
import org.apache.geronimo.gshell.ansi.Ansi;
+import org.apache.geronimo.gshell.application.model.ApplicationModel;
+import org.apache.geronimo.gshell.artifact.ArtifactResolver;
+import org.apache.geronimo.gshell.artifact.transfer.monitor.ProgressSpinnerMonitor;
import org.apache.geronimo.gshell.clp.Argument;
import org.apache.geronimo.gshell.clp.CommandLineProcessor;
import org.apache.geronimo.gshell.clp.Option;
@@ -35,7 +38,6 @@
import org.apache.geronimo.gshell.terminal.WindowsTerminal;
import org.apache.geronimo.gshell.wisdom.builder.ShellBuilder;
import org.apache.geronimo.gshell.wisdom.builder.ShellBuilderImpl;
-import org.apache.geronimo.gshell.application.model.ApplicationModel;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
@@ -212,6 +214,10 @@
builder.setClassLoader(getClass().getClassLoader());
builder.setIo(io);
+ // 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) {
ApplicationModel applicationModel = builder.getApplicationModel();
diff --git a/gshell-support/gshell-artifact-maven/src/main/java/org/apache/geronimo/gshell/artifact/maven/ArtifactResolverImpl.java b/gshell-support/gshell-artifact-maven/src/main/java/org/apache/geronimo/gshell/artifact/maven/ArtifactResolverImpl.java
index 2bc74b0..a4b27c0 100644
--- a/gshell-support/gshell-artifact-maven/src/main/java/org/apache/geronimo/gshell/artifact/maven/ArtifactResolverImpl.java
+++ b/gshell-support/gshell-artifact-maven/src/main/java/org/apache/geronimo/gshell/artifact/maven/ArtifactResolverImpl.java
@@ -52,8 +52,9 @@
}
public void setTransferListener(final TransferListener listener) {
+ assert listener != null;
+
// TODO: Hookup adapter to wagon manager
- throw new Error();
}
public Result resolve(final Request request) throws Failure {
diff --git a/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilder.java b/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilder.java
index 4be852e..154cbe3 100644
--- a/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilder.java
+++ b/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilder.java
@@ -24,6 +24,7 @@
import org.apache.geronimo.gshell.command.Variables;
import org.apache.geronimo.gshell.io.IO;
import org.apache.geronimo.gshell.shell.ShellFactory;
+import org.apache.geronimo.gshell.spring.BeanContainer;
/**
* Builds {@link org.apache.geronimo.gshell.shell.Shell} instanes.
@@ -33,6 +34,8 @@
public interface ShellBuilder
extends ShellFactory
{
+ BeanContainer getContainer();
+
ClassLoader getClassLoader();
void setClassLoader(ClassLoader classLoader);
diff --git a/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilderImpl.java b/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilderImpl.java
index 4c8960e..71a3ff5 100644
--- a/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilderImpl.java
+++ b/gshell-wisdom/gshell-wisdom-bootstrap/src/main/java/org/apache/geronimo/gshell/wisdom/builder/ShellBuilderImpl.java
@@ -60,7 +60,7 @@
return container;
}
- private BeanContainer getContainer() {
+ public BeanContainer getContainer() {
if (container == null) {
try {
container = createContainer();