Skip to content

Commit

Permalink
MID-6149 fix Shopping cart: wrong feedback message
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Apr 1, 2020
1 parent 05e0760 commit 9d17a01
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 7 deletions.
Expand Up @@ -621,7 +621,7 @@ public static TaskType createSingleRecurrenceTask(String taskName, QName applica

ObjectReferenceType ownerRef = new ObjectReferenceType();
ownerRef.setOid(owner.getOid());
ownerRef.setType(owner.getFocus().COMPLEX_TYPE);
ownerRef.setType(UserType.COMPLEX_TYPE);
task.setOwnerRef(ownerRef);

task.setBinding(TaskBindingType.LOOSE);
Expand Down
Expand Up @@ -11,6 +11,7 @@
import java.util.*;

import com.evolveum.midpoint.prism.PrismReferenceValue;
import com.evolveum.midpoint.schema.ObjectDeltaOperation;
import com.evolveum.midpoint.util.MiscUtil;
import com.evolveum.midpoint.util.QNameUtil;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
Expand Down Expand Up @@ -184,15 +185,18 @@ public static <O extends ObjectType> List<ObjectReferenceType> createObjectRefer
return null;
}

public static String runTask(TaskType taskToRun, Task operationalTask, OperationResult parentResult, PageBase pageBase){
public static <O extends ObjectType> String runTask(TaskType taskToRun, Task operationalTask, OperationResult parentResult, PageBase pageBase){
try {
ObjectDelta<TaskType> delta = DeltaFactory.Object.createAddDelta(taskToRun.asPrismObject());
pageBase.getPrismContext().adopt(delta);
pageBase.getModelService().executeChanges(MiscUtil.createCollection(delta), null,
Collection<ObjectDeltaOperation<?>> deltaOperationRes = pageBase.getModelService().executeChanges(MiscUtil.createCollection(delta), null,
operationalTask, parentResult);
if (StringUtils.isEmpty(delta.getOid()) && deltaOperationRes != null && !deltaOperationRes.isEmpty()){
ObjectDeltaOperation deltaOperation = deltaOperationRes.iterator().next();
delta.setOid(deltaOperation.getObjectDelta().getOid());
}
parentResult.recordInProgress();
parentResult.setBackgroundTaskOid(delta.getOid());
pageBase.showResult(parentResult);
return delta.getOid();
} catch (ObjectAlreadyExistsException | ObjectNotFoundException | SchemaException
| ExpressionEvaluationException | CommunicationException | ConfigurationException
Expand Down
Expand Up @@ -340,21 +340,21 @@ private ModelExecuteOptions createOptions() {
private void onMultiUserRequestPerformed(AjaxRequestTarget target) {
OperationResult result = new OperationResult(OPERATION_REQUEST_ASSIGNMENTS);
Task operationalTask = createSimpleTask(OPERATION_REQUEST_ASSIGNMENTS);

String executionTaskOid = null;
try {
TaskType task = WebComponentUtil.createSingleRecurrenceTask(
createStringResource(OPERATION_REQUEST_ASSIGNMENTS).getString(),
UserType.COMPLEX_TYPE,
getTaskQuery(), prepareDelta(null, result), createOptions(), TaskCategory.EXECUTE_CHANGES, PageAssignmentsList.this);
WebModelServiceUtils.runTask(task, operationalTask, result, PageAssignmentsList.this);
executionTaskOid = WebModelServiceUtils.runTask(task, operationalTask, result, PageAssignmentsList.this);
} catch (SchemaException e) {
result.recordFatalError(result.getOperation(), e);
result.setMessage(createStringResource("PageAssignmentsList.requestError").getString());
LoggingUtils.logUnexpectedException(LOGGER,
"Failed to execute operaton " + result.getOperation(), e);
target.add(getFeedbackPanel());
}
if (hasBackgroundTaskOperation(result)) {
if (hasBackgroundTaskOperation(result) || StringUtils.isNotEmpty(executionTaskOid)) {
result.setMessage(createStringResource("PageAssignmentsList.requestInProgress").getString());
showResult(result);
clearStorage();
Expand Down

0 comments on commit 9d17a01

Please sign in to comment.