Skip to content

Commit

Permalink
MID-9569: Fixed MQL attributes search in Resource Object panels
Browse files Browse the repository at this point in the history
Provide kind/intent / object class shadow specific definition
to SearchContext.definitionOverride which is used to provide
detailed schema
  • Loading branch information
tonydamage committed Mar 27, 2024
1 parent 4fc977c commit c674442
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -414,6 +414,13 @@ protected ISelectableDataProvider<SelectableBean<ShadowType>> createProvider() {
protected SearchContext createAdditionalSearchContext() {
SearchContext searchContext = new SearchContext();
searchContext.setPanelType(CollectionPanelType.REPO_SHADOW);
// MID-9569: selectedObjectDefinition has knowledge about detailed shadow type, so we can provide it
// directly to search (since we are also adding coordinates to filter) so Axiom Query can access
// additional attributes
var resTypeDef = getSelectedObjectTypeDefinition();
if (resTypeDef != null) {
searchContext.setDefinitionOverride(resTypeDef.getPrismObjectDefinition());
}
return searchContext;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,14 @@ protected ISelectableDataProvider<SelectableBean<ShadowType>> createProvider() {
protected SearchContext createAdditionalSearchContext() {
SearchContext searchContext = new SearchContext();
searchContext.setPanelType(CollectionPanelType.RESOURCE_SHADOW);
searchContext.setResourceObjectDefinition(getObjectDetailsModels().findResourceObjectClassDefinition(getSelectedObjectClass()));
var objClassDef = getObjectDetailsModels().findResourceObjectClassDefinition(getSelectedObjectClass());
searchContext.setResourceObjectDefinition(objClassDef);
// MID-9569: selectedObjectDefinition has knowledge about detailed shadow type, so we can provide it
// directly to search (since we are also adding coordinates to filter) so Axiom Query can access
// additional attributes
if (objClassDef != null) {
searchContext.setDefinitionOverride(objClassDef.getPrismObjectDefinition());
}
return searchContext;
}

Expand Down

0 comments on commit c674442

Please sign in to comment.