From 636862a53a5040a41130cef51ff98f31b500185f Mon Sep 17 00:00:00 2001 From: kate Date: Mon, 22 Jan 2018 15:46:13 +0100 Subject: [PATCH] RoleType is set as default for AbstractRole value choose panel --- .../midpoint/web/component/form/ValueChoosePanel.java | 11 ++++++----- .../midpoint/web/component/prism/PrismValuePanel.java | 11 +++++++++++ 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/form/ValueChoosePanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/form/ValueChoosePanel.java index 2e5b7b9b2c2..1e3f0d448d2 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/form/ValueChoosePanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/form/ValueChoosePanel.java @@ -69,9 +69,6 @@ public class ValueChoosePanel extends BasePanel { private static final String ID_TEXT = "text"; private static final String ID_FEEDBACK = "feedback"; private static final String ID_EDIT = "edit"; - - protected static final String MODAL_ID_OBJECT_SELECTION_POPUP = "objectSelectionPopup"; - public ValueChoosePanel(String id, IModel value) { super(id, value); @@ -216,7 +213,7 @@ protected void editValuePerformed(AjaxRequestTarget target) { if (CollectionUtils.isEmpty(supportedTypes)){ supportedTypes = WebComponentUtil.createObjectTypeList(); } - Class defaultType = (Class) WebComponentUtil.qnameToClass(getPageBase().getPrismContext(), supportedTypes.iterator().next()); + Class defaultType = getDefaultType(supportedTypes); ObjectBrowserPanel objectBrowserPanel = new ObjectBrowserPanel( getPageBase().getMainPopupBodyId(), defaultType, supportedTypes, false, getPageBase(), filter) { @@ -237,7 +234,11 @@ protected void onSelectPerformed(AjaxRequestTarget target, O object) { public List getSupportedTypes() { return WebComponentUtil.createObjectTypeList(); } - + + protected Class getDefaultType(List supportedTypes){ + return (Class) WebComponentUtil.qnameToClass(getPageBase().getPrismContext(), supportedTypes.iterator().next()); + } + /* * TODO - this method contains check, if chosen object already is not in diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismValuePanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismValuePanel.java index 0f58ce379d1..5a8b04d9733 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismValuePanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/prism/PrismValuePanel.java @@ -24,6 +24,7 @@ import javax.xml.namespace.QName; import com.evolveum.midpoint.gui.api.component.BasePanel; +import com.evolveum.midpoint.gui.api.component.ObjectBrowserPanel; import com.evolveum.midpoint.prism.*; import com.evolveum.midpoint.web.component.input.*; import com.evolveum.midpoint.web.page.admin.resources.PageResourceWizard; @@ -696,6 +697,16 @@ public List getSupportedTypes() { } return targetTypeList; } + + @Override + protected Class getDefaultType(List supportedTypes){ + if (AbstractRoleType.COMPLEX_TYPE.equals(((PrismReference)item).getDefinition().getTargetTypeName())){ + return RoleType.class; + } else { + return super.getDefaultType(supportedTypes); + } + } + }; }