Skip to content

Commit

Permalink
Merge branch 'master' of github.com:Evolveum/midpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
dejavix committed Aug 25, 2023
2 parents 208cc0d + ea2c148 commit b0ab886
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 2 deletions.
5 changes: 5 additions & 0 deletions config/sql/native-new/postgres-new-upgrade.sql
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,11 @@ ALTER TABLE m_task_affected_objects
ADD COLUMN predefinedConfigurationToUse PredefinedConfigurationType;
$aa$);

call apply_change(21, $aa$
ALTER TABLE m_user
ADD COLUMN personalNumber TEXT;
$aa$);


---
-- WRITE CHANGES ABOVE ^^
Expand Down
3 changes: 2 additions & 1 deletion config/sql/native-new/postgres-new.sql
Original file line number Diff line number Diff line change
Expand Up @@ -575,6 +575,7 @@ CREATE TABLE m_user (
honorificSuffixNorm TEXT,
nickNameOrig TEXT,
nickNameNorm TEXT,
personalNumber TEXT,
titleOrig TEXT,
titleNorm TEXT,
organizations JSONB, -- array of {o,n} objects (poly-strings)
Expand Down Expand Up @@ -2116,4 +2117,4 @@ END $$;
-- This is important to avoid applying any change more than once.
-- Also update SqaleUtils.CURRENT_SCHEMA_CHANGE_NUMBER
-- repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/SqaleUtils.java
call apply_change(20, $$ SELECT 1 $$, true);
call apply_change(21, $$ SELECT 1 $$, true);
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public class SqaleUtils {
*/
public static final String SCHEMA_AUDIT_CHANGE_NUMBER = "schemaAuditChangeNumber";

public static final int CURRENT_SCHEMA_CHANGE_NUMBER = 20;
public static final int CURRENT_SCHEMA_CHANGE_NUMBER = 21;

public static final int CURRENT_SCHEMA_AUDIT_CHANGE_NUMBER = 6;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ public class MUser extends MFocus {
public String honorificSuffixNorm;
public String nickNameOrig;
public String nickNameNorm;
public String personalNumber;
public String titleOrig;
public String titleNorm;
public Jsonb organizations;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ public class QUser extends QFocus<MUser> {
ColumnMetadata.named("organizations").ofType(JSONB_TYPE);
public static final ColumnMetadata ORGANIZATION_UNITS =
ColumnMetadata.named("organizationUnits").ofType(JSONB_TYPE);
private static final ColumnMetadata PERSONAL_NUMBER = ColumnMetadata.named("personalNumber").ofType(Types.VARCHAR);

public final StringPath additionalNameOrig = createString("additionalNameOrig", ADDITIONAL_NAME_ORIG);
public final StringPath additionalNameNorm = createString("additionalNameNorm", ADDITIONAL_NAME_NORM);
Expand All @@ -86,6 +87,8 @@ public class QUser extends QFocus<MUser> {
public final JsonbPath organizationUnits =
addMetadata(add(new JsonbPath(forProperty("organizationUnits"))), ORGANIZATION_UNITS);

public StringPath personalNumber = createString("personalNumber", PERSONAL_NUMBER);

public QUser(String variable) {
this(variable, DEFAULT_SCHEMA_NAME, TABLE_NAME);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ private QUserMapping(@NotNull SqaleRepoContext repositoryContext) {
addItemMapping(F_ADDITIONAL_NAME, polyStringMapper(
q -> q.additionalNameOrig, q -> q.additionalNameNorm));
addItemMapping(F_EMPLOYEE_NUMBER, stringMapper(q -> q.employeeNumber));
addItemMapping(F_PERSONAL_NUMBER, stringMapper(q -> q.personalNumber));
addItemMapping(F_FAMILY_NAME, polyStringMapper(
q -> q.familyNameOrig, q -> q.familyNameNorm));
addItemMapping(F_FULL_NAME, polyStringMapper(
Expand Down Expand Up @@ -81,6 +82,7 @@ public MUser newRowObject() {
setPolyString(user.getAdditionalName(),
o -> row.additionalNameOrig = o, n -> row.additionalNameNorm = n);
row.employeeNumber = user.getEmployeeNumber();
row.personalNumber = user.getPersonalNumber();
setPolyString(user.getFamilyName(),
o -> row.familyNameOrig = o, n -> row.familyNameNorm = n);
setPolyString(user.getFullName(), o -> row.fullNameOrig = o, n -> row.fullNameNorm = n);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,7 @@ public void initObjects() throws Exception {
.subtype("workerA")
.subtype("workerC")
.employeeNumber("user1")
.personalNumber("personal1")
.policySituation("situationA")
.policySituation("situationC")
.activation(new ActivationType()
Expand Down Expand Up @@ -3288,6 +3289,16 @@ public void test991SearchObjectWithStringIgnoreCaseWithoutNamespace()
user1Oid);
}

@Test(description = "MID-8005")
public void test992SearchObjectWithStringIgnoreCaseWithoutNamespace()
throws SchemaException {
searchUsersTest("with string item matching ignore-case comparison",
f -> f.item(UserType.F_PERSONAL_NUMBER).contains("Personal1")
// Use QName without namespace
.matching(new QName(STRING_IGNORE_CASE_MATCHING_RULE_NAME.getLocalPart())),
user1Oid);
}

@Test
public void test992FuzzyStringSearch() throws SchemaException {
searchUsersTest("with levenshtein filter against string item",
Expand Down

0 comments on commit b0ab886

Please sign in to comment.