</resources>
<testResources>
<testResource>
- <directory>src/test/resources</directory>
- <filtering>true</filtering>
+ <directory>src/test/resources</directory>
+ <filtering>true</filtering>
</testResource>
</testResources>
<extensions>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
- <version>2.5.2</version>
+ <version>3.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <version>4.9</version>
+ <version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
- <version>2.8.1</version>
+ <version>2.11.0</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<expectedVersion>${project.version}</expectedVersion>
<archiva.logMissingI18n>true</archiva.logMissingI18n>
<java.awt.headless>true</java.awt.headless>
+ <archiva.repositorySessionFactory.id>test</archiva.repositorySessionFactory.id>
</systemPropertyVariables>
</configuration>
</plugin>
--- /dev/null
+package org.apache.archiva;
+
+import org.apache.archiva.metadata.repository.RepositorySessionFactory;
+import org.apache.archiva.metadata.repository.RepositorySessionFactoryBean;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Properties;
+
+/**
+ * @author Olivier Lamy
+ */
+public class TestRepositorySessionFactoryBean
+ extends RepositorySessionFactoryBean
+{
+
+ private Logger logger = LoggerFactory.getLogger( getClass() );
+
+ private String beanId;
+
+ public TestRepositorySessionFactoryBean( String beanId )
+ {
+ super( new Properties( ) );
+ this.beanId = beanId;
+ }
+
+ @Override
+ public Class<RepositorySessionFactory> getObjectType()
+ {
+ return RepositorySessionFactory.class;
+ }
+
+ @Override
+ protected RepositorySessionFactory createInstance()
+ throws Exception
+ {
+ RepositorySessionFactory repositorySessionFactory =
+ getBeanFactory().getBean( "repositorySessionFactory#" + this.beanId, RepositorySessionFactory.class );
+ logger.info( "create RepositorySessionFactory instance of {}", repositorySessionFactory.getClass().getName() );
+ return repositorySessionFactory;
+ }
+}
import org.apache.archiva.metadata.repository.RepositorySession;
import org.apache.archiva.metadata.repository.RepositorySessionFactory;
+import org.springframework.beans.factory.config.AbstractFactoryBean;
import org.springframework.stereotype.Service;
@Service("repositorySessionFactory#test")
public class TestRepositorySessionFactory
+ extends AbstractFactoryBean<RepositorySessionFactory>
implements RepositorySessionFactory
{
private RepositorySession repositorySession;
return repositorySession != null ? repositorySession : new RepositorySession( new TestMetadataRepository(),
new TestMetadataResolver() );
}
+
+ @Override
+ public Class<RepositorySessionFactory> getObjectType()
+ {
+ return RepositorySessionFactory.class;
+ }
+
+ @Override
+ protected RepositorySessionFactory createInstance()
+ throws Exception
+ {
+ return this;
+ }
}
<alias name="archivaConfiguration#default" alias="archivaConfiguration"/>
+ <bean name="TestRepositorySessionFactoryBean" class="org.apache.archiva.TestRepositorySessionFactoryBean">
+ <constructor-arg>
+ <value>jcr</value>
+ </constructor-arg>
+ </bean>
+
<bean name="registry#default" class="org.apache.archiva.redback.components.registry.commons.CommonsConfigurationRegistry">
<property name="properties">
<value>
<alias name="repositorySessionFactory#jcr" alias="repositorySessionFactory"/>
+ <bean name="TestRepositorySessionFactoryBean" class="org.apache.archiva.TestRepositorySessionFactoryBean">
+ <constructor-arg>
+ <value>jcr</value>
+ </constructor-arg>
+ </bean>
+
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
<property name="properties">
<props>
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.config.AbstractFactoryBean;
+import org.springframework.stereotype.Service;
import java.util.Properties;
* @author Olivier Lamy
* @since 2.0.2
*/
+//@Service("repositorySessionFactoryBean#default")
public class RepositorySessionFactoryBean
extends AbstractFactoryBean<RepositorySessionFactory>
{
<slf4j.version>1.7.5</slf4j.version>
<log4j.version>2.0-rc1</log4j.version>
- <spring.version>4.0.2.RELEASE</spring.version>
+ <spring.version>4.0.3.RELEASE</spring.version>
<javax.jcr.version>2.0</javax.jcr.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>