diff --git a/gui/admin-gui/src/main/resources/initial-objects/130-report-certification-definitions.xml b/gui/admin-gui/src/main/resources/initial-objects/130-report-certification-definitions.xml index 49e92e36cc1..60698acc903 100644 --- a/gui/admin-gui/src/main/resources/initial-objects/130-report-certification-definitions.xml +++ b/gui/admin-gui/src/main/resources/initial-objects/130-report-certification-definitions.xml @@ -22,4 +22,8 @@ true html + JRSwapFileVirtualizer + 300 + 10000 + 300000 \ No newline at end of file diff --git a/gui/admin-gui/src/main/resources/initial-objects/140-report-certification-campaigns.xml b/gui/admin-gui/src/main/resources/initial-objects/140-report-certification-campaigns.xml index 339bae74b26..fb9cdbc010a 100644 --- a/gui/admin-gui/src/main/resources/initial-objects/140-report-certification-campaigns.xml +++ b/gui/admin-gui/src/main/resources/initial-objects/140-report-certification-campaigns.xml @@ -22,4 +22,8 @@ true html + JRSwapFileVirtualizer + 300 + 10000 + 300000 \ No newline at end of file diff --git a/gui/admin-gui/src/main/resources/initial-objects/150-report-certification-cases.xml b/gui/admin-gui/src/main/resources/initial-objects/150-report-certification-cases.xml index 74e5908621e..d2b0b0db627 100644 --- a/gui/admin-gui/src/main/resources/initial-objects/150-report-certification-cases.xml +++ b/gui/admin-gui/src/main/resources/initial-objects/150-report-certification-cases.xml @@ -21,4 +21,8 @@ true html + JRSwapFileVirtualizer + 300 + 10000 + 300000 diff --git a/gui/admin-gui/src/main/resources/initial-objects/160-report-certification-decisions.xml b/gui/admin-gui/src/main/resources/initial-objects/160-report-certification-decisions.xml index 8bb00696e64..92f17a6fc41 100644 --- a/gui/admin-gui/src/main/resources/initial-objects/160-report-certification-decisions.xml +++ b/gui/admin-gui/src/main/resources/initial-objects/160-report-certification-decisions.xml @@ -21,4 +21,8 @@ true html + JRSwapFileVirtualizer + 300 + 10000 + 300000 \ No newline at end of file diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint.properties b/gui/admin-gui/src/main/resources/localization/Midpoint.properties index 5c827662d43..d1647e4a6b1 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint.properties @@ -2355,7 +2355,7 @@ SchemaHandlingStep.activation.tooltip.inbound=Inbound mappings map values from t SchemaHandlingStep.activation.tooltip.outbound=Outbound mappings map values from Identity Manager (usually a user) to the resource (usually an account). SchemaHandlingStep.association.label.associationName=Association name SchemaHandlingStep.association.label.associationNamespace=Namespace -SchemaHandlingStep.association.tooltip.associationAttribute=Name of the attribute that "holds" the association. I.e. an attribute which contains the identifier of the associated object. This is usually an attribute such as "memeber", "groups", "roles", etc. In subject-to-object associations this is an attribute of a subject (e.g. account attribute "groups"). In object-to-subject associations this is an attribute of an object (e.g. group attribute "members"). +SchemaHandlingStep.association.tooltip.associationAttribute=Name of the attribute that "holds" the association. I.e. an attribute which contains the identifier of the associated object. This is usually an attribute such as "member", "groups", "roles", etc. In subject-to-object associations this is an attribute of a subject (e.g. account attribute "groups"). In object-to-subject associations this is an attribute of an object (e.g. group attribute "members"). SchemaHandlingStep.association.tooltip.associationLocalPart=TODO\: SchemaHandlingStep.association.tooltip.associationLocalPart SchemaHandlingStep.association.tooltip.associationNamespace=TODO\: SchemaHandlingStep.association.tooltip.associationNamespace SchemaHandlingStep.association.tooltip.direction=Defines the direction of the association. Object-to-subject\: Object (e.g. group) has an attribute that contains identifier of the subject (e.g. account); Subject-to-object\: Subject (e.g. account) has an attribute that contains identifier of the object (e.g. group). diff --git a/infra/prism/src/main/java/com/evolveum/midpoint/prism/PrismPropertyValue.java b/infra/prism/src/main/java/com/evolveum/midpoint/prism/PrismPropertyValue.java index eb5f0e5f53c..9caf074810c 100644 --- a/infra/prism/src/main/java/com/evolveum/midpoint/prism/PrismPropertyValue.java +++ b/infra/prism/src/main/java/com/evolveum/midpoint/prism/PrismPropertyValue.java @@ -33,6 +33,7 @@ import com.evolveum.midpoint.util.PrettyPrinter; import com.evolveum.midpoint.util.exception.SchemaException; import com.evolveum.prism.xml.ns._public.types_3.PolyStringType; +import com.evolveum.prism.xml.ns._public.types_3.ProtectedStringType; import com.evolveum.prism.xml.ns._public.types_3.RawType; import com.evolveum.prism.xml.ns._public.types_3.SchemaDefinitionType; @@ -277,6 +278,11 @@ public void checkConsistenceInternal(Itemable rootItem, boolean requireDefinitio if (value instanceof PolyStringType) { throw new IllegalStateException("PolyStringType found in property value "+this+" ("+myPath+" in "+rootItem+")"); } + if (value instanceof ProtectedStringType) { + if (((ProtectedStringType)value).isEmpty()) { + throw new IllegalStateException("Empty ProtectedStringType found in property value "+this+" ("+myPath+" in "+rootItem+")"); + } + } PrismContext prismContext = getPrismContext(); if (value instanceof PolyString && prismContext != null) { PolyString poly = (PolyString)value; diff --git a/testing/wstest/src/test/java/com/evolveum/midpoint/testing/wstest/TestWSSecurity.java b/testing/wstest/src/test/java/com/evolveum/midpoint/testing/wstest/TestWSSecurity.java index 36ed6761675..67539b5f3f0 100644 --- a/testing/wstest/src/test/java/com/evolveum/midpoint/testing/wstest/TestWSSecurity.java +++ b/testing/wstest/src/test/java/com/evolveum/midpoint/testing/wstest/TestWSSecurity.java @@ -896,7 +896,7 @@ public void test150GetConfigNoPasswordWrongDigest() throws Exception { displayTestTitle(TEST_NAME); LogfileTestTailer tailer = createLogTailer(); - modelPort = createModelPort(USER_NOBODY_USERNAME, "wrongPassword", WSConstants.PW_DIGEST); + modelPort = createModelPort(USER_NOPASSWORD_USERNAME, "wrongPassword", WSConstants.PW_DIGEST); Holder objectHolder = new Holder(); Holder resultHolder = new Holder(); @@ -913,7 +913,7 @@ public void test150GetConfigNoPasswordWrongDigest() throws Exception { } tailer.tail(); - assertAuditLoginFailed(tailer, "no authorizations"); + assertAuditLoginFailed(tailer, "no credentials in user"); } @Test @@ -922,7 +922,7 @@ public void test152GetConfigNoPasswordEmptyDigest() throws Exception { displayTestTitle(TEST_NAME); LogfileTestTailer tailer = createLogTailer(); - modelPort = createModelPort(USER_NOBODY_USERNAME, " ", WSConstants.PW_DIGEST); + modelPort = createModelPort(USER_NOPASSWORD_USERNAME, " ", WSConstants.PW_DIGEST); Holder objectHolder = new Holder(); Holder resultHolder = new Holder(); @@ -939,7 +939,7 @@ public void test152GetConfigNoPasswordEmptyDigest() throws Exception { } tailer.tail(); - assertAuditLoginFailed(tailer, "no authorizations"); + assertAuditLoginFailed(tailer, "no credentials in user"); } @Test