Skip to content

Commit ada2436

Browse files
committed
CaseWorkItemUtil.getCase() replaced by CaseTypeUtil version + cleanup
There is still duplicate getCaseChecked vs getCaseRequire... maybe later
1 parent e19f4dc commit ada2436

File tree

8 files changed

+153
-239
lines changed

8 files changed

+153
-239
lines changed

gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
/*
2-
* Copyright (C) 2010-2021 Evolveum and contributors
2+
* Copyright (C) 2010-2022 Evolveum and contributors
33
*
44
* This work is dual-licensed under the Apache License 2.0
55
* and European Union Public License. See LICENSE file for details.
66
*/
77
package com.evolveum.midpoint.gui.api.util;
88

9-
import static com.evolveum.midpoint.gui.api.page.PageBase.createEnumResourceKey;
109
import static com.evolveum.midpoint.gui.api.page.PageBase.createStringResourceStatic;
1110
import static com.evolveum.midpoint.model.api.ModelExecuteOptions.toModelExecutionOptionsBean;
1211
import static com.evolveum.midpoint.schema.GetOperationOptions.createExecutionPhase;
@@ -30,19 +29,6 @@
3029
import javax.xml.datatype.XMLGregorianCalendar;
3130
import javax.xml.namespace.QName;
3231

33-
import com.evolveum.midpoint.gui.impl.page.admin.archetype.PageArchetype;
34-
import com.evolveum.midpoint.gui.impl.page.admin.cases.PageCase;
35-
import com.evolveum.midpoint.gui.impl.page.admin.objectcollection.PageObjectCollection;
36-
import com.evolveum.midpoint.gui.impl.page.admin.objecttemplate.PageObjectTemplate;
37-
import com.evolveum.midpoint.gui.impl.page.admin.report.PageReport;
38-
import com.evolveum.midpoint.gui.impl.page.admin.resource.PageResource;
39-
import com.evolveum.midpoint.gui.impl.page.admin.role.PageRole;
40-
import com.evolveum.midpoint.gui.impl.page.admin.service.PageService;
41-
import com.evolveum.midpoint.gui.impl.page.admin.task.PageTask;
42-
import com.evolveum.midpoint.gui.impl.page.admin.user.PageUser;
43-
44-
import com.evolveum.midpoint.web.component.data.*;
45-
4632
import org.apache.commons.collections4.CollectionUtils;
4733
import org.apache.commons.lang3.LocaleUtils;
4834
import org.apache.commons.lang3.StringEscapeUtils;
@@ -108,11 +94,21 @@
10894
import com.evolveum.midpoint.gui.impl.component.icon.LayeredIconCssStyle;
10995
import com.evolveum.midpoint.gui.impl.factory.panel.PrismPropertyPanelContext;
11096
import com.evolveum.midpoint.gui.impl.page.admin.ObjectDetailsModels;
97+
import com.evolveum.midpoint.gui.impl.page.admin.archetype.PageArchetype;
11198
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.component.assignmentType.AbstractAssignmentTypePanel;
99+
import com.evolveum.midpoint.gui.impl.page.admin.cases.PageCase;
112100
import com.evolveum.midpoint.gui.impl.page.admin.messagetemplate.PageMessageTemplate;
113101
import com.evolveum.midpoint.gui.impl.page.admin.messagetemplate.PageMessageTemplates;
102+
import com.evolveum.midpoint.gui.impl.page.admin.objectcollection.PageObjectCollection;
103+
import com.evolveum.midpoint.gui.impl.page.admin.objecttemplate.PageObjectTemplate;
114104
import com.evolveum.midpoint.gui.impl.page.admin.org.PageOrg;
105+
import com.evolveum.midpoint.gui.impl.page.admin.report.PageReport;
106+
import com.evolveum.midpoint.gui.impl.page.admin.resource.PageResource;
115107
import com.evolveum.midpoint.gui.impl.page.admin.resource.PageShadow;
108+
import com.evolveum.midpoint.gui.impl.page.admin.role.PageRole;
109+
import com.evolveum.midpoint.gui.impl.page.admin.service.PageService;
110+
import com.evolveum.midpoint.gui.impl.page.admin.task.PageTask;
111+
import com.evolveum.midpoint.gui.impl.page.admin.user.PageUser;
116112
import com.evolveum.midpoint.gui.impl.page.self.PageOrgSelfProfile;
117113
import com.evolveum.midpoint.gui.impl.page.self.PageRoleSelfProfile;
118114
import com.evolveum.midpoint.gui.impl.page.self.PageServiceSelfProfile;
@@ -149,7 +145,10 @@
149145
import com.evolveum.midpoint.schema.result.OperationResult;
150146
import com.evolveum.midpoint.schema.result.OperationResultStatus;
151147
import com.evolveum.midpoint.schema.util.*;
152-
import com.evolveum.midpoint.schema.util.cases.*;
148+
import com.evolveum.midpoint.schema.util.cases.ApprovalContextUtil;
149+
import com.evolveum.midpoint.schema.util.cases.ApprovalUtils;
150+
import com.evolveum.midpoint.schema.util.cases.CaseTypeUtil;
151+
import com.evolveum.midpoint.schema.util.cases.WorkItemTypeUtil;
153152
import com.evolveum.midpoint.schema.util.task.ActivityStateUtil;
154153
import com.evolveum.midpoint.schema.util.task.TaskInformation;
155154
import com.evolveum.midpoint.schema.util.task.TaskTypeUtil;
@@ -167,6 +166,10 @@
167166
import com.evolveum.midpoint.web.component.DateLabelComponent;
168167
import com.evolveum.midpoint.web.component.TabbedPanel;
169168
import com.evolveum.midpoint.web.component.breadcrumbs.Breadcrumb;
169+
import com.evolveum.midpoint.web.component.data.BaseSortableDataProvider;
170+
import com.evolveum.midpoint.web.component.data.SelectableBeanContainerDataProvider;
171+
import com.evolveum.midpoint.web.component.data.SelectableDataTable;
172+
import com.evolveum.midpoint.web.component.data.Table;
170173
import com.evolveum.midpoint.web.component.data.column.ColumnMenuAction;
171174
import com.evolveum.midpoint.web.component.input.DisplayableValueChoiceRenderer;
172175
import com.evolveum.midpoint.web.component.input.DropDownChoicePanel;
@@ -1143,8 +1146,8 @@ protected String getNullValidDisplayValue() {
11431146
};
11441147
}
11451148

