<artifactId>xercesImpl</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
<build>
<pluginManagement>
<artifactId>assertj-core</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
<build>
<plugins>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
<build>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
<build>
<scope>test</scope>
<version>${redback.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.archiva.redback</groupId>
+ <artifactId>redback-keys-jpa</artifactId>
+ <scope>test</scope>
+ <version>${redback.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.archiva</groupId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-core</artifactId>
{
RedbackRuntimeConfiguration redbackRuntimeConfiguration =
getRedbackRuntimeConfigurationService().getRedbackRuntimeConfiguration();
- assertEquals( "jdo", redbackRuntimeConfiguration.getUserManagerImpls().get( 0 ) );
+ assertEquals( "jpa", redbackRuntimeConfiguration.getUserManagerImpls().get( 0 ) );
}
@Test
{
RedbackRuntimeConfiguration redbackRuntimeConfiguration =
getRedbackRuntimeConfigurationService().getRedbackRuntimeConfiguration();
- assertEquals( "jdo", redbackRuntimeConfiguration.getUserManagerImpls().get( 0 ) );
+ assertEquals( "jpa", redbackRuntimeConfiguration.getUserManagerImpls().get( 0 ) );
redbackRuntimeConfiguration.setUserManagerImpls( Arrays.asList( "foo" ) );
RedbackRuntimeConfigurationService service = getRedbackRuntimeConfigurationService();
List<UserManagerImplementationInformation> infos = service.getUserManagerImplementationInformations();
assertThat( infos ).isNotNull().isNotEmpty().contains(
- new UserManagerImplementationInformation( "jdo", null, false ) );
+ new UserManagerImplementationInformation( "jpa", null, false ) );
}
RedbackRuntimeConfigurationService service = getRedbackRuntimeConfigurationService();
List<RBACManagerImplementationInformation> infos = service.getRbacManagerImplementationInformations();
assertThat( infos ).isNotNull().isNotEmpty().contains(
- new RBACManagerImplementationInformation( "jdo", null, false ) );
+ new RBACManagerImplementationInformation( "jpa", null, false ) );
}
<context:annotation-config/>
<context:component-scan
- base-package="org.apache.archiva.rest.services.utils"/>
+ base-package="org.apache.archiva.redback.keys,org.apache.archiva.rest.services.utils"/>
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
<property name="properties">
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.archiva.redback</groupId>
+ <artifactId>redback-keys-jpa</artifactId>
+ <scope>test</scope>
+ </dependency>
+
<dependency>
<groupId>org.apache.archiva.redback</groupId>
<artifactId>redback-rest-services</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <scope>test</scope>
+ </dependency>
+
</dependencies>
<build>
default-lazy-init="true">
<context:annotation-config/>
- <context:component-scan base-package="org.apache.archiva.web.startup, org.apache.archiva.web.runtime, org.apache.archiva.web.api,, org.apache.archiva.web.security"/>
+ <context:component-scan base-package="org.apache.archiva.redback.keys,org.apache.archiva.web.startup, org.apache.archiva.web.runtime, org.apache.archiva.web.api,, org.apache.archiva.web.security"/>
<util:properties id="archivaRuntimeProperties" location="classpath:application.properties" />
import org.apache.archiva.redback.users.UserManagerListener;
import org.apache.archiva.redback.users.UserNotFoundException;
import org.apache.archiva.redback.users.UserQuery;
-import org.apache.archiva.redback.users.jdo.JdoUser;
+import org.apache.archiva.redback.users.jpa.model.JpaUser;
import java.util.ArrayList;
import java.util.Date;
{
result = new AuthenticationResult( true, source.getUsername(), null );
- User user = new JdoUser();
+ User user = new JpaUser();
user.setUsername( source.getUsername() );
user.setPassword( users.get( source.getUsername() ) );
<context:property-placeholder system-properties-mode="OVERRIDE"/>
-
<bean name="commons-configuration" class="org.apache.archiva.redback.components.registry.commons.CommonsConfigurationRegistry">
<property name="properties">
<value>
<context:annotation-config/>
<context:component-scan
- base-package="org.apache.archiva.rest.services.utils"/>
+ base-package="org.apache.archiva.redback.keys,org.apache.archiva.rest.services.utils"/>
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
<property name="properties">
- <jee:jndi-lookup id="dataSource" jndi-name="java:/comp/env/jdbc/redbackjpa" />
+ <jee:jndi-lookup id="dataSource" jndi-name="java:/comp/env/jdbc/users" />
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter" >
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:task="http://www.springframework.org/schema/task" xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd
http://www.springframework.org/schema/util
- http://www.springframework.org/schema/util/spring-util.xsd">
+ http://www.springframework.org/schema/util/spring-util.xsd
+ http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">
<context:property-placeholder location="classpath:application.properties" />
</bean>
<!-- END SNIPPET: configuration-files-list -->
- <bean name="jdoFactory#users" class="org.apache.archiva.redback.components.jdo.DataSourceConfigurableJdoFactory">
- <property name="connectionFactoryName" value="java:comp/env/jdbc/users"/>
- <property name="shutdownConnectionFactoryName" value="java:comp/env/jdbc/usersShutdown"/>
- <property name="persistenceManagerFactoryClass" value="org.jpox.PersistenceManagerFactoryImpl"/>
- <property name="otherProperties">
- <props>
- <prop key="org.jpox.autoCreateSchema">true</prop>
- <prop key="org.jpox.validateTables">false</prop>
- <prop key="org.jpox.validateConstraints">false</prop>
- <prop key="org.jpox.validateColumns">false</prop>
- <prop key="org.jpox.autoStartMechanism">None</prop>
- <prop key="org.jpox.transactionIsolation">READ_COMMITTED</prop>
- <prop key="org.jpox.poid.transactionIsolation">READ_COMMITTED</prop>
- <prop key="org.jpox.rdbms.dateTimezone">JDK_DEFAULT_TIMEZONE</prop>
- <!-- NEEDED FOR MYSQL UTF-8 Databases -->
- <prop key="org.jpox.rdbms.stringDefaultLength">255</prop>
-
- <!-- NEEDED FOR POSTGRES, But causes problems in other JDBC implementations.
- <prop key="org.jpox.identifier.case">PreserveCase</prop>
- -->
-
- <!-- cache activation -->
- <prop key="org.jpox.cache.level2">true</prop>
- <prop key="org.jpox.cache.level2.type">ehcacheclassbased</prop>
- <prop key="org.jpox.cache.level2.cacheName">defaultJpox</prop>
- <prop key="org.jpox.cache.level2.configurationFile">/ehcache.xml</prop>
- </props>
- </property>
- </bean>
-
-
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
<property name="properties">
<props>
</bean>
-->
+ <bean name="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
+ <property name="jpaVendorAdapter" >
+ <bean class="org.springframework.orm.jpa.vendor.OpenJpaVendorAdapter" />
+ </property>
+ <property name="persistenceXmlLocation" value="classpath:META-INF/persistence.xml" />
+ <property name="jpaPropertyMap">
+ <map>
+ <entry key="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
+ <entry key="openjpa.jdbc.SchemaFactory" value="native(ForeignKeys=true)" />
+ <entry key="openjpa.jdbc.MappingDefaults"
+ value="ForeignKeyDeleteAction=restrict,JoinForeignKeyDeleteAction=restrict"/>
+ <entry key="openjpa.Log" value="DefaultLevel=TRACE, Runtime=TRACE, Tool=INFO, SQL=TRACE"/>
+ <entry key="openjpa.jdbc.DBDictionary" value="(disableSchemaFactoryColumnTypeErrors=true,BitTypeName=CHAR(1),BooleanTypeName=CHAR(1),BooleanRepresentation=STRING_YN)"/>
+ </map>
+ </property>
+
+ </bean>
+
+ <bean name="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager" >
+ <property name="entityManagerFactory" ref="entityManagerFactory" />
+ </bean>
+
+ <tx:annotation-driven />
+
</beans>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
- <resource-ref>
- <res-ref-name>jdbc/redbackjpa</res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- <res-sharing-scope>Shareable</res-sharing-scope>
- </resource-ref>
<resource-ref>
<res-ref-name>mail/Session</res-ref-name>
<res-type>javax.mail.Session</res-type>
</properties>
<appenders>
- <Console name="console" target="SYSTEM_OUT">
+ <Console name="console" target="SYSTEM_OUT" level="info">
<!--PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/-->
<PatternLayout pattern="%highlight{%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n}" />
</Console>
<RollingRandomAccessFile name="rolling" fileName="${logsDirectory}/archiva.log"
- filePattern="${logsDirectory}/archiva-%d{MM-dd-yyyy}.log" immediateFlush="false" append="true">
+ filePattern="${logsDirectory}/archiva-%d{MM-dd-yyyy}.log"
+
+ immediateFlush="true" append="true">
<PatternLayout>
<pattern>%d [%t] %-5p %c %x - %m%n</pattern>
</PatternLayout>
<logger name="org.apache.archiva.redback.components.registry.commons.CommonsConfigurationRegistry" level="debug"/>
+ <logger name="org.apache.archiva.redback.components.taskqueue.DefaultTaskQueue" level="info" />
+
+ <logger name="org.apache.archiva" level="debug" />
<!--
<logger name="org.apache.archiva.scheduler.indexing" level="debug"/>
-->
driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
url="jdbc:derby:${appserver.base}/database/users;create=true"
/>
- <Resource name="jdbc/redbackjpa" auth="Container" type="javax.sql.DataSource"
- username="sa"
- password=""
- driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
- url="jdbc:derby:${appserver.base}/database/jpausers;create=true"
- />
+
<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"
mail.smtp.host="localhost"/>
<artifactId>redback-rbac-memory</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>org.apache.archiva.redback</groupId>
+ <artifactId>redback-keys-jpa</artifactId>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.apache.archiva.redback</groupId>
<artifactId>redback-users-memory</artifactId>
<context:annotation-config/>
<context:component-scan
- base-package="org.apache.archiva.webdav,org.apache.archiva.metadata.repository,org.apache.archiva.webdav.util,org.apache.archiva.common.plexusbridge"/>
+ base-package="org.apache.archiva.redback.keys,org.apache.archiva.webdav,org.apache.archiva.metadata.repository,org.apache.archiva.webdav.util,org.apache.archiva.common.plexusbridge"/>
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
<property name="properties">
<context:property-placeholder system-properties-mode="OVERRIDE"/>
<context:annotation-config/>
- <context:component-scan base-package="org.apache.archiva.webdav,org.apache.archiva.metadata.repository"/>
+ <context:component-scan base-package="org.apache.archiva.redback.keys,org.apache.archiva.webdav,org.apache.archiva.metadata.repository"/>
<bean name="scheduler" class="org.apache.archiva.redback.components.scheduler.DefaultScheduler">
<property name="properties">
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.apache.archiva.redback</groupId>
+ <artifactId>redback-keys-jpa</artifactId>
+ <version>${redback.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.apache.archiva.redback</groupId>
<artifactId>redback-rbac-model</artifactId>