From 07e12b1d6d422a4d2ab0df8653f6d880a3422095 Mon Sep 17 00:00:00 2001 From: Richard Richter Date: Fri, 5 Jun 2020 12:58:12 +0200 Subject: [PATCH 1/4] testing/story/TestThresholdsLiveSync*.java: compilation fixes --- .../midpoint/testing/story/TestThresholdsLiveSyncFull.java | 5 ++--- .../testing/story/TestThresholdsLiveSyncSimulate.java | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsLiveSyncFull.java b/testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsLiveSyncFull.java index de5dff87dcc..2fdb6efc95e 100644 --- a/testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsLiveSyncFull.java +++ b/testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsLiveSyncFull.java @@ -15,7 +15,6 @@ import org.springframework.test.context.ContextConfiguration; import com.evolveum.midpoint.task.api.Task; -import com.evolveum.midpoint.xml.ns._public.common.common_3.IterativeTaskInformationType; import com.evolveum.midpoint.xml.ns._public.common.common_3.SynchronizationInformationType; /** @@ -49,7 +48,7 @@ protected int getProcessedUsers() { protected void assertSynchronizationStatisticsAfterImport(Task taskAfter) throws Exception { SynchronizationInformationType syncInfo = taskAfter.getStoredOperationStats().getSynchronizationInformation(); - assertSyncToken(taskAfter, 8, taskAfter.getResult()); + assertSyncToken(taskAfter, 8); assertEquals(syncInfo.getCountUnmatched(), 5); assertEquals(syncInfo.getCountDeleted(), 0); @@ -77,7 +76,7 @@ protected void assertSynchronizationStatisticsActivation(Task taskAfter) { protected void assertSynchronizationStatisticsAfterSecondImport(Task taskAfter) throws Exception { SynchronizationInformationType syncInfo = taskAfter.getStoredOperationStats().getSynchronizationInformation(); - assertSyncToken(taskAfter, 12, taskAfter.getResult()); + assertSyncToken(taskAfter, 12); assertEquals(syncInfo.getCountUnmatched(), 5); assertEquals(syncInfo.getCountDeleted(), 0); diff --git a/testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsLiveSyncSimulate.java b/testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsLiveSyncSimulate.java index 3236aad5b81..93d9c39507d 100644 --- a/testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsLiveSyncSimulate.java +++ b/testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestThresholdsLiveSyncSimulate.java @@ -15,7 +15,6 @@ import org.springframework.test.context.ContextConfiguration; import com.evolveum.midpoint.task.api.Task; -import com.evolveum.midpoint.xml.ns._public.common.common_3.IterativeTaskInformationType; import com.evolveum.midpoint.xml.ns._public.common.common_3.SynchronizationInformationType; /** @@ -49,7 +48,7 @@ protected int getProcessedUsers() { protected void assertSynchronizationStatisticsAfterImport(Task taskAfter) throws Exception { SynchronizationInformationType syncInfo = taskAfter.getStoredOperationStats().getSynchronizationInformation(); - assertSyncToken(taskAfter, 4, taskAfter.getResult()); + assertSyncToken(taskAfter, 4); assertEquals(syncInfo.getCountUnmatchedAfter(), 0); assertEquals(syncInfo.getCountDeletedAfter(), 0); @@ -72,7 +71,7 @@ protected void assertSynchronizationStatisticsActivation(Task taskAfter) { protected void assertSynchronizationStatisticsAfterSecondImport(Task taskAfter) throws Exception { SynchronizationInformationType syncInfo = taskAfter.getStoredOperationStats().getSynchronizationInformation(); - assertSyncToken(taskAfter, 4, taskAfter.getResult()); + assertSyncToken(taskAfter, 4); assertEquals(syncInfo.getCountUnmatchedAfter(), 0); assertEquals(syncInfo.getCountDeletedAfter(), 0); From 958109133d5eff9e63dabc5cb0a9674b8bc931a6 Mon Sep 17 00:00:00 2001 From: Katarina Valalikova Date: Fri, 5 Jun 2020 12:30:23 +0200 Subject: [PATCH 2/4] resolve conflicts in DropDownChoicePanel after cherry pick (from commit 13bdd395c7) --- .../midpoint/web/component/input/DropDownChoicePanel.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/input/DropDownChoicePanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/input/DropDownChoicePanel.java index 4e1ea3f8fc1..dc161b3f081 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/input/DropDownChoicePanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/input/DropDownChoicePanel.java @@ -64,13 +64,7 @@ protected String getNullValidDisplayValue() { return DropDownChoicePanel.this.getNullValidDisplayValue(); } - @Override - public IModel> getChoicesModel() { - IModel> choices = super.getChoicesModel(); - return Model.ofList(WebComponentUtil.sortDropDownChoices(choices, renderer)); - } - - @Override + public String getModelValue() { T object = this.getModelObject(); if (object != null) { From 654a2b4b7a71b9bd4991eb6973a892be9187fe06 Mon Sep 17 00:00:00 2001 From: Hiroyuki Wada Date: Fri, 5 Jun 2020 12:26:52 +0900 Subject: [PATCH 3/4] MID-6310 Handling direct access to CaseWorkItem page # Conflicts: # gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/PageCaseWorkItem.java --- .../page/admin/cases/PageCaseWorkItem.java | 69 +++++++++++-------- 1 file changed, 40 insertions(+), 29 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/PageCaseWorkItem.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/PageCaseWorkItem.java index b13cd3ad962..d27b1e7c27f 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/PageCaseWorkItem.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/PageCaseWorkItem.java @@ -9,7 +9,6 @@ import com.evolveum.midpoint.gui.api.model.LoadableModel; import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils; import com.evolveum.midpoint.prism.PrismObject; -import com.evolveum.midpoint.schema.GetOperationOptionsBuilder; import com.evolveum.midpoint.schema.result.OperationResult; import com.evolveum.midpoint.schema.util.WorkItemId; import com.evolveum.midpoint.security.api.AuthorizationConstants; @@ -37,8 +36,6 @@ import java.util.ArrayList; import java.util.List; -import static com.evolveum.midpoint.xml.ns._public.common.common_3.TaskType.F_OBJECT_REF; - /** * @author mederly */ @@ -98,6 +95,10 @@ public class PageCaseWorkItem extends PageAdminCaseWorkItems { private WorkItemId workItemId; private PageParameters pageParameters; + public PageCaseWorkItem() { + this((CaseWorkItemType)null); + } + public PageCaseWorkItem(CaseWorkItemType workItem) { this(workItem, null); } @@ -108,34 +109,43 @@ public PageCaseWorkItem(CaseWorkItemType workItem, PageParameters parameters) { caseWorkItemModel = new LoadableModel(false) { @Override protected CaseWorkItemType load() { - return workItem; + if (workItem != null) { + return workItem; + } else { + getSession().error("Workitem model cannot be null"); + throw redirectBackViaRestartResponseException(); + } + } + }; + } + + public PageCaseWorkItem(PageParameters parameters) { + this.pageParameters = parameters; + + String caseWorkItemId = parameters.get(OnePageParameterEncoder.PARAMETER).toString(); + if (StringUtils.isEmpty(caseWorkItemId)) { + throw new IllegalStateException("Work item ID not specified."); + } + try { + workItemId = WorkItemId.create(caseWorkItemId); + } catch (IllegalStateException e) { + getSession().error(getString("PageCaseWorkItem.couldNotGetCase.runtime")); + throw redirectBackViaRestartResponseException(); + } + + caseModel = new LoadableModel(false) { + @Override + protected CaseType load() { + return loadCaseIfNecessary(); } }; -// String caseId = parameters.get(OnePageParameterEncoder.PARAMETER).toString(); -// if (StringUtils.isEmpty(caseId)) { -// throw new IllegalStateException("Case ID not specified."); -// } -// workItemId = WorkItemId.create(caseId); -// if (workItemId == null || StringUtils.isEmpty(workItemId.getCaseOid())) { -// throw new IllegalStateException("Case oid not specified."); -// } -// -// caseModel = new LoadableModel(false) { -// @Override -// protected CaseType load() { -// return loadCaseIfNecessary(); -// } -// }; -// -// caseWorkItemModel = new LoadableModel(false) { -// @Override -// protected CaseWorkItemType load() { -// return loadCaseWorkItemIfNecessary(); -// } -// }; - -// initLayout(); + caseWorkItemModel = new LoadableModel(false) { + @Override + protected CaseWorkItemType load() { + return loadCaseWorkItemIfNecessary(); + } + }; } @Override @@ -197,7 +207,8 @@ private CaseWorkItemType loadCaseWorkItemIfNecessary() { } catch (NumberFormatException ex) { LoggingUtils.logUnexpectedException(LOGGER, "Couldn't parse case work item id.", ex); } - return null; + getSession().error(getString("PageCaseWorkItem.couldNotGetCaseWorkItem")); + throw redirectBackViaRestartResponseException(); } private void initLayout(){ From af520e66e2952178bfb9f666d110fc338251bc9e Mon Sep 17 00:00:00 2001 From: Hiroyuki Wada Date: Wed, 3 Jun 2020 19:06:58 +0900 Subject: [PATCH 4/4] MID-6306 Fix assignable roles filter when multiple users are selected --- .../midpoint/web/page/self/AbstractShoppingCartTabPanel.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/self/AbstractShoppingCartTabPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/self/AbstractShoppingCartTabPanel.java index 4998ed3d16d..4dcc4e40d74 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/self/AbstractShoppingCartTabPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/self/AbstractShoppingCartTabPanel.java @@ -460,9 +460,7 @@ private SearchPanel getSearchPanel(){ } private ObjectFilter getAssignableRolesFilter() { - if (getRoleCatalogStorage().isMultiUserRequest()){ - return null; - } + // When multiple users are selected, filter the roles by targeting one of them Task task = getPageBase().createSimpleTask(OPERATION_LOAD_ASSIGNABLE_ROLES); OperationResult result = task.getResult(); UserType targetUser = targetUserModel.getObject();