From 9c81940d213d321e38f0cb6129abcf121a3ba732 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Fri, 27 May 2011 17:30:30 +0000 Subject: [PATCH] oups missed to add files git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1128406 13f79535-47bb-0310-9956-ffa450edef68 --- .../archiva/proxy/DefaultWagonFactory.java | 43 +++++++++++++++++ .../archiva/proxy/WagonFactoryException.java | 14 ++++++ .../src/test/resources/spring-context.xml | 48 +++++++++++++++++++ 3 files changed, 105 insertions(+) create mode 100755 archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultWagonFactory.java create mode 100755 archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/WagonFactoryException.java create mode 100755 archiva-modules/archiva-base/archiva-proxy/src/test/resources/spring-context.xml diff --git a/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultWagonFactory.java b/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultWagonFactory.java new file mode 100755 index 000000000..c977f434d --- /dev/null +++ b/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/DefaultWagonFactory.java @@ -0,0 +1,43 @@ +package org.apache.maven.archiva.proxy; + +import org.apache.archiva.common.plexusbridge.PlexusSisuBridge; +import org.apache.archiva.common.plexusbridge.PlexusSisuBridgeException; +import org.apache.commons.lang.StringUtils; +import org.apache.maven.wagon.Wagon; +import org.springframework.stereotype.Service; + +import javax.inject.Inject; + +/** + * @author Olivier Lamy + * * @since 1.4 + */ +@Service( "wagonFactory" ) +public class DefaultWagonFactory + implements WagonFactory +{ + + private PlexusSisuBridge plexusSisuBridge; + + @Inject + public DefaultWagonFactory( PlexusSisuBridge plexusSisuBridge ) + { + this.plexusSisuBridge = plexusSisuBridge; + } + + public Wagon getWagon( String protocol ) + throws WagonFactoryException + { + try + { + // with sisu inject bridge hint is file or http + // so remove wagon# + protocol = StringUtils.remove( protocol, "wagon#" ); + return plexusSisuBridge.lookup( Wagon.class, protocol ); + } + catch ( PlexusSisuBridgeException e ) + { + throw new WagonFactoryException( e.getMessage(), e ); + } + } +} diff --git a/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/WagonFactoryException.java b/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/WagonFactoryException.java new file mode 100755 index 000000000..dca2a35ce --- /dev/null +++ b/archiva-modules/archiva-base/archiva-proxy/src/main/java/org/apache/maven/archiva/proxy/WagonFactoryException.java @@ -0,0 +1,14 @@ +package org.apache.maven.archiva.proxy; + +/** + * @author Olivier Lamy + * @since 1.4 + */ +public class WagonFactoryException + extends Exception +{ + public WagonFactoryException( String message, Throwable e ) + { + super( message, e ); + } +} diff --git a/archiva-modules/archiva-base/archiva-proxy/src/test/resources/spring-context.xml b/archiva-modules/archiva-base/archiva-proxy/src/test/resources/spring-context.xml new file mode 100755 index 000000000..84f08847d --- /dev/null +++ b/archiva-modules/archiva-base/archiva-proxy/src/test/resources/spring-context.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + scheduler1 + org.quartz.simpl.SimpleThreadPool + 1 + 4 + org.quartz.simpl.RAMJobStore + + + + + \ No newline at end of file -- 2.39.5