diff --git a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelController.java b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelController.java index 4868ba20fe9..7b5b0a8f49b 100644 --- a/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelController.java +++ b/model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/controller/ModelController.java @@ -809,6 +809,17 @@ public SearchResultList> searchObjects(Cla } finally { RepositoryCache.exit(); } + + // postprocessing objects that weren't handled by their correct provider (e.g. searching for ObjectType, and retrieving tasks, resources, shadows) + // currently only resources and shadows are handled in this way + // TODO generalize this approach somehow (something like "postprocess" in task/provisioning interface) + if (searchProvider == ObjectTypes.ObjectManager.REPOSITORY && !GetOperationOptions.isRaw(rootOptions)) { + for (PrismObject object : list) { + if (object.asObjectable() instanceof ResourceType || object.asObjectable() instanceof ShadowType) { + provisioning.applyDefinition(object, result); + } + } + } schemaTransformer.applySchemasAndSecurityToObjects(list, rootOptions, null, task, result);