1146-
public static <E extends Enum> IChoiceRenderer<E> getEnumChoiceRenderer(Component component) {
1147-
return new IChoiceRenderer<E>() {
1149+
public static <E extends Enum<E>> IChoiceRenderer<E> getEnumChoiceRenderer(Component component) {
1150+
return new IChoiceRenderer<>() {
11481151

11491152
private static final long serialVersionUID = 1L;
11501153

@@ -3855,7 +3858,7 @@ public static CompositedIcon createAccountIcon(ShadowType shadow, PageBase pageB
38553858
return builder.build();
38563859
}
38573860

3858-
if (activationNotSupported(resource) ) {
3861+
if (activationNotSupported(resource)) {
38593862
appendNotSupportedActivation(title, isColumn, pageBase, builder);
38603863
return builder.build();
38613864
}
@@ -4001,7 +4004,6 @@ private static ResourceType resolveResource(ShadowType shadowType, boolean isCol
40014004
return null;
40024005
}
40034006

4004-
40054007
private static void appendUndefinedIcon(CompositedIconBuilder builder) {
40064008
appendIcon(builder, "fa fa-question " + GuiStyleConstants.RED_COLOR, IconCssStyle.BOTTOM_RIGHT_FOR_COLUMN_STYLE);
40074009

@@ -4574,10 +4576,10 @@ public static void workItemApproveActionPerformed(AjaxRequestTarget target, Case
45744576
if (workItem == null) {
45754577
return;
45764578
}
4577-
CaseType parentCase = CaseWorkItemUtil.getCase(workItem);
4579+
CaseType parentCase = CaseTypeUtil.getCase(workItem);
45784580
AbstractWorkItemOutputType output = workItem.getOutput();
45794581
if (output == null) {
4580-
output = new AbstractWorkItemOutputType(pageBase.getPrismContext());
4582+
output = new AbstractWorkItemOutputType();
45814583
}
45824584
output.setOutcome(ApprovalUtils.toUri(approved));
45834585
if (WorkItemTypeUtil.getComment(workItem) != null) {
@@ -4600,8 +4602,8 @@ public static void workItemApproveActionPerformed(AjaxRequestTarget target, Case
46004602
Task task = pageBase.createSimpleTask(result.getOperation());
46014603
try {
46024604
try {
4603-
ObjectDelta additionalDelta = null;
4604-
if (formPanel != null && formPanel instanceof DynamicFormPanel) {
4605+
ObjectDelta<?> additionalDelta = null;
4606+
if (formPanel instanceof DynamicFormPanel) {
46054607
if (approved) {
46064608
boolean requiredFieldsPresent = ((DynamicFormPanel<?>) formPanel).checkRequiredFields(pageBase);
46074609
if (!requiredFieldsPresent) {

gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/CaseWorkItemActionsPanel.java

Lines changed: 27 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,27 @@
11
/*
2-
* Copyright (c) 2010-2019 Evolveum and contributors
2+
* Copyright (C) 2010-2022 Evolveum and contributors
33
*
44
* This work is dual-licensed under the Apache License 2.0
55
* and European Union Public License. See LICENSE file for details.
66
*/
77
package com.evolveum.midpoint.web.page.admin.cases;
88

9+
import java.util.Collections;
10+
11+
import org.apache.wicket.Component;
12+
import org.apache.wicket.ajax.AjaxRequestTarget;
13+
import org.apache.wicket.markup.html.WebMarkupContainer;
14+
import org.apache.wicket.model.IModel;
15+
916
import com.evolveum.midpoint.gui.api.component.BasePanel;
1017
import com.evolveum.midpoint.gui.api.component.ObjectBrowserPanel;
1118
import com.evolveum.midpoint.gui.api.page.PageBase;
1219
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
1320
import com.evolveum.midpoint.prism.PrismContext;
1421
import com.evolveum.midpoint.prism.PrismObject;
1522
import com.evolveum.midpoint.schema.result.OperationResult;
16-
import com.evolveum.midpoint.schema.util.*;
23+
import com.evolveum.midpoint.schema.util.ObjectTypeUtil;
24+
import com.evolveum.midpoint.schema.util.WorkItemId;
1725
import com.evolveum.midpoint.schema.util.cases.CaseTypeUtil;
1826
import com.evolveum.midpoint.schema.util.cases.CaseWorkItemUtil;
1927
import com.evolveum.midpoint.task.api.Task;
@@ -23,12 +31,6 @@
2331
import com.evolveum.midpoint.web.component.AjaxButton;
2432
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
2533
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
26-
import org.apache.wicket.Component;
27-
import org.apache.wicket.ajax.AjaxRequestTarget;
28-
import org.apache.wicket.markup.html.WebMarkupContainer;
29-
import org.apache.wicket.model.IModel;
30-
31-
import java.util.Collections;
3234

3335
/**
3436
* Created by honchar
@@ -39,7 +41,6 @@ public class CaseWorkItemActionsPanel extends BasePanel<CaseWorkItemType> {
3941
private static final Trace LOGGER = TraceManager.getTrace(CaseWorkItemListWithDetailsPanel.class);
4042

4143
private static final String DOT_CLASS = CaseWorkItemActionsPanel.class.getName() + ".";
42-
private static final String OPERATION_SAVE_WORK_ITEM = DOT_CLASS + "saveWorkItem";
4344
private static final String OPERATION_CLAIM_ITEMS = DOT_CLASS + "claimItem";
4445
private static final String OPERATION_FORWARD_WORK_ITEM = DOT_CLASS + "forwardWorkItem";
4546
private static final String OPERATION_COMPLETE_WORK_ITEM = DOT_CLASS + "completeWorkItem";
@@ -127,19 +128,19 @@ public void onClick(AjaxRequestTarget ajaxRequestTarget) {
127128
actionButtonsContainer.add(workItemClaimButton);
128129
}
129130

130-
private CaseWorkItemType getCaseWorkItemModelObject(){
131+
private CaseWorkItemType getCaseWorkItemModelObject() {
131132
return getModelObject();
132133
}
133134

134135
protected WorkItemDelegationRequestType getDelegationRequest(UserType delegate) {
135136
PrismContext prismContext = getPrismContext();
136-
return new WorkItemDelegationRequestType(prismContext)
137+
return new WorkItemDelegationRequestType()
137138
.delegate(ObjectTypeUtil.createObjectRef(delegate, prismContext))
138139
.method(WorkItemDelegationMethodType.REPLACE_ASSIGNEES);
139140
}
140141

141142
private void forwardPerformed(AjaxRequestTarget target) {
142-
ObjectBrowserPanel<UserType> panel = new ObjectBrowserPanel<UserType>(
143+
ObjectBrowserPanel<UserType> panel = new ObjectBrowserPanel<>(
143144
getPageBase().getMainPopupBodyId(), UserType.class,
144145
Collections.singletonList(UserType.COMPLEX_TYPE), false, getPageBase(), null) {
145146
private static final long serialVersionUID = 1L;
@@ -152,7 +153,7 @@ protected void onSelectPerformed(AjaxRequestTarget target, UserType user) {
152153
}
153154

154155
@Override
155-
protected IModel<String> getWarningMessageModel(){
156+
protected IModel<String> getWarningMessageModel() {
156157
return getPageBase().createStringResource("CaseWorkItemActionsPanel.forwardWarningMessage");
157158
}
158159

@@ -180,12 +181,12 @@ private void forwardConfirmedPerformed(AjaxRequestTarget target, UserType delega
180181
afterActionFinished(target);
181182
}
182183

183-
private void claimWorkItemPerformed(AjaxRequestTarget target){
184+
private void claimWorkItemPerformed(AjaxRequestTarget target) {
184185
WebComponentUtil.claimWorkItemActionPerformed(getModelObject(), OPERATION_CLAIM_ITEMS, target, getPageBase());
185186

186187
}
187188

188-
protected void afterActionFinished(AjaxRequestTarget target){
189+
protected void afterActionFinished(AjaxRequestTarget target) {
189190
getPageBase().redirectBack();
190191
}
191192

@@ -198,31 +199,25 @@ public PrismObject<UserType> getPowerDonor() {
198199
}
199200

200201
private IModel<String> getApproveButtonTitleModel() {
201-
return new IModel<String>() {
202-
@Override
203-
public String getObject() {
204-
CaseType parentCase = CaseWorkItemUtil.getCase(getCaseWorkItemModelObject());
205-
return CaseTypeUtil.isManualProvisioningCase(parentCase) ?
206-
createStringResource("pageWorkItem.button.manual.doneSuccessfully").getString() :
207-
createStringResource("pageWorkItem.button.approve").getString();
208-
}
202+
return () -> {
203+
CaseType parentCase = CaseTypeUtil.getCase(getCaseWorkItemModelObject());
204+
return CaseTypeUtil.isManualProvisioningCase(parentCase) ?
205+
createStringResource("pageWorkItem.button.manual.doneSuccessfully").getString() :
206+
createStringResource("pageWorkItem.button.approve").getString();
209207
};
210208
}
211209

212210
private IModel<String> getRejectButtonTitleModel() {
213-
return new IModel<String>() {
214-
@Override
215-
public String getObject() {
216-
CaseType parentCase = CaseWorkItemUtil.getCase(getCaseWorkItemModelObject());
217-
return CaseTypeUtil.isManualProvisioningCase(parentCase) ?
218-
createStringResource("pageWorkItem.button.manual.operationFailed").getString()
219-
: createStringResource("pageWorkItem.button.reject").getString();
220-
}
211+
return () -> {
212+
CaseType parentCase = CaseTypeUtil.getCase(getCaseWorkItemModelObject());
213+
return CaseTypeUtil.isManualProvisioningCase(parentCase) ?
214+
createStringResource("pageWorkItem.button.manual.operationFailed").getString()
215+
: createStringResource("pageWorkItem.button.reject").getString();
221216
};
222217
}
223218

224219
private boolean isApproveRejectButtonVisible() {
225-
if (CaseTypeUtil.isCorrelationCase(CaseWorkItemUtil.getCase(getCaseWorkItemModelObject()))) {
220+
if (CaseTypeUtil.isCorrelationCase(CaseTypeUtil.getCase(getCaseWorkItemModelObject()))) {
226221
return false;
227222
}
228223
if (CaseWorkItemUtil.isCaseWorkItemClosed(getModelObject()) ||
@@ -263,5 +258,4 @@ private boolean isClaimButtonVisible() {
263258
CaseWorkItemUtil.isWorkItemClaimable(getModelObject()) &&
264259
getPageBase().getCaseManager().isCurrentUserAuthorizedToClaim(getModelObject());
265260
}
266-
267261
}

gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/cases/CaseWorkItemListWithDetailsPanel.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2010-2020 Evolveum and contributors
2+
* Copyright (C) 2010-2022 Evolveum and contributors
33
*
44
* This work is dual-licensed under the Apache License 2.0
55
* and European Union Public License. See LICENSE file for details.
@@ -9,8 +9,6 @@
99
import java.util.ArrayList;
1010
import java.util.List;
1111

12-
import com.evolveum.midpoint.schema.util.cases.WorkItemTypeUtil;
13-
1412
import org.apache.wicket.Component;
1513
import org.apache.wicket.ajax.AjaxRequestTarget;
1614
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
@@ -26,7 +24,9 @@
2624
import com.evolveum.midpoint.gui.impl.component.MultivalueContainerListPanelWithDetailsPanel;
2725
import com.evolveum.midpoint.gui.impl.factory.panel.ItemRealValueModel;
2826
import com.evolveum.midpoint.prism.PrismContainerDefinition;
27+
import com.evolveum.midpoint.schema.util.cases.CaseTypeUtil;
2928
import com.evolveum.midpoint.schema.util.cases.CaseWorkItemUtil;
29+
import com.evolveum.midpoint.schema.util.cases.WorkItemTypeUtil;
3030
import com.evolveum.midpoint.web.component.AjaxButton;
3131
import com.evolveum.midpoint.web.component.breadcrumbs.Breadcrumb;
3232
import com.evolveum.midpoint.web.component.data.column.AjaxLinkColumn;
@@ -35,7 +35,10 @@
3535
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
3636
import com.evolveum.midpoint.web.page.admin.workflow.WorkItemDetailsPanel;
3737
import com.evolveum.midpoint.web.session.UserProfileStorage;
38-
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
38+
import com.evolveum.midpoint.xml.ns._public.common.common_3.CaseType;
39+
import com.evolveum.midpoint.xml.ns._public.common.common_3.CaseWorkItemType;
40+
import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType;
41+
import com.evolveum.midpoint.xml.ns._public.common.common_3.WorkItemDelegationRequestType;
3942
import com.evolveum.prism.xml.ns._public.types_3.PolyStringType;
4043

4144
/**
@@ -47,9 +50,10 @@ public abstract class CaseWorkItemListWithDetailsPanel extends MultivalueContain
4750

4851
private static final String ID_CASE_WORK_ITEM_ACTIONS_PANEL = "caseWorkItemActionsPanel";
4952
private static final String ID_CANCEL_BUTTON = "cancelButton";
53+
5054
private WorkItemDetailsPanel workItemDetails = null;
5155

52-
public CaseWorkItemListWithDetailsPanel(String id){
56+
public CaseWorkItemListWithDetailsPanel(String id) {
5357
super(id, CaseWorkItemType.class);
5458
}
5559

@@ -127,7 +131,6 @@ protected List<IColumn<PrismContainerValueWrapper<CaseWorkItemType>, String>> cr
127131
return getWorkItemColumns();
128132
}
129133

130-
131134
@Override
132135
protected boolean isButtonPanelVisible() {
133136
return false;
@@ -153,10 +156,9 @@ protected DisplayNamePanel<CaseWorkItemType> createDisplayNamePanel(String displ
153156
ItemRealValueModel<CaseWorkItemType> displayNameModel = new ItemRealValueModel<>(item.getModel());
154157
return new DisplayNamePanel<>(displayNamePanelId, displayNameModel) {
155158

156-
157159
@Override
158160
protected IModel<String> getDescriptionLabelModel() {
159-
CaseType caseType = CaseWorkItemUtil.getCase(displayNameModel.getObject());
161+
CaseType caseType = CaseTypeUtil.getCase(displayNameModel.getObject());
160162
return Model.of(caseType != null && caseType.getDescription() != null ? caseType.getDescription() : "");
161163
}
162164
};
@@ -173,8 +175,8 @@ private List<IColumn<PrismContainerValueWrapper<CaseWorkItemType>, String>> getW
173175

174176
@Override
175177
protected IModel<String> createLinkModel(IModel<PrismContainerValueWrapper<CaseWorkItemType>> rowModel) {
176-
PolyStringType workitemName = unwrapRowModel(rowModel).getName();
177-
return Model.of(WebComponentUtil.getTranslatedPolyString(workitemName));
178+
PolyStringType workItemName = unwrapRowModel(rowModel).getName();
179+
return Model.of(WebComponentUtil.getTranslatedPolyString(workItemName));
178180
}
179181

180182
@Override

0 commit comments

Comments
 (0)