From 89b1d3985588903efeea3cf10b7ad753f8a45bee Mon Sep 17 00:00:00 2001 From: Pavol Mederly Date: Fri, 31 Jul 2015 23:30:32 +0200 Subject: [PATCH 1/3] Fixed MID-2453 (event.isUserRelated) --- .../midpoint/notifications/api/events/BaseEvent.java | 2 +- .../midpoint/notifications/api/events/ModelEvent.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/model/notifications-api/src/main/java/com/evolveum/midpoint/notifications/api/events/BaseEvent.java b/model/notifications-api/src/main/java/com/evolveum/midpoint/notifications/api/events/BaseEvent.java index 93b98a6134c..88589f520f2 100644 --- a/model/notifications-api/src/main/java/com/evolveum/midpoint/notifications/api/events/BaseEvent.java +++ b/model/notifications-api/src/main/java/com/evolveum/midpoint/notifications/api/events/BaseEvent.java @@ -86,7 +86,7 @@ public boolean isAccountRelated() { } public boolean isUserRelated() { - return isCategoryType(EventCategoryType.MODEL_EVENT); + return false; // overriden in ModelEvent } public boolean isWorkItemRelated() { diff --git a/model/notifications-api/src/main/java/com/evolveum/midpoint/notifications/api/events/ModelEvent.java b/model/notifications-api/src/main/java/com/evolveum/midpoint/notifications/api/events/ModelEvent.java index 002cb4a0902..9edb9c0c088 100644 --- a/model/notifications-api/src/main/java/com/evolveum/midpoint/notifications/api/events/ModelEvent.java +++ b/model/notifications-api/src/main/java/com/evolveum/midpoint/notifications/api/events/ModelEvent.java @@ -33,6 +33,7 @@ import com.evolveum.midpoint.xml.ns._public.common.common_3.EventOperationType; import com.evolveum.midpoint.xml.ns._public.common.common_3.EventStatusType; import com.evolveum.midpoint.xml.ns._public.common.common_3.FocusType; +import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType; import javax.xml.namespace.QName; import java.util.ArrayList; @@ -187,4 +188,8 @@ public boolean isRelatedToItem(ItemPath itemPath) { return containsItem(getFocusDeltas(), itemPath); } + @Override + public boolean isUserRelated() { + return hasFocusOfType(UserType.class); + } } From d8e4e0154b926ba53bfd2abb26a14de3f4a2069c Mon Sep 17 00:00:00 2001 From: Pavol Mederly Date: Fri, 31 Jul 2015 23:31:53 +0200 Subject: [PATCH 2/3] Fixed MID-2453 again --- .../evolveum/midpoint/notifications/api/events/ModelEvent.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model/notifications-api/src/main/java/com/evolveum/midpoint/notifications/api/events/ModelEvent.java b/model/notifications-api/src/main/java/com/evolveum/midpoint/notifications/api/events/ModelEvent.java index 9edb9c0c088..f9670cd025f 100644 --- a/model/notifications-api/src/main/java/com/evolveum/midpoint/notifications/api/events/ModelEvent.java +++ b/model/notifications-api/src/main/java/com/evolveum/midpoint/notifications/api/events/ModelEvent.java @@ -162,7 +162,7 @@ public ObjectDelta getSummarizedFocusDeltas() throws Schema } public boolean hasFocusOfType(Class clazz) { - return clazz.isAssignableFrom(getFocusContext().getObjectTypeClass()); + return getFocusContext() != null && clazz.isAssignableFrom(getFocusContext().getObjectTypeClass()); } public boolean hasFocusOfType(QName focusType) { From cd10fcf283b6eb231a6d55466b27869b9d2976e2 Mon Sep 17 00:00:00 2001 From: Pavol Mederly Date: Sat, 1 Aug 2015 17:07:50 +0200 Subject: [PATCH 3/3] Fixed MID-2486: Shadows with schema errors are displayed with warning. (Originally provisioning returned FATAL_ERROR here.) --- .../web/page/admin/configuration/PageDebugView.java | 2 +- .../java/com/evolveum/midpoint/web/util/WebMiscUtil.java | 8 ++++++++ .../provisioning/impl/ProvisioningServiceImpl.java | 7 ++++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/PageDebugView.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/PageDebugView.java index da7fc7d1da4..521c5be922d 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/PageDebugView.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/configuration/PageDebugView.java @@ -161,7 +161,7 @@ private ObjectViewDto loadObject() { showResult(result); } - if (!WebMiscUtil.isSuccessOrHandledError(result)) { + if (!WebMiscUtil.isSuccessOrHandledErrorOrWarning(result)) { showResultInSession(result); throw new RestartResponseException(PageDebugList.class); } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/util/WebMiscUtil.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/util/WebMiscUtil.java index fefed997173..8eefd79b2bd 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/util/WebMiscUtil.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/util/WebMiscUtil.java @@ -533,6 +533,14 @@ public static boolean isSuccessOrHandledError(OperationResult result) { return result.isSuccess() || result.isHandledError(); } + public static boolean isSuccessOrHandledErrorOrWarning(OperationResult result) { + if (result == null) { + return false; + } + + return result.isSuccess() || result.isHandledError() || result.isWarning(); + } + public static boolean isSuccessOrHandledErrorOrInProgress(OperationResult result) { if (result == null) { return false; diff --git a/provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ProvisioningServiceImpl.java b/provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ProvisioningServiceImpl.java index 97a98ab1d46..53961811aac 100644 --- a/provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ProvisioningServiceImpl.java +++ b/provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ProvisioningServiceImpl.java @@ -246,7 +246,12 @@ public PrismObject getObject(Class type, String oid if (GetOperationOptions.isRaw(rootOptions)) { // This is (almost) OK in raw. We want to get whatever is available, even if it violates // the schema - ProvisioningUtil.logWarning(LOGGER, result, "Repository object "+repositoryObject+" violates the schema: " + e.getMessage() + ". Reason: ", e); + String m = "Repository object "+repositoryObject+" violates the schema: " + e.getMessage(); + ProvisioningUtil.logWarning(LOGGER, result, m + ". Reason: ", e); + OperationResult last = result.getLastSubresult(); + if (last != null) { + last.recordWarning(m, e); // MID-2486 - if raw, we want to display this as a warning only + } } else { ProvisioningUtil.recordFatalError(LOGGER, result, "Repository object "+repositoryObject+" violates the schema: " + e.getMessage() + ". Reason: ", e); throw e;