diff --git a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/FocusProcessor.java b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/FocusProcessor.java index 1b5b696d490..dae5fe2d393 100644 --- a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/FocusProcessor.java +++ b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/FocusProcessor.java @@ -523,18 +523,21 @@ private void processActivationLockout(LensFocusContext lockoutStatusDelta = focusContext.getPrimaryDelta().findPropertyDelta(SchemaConstants.PATH_ACTIVATION_LOCKOUT_STATUS); - if (lockoutStatusDelta != null) { - if (lockoutStatusDelta.isAdd()) { - for (PrismPropertyValue pval: lockoutStatusDelta.getValuesToAdd()) { - if (pval.getValue() == LockoutStatusType.LOCKED) { - throw new SchemaException("Lockout status cannot be changed to LOCKED value"); + ObjectDelta focusPrimaryDelta = focusContext.getPrimaryDelta(); + if (focusPrimaryDelta != null) { + PropertyDelta lockoutStatusDelta = focusContext.getPrimaryDelta().findPropertyDelta(SchemaConstants.PATH_ACTIVATION_LOCKOUT_STATUS); + if (lockoutStatusDelta != null) { + if (lockoutStatusDelta.isAdd()) { + for (PrismPropertyValue pval: lockoutStatusDelta.getValuesToAdd()) { + if (pval.getValue() == LockoutStatusType.LOCKED) { + throw new SchemaException("Lockout status cannot be changed to LOCKED value"); + } } - } - } else if (lockoutStatusDelta.isReplace()) { - for (PrismPropertyValue pval: lockoutStatusDelta.getValuesToReplace()) { - if (pval.getValue() == LockoutStatusType.LOCKED) { - throw new SchemaException("Lockout status cannot be changed to LOCKED value"); + } else if (lockoutStatusDelta.isReplace()) { + for (PrismPropertyValue pval: lockoutStatusDelta.getValuesToReplace()) { + if (pval.getValue() == LockoutStatusType.LOCKED) { + throw new SchemaException("Lockout status cannot be changed to LOCKED value"); + } } } }