continuum-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Venisse" <emmanuel.veni...@gmail.com>
Subject Re: svn commit: r654275 - in /continuum/branches/builder/continuum-base/continuum-scm: ./ src/main/java/org/apache/continuum/scm/manager/spring/ src/test/java/org/apache/continuum/scm/manager/ src/test/resources/org/apache/continuum/scm/manager/
Date Thu, 15 May 2008 20:55:46 GMT
I think it's better to merge it regularly with trunk.

Emmanuel

On Thu, May 15, 2008 at 10:49 PM, Carlos Sanchez <carlos@apache.org> wrote:

> yes, I thought it was going to be merged later with the whole branch
>
> On Thu, May 15, 2008 at 1:47 PM, Emmanuel Venisse
> <emmanuel.venisse@gmail.com> wrote:
> > Carlos,
> >
> > Can merge it in trunk?
> >
> > Emmanuel
> >
> > On Wed, May 7, 2008 at 11:07 PM, <carlos@apache.org> wrote:
> >
> >> Author: carlos
> >> Date: Wed May  7 14:07:26 2008
> >> New Revision: 654275
> >>
> >> URL: http://svn.apache.org/viewvc?rev=654275&view=rev
> >> Log:
> >> Automatically inject ScmProvider implementations
> >>
> >> Added:
> >>
> >>
>  continuum/branches/builder/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/spring/
> >>
> >>
>  continuum/branches/builder/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/spring/ScmProviderFactoryBean.java
> >>   (with props)
> >> Modified:
> >>    continuum/branches/builder/continuum-base/continuum-scm/pom.xml
> >>
> >>
>  continuum/branches/builder/continuum-base/continuum-scm/src/test/java/org/apache/continuum/scm/manager/ScmManagerTest.java
> >>
> >>
>  continuum/branches/builder/continuum-base/continuum-scm/src/test/resources/org/apache/continuum/scm/manager/ScmManagerTest.xml
> >>
> >> Modified:
> continuum/branches/builder/continuum-base/continuum-scm/pom.xml
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/builder/continuum-base/continuum-scm/pom.xml?rev=654275&r1=654274&r2=654275&view=diff
> >>
> >>
> ==============================================================================
> >> --- continuum/branches/builder/continuum-base/continuum-scm/pom.xml
> >> (original)
> >> +++ continuum/branches/builder/continuum-base/continuum-scm/pom.xml Wed
> May
> >>  7 14:07:26 2008
> >> @@ -26,9 +26,13 @@
> >>       <groupId>org.springframework</groupId>
> >>       <artifactId>spring-context</artifactId>
> >>       <version>${spring.version}</version>
> >> -      <scope>test</scope>
> >>     </dependency>
> >>     <dependency>
> >> +      <groupId>org.codehaus.plexus</groupId>
> >> +      <artifactId>plexus-spring</artifactId>
> >> +      <scope>test</scope>
> >> +    </dependency>
> >> +    <dependency>
> >>       <groupId>org.slf4j</groupId>
> >>       <artifactId>slf4j-simple</artifactId>
> >>       <version>1.5.0</version>
> >>
> >> Added:
> >>
> continuum/branches/builder/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/spring/ScmProviderFactoryBean.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/builder/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/spring/ScmProviderFactoryBean.java?rev=654275&view=auto
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/builder/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/spring/ScmProviderFactoryBean.java
> >> (added)
> >> +++
> >>
> continuum/branches/builder/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/spring/ScmProviderFactoryBean.java
> >> Wed May  7 14:07:26 2008
> >> @@ -0,0 +1,66 @@
> >> +package org.apache.continuum.scm.manager.spring;
> >> +
> >> +import java.util.HashMap;
> >> +import java.util.Map;
> >> +
> >> +import org.apache.maven.scm.provider.ScmProvider;
> >> +import org.springframework.beans.BeansException;
> >> +import org.springframework.beans.factory.BeanFactoryUtils;
> >> +import org.springframework.beans.factory.BeanInitializationException;
> >> +import org.springframework.beans.factory.FactoryBean;
> >> +import org.springframework.context.ApplicationContext;
> >> +import org.springframework.context.ApplicationContextAware;
> >> +
> >> +/**
> >> + * <p>
> >> + * Factory bean to inject all beans of type {@link ScmProvider}
> >> + * </p>
> >> + * <p>
> >> + * <code>&lt;bean id="scmProviders"
> >> class="org.apache.continuum.scm.manager.spring.ScmManagerFactoryBean"/>
> >> + </code>
> >> + * </p>
> >> + *
> >> + * @author Carlos Sanchez <carlos@apache.org>
> >> + */
> >> +public class ScmProviderFactoryBean
> >> +    implements FactoryBean, ApplicationContextAware
> >> +{
> >> +    private ApplicationContext applicationContext;
> >> +
> >> +    public Object getObject()
> >> +        throws Exception
> >> +    {
> >> +        Map<String, ScmProvider> providers = new HashMap<String,
> >> ScmProvider>();
> >> +        Map<String, ScmProvider> beans =
> >> +            BeanFactoryUtils.beansOfTypeIncludingAncestors(
> >> applicationContext, ScmProvider.class );
> >> +        for ( ScmProvider provider : beans.values() )
> >> +        {
> >> +            if ( providers.containsKey( provider.getScmType() ) )
> >> +            {
> >> +                throw new BeanInitializationException(
> >> +                                                       "There are to
> >> ScmProvider beans in the appllication context for Scm type " +
> >> +
> >> provider.getScmType() +
> >> +                                                           ". Probably
> two
> >> conflicting scm implementations are present in the classpath." );
> >> +            }
> >> +            providers.put( provider.getScmType(), provider );
> >> +        }
> >> +        return providers;
> >> +    }
> >> +
> >> +    public Class getObjectType()
> >> +    {
> >> +        return Map.class;
> >> +    }
> >> +
> >> +    public boolean isSingleton()
> >> +    {
> >> +        return true;
> >> +    }
> >> +
> >> +    public void setApplicationContext( ApplicationContext
> >> applicationContext )
> >> +        throws BeansException
> >> +    {
> >> +        this.applicationContext = applicationContext;
> >> +    }
> >> +
> >> +}
> >>
> >> Propchange:
> >>
> continuum/branches/builder/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/spring/ScmProviderFactoryBean.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:eol-style = native
> >>
> >> Propchange:
> >>
> continuum/branches/builder/continuum-base/continuum-scm/src/main/java/org/apache/continuum/scm/manager/spring/ScmProviderFactoryBean.java
> >>
> >>
> ------------------------------------------------------------------------------
> >>    svn:keywords = "Author Date Id Revision"
> >>
> >> Modified:
> >>
> continuum/branches/builder/continuum-base/continuum-scm/src/test/java/org/apache/continuum/scm/manager/ScmManagerTest.java
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/builder/continuum-base/continuum-scm/src/test/java/org/apache/continuum/scm/manager/ScmManagerTest.java?rev=654275&r1=654274&r2=654275&view=diff
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/builder/continuum-base/continuum-scm/src/test/java/org/apache/continuum/scm/manager/ScmManagerTest.java
> >> (original)
> >> +++
> >>
> continuum/branches/builder/continuum-base/continuum-scm/src/test/java/org/apache/continuum/scm/manager/ScmManagerTest.java
> >> Wed May  7 14:07:26 2008
> >> @@ -19,11 +19,11 @@
> >>  * under the License.
> >>  */
> >>
> >> +import junit.framework.TestCase;
> >> +
> >>  import org.apache.maven.scm.manager.NoSuchScmProviderException;
> >> +import org.codehaus.plexus.spring.PlexusClassPathXmlApplicationContext;
> >>  import org.springframework.context.ApplicationContext;
> >> -import
> org.springframework.context.support.ClassPathXmlApplicationContext;
> >> -
> >> -import junit.framework.TestCase;
> >>
> >>  /**
> >>  * @todo replace with a spring integration test
> >> @@ -38,7 +38,8 @@
> >>     public void setUp()
> >>     {
> >>         context =
> >> -            new ClassPathXmlApplicationContext( new String[] {
> >> "classpath*:META-INF/spring-context.xml",
> >> +            new PlexusClassPathXmlApplicationContext( new String[] {
> >> "classpath*:META-INF/spring-context.xml",
> >> +                "classpath*:META-INF/plexus/components.xml",
> >>                 "classpath*:" + getClass().getName().replace( '.', '/' )
> +
> >> ".xml" } );
> >>         manager = (ScmManager) context.getBean( "scmManager" );
> >>     }
> >> @@ -47,6 +48,6 @@
> >>         throws NoSuchScmProviderException
> >>     {
> >>         manager.getScmLogger().info( "Hello, World" );
> >> -        assertNotNull( manager.getProviderByType( "svnexe" ) );
> >> +        assertNotNull( manager.getProviderByType( "svn" ) );
> >>     }
> >>  }
> >>
> >> Modified:
> >>
> continuum/branches/builder/continuum-base/continuum-scm/src/test/resources/org/apache/continuum/scm/manager/ScmManagerTest.xml
> >> URL:
> >>
> http://svn.apache.org/viewvc/continuum/branches/builder/continuum-base/continuum-scm/src/test/resources/org/apache/continuum/scm/manager/ScmManagerTest.xml?rev=654275&r1=654274&r2=654275&view=diff
> >>
> >>
> ==============================================================================
> >> ---
> >>
> continuum/branches/builder/continuum-base/continuum-scm/src/test/resources/org/apache/continuum/scm/manager/ScmManagerTest.xml
> >> (original)
> >> +++
> >>
> continuum/branches/builder/continuum-base/continuum-scm/src/test/resources/org/apache/continuum/scm/manager/ScmManagerTest.xml
> >> Wed May  7 14:07:26 2008
> >> @@ -6,15 +6,9 @@
> >>
> >>   <bean id="scmManager"
> >>     class="org.apache.continuum.scm.manager.ScmManager">
> >> -    <!--  TODO: better way to add the providers without having to
> >> redeclare all this? -->
> >>     <property name="scmLogger" ref="scmLogger" />
> >>     <property name="scmProviders">
> >> -      <map>
> >> -        <entry key="svnexe">
> >> -          <bean
> >> -
> >>  class="org.apache.maven.scm.provider.svn.svnexe.SvnExeScmProvider" />
> >> -        </entry>
> >> -      </map>
> >> +      <bean
> >> class="org.apache.continuum.scm.manager.spring.ScmProviderFactoryBean"/>
> >>     </property>
> >>   </bean>
> >>  </beans>
> >>
> >>
> >>
> >
>
>
>
> --
> I could give you my word as a Spaniard.
> No good. I've known too many Spaniards.
>  -- The Princess Bride
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message