You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2016/09/30 20:38:52 UTC
[1/3] archiva-redback-core git commit: Removing datasource from test
persistence config
Repository: archiva-redback-core
Updated Branches:
refs/heads/jpa 62efc70bd -> 30c3441cd
Removing datasource from test persistence config
Project: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/commit/9e09e8f0
Tree: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/tree/9e09e8f0
Diff: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/diff/9e09e8f0
Branch: refs/heads/jpa
Commit: 9e09e8f0cffcfbe419780e943304e3d2dbd4947a
Parents: 62efc70
Author: Martin Stockhammer <ma...@apache.org>
Authored: Fri Sep 30 22:36:39 2016 +0200
Committer: Martin Stockhammer <ma...@apache.org>
Committed: Fri Sep 30 22:36:39 2016 +0200
----------------------------------------------------------------------
.../src/main/resources/META-INF/persistence-hsqldb.xml | 1 -
1 file changed, 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/9e09e8f0/redback-common/redback-common-jpa/src/main/resources/META-INF/persistence-hsqldb.xml
----------------------------------------------------------------------
diff --git a/redback-common/redback-common-jpa/src/main/resources/META-INF/persistence-hsqldb.xml b/redback-common/redback-common-jpa/src/main/resources/META-INF/persistence-hsqldb.xml
index a78444e..6f37758 100644
--- a/redback-common/redback-common-jpa/src/main/resources/META-INF/persistence-hsqldb.xml
+++ b/redback-common/redback-common-jpa/src/main/resources/META-INF/persistence-hsqldb.xml
@@ -20,7 +20,6 @@
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
<persistence-unit name="redback-jpa">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
- <jta-data-source>java:comp/env/jdbc/redbackjpa</jta-data-source>
<class>org.apache.archiva.redback.users.jpa.model.JpaUser</class>
<class>org.apache.archiva.redback.rbac.jpa.model.JpaOperation</class>
<class>org.apache.archiva.redback.rbac.jpa.model.JpaResource</class>
[3/3] archiva-redback-core git commit: Adding order columns to
persistence schema
Posted by ma...@apache.org.
Adding order columns to persistence schema
Project: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/commit/30c3441c
Tree: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/tree/30c3441c
Diff: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/diff/30c3441c
Branch: refs/heads/jpa
Commit: 30c3441cd4ed3083d9469a81fed47ced2ad9bdfb
Parents: f3bcedf
Author: Martin Stockhammer <ma...@apache.org>
Authored: Fri Sep 30 22:38:08 2016 +0200
Committer: Martin Stockhammer <ma...@apache.org>
Committed: Fri Sep 30 22:38:08 2016 +0200
----------------------------------------------------------------------
.../apache/archiva/redback/rbac/jpa/JpaRbacManager.java | 1 +
.../apache/archiva/redback/rbac/jpa/model/JpaRole.java | 3 +++
.../redback/rbac/jpa/model/JpaUserAssignment.java | 12 ++++++++++--
3 files changed, 14 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/30c3441c/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/JpaRbacManager.java
----------------------------------------------------------------------
diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/JpaRbacManager.java b/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/JpaRbacManager.java
index ced9104..80580e4 100644
--- a/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/JpaRbacManager.java
+++ b/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/JpaRbacManager.java
@@ -425,6 +425,7 @@ public class JpaRbacManager extends AbstractRBACManager {
em.remove(ua);
}
em.getTransaction().commit();
+ em.clear();
}
http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/30c3441c/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/model/JpaRole.java
----------------------------------------------------------------------
diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/model/JpaRole.java b/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/model/JpaRole.java
index 1f8a62c..98c4bf2 100644
--- a/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/model/JpaRole.java
+++ b/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/model/JpaRole.java
@@ -21,6 +21,7 @@ package org.apache.archiva.redback.rbac.jpa.model;
import org.apache.archiva.redback.rbac.AbstractRole;
import org.apache.archiva.redback.rbac.Permission;
+import org.springframework.core.annotation.Order;
import javax.persistence.*;
import java.io.Serializable;
@@ -46,6 +47,7 @@ public class JpaRole extends AbstractRole implements Serializable {
@Column(name="PERMANENT")
private boolean permanent;
@ManyToMany(cascade = CascadeType.PERSIST)
+ @OrderColumn(name="INTEGER_IDX")
@JoinTable(
name="SECURITY_ROLE_PERMISSION_MAP",
joinColumns={ @JoinColumn(name="NAME_OID", referencedColumnName="NAME") },
@@ -56,6 +58,7 @@ public class JpaRole extends AbstractRole implements Serializable {
List<JpaPermission> permissions = new ArrayList<JpaPermission>();
@ElementCollection
+ @OrderColumn(name="INTEGER_IDX")
@CollectionTable(
name="SECURITY_ROLE_CHILDROLE_MAP",
joinColumns = {
http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/30c3441c/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/model/JpaUserAssignment.java
----------------------------------------------------------------------
diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/model/JpaUserAssignment.java b/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/model/JpaUserAssignment.java
index 39e0b2d..65ed8af 100644
--- a/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/model/JpaUserAssignment.java
+++ b/redback-rbac/redback-rbac-providers/redback-rbac-jpa/src/main/java/org/apache/archiva/redback/rbac/jpa/model/JpaUserAssignment.java
@@ -21,7 +21,14 @@ package org.apache.archiva.redback.rbac.jpa.model;
import org.apache.archiva.redback.rbac.AbstractUserAssignment;
-import javax.persistence.*;
+import javax.persistence.CollectionTable;
+import javax.persistence.Column;
+import javax.persistence.ElementCollection;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OrderColumn;
+import javax.persistence.Table;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
@@ -39,8 +46,9 @@ public class JpaUserAssignment extends AbstractUserAssignment implements Seriali
private String principal;
@ElementCollection
@Column(name="STRING_ELE")
+ @OrderColumn(name="INTEGER_IDX")
@CollectionTable(
- name="SECURITY_USERASSIGNMENT_MAP",
+ name="SECURITY_USERASSIGNMENT_ROLENAMES",
joinColumns = {
@JoinColumn(name = "PRINCIPAL_OID", referencedColumnName = "PRINCIPAL")
}
Re: [2/3] archiva-redback-core git commit: Setting database schema
names from JDO
Posted by Olivier Lamy <ol...@apache.org>.
On 1 October 2016 at 06:38, <ma...@apache.org> wrote:
> Setting database schema names from JDO
>
>
> Project: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/repo
> Commit: http://git-wip-us.apache.org/repos/asf/archiva-redback-
> core/commit/f3bcedfd
> Tree: http://git-wip-us.apache.org/repos/asf/archiva-redback-
> core/tree/f3bcedfd
> Diff: http://git-wip-us.apache.org/repos/asf/archiva-redback-
> core/diff/f3bcedfd
>
> Branch: refs/heads/jpa
> Commit: f3bcedfdf824fc3d90dc35b51b7a863ebd421f49
> Parents: 9e09e8f
> Author: Martin Stockhammer <ma...@apache.org>
> Authored: Fri Sep 30 22:37:22 2016 +0200
> Committer: Martin Stockhammer <ma...@apache.org>
> Committed: Fri Sep 30 22:37:22 2016 +0200
>
> ----------------------------------------------------------------------
> .../redback/users/jpa/JpaUserManager.java | 35 +++++++++++++++++---
> .../redback/users/jpa/model/JpaUser.java | 23 ++++++++++++-
> .../src/main/resources/spring-context.xml | 31 +++++++++++++++++
> .../redback/users/jpa/JpaUserManagerTest.java | 1 -
> 4 files changed, 84 insertions(+), 6 deletions(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/archiva-redback-
> core/blob/f3bcedfd/redback-users/redback-users-providers/
> redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/
> JpaUserManager.java
> ----------------------------------------------------------------------
> diff --git a/redback-users/redback-users-providers/redback-users-jpa/
> src/main/java/org/apache/archiva/redback/users/jpa/JpaUserManager.java
> b/redback-users/redback-users-providers/redback-users-jpa/
> src/main/java/org/apache/archiva/redback/users/jpa/JpaUserManager.java
> index c4c83f6..448552d 100644
> --- a/redback-users/redback-users-providers/redback-users-jpa/
> src/main/java/org/apache/archiva/redback/users/jpa/JpaUserManager.java
> +++ b/redback-users/redback-users-providers/redback-users-jpa/
> src/main/java/org/apache/archiva/redback/users/jpa/JpaUserManager.java
> @@ -75,7 +75,6 @@ public class JpaUserManager extends AbstractUserManager {
>
> @Override
> public User createUser(String username, String fullName, String
> emailAddress) throws UserManagerException {
> -
> JpaUser user = new JpaUser();
> user.setUsername(username);
> user.setFullName(fullName);
> @@ -270,6 +269,27 @@ public class JpaUserManager extends
> AbstractUserManager {
>
> @Override
> public void addUserUnchecked(User user) throws UserManagerException {
> + log.info("addUserUnchecked "+user.getUsername());
> + if ( !( user instanceof JpaUser ) )
> + {
> + throw new UserManagerException( "Unable to Add User. User
> object " + user.getClass().getName() +
> + " is not an instance of " + JpaUser.class.getName() );
> + }
> +
> + if ( org.codehaus.plexus.util.StringUtils.isEmpty(
> user.getUsername() ) )
>
Do not hesitate to use StringUtils from commons-lang! (this one is pure
legacy :-) )
> + {
> + throw new IllegalStateException(
> + Messages.getString( "user.manager.cannot.add.user.without.username"
> ) ); //$NON-NLS-1$
> + }
> +
> + em.getTransaction().begin();
> + TypedQuery<JpaUser> q = em.createQuery("SELECT u FROM JpaUser u",
> JpaUser.class);
> + for (JpaUser u : q.getResultList()) {
> + log.info("USER FOUND: "+u.getUsername());
> + }
> + log.info("NEW USER "+user.getUsername());
> + em.persist((JpaUser)user);
> + em.getTransaction().commit();
>
> }
>
> @@ -277,9 +297,16 @@ public class JpaUserManager extends
> AbstractUserManager {
> public void eraseDatabase() {
> EntityManager em = getEm();
> em.getTransaction().begin();
> - Query q = em.createQuery("DELETE FROM JpaUser u");
> - q.executeUpdate();
> + TypedQuery<JpaUser> q = em.createQuery("SELECT u FROM JpaUser u",
> JpaUser.class);
> + for (JpaUser u : q.getResultList()) {
> + u.getPreviousEncodedPasswords().clear();
> + }
> + em.flush();
> + Query qd = em.createQuery("DELETE FROM JpaUser u");
> + qd.executeUpdate();
> em.getTransaction().commit();
> + em.clear();
> +
> }
>
> @Override
> @@ -298,7 +325,7 @@ public class JpaUserManager extends
> AbstractUserManager {
>
> @Override
> public String getDescriptionKey() {
> - return null;
> + return "archiva.redback.usermanager.jpa";
> }
>
>
>
> http://git-wip-us.apache.org/repos/asf/archiva-redback-
> core/blob/f3bcedfd/redback-users/redback-users-providers/
> redback-users-jpa/src/main/java/org/apache/archiva/
> redback/users/jpa/model/JpaUser.java
> ----------------------------------------------------------------------
> diff --git a/redback-users/redback-users-providers/redback-users-jpa/
> src/main/java/org/apache/archiva/redback/users/jpa/model/JpaUser.java
> b/redback-users/redback-users-providers/redback-users-jpa/
> src/main/java/org/apache/archiva/redback/users/jpa/model/JpaUser.java
> index 04f441e..cfdaa4e 100644
> --- a/redback-users/redback-users-providers/redback-users-jpa/
> src/main/java/org/apache/archiva/redback/users/jpa/model/JpaUser.java
> +++ b/redback-users/redback-users-providers/redback-users-jpa/
> src/main/java/org/apache/archiva/redback/users/jpa/model/JpaUser.java
> @@ -19,9 +19,13 @@ package org.apache.archiva.redback.users.jpa.model;
> * under the License.
> */
>
> +import javax.persistence.CollectionTable;
> +import javax.persistence.Column;
> import javax.persistence.ElementCollection;
> import javax.persistence.Entity;
> import javax.persistence.Id;
> +import javax.persistence.JoinColumn;
> +import javax.persistence.OrderColumn;
> import javax.persistence.Table;
> import java.util.ArrayList;
> import java.util.Date;
> @@ -35,21 +39,38 @@ import java.util.List;
> public class JpaUser implements org.apache.archiva.redback.users.User {
>
> @Id
> + @Column(name="USERNAME")
> private String username;
> -
> + @Column(name="FULL_NAME")
> private String fullName;
> + @Column(name="EMAIL")
> private String email;
> + @Column(name="ENCODED_PASSWORD")
> private String encodedPassword;
> + @Column(name="LAST_PASSWORD_CHANGE")
> private Date lastPasswordChange;
> @ElementCollection
> + @OrderColumn(name="INTEGER_IDX")
> + @Column(name="STRING_ELE")
> + @CollectionTable(name="JDOUSER_PREVIOUSENCODEDPASSWORDS",
> + joinColumns = @JoinColumn(name = "USERNAME_OID",
> referencedColumnName = "USERNAME")
> + )
> private List<String> previousEncodedPasswords = new
> ArrayList<String>();
> + @Column(name="PERMANENT")
> private boolean permanent;
> + @Column(name="LOCKED")
> private boolean locked;
> + @Column(name="PASSWORD_CHANGE_REQUIRED")
> private boolean passwordChangeRequired;
> + @Column(name="VALIDATED")
> private boolean validated;
> + @Column(name="COUNT_FAILED_LOGIN_ATTEMPTS")
> private int countFailedLoginAttempts;
> + @Column(name="ACCOUNT_CREATION_DATE")
> private Date accountCreationDate;
> + @Column(name="LAST_LOGIN_DATE")
> private Date lastLoginDate;
> + @Column(name="USER_PASSSWORD")
> private String rawPassword;
>
>
>
> http://git-wip-us.apache.org/repos/asf/archiva-redback-
> core/blob/f3bcedfd/redback-users/redback-users-providers/
> redback-users-jpa/src/main/resources/spring-context.xml
> ----------------------------------------------------------------------
> diff --git a/redback-users/redback-users-providers/redback-users-jpa/
> src/main/resources/spring-context.xml b/redback-users/redback-users-
> providers/redback-users-jpa/src/main/resources/spring-context.xml
> new file mode 100644
> index 0000000..a56a218
> --- /dev/null
> +++ b/redback-users/redback-users-providers/redback-users-jpa/
> src/main/resources/spring-context.xml
> @@ -0,0 +1,31 @@
> +<?xml version="1.0"?>
> +
> +<!--
> + ~ Licensed to the Apache Software Foundation (ASF) under one
> + ~ or more contributor license agreements. See the NOTICE file
> + ~ distributed with this work for additional information
> + ~ regarding copyright ownership. The ASF licenses this file
> + ~ to you under the Apache License, Version 2.0 (the
> + ~ "License"); you may not use this file except in compliance
> + ~ with the License. You may obtain a copy of the License at
> + ~
> + ~ http://www.apache.org/licenses/LICENSE-2.0
> + ~
> + ~ Unless required by applicable law or agreed to in writing,
> + ~ software distributed under the License is distributed on an
> + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
> + ~ KIND, either express or implied. See the License for the
> + ~ specific language governing permissions and limitations
> + ~ under the License.
> + -->
> +<beans xmlns="http://www.springframework.org/schema/beans"
> + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> + xmlns:context="http://www.springframework.org/schema/context"
> + 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/context/spring-
> context-3.0.xsd">
> +
> + <context:component-scan base-package="org.apache.archiva.redback.users.jpa"
> />
> +
> +</beans>
> \ No newline at end of file
>
> http://git-wip-us.apache.org/repos/asf/archiva-redback-
> core/blob/f3bcedfd/redback-users/redback-users-providers/
> redback-users-jpa/src/test/java/org/apache/archiva/redback/users/jpa/
> JpaUserManagerTest.java
> ----------------------------------------------------------------------
> diff --git a/redback-users/redback-users-providers/redback-users-jpa/
> src/test/java/org/apache/archiva/redback/users/jpa/JpaUserManagerTest.java
> b/redback-users/redback-users-providers/redback-users-jpa/
> src/test/java/org/apache/archiva/redback/users/jpa/JpaUserManagerTest.java
> index 4556755..75cda6d 100644
> --- a/redback-users/redback-users-providers/redback-users-jpa/
> src/test/java/org/apache/archiva/redback/users/jpa/JpaUserManagerTest.java
> +++ b/redback-users/redback-users-providers/redback-users-jpa/
> src/test/java/org/apache/archiva/redback/users/jpa/JpaUserManagerTest.java
> @@ -65,7 +65,6 @@ public class JpaUserManagerTest extends
> AbstractUserManagerTestCase {
> is.close();
> EntityManagerFactory emf = Persistence.
> createEntityManagerFactory("redback-jpa",props);
>
> - log.info("test setup");
> jpaUserManager.setEntityManager(emf.createEntityManager());
> super.setUserManager(jpaUserManager);
> assertNotNull(jpaUserManager);
>
>
--
Olivier Lamy
http://twitter.com/olamy | http://linkedin.com/in/olamy
[2/3] archiva-redback-core git commit: Setting database schema names
from JDO
Posted by ma...@apache.org.
Setting database schema names from JDO
Project: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/commit/f3bcedfd
Tree: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/tree/f3bcedfd
Diff: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/diff/f3bcedfd
Branch: refs/heads/jpa
Commit: f3bcedfdf824fc3d90dc35b51b7a863ebd421f49
Parents: 9e09e8f
Author: Martin Stockhammer <ma...@apache.org>
Authored: Fri Sep 30 22:37:22 2016 +0200
Committer: Martin Stockhammer <ma...@apache.org>
Committed: Fri Sep 30 22:37:22 2016 +0200
----------------------------------------------------------------------
.../redback/users/jpa/JpaUserManager.java | 35 +++++++++++++++++---
.../redback/users/jpa/model/JpaUser.java | 23 ++++++++++++-
.../src/main/resources/spring-context.xml | 31 +++++++++++++++++
.../redback/users/jpa/JpaUserManagerTest.java | 1 -
4 files changed, 84 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/f3bcedfd/redback-users/redback-users-providers/redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/JpaUserManager.java
----------------------------------------------------------------------
diff --git a/redback-users/redback-users-providers/redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/JpaUserManager.java b/redback-users/redback-users-providers/redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/JpaUserManager.java
index c4c83f6..448552d 100644
--- a/redback-users/redback-users-providers/redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/JpaUserManager.java
+++ b/redback-users/redback-users-providers/redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/JpaUserManager.java
@@ -75,7 +75,6 @@ public class JpaUserManager extends AbstractUserManager {
@Override
public User createUser(String username, String fullName, String emailAddress) throws UserManagerException {
-
JpaUser user = new JpaUser();
user.setUsername(username);
user.setFullName(fullName);
@@ -270,6 +269,27 @@ public class JpaUserManager extends AbstractUserManager {
@Override
public void addUserUnchecked(User user) throws UserManagerException {
+ log.info("addUserUnchecked "+user.getUsername());
+ if ( !( user instanceof JpaUser ) )
+ {
+ throw new UserManagerException( "Unable to Add User. User object " + user.getClass().getName() +
+ " is not an instance of " + JpaUser.class.getName() );
+ }
+
+ if ( org.codehaus.plexus.util.StringUtils.isEmpty( user.getUsername() ) )
+ {
+ throw new IllegalStateException(
+ Messages.getString( "user.manager.cannot.add.user.without.username" ) ); //$NON-NLS-1$
+ }
+
+ em.getTransaction().begin();
+ TypedQuery<JpaUser> q = em.createQuery("SELECT u FROM JpaUser u", JpaUser.class);
+ for (JpaUser u : q.getResultList()) {
+ log.info("USER FOUND: "+u.getUsername());
+ }
+ log.info("NEW USER "+user.getUsername());
+ em.persist((JpaUser)user);
+ em.getTransaction().commit();
}
@@ -277,9 +297,16 @@ public class JpaUserManager extends AbstractUserManager {
public void eraseDatabase() {
EntityManager em = getEm();
em.getTransaction().begin();
- Query q = em.createQuery("DELETE FROM JpaUser u");
- q.executeUpdate();
+ TypedQuery<JpaUser> q = em.createQuery("SELECT u FROM JpaUser u", JpaUser.class);
+ for (JpaUser u : q.getResultList()) {
+ u.getPreviousEncodedPasswords().clear();
+ }
+ em.flush();
+ Query qd = em.createQuery("DELETE FROM JpaUser u");
+ qd.executeUpdate();
em.getTransaction().commit();
+ em.clear();
+
}
@Override
@@ -298,7 +325,7 @@ public class JpaUserManager extends AbstractUserManager {
@Override
public String getDescriptionKey() {
- return null;
+ return "archiva.redback.usermanager.jpa";
}
http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/f3bcedfd/redback-users/redback-users-providers/redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/model/JpaUser.java
----------------------------------------------------------------------
diff --git a/redback-users/redback-users-providers/redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/model/JpaUser.java b/redback-users/redback-users-providers/redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/model/JpaUser.java
index 04f441e..cfdaa4e 100644
--- a/redback-users/redback-users-providers/redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/model/JpaUser.java
+++ b/redback-users/redback-users-providers/redback-users-jpa/src/main/java/org/apache/archiva/redback/users/jpa/model/JpaUser.java
@@ -19,9 +19,13 @@ package org.apache.archiva.redback.users.jpa.model;
* under the License.
*/
+import javax.persistence.CollectionTable;
+import javax.persistence.Column;
import javax.persistence.ElementCollection;
import javax.persistence.Entity;
import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.OrderColumn;
import javax.persistence.Table;
import java.util.ArrayList;
import java.util.Date;
@@ -35,21 +39,38 @@ import java.util.List;
public class JpaUser implements org.apache.archiva.redback.users.User {
@Id
+ @Column(name="USERNAME")
private String username;
-
+ @Column(name="FULL_NAME")
private String fullName;
+ @Column(name="EMAIL")
private String email;
+ @Column(name="ENCODED_PASSWORD")
private String encodedPassword;
+ @Column(name="LAST_PASSWORD_CHANGE")
private Date lastPasswordChange;
@ElementCollection
+ @OrderColumn(name="INTEGER_IDX")
+ @Column(name="STRING_ELE")
+ @CollectionTable(name="JDOUSER_PREVIOUSENCODEDPASSWORDS",
+ joinColumns = @JoinColumn(name = "USERNAME_OID", referencedColumnName = "USERNAME")
+ )
private List<String> previousEncodedPasswords = new ArrayList<String>();
+ @Column(name="PERMANENT")
private boolean permanent;
+ @Column(name="LOCKED")
private boolean locked;
+ @Column(name="PASSWORD_CHANGE_REQUIRED")
private boolean passwordChangeRequired;
+ @Column(name="VALIDATED")
private boolean validated;
+ @Column(name="COUNT_FAILED_LOGIN_ATTEMPTS")
private int countFailedLoginAttempts;
+ @Column(name="ACCOUNT_CREATION_DATE")
private Date accountCreationDate;
+ @Column(name="LAST_LOGIN_DATE")
private Date lastLoginDate;
+ @Column(name="USER_PASSSWORD")
private String rawPassword;
http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/f3bcedfd/redback-users/redback-users-providers/redback-users-jpa/src/main/resources/spring-context.xml
----------------------------------------------------------------------
diff --git a/redback-users/redback-users-providers/redback-users-jpa/src/main/resources/spring-context.xml b/redback-users/redback-users-providers/redback-users-jpa/src/main/resources/spring-context.xml
new file mode 100644
index 0000000..a56a218
--- /dev/null
+++ b/redback-users/redback-users-providers/redback-users-jpa/src/main/resources/spring-context.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:context="http://www.springframework.org/schema/context"
+ 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/context/spring-context-3.0.xsd">
+
+ <context:component-scan base-package="org.apache.archiva.redback.users.jpa" />
+
+</beans>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/f3bcedfd/redback-users/redback-users-providers/redback-users-jpa/src/test/java/org/apache/archiva/redback/users/jpa/JpaUserManagerTest.java
----------------------------------------------------------------------
diff --git a/redback-users/redback-users-providers/redback-users-jpa/src/test/java/org/apache/archiva/redback/users/jpa/JpaUserManagerTest.java b/redback-users/redback-users-providers/redback-users-jpa/src/test/java/org/apache/archiva/redback/users/jpa/JpaUserManagerTest.java
index 4556755..75cda6d 100644
--- a/redback-users/redback-users-providers/redback-users-jpa/src/test/java/org/apache/archiva/redback/users/jpa/JpaUserManagerTest.java
+++ b/redback-users/redback-users-providers/redback-users-jpa/src/test/java/org/apache/archiva/redback/users/jpa/JpaUserManagerTest.java
@@ -65,7 +65,6 @@ public class JpaUserManagerTest extends AbstractUserManagerTestCase {
is.close();
EntityManagerFactory emf = Persistence.createEntityManagerFactory("redback-jpa",props);
- log.info("test setup");
jpaUserManager.setEntityManager(emf.createEntityManager());
super.setUserManager(jpaUserManager);
assertNotNull(jpaUserManager);