Skip to content

Commit

Permalink
Remove potentially expensive resolves
Browse files Browse the repository at this point in the history
Resolving references on case pages especially for ShadowTypes cause slow page load, only names needed
  • Loading branch information
jhill0 committed Nov 9, 2023
1 parent 6f8c165 commit c511c70
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,8 @@ protected PrismReferenceValue load() {
if (value.getObject() == null) {
Task task = getPageBase().createSimpleTask(OPERATION_LOAD_REFERENCED_OBJECT);
OperationResult result = task.getResult();
PrismObject<ObjectType> referencedObject = WebModelServiceUtils.loadObject(ref,
true, getPageBase(), task, result);
PrismObject<ObjectType> referencedObject = WebModelServiceUtils.resolveReferenceNoFetch(getModelObject(), getPageBase(),
task, result);
if (referencedObject != null) {
value.setObject(referencedObject.clone());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -662,7 +662,7 @@ public boolean isEnabled(IModel<PrismContainerValueWrapper<CaseWorkItemType>> ro
protected IModel<String> createLinkModel(IModel<PrismContainerValueWrapper<CaseWorkItemType>> rowModel) {
CaseWorkItemType caseWorkItemType = unwrapRowModel(rowModel);
CaseType caseType = CaseTypeUtil.getCase(caseWorkItemType);
return Model.of(WebComponentUtil.getReferencedObjectDisplayNameAndName(caseType.getTargetRef(), true, pageBase));
return Model.of(WebComponentUtil.getReferencedObjectDisplayNameAndName(caseType.getTargetRef(), false, pageBase));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,9 +148,7 @@ protected String getStorageKey() {

private ContainerListDataProvider<CaseWorkItemType> createProvider(IModel<Search<CaseWorkItemType>> searchModel) {
Collection<SelectorOptions<GetOperationOptions>> options = CaseWorkItemsPanel.this.getPageBase().getOperationOptionsBuilder()
.item(AbstractWorkItemType.F_ASSIGNEE_REF).resolve()
.item(PrismConstants.T_PARENT, CaseType.F_OBJECT_REF).resolve()
.item(PrismConstants.T_PARENT, CaseType.F_TARGET_REF).resolve()
.resolveNames()
.build();
ContainerListDataProvider<CaseWorkItemType> provider = new ContainerListDataProvider<>(this,
searchModel, options) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,6 @@ protected List<InlineMenuItem> createInlineMenu() {
protected Collection<SelectorOptions<GetOperationOptions>> createOperationOptions() {
return getPageBase().getOperationOptionsBuilder()
.item(CaseType.F_OBJECT_REF).resolve()
.item(CaseType.F_TARGET_REF).resolve()
.build();
}
};
Expand Down

0 comments on commit c511c70

Please sign in to comment.