From a209bd0b81da4d56330e450d410506d6655c16e4 Mon Sep 17 00:00:00 2001 From: lskublik Date: Wed, 24 Jun 2020 17:33:07 +0200 Subject: [PATCH] adding of support for null value in attribute of ConnId EqualsFilter --- .../midpoint/provisioning/impl/dummy/TestDummy.java | 2 +- .../provisioning/ucf/impl/connid/query/ValueOperation.java | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummy.java b/provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummy.java index 82468071d3f..f80f71abc43 100644 --- a/provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummy.java +++ b/provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummy.java @@ -1819,7 +1819,7 @@ public void test171SearchShipSeaMonkey() throws Exception { public void test172SearchShipNull() throws Exception { testSeachIterativeSingleAttrFilter( DummyResourceContoller.DUMMY_ACCOUNT_ATTRIBUTE_SHIP_NAME, null, null, true, - "daemon", "Will"); + "daemon"); } @Test diff --git a/provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/query/ValueOperation.java b/provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/query/ValueOperation.java index 7b502d4cd92..0aaef6cabfb 100644 --- a/provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/query/ValueOperation.java +++ b/provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/query/ValueOperation.java @@ -16,6 +16,9 @@ import com.evolveum.midpoint.prism.PrismPropertyValue; import com.evolveum.midpoint.prism.query.*; +import com.evolveum.midpoint.util.logging.Trace; +import com.evolveum.midpoint.util.logging.TraceManager; + import org.identityconnectors.framework.common.objects.Attribute; import org.identityconnectors.framework.common.objects.AttributeBuilder; import org.identityconnectors.framework.common.objects.OperationalAttributes; @@ -58,8 +61,8 @@ public Filter interpret(ObjectFilter objectFilter, ConnIdNameMapper icfNameM Collection convertedValues = convertValues(propName, eq.getValues()); if (convertedValues == null || convertedValues.isEmpty()) { - // See MID-1460 - throw new UnsupportedOperationException("Equals filter with a null value is NOT supported by ICF"); + Attribute attr = AttributeBuilder.build(icfName); + return FilterBuilder.equalTo(attr); } else { Attribute attr = AttributeBuilder.build(icfName, convertedValues); if (valueFilter.getDefinition().isSingleValue()) {