diff --git a/ccm-core/src/main/java/org/libreccm/security/User.java b/ccm-core/src/main/java/org/libreccm/security/User.java
index 3d6dff563..75ca63024 100644
--- a/ccm-core/src/main/java/org/libreccm/security/User.java
+++ b/ccm-core/src/main/java/org/libreccm/security/User.java
@@ -71,14 +71,17 @@ import javax.xml.bind.annotation.XmlTransient;
@Entity
@Table(name = "USERS", schema = DB_SCHEMA)
@NamedQueries({
- @NamedQuery(name = "User.findByUuid",
- query = "SELECT u FROM User u WHERE u.uuid = :uuid"),
- @NamedQuery(name = "User.findByName",
- query = "SELECT u FROM User u WHERE u.name = :name "
- + "ORDER BY u.name, "
- + " u.familyName, "
- + " u.givenName, "
- + " u.primaryEmailAddress.address"),
+ @NamedQuery(
+ name = "User.findByUuid",
+ query = "SELECT u FROM User u WHERE u.uuid = :uuid"
+ ),
+ @NamedQuery(
+ name = "User.findByName",
+ query = "SELECT u FROM User u WHERE u.name = :name "
+ + "ORDER BY u.name, "
+ + " u.familyName, "
+ + " u.givenName"
+ ),
@NamedQuery(name = "User.countByName",
query = "SELECT COUNT(u) FROM User u WHERE u.name = :name"),
// @NamedQuery(name = "User.findByEmailAddress",
@@ -96,12 +99,11 @@ import javax.xml.bind.annotation.XmlTransient;
query = "SELECT u FROM User u WHERE "
+ "LOWER(u.name) LIKE CONCAT(LOWER(:term), '%') "
+ "OR LOWER(u.givenName) LIKE CONCAT(LOWER(:term), '%') "
- + "OR LOWER(u.familyName) LIKE CONCAT(LOWER(:term), '%') "
- + "OR LOWER(u.primaryEmailAddress.address) LIKE CONCAT('%', LOWER(:term), '%') "
- + "ORDER BY u.name,"
+ + "OR LOWER(u.familyName) LIKE CONCAT(LOWER(:term), '%')"
+ + "ORDER BY u.name,"
+ "u.familyName, "
- + "u.givenName, "
- + "u.primaryEmailAddress.address"),
+ + "u.givenName"
+ ),
// @NamedQuery(
// name = "User.findAllOrderedByUsername",
// query = "SELECT u FROM User u ORDER BY u.name, "
@@ -349,36 +351,37 @@ public class User extends Party implements Serializable, Exportable {
@Override
public JsonObjectBuilder buildJson() {
- final JsonArrayBuilder emailAddressesArrayBuilder = Json.createArrayBuilder();
-
+ final JsonArrayBuilder emailAddressesArrayBuilder = Json
+ .createArrayBuilder();
+
emailAddresses
.stream()
.map(EmailAddress::buildJson)
.forEach(emailAddressesArrayBuilder::add);
-
+
return super
.buildJson()
.add("givenName", givenName)
.add("familyName", familyName)
.add("primaryEmailAddress", primaryEmailAddress.buildJson())
- .add(
- "emailAddresses",
- emailAddresses
- .stream()
- .map(EmailAddress::buildJson)
- .map(JsonObjectBuilder::build)
- .collect(new JsonArrayCollector())
- )
- .add("banned", banned)
- .add("passwordResetRequired", passwordResetRequired)
- .add(
- "groupMemberships",
- groupMemberships
- .stream()
- .map(GroupMembership::buildJson)
- .map(JsonObjectBuilder::build)
- .collect(new JsonArrayCollector())
- );
+ .add(
+ "emailAddresses",
+ emailAddresses
+ .stream()
+ .map(EmailAddress::buildJson)
+ .map(JsonObjectBuilder::build)
+ .collect(new JsonArrayCollector())
+ )
+ .add("banned", banned)
+ .add("passwordResetRequired", passwordResetRequired)
+ .add(
+ "groupMemberships",
+ groupMemberships
+ .stream()
+ .map(GroupMembership::buildJson)
+ .map(JsonObjectBuilder::build)
+ .collect(new JsonArrayCollector())
+ );
}
@Override
diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/categorization/CategoryManagerTest/data.yml b/ccm-core/src/test/resources/datasets/org/libreccm/categorization/CategoryManagerTest/data.yml
index 1480ae2f3..416fd50a7 100644
--- a/ccm-core/src/test/resources/datasets/org/libreccm/categorization/CategoryManagerTest/data.yml
+++ b/ccm-core/src/test/resources/datasets/org/libreccm/categorization/CategoryManagerTest/data.yml
@@ -84,30 +84,24 @@ ccm_core.users:
- party_id: 3000
given_name: public
family_name: user
- email_address: public-user@localhost
+ primary_email_address: "{\"address\": \"public-user@localhost\", \"bouncing\": false, \"verified\": true}"
banned: false
- bouncing: false
- verified: true
password_reset_required: false
- party_id: 3100
given_name: Jane
family_name: Doe
- email_address: jane.doe@example.org
+ primary_email_address: "{\"address\": \"jane.doe@localhost\", \"bouncing\": false, \"verified\": true}"
# foo123
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
banned: false
- bouncing: false
- verified: true
password_reset_required: false
- party_id: 3200
given_name: Maria
family_name: Muster
- email_address: mmuster@example.com
+ primary_email_address: "{\"address\": \"mmuster@example.com\", \"bouncing\": false, \"verified\": true}"
# foo123
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
banned: false
- bouncing: false
- verified: true
password_reset_required: false
ccm_core.ccm_roles:
diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/categorization/CategoryRepositoryTest/after-save-new-category.yml b/ccm-core/src/test/resources/datasets/org/libreccm/categorization/CategoryRepositoryTest/after-save-new-category.yml
index 6f9d67e4d..07c3234df 100644
--- a/ccm-core/src/test/resources/datasets/org/libreccm/categorization/CategoryRepositoryTest/after-save-new-category.yml
+++ b/ccm-core/src/test/resources/datasets/org/libreccm/categorization/CategoryRepositoryTest/after-save-new-category.yml
@@ -69,28 +69,22 @@ ccm_core.users:
- party_id: 100
given_name: public
family_name: user
- email_address: public-user@localhost
+ primary_email_address: "{\"address\": \"public-user@localhost\", \"bouncing\": false, \"verified\": true}"
banned: false
- bouncing: false
- verified: true
password_reset_required: false
- party_id: 200
given_name: John
family_name: Doe
- email_address: john.doe@example.org
+ primary_email_address: "{\"address\": \"john.doe@example.org\", \"bouncing\": false, \"verified\": true}"
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
banned: false
- bouncing: false
- verified: true
password_reset_required: false
- party_id: 300
given_name: Max
family_name: Mustermann
- email_address: max.mustermann@example.org
+ primary_email_address: "{\"address\": \"mmuster@example.org\", \"bouncing\": false, \"verified\": true}"
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
banned: false
- bouncing: false
- verified: true
password_reset_required: false
ccm_core.ccm_roles:
diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/categorization/CategoryRepositoryTest/data.yml b/ccm-core/src/test/resources/datasets/org/libreccm/categorization/CategoryRepositoryTest/data.yml
index 4ddeeaae6..1c261e559 100644
--- a/ccm-core/src/test/resources/datasets/org/libreccm/categorization/CategoryRepositoryTest/data.yml
+++ b/ccm-core/src/test/resources/datasets/org/libreccm/categorization/CategoryRepositoryTest/data.yml
@@ -59,28 +59,22 @@ ccm_core.users:
- party_id: 100
given_name: public
family_name: user
- email_address: public-user@localhost
+ primary_email_address: "{\"address\": \"public-user@localhost\", \"bouncing\": false, \"verified\": true}"
banned: false
- bouncing: false
- verified: true
password_reset_required: false
- party_id: 200
given_name: John
family_name: Doe
- email_address: john.doe@example.org
+ primary_email_address: "{\"address\": \"john.doe@example.org\", \"bouncing\": false, \"verified\": true}"
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
banned: false
- bouncing: false
- verified: true
password_reset_required: false
- party_id: 300
given_name: Max
family_name: Mustermann
- email_address: max.mustermann@example.org
+ primary_email_address: "{\"address\": \"mmuster@example.org\", \"bouncing\": false, \"verified\": true}"
password: $shiro1$SHA-512$500000$Y7CnccN1h25sR7KCElMOXg==$CVLWBhetodaEzzhDfGjRcCFZtSW02xOnjH7xhBx0lbxO66grKIt6LWmXoUhLEydce1JZ7cbzNLYOxIwwTeqi5Q==
banned: false
- bouncing: false
- verified: true
password_reset_required: false
ccm_core.ccm_roles:
diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/after-create-account-activation.xml b/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/after-create-account-activation.xml
index daa40bd15..8a71e4d8e 100644
--- a/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/after-create-account-activation.xml
+++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/after-create-account-activation.xml
@@ -31,21 +31,17 @@
+ password_reset_required="false" />
+ password_reset_required="false" />
+ password_reset_required="false" />
+ />
+ />
+ />
+ />
+ />
diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/after-finish-email-verification.xml b/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/after-finish-email-verification.xml
index c59a8cb32..28721542e 100644
--- a/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/after-finish-email-verification.xml
+++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/after-finish-email-verification.xml
@@ -31,21 +31,19 @@
+ />
+ />
diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/after-finish-password-recovery.xml b/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/after-finish-password-recovery.xml
index 50c694c69..00b4bcdff 100644
--- a/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/after-finish-password-recovery.xml
+++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/after-finish-password-recovery.xml
@@ -31,21 +31,20 @@
+ />
+ verified="false"
+ />
diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/data.xml b/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/data.xml
index 7bbe010af..a363d522a 100644
--- a/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/data.xml
+++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/data.xml
@@ -31,20 +31,16 @@
+ password_reset_required="false" />
+ password_reset_required="false" />
diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/finish-account-activation.xml b/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/finish-account-activation.xml
index 4dfb015da..9a766cb5c 100644
--- a/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/finish-account-activation.xml
+++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/ChallengeManagerTest/finish-account-activation.xml
@@ -31,21 +31,19 @@
+ />
+ />
+ />
+ />
+ />
+ />
+ />
+ />
+ />
+ />
\ No newline at end of file
diff --git a/ccm-core/src/test/resources/datasets/org/libreccm/security/OneTimeAuthManagerTest/data.xml b/ccm-core/src/test/resources/datasets/org/libreccm/security/OneTimeAuthManagerTest/data.xml
index 8bc8cfff0..cc2303c4a 100644
--- a/ccm-core/src/test/resources/datasets/org/libreccm/security/OneTimeAuthManagerTest/data.xml
+++ b/ccm-core/src/test/resources/datasets/org/libreccm/security/OneTimeAuthManagerTest/data.xml
@@ -31,21 +31,19 @@
+ />
+ />