Skip to content

Commit

Permalink
fix MID-5218 change owner results in Internal Server Error
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Apr 10, 2019
1 parent aa47e4d commit 15949cc
Showing 1 changed file with 5 additions and 6 deletions.
Expand Up @@ -1122,7 +1122,7 @@ private void changeOwner(ShadowType selected, AjaxRequestTarget target, FocusTyp
ObjectTypeUtil.createObjectRef(shadow, getPageBase().getPrismContext()).asReferenceValue());

((Collection) modifications).add(delta);
changeOwnerInternal(owner.getOid(), modifications, target);
changeOwnerInternal(owner.getOid(), owner.getClass(), modifications, target);
}
}
break;
Expand All @@ -1138,14 +1138,14 @@ private void changeOwner(ShadowType selected, AjaxRequestTarget target, FocusTyp
getFocusDefinition(), ObjectTypeUtil.createObjectRef(shadow, getPageBase().getPrismContext()).asReferenceValue());

((Collection) modifications).add(delta);
changeOwnerInternal(owner.getOid(), modifications, target);
changeOwnerInternal(owner.getOid(), owner.getClass(), modifications, target);
}
modifications = new ArrayList<>();

delta = getPageBase().getPrismContext().deltaFactory().reference().createModificationAdd(FocusType.F_LINK_REF, getFocusDefinition(),
ObjectTypeUtil.createObjectRef(shadow, getPageBase().getPrismContext()).asReferenceValue());
((Collection) modifications).add(delta);
changeOwnerInternal(ownerToChange.getOid(), modifications, target);
changeOwnerInternal(ownerToChange.getOid(), ownerToChange.getClass(), modifications, target);

break;
}
Expand All @@ -1166,13 +1166,12 @@ private boolean isSatisfyConstraints(List selected) {
return true;
}

private void changeOwnerInternal(String ownerOid, Collection<? extends ItemDelta> modifications,
private void changeOwnerInternal(String ownerOid, Class<? extends FocusType> ownerType, Collection<? extends ItemDelta> modifications,
AjaxRequestTarget target) {
OperationResult result = new OperationResult(OPERATION_CHANGE_OWNER);
Task task = pageBase.createSimpleTask(OPERATION_CHANGE_OWNER);
ObjectDelta objectDelta = pageBase.getPrismContext().deltaFactory().object()
.createModifyDelta(ownerOid, modifications, FocusType.class
);
.createModifyDelta(ownerOid, modifications, ownerType);
Collection deltas = new ArrayList<>();
deltas.add(objectDelta);
try {
Expand Down

0 comments on commit 15949cc

Please sign in to comment.