diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/TaskHandlerWrapperFactory.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/TaskHandlerWrapperFactory.java index 7f9bf297df6..6ebc60775ed 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/TaskHandlerWrapperFactory.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/factory/TaskHandlerWrapperFactory.java @@ -47,11 +47,16 @@ public class TaskHandlerWrapperFactory extends PrismPropertyWrapperFactoryImpl createWrapper(PrismContainerValueWrapper parent, PrismProperty item, ItemStatus status, WrapperContext ctx) { + + PrismObject prismObject = getParent(ctx); + if (prismObject == null || !TaskType.class.equals(prismObject.getCompileTimeClass())) { + return super.createWrapper(parent, item, status, ctx); + } + getRegistry().registerWrapperPanel(item.getDefinition().getTypeName(), PrismPropertyPanel.class); PrismPropertyWrapper propertyWrapper = new PrismPropertyWrapperImpl<>(parent, item, status); PrismReferenceValue valueEnumerationRef = item.getDefinition().getValueEnumerationRef(); if (valueEnumerationRef != null) { - //TODO: task and result from context Task task = ctx.getTask(); OperationResult result = ctx.getResult().createSubresult(OPERATION_DETERMINE_LOOKUP_TABLE); Collection> options = WebModelServiceUtils @@ -70,8 +75,8 @@ protected PrismPropertyWrapper createWrapper(PrismContainerValueWrapper< } if (parent != null && parent.getParent() != null) { - PrismObject taskPrism = (PrismObject) ctx.getObject(); - TaskType task = taskPrism.asObjectable(); + + TaskType task = (TaskType) prismObject.asObjectable(); if (ItemStatus.ADDED == status) { Collection assignmentTypes = task.getAssignment() @@ -110,6 +115,10 @@ protected PrismPropertyWrapper createWrapper(PrismContainerValueWrapper< return propertyWrapper; } + private PrismObject getParent(WrapperContext ctx) { + return ctx.getObject(); + } + private String normalizeHandler(String handler) { handler = StringUtils.remove(handler, "-3"); handler = StringUtils.removeStart(handler, "http://midpoint.evolveum.com/xml/ns/public/").replace("-", "/").replace("#", "/");