diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/AbstractRoleMainPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/AbstractRoleMainPanel.java index 67f7b1ca85b..fe87dd12641 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/AbstractRoleMainPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/objectdetails/AbstractRoleMainPanel.java @@ -30,7 +30,6 @@ import com.evolveum.midpoint.gui.api.util.WebComponentUtil; import com.evolveum.midpoint.prism.PrismObject; import com.evolveum.midpoint.prism.query.ObjectQuery; -import com.evolveum.midpoint.schema.constants.SchemaConstants; import com.evolveum.midpoint.schema.result.OperationResult; import com.evolveum.midpoint.task.api.Task; import com.evolveum.midpoint.util.exception.SchemaException; @@ -46,7 +45,6 @@ import com.evolveum.midpoint.web.page.admin.PageAdminFocus; import com.evolveum.midpoint.web.page.admin.PageAdminObjectDetails; import com.evolveum.midpoint.web.page.admin.roles.AbstractRoleMemberPanel; -import com.evolveum.midpoint.web.page.admin.roles.AvailableRelationDto; import com.evolveum.midpoint.web.page.admin.users.dto.UserDtoStatus; import com.evolveum.midpoint.web.page.self.PageAssignmentShoppingCart; import com.evolveum.midpoint.web.security.GuiAuthorizationConstants; @@ -219,7 +217,7 @@ public boolean isVisible() { public AbstractRoleMemberPanel createMemberPanel(String panelId, PageBase parentPage) { - return new AbstractRoleMemberPanel(panelId, new Model<>(getObject().asObjectable()), parentPage) { + return new AbstractRoleMemberPanel(panelId, new Model<>(getObject().asObjectable())) { private static final long serialVersionUID = 1L; @@ -238,7 +236,7 @@ protected String getStorageKeyTabSuffix() { public AbstractRoleMemberPanel createGovernancePanel(String panelId, PageBase parentPage) { - return new AbstractRoleMemberPanel(panelId, new Model<>(getObject().asObjectable()), parentPage) { + return new AbstractRoleMemberPanel(panelId, new Model<>(getObject().asObjectable())) { private static final long serialVersionUID = 1L; diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/search/ContainerTypeSearchItem.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/search/ContainerTypeSearchItem.java index 8e4ecbddd5a..ceb21a63cc5 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/search/ContainerTypeSearchItem.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/search/ContainerTypeSearchItem.java @@ -101,7 +101,7 @@ public String toString() { '}'; } - public List>> getAllowedValues(PageBase pageBase) { + public List>> getAllowedValues() { return allowedValues; } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/search/SearchTypePanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/search/SearchTypePanel.java index 98c137e9e08..0435941ee82 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/search/SearchTypePanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/search/SearchTypePanel.java @@ -38,10 +38,10 @@ public SearchTypePanel(String id, IModel> model) { protected void initSearchItemField(WebMarkupContainer searchItemContainer) { Component searchItemField = new WebMarkupContainer(ID_SEARCH_ITEM_FIELD); ContainerTypeSearchItem item = getModelObject(); - if (item != null && item.getAllowedValues(getPageBase()) != null) { - List>> allowedValues = item.getAllowedValues(getPageBase()); + if (item != null && item.getAllowedValues() != null) { + List>> allowedValues = item.getAllowedValues(); if (allowedValues != null && !allowedValues.isEmpty()) { - IModel>> choices = new ListModel(item.getAllowedValues(getPageBase())); + IModel>> choices = new ListModel(item.getAllowedValues()); searchItemField = createDropDownChoices(ID_SEARCH_ITEM_FIELD, new PropertyModel<>(getModel(), ContainerTypeSearchItem.F_TYPE), choices, false); } } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/archetype/ArchetypeMembersPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/archetype/ArchetypeMembersPanel.java index c9ee9efdab1..f4c058d8f17 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/archetype/ArchetypeMembersPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/archetype/ArchetypeMembersPanel.java @@ -28,7 +28,7 @@ public class ArchetypeMembersPanel extends AbstractRoleMemberPanel { public ArchetypeMembersPanel(String id, IModel model, PageBase pageBase) { - super(id, model, pageBase); + super(id, model); } private static final long serialVersionUID = 1L; diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/AbstractRoleMemberPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/AbstractRoleMemberPanel.java index 419521f0b0d..050d73e5bf0 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/AbstractRoleMemberPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/AbstractRoleMemberPanel.java @@ -95,7 +95,6 @@ protected enum QueryScope { protected static final String ID_CONTAINER_MEMBER = "memberContainer"; protected static final String ID_MEMBER_TABLE = "memberTable"; -// private SearchBoxConfigurationHelper abstractRoleMemberSearchConfiguration; private GuiObjectListPanelConfigurationType additionalPanelConfig; private static final Map> AUTHORIZATIONS = new HashMap<>(); @@ -115,7 +114,7 @@ protected enum QueryScope { AUTHORIZATIONS.put(ArchetypeType.COMPLEX_TYPE, GuiAuthorizationConstants.ARCHETYPE_MEMBERS_AUTHORIZATIONS); } - public AbstractRoleMemberPanel(String id, IModel model, PageBase parentPage) { + public AbstractRoleMemberPanel(String id, IModel model) { super(id, model); } @@ -130,7 +129,6 @@ protected void initLayout() { form.setOutputMarkupId(true); add(form); this.additionalPanelConfig = getAdditionalPanelConfig(); -// this.abstractRoleMemberSearchConfiguration = new SearchBoxConfigurationHelper(additionalPanelConfig, getSupportedRelations()); initMemberTable(form); setOutputMarkupId(true); } @@ -189,18 +187,13 @@ protected String getStorageKey() { return AbstractRoleMemberPanel.this.createStorageKey(); } -// @Override -// protected ContainerTypeSearchItem getTypeItem(Class type, List>> allowedValues) { -// -// } - protected PageStorage getPageStorage(String storageKey){ return getSession().getSessionStorage().getPageStorageMap().get(storageKey); } @Override protected Search createSearch(Class type) { - return createMemberSearch(type, getTypeItem(type, getAllowedTypes())); + return createMemberSearch(type); } @Override @@ -234,31 +227,23 @@ private Class getDefaultObjectTypeClass() { return (Class) WebComponentUtil.qnameToClass(getPageBase().getPrismContext(), objectTypeQname); } - private Search createMemberSearch(Class type, ContainerTypeSearchItem typeItem) { - Search search = null; + private Search createMemberSearch(Class type) { + Search search; MemberPanelStorage memberPanelStorage = getMemberPanelStorage(); if (memberPanelStorage == null) { //normally, this should not happen - ContainerTypeSearchItem defaultTypeItem = new ContainerTypeSearchItem(type); + ContainerTypeSearchItem defaultTypeItem = new ContainerTypeSearchItem<>(type); search = SearchFactory.createSearch(defaultTypeItem, null, null, null, getPageBase(), null, true, true, Search.PanelType.MEMBER_PANEL); return search; } -// ContainerTypeSearchItem oldTypeItem; -// if (search != null) { -// if (!search.isTypeChanged()) { -// return search; -// } -// oldTypeItem = search.getType(); -// } else { -// oldTypeItem = typeItem; -// } - if (memberPanelStorage.getSearch() != null) { return memberPanelStorage.getSearch(); } - ContainerTypeSearchItem searchTypeItem = new ContainerTypeSearchItem(WebComponentUtil.qnameToClass(getPrismContext(), memberPanelStorage.getDefaultObjectType())); + Class typeClass = (Class) WebComponentUtil.qnameToClass(getPrismContext(), memberPanelStorage.getDefaultObjectType()); + SearchValue> searchClassValue = new SearchValue<>(typeClass, "ObjectType." + typeClass.getSimpleName()); + ContainerTypeSearchItem searchTypeItem = new ContainerTypeSearchItem(searchClassValue, getAllowedTypes()); searchTypeItem.setConfiguration(memberPanelStorage.getObjectTypeSearchItem()); searchTypeItem.setVisible(true); @@ -334,22 +319,6 @@ private String createStorageKey() { return tableId.name() + "_" + getStorageKeyTabSuffix() + collectionName; } - - - - private R getParentVariables(VariablesMap variables) { - if (variables == null) { - return null; - } - try { - return (R) variables.getValue(ExpressionConstants.VAR_PARENT_OBJECT, AbstractRoleType.class); - } catch (SchemaException e) { - LOGGER.error("Couldn't load parent object."); - } - return null; - } - - protected Class getChoiceForAllTypes () { return FocusType.class; } @@ -378,8 +347,6 @@ protected MultiFunctinalButtonDto load() { CompositedIconButtonDto mainButton = new CompositedIconButtonDto(); DisplayType mainButtonDisplayType = getCreateMemberButtonDisplayType(); -// DisplayType mainButtonDisplayType = WebComponentUtil.createDisplayType(GuiStyleConstants.CLASS_ADD_NEW_OBJECT, "green", -// createStringResource("abstractRoleMemberPanel.menu.createMember", "", "").getString()); mainButton.setAdditionalButtonDisplayType(mainButtonDisplayType); CompositedIconBuilder builder = new CompositedIconBuilder(); @@ -425,19 +392,12 @@ private MultifunctionalButton createAssignButton(String buttonId) { @Override protected void buttonClickPerformed(AjaxRequestTarget target, AssignmentObjectRelation relation, CompiledObjectCollectionView collectionView) { - List relations = relation != null && !CollectionUtils.isEmpty(relation.getRelations()) - ? Collections.singletonList(relation.getRelations().get(0)) - : getMemberPanelStorage().getSupportedRelations(); - List availableRelations = getMemberPanelStorage().getSupportedRelations();//new AvailableRelationDto(relations, getSupportedRelations().getDefaultRelation(), abstractRoleMemberSearchConfiguration.getDefaultRelationConfiguration()); List objectTypes = relation != null && !CollectionUtils.isEmpty(relation.getObjectTypes()) ? relation.getObjectTypes() : null; List archetypeRefList = relation != null && !CollectionUtils.isEmpty(relation.getArchetypeRefs()) ? relation.getArchetypeRefs() : null; assignMembers(target, getMemberPanelStorage().getRelationSearchItem(), objectTypes, archetypeRefList, relation == null); } - - - }; assignButton.add(AttributeAppender.append("class", "btn-margin-right")); @@ -915,14 +875,6 @@ protected ObjectQuery getActionQuery(QueryScope scope, Collection relatio return null; } -// protected List getSupportedObjectTypes(boolean includeAbstractTypes) { -// if (!CollectionUtils.isEmpty(abstractRoleMemberSearchConfiguration.getDefaultObjectTypeConfiguration().getSupportedTypes())) { -// return abstractRoleMemberSearchConfiguration.getDefaultObjectTypeConfiguration().getSupportedTypes(); -// } -// return getDefaultSupportedObjectTypes(includeAbstractTypes); -// } - - protected List getDefaultSupportedObjectTypes(boolean includeAbstractTypes) { return WebComponentUtil.createFocusTypeList(includeAbstractTypes); } @@ -1043,7 +995,4 @@ protected String getStorageKeyTabSuffix(){ return ""; } -// protected RelationSearchItemConfigurationType getDefaultRelationConfiguration() { -// return abstractRoleMemberSearchConfiguration.getDefaultRelationConfiguration(); -// } } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/SearchBoxConfigurationHelper.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/SearchBoxConfigurationHelper.java index a3031151e3f..89e1f429b28 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/SearchBoxConfigurationHelper.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/roles/SearchBoxConfigurationHelper.java @@ -31,9 +31,6 @@ public class SearchBoxConfigurationHelper implements Serializable { private UserInterfaceFeatureType defaultTenantConfiguration = null; private UserInterfaceFeatureType defaultProjectConfiguration = null; - - private Class defaultObjectTypeClass = null; - private List supportedRelations; private List supportedObjectTypes; private QName defaultRelation; @@ -82,31 +79,10 @@ public ScopeSearchItemConfigurationType getDefaultSearchScopeConfiguration() { return defaultScopeConfiguration; } - private UserInterfaceElementVisibilityType getVisibility(UserInterfaceFeatureType feature) { - if (feature == null) { - return UserInterfaceElementVisibilityType.AUTOMATIC; - } - - return feature.getVisibility(); - } - public ObjectTypeSearchItemConfigurationType getDefaultObjectTypeConfiguration() { if (defaultObjectTypeConfiguration == null) { defaultObjectTypeConfiguration = searchBoxConfigurationType.getObjectTypeConfiguration(); -// if (defaultObjectTypeConfiguration.getDefaultValue() == null) { -// if (searchBoxConfigurationType.getDefaultObjectType() != null) { -// defaultObjectTypeClass = (Class) WebComponentUtil.qnameToClass(getPageBase().getPrismContext(), -// searchBoxConfigurationType.getDefaultObjectType()); -// } -// } else { -// defaultObjectTypeClass = (Class) WebComponentUtil.qnameToClass(getPageBase().getPrismContext(), -// defaultObjectTypeConfiguration.getDefaultValue()); -// } - -// if (defaultObjectTypeClass == null) { -// defaultObjectTypeClass = getDefaultObjectType(); -// } if (defaultObjectTypeConfiguration == null) { defaultObjectTypeConfiguration = new ObjectTypeSearchItemConfigurationType(); } @@ -117,6 +93,10 @@ public ObjectTypeSearchItemConfigurationType getDefaultObjectTypeConfiguration() if (defaultObjectTypeConfiguration.getDefaultValue() == null) { defaultObjectTypeConfiguration.setDefaultValue(defaultObjectType); } + + if (CollectionUtils.isEmpty(defaultObjectTypeConfiguration.getSupportedTypes())) { + defaultObjectTypeConfiguration.getSupportedTypes().addAll(supportedObjectTypes); + } return defaultObjectTypeConfiguration; } @@ -163,18 +143,6 @@ public IndirectSearchItemConfigurationType getDefaultIndirectConfiguration() { return defaultIndirectConfiguration; } - public UserInterfaceElementVisibilityType getDefaultIndirecVisibility() { - return getVisibility(getDefaultIndirectConfiguration()); - } - - public PolyStringType getDefaultIndirectLabel() { - return getDefaultIndirectConfiguration().getDisplay().getLabel(); - } - - public PolyStringType getDefaultIndirectHelp() { - return getDefaultIndirectConfiguration().getDisplay().getHelp(); - } - public UserInterfaceFeatureType getDefaultTenantConfiguration() { if (defaultTenantConfiguration == null) { defaultTenantConfiguration = searchBoxConfigurationType.getTenantConfiguration(); @@ -186,18 +154,6 @@ public UserInterfaceFeatureType getDefaultTenantConfiguration() { return defaultTenantConfiguration; } - public UserInterfaceElementVisibilityType getDefaultTenantVisibility() { - return getVisibility(getDefaultTenantConfiguration()); - } - - public PolyStringType getDefaultTenantLabel() { - return getDefaultTenantConfiguration().getDisplay().getLabel(); - } - - public PolyStringType getDefaultTenantHelp() { - return getDefaultTenantConfiguration().getDisplay().getHelp(); - } - public UserInterfaceFeatureType getDefaultProjectConfiguration() { if (defaultProjectConfiguration == null) { defaultProjectConfiguration = searchBoxConfigurationType.getProjectConfiguration(); @@ -209,19 +165,6 @@ public UserInterfaceFeatureType getDefaultProjectConfiguration() { return defaultProjectConfiguration; } - public UserInterfaceElementVisibilityType getDefaultProjectVisibility() { - return getVisibility(getDefaultProjectConfiguration()); - } - - public PolyStringType getDefaultProjectLabel() { - return getDefaultProjectConfiguration().getDisplay().getLabel(); - } - - public PolyStringType getDefaultProjectHelp() { - return getDefaultProjectConfiguration().getDisplay().getHelp(); - } - - private void setDisplay(UserInterfaceFeatureType configuration, String orig, String labelKey, String helpKey) { if (configuration.getDisplay() == null) { DisplayType display = new DisplayType(); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/OrgMemberPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/OrgMemberPanel.java index d29cb25234d..56834709816 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/OrgMemberPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/users/component/OrgMemberPanel.java @@ -31,7 +31,7 @@ public class OrgMemberPanel extends AbstractRoleMemberPanel { private static final Trace LOGGER = TraceManager.getTrace(OrgMemberPanel.class); public OrgMemberPanel(String id, IModel model, PageBase parentPage) { - super(id, model, parentPage); + super(id, model); setOutputMarkupId(true); }