Skip to content

Commit

Permalink
Merge branch 'master' into feature/password-reset
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Jan 23, 2023
2 parents 9a2cc94 + 5ae0299 commit 1f8ba3a
Show file tree
Hide file tree
Showing 289 changed files with 7,742 additions and 10,460 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import java.util.stream.Collectors;
import javax.xml.namespace.QName;

import com.evolveum.midpoint.gui.impl.component.search.Search;
import com.evolveum.midpoint.model.api.AssignmentObjectRelation;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
Expand All @@ -32,8 +33,8 @@
public abstract class ChooseArchetypeMemberPopup<O extends AssignmentHolderType> extends ChooseMemberPopup<O, ArchetypeType> {
private static final long serialVersionUID = 1L;

public ChooseArchetypeMemberPopup(String id, RelationSearchItemConfigurationType relationConfig){
super(id, relationConfig, null); //todo
public ChooseArchetypeMemberPopup(String id, Search search){
super(id, search, null); //todo
}

@Override
Expand All @@ -46,7 +47,7 @@ protected List<ITab> createAssignmentTabs(AssignmentObjectRelation relationSpec)

@Override
public WebMarkupContainer createPanel(String panelId) {
return new MultiTypesMemberPopupTabPanel<O>(panelId, relationsConfig, getArchetypeRefList()){
return new MultiTypesMemberPopupTabPanel<O>(panelId, search, getArchetypeRefList()){
private static final long serialVersionUID = 1L;

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
import java.util.List;
import javax.xml.namespace.QName;

import com.evolveum.midpoint.gui.impl.component.search.Search;
import com.evolveum.midpoint.gui.impl.component.search.wrapper.AbstractRoleSearchItemWrapper;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.QNameUtil;

Expand Down Expand Up @@ -69,15 +71,15 @@ public abstract class ChooseMemberPopup<O extends ObjectType, T extends Abstract
private static final String ID_COMPOSITED_BUTTONS = "compositedButtons";

private List<OrgType> selectedOrgsList = new ArrayList<>();
protected RelationSearchItemConfigurationType relationsConfig;
protected Search search;
private IModel<MultiFunctinalButtonDto> compositedButtonsModel;
private boolean isCompositedButtonsPanelVisible;
private List<ITab> tabs;

public ChooseMemberPopup(String id, RelationSearchItemConfigurationType relationsConfig,
public ChooseMemberPopup(String id, Search search,
IModel<MultiFunctinalButtonDto> compositedButtonsModel){
super(id);
this.relationsConfig = relationsConfig;
this.search = search;
this.compositedButtonsModel = compositedButtonsModel;
isCompositedButtonsPanelVisible = compositedButtonsModel != null && compositedButtonsModel.getObject() != null &&
!CollectionUtils.isEmpty(compositedButtonsModel.getObject().getAdditionalButtons());
Expand Down Expand Up @@ -181,7 +183,7 @@ protected List<ITab> createAssignmentTabs(AssignmentObjectRelation relationSpec)

@Override
public WebMarkupContainer createPanel(String panelId) {
return new MemberPopupTabPanel<UserType>(panelId, relationsConfig, archetypeRefList){
return new MemberPopupTabPanel<UserType>(panelId, search, archetypeRefList){
private static final long serialVersionUID = 1L;

@Override
Expand Down Expand Up @@ -214,7 +216,7 @@ public String getCount() {

@Override
public WebMarkupContainer createPanel(String panelId) {
return new MemberPopupTabPanel<RoleType>(panelId, relationsConfig, archetypeRefList){
return new MemberPopupTabPanel<RoleType>(panelId, search, archetypeRefList){
private static final long serialVersionUID = 1L;

@Override
Expand Down Expand Up @@ -248,7 +250,7 @@ public String getCount() {

@Override
public WebMarkupContainer createPanel(String panelId) {
return new MemberPopupTabPanel<OrgType>(panelId, relationsConfig, archetypeRefList){
return new MemberPopupTabPanel<OrgType>(panelId, search, archetypeRefList){
private static final long serialVersionUID = 1L;

@Override
Expand Down Expand Up @@ -289,7 +291,7 @@ public String getCount() {

@Override
public WebMarkupContainer createPanel(String panelId) {
return new OrgTreeMemberPopupTabPanel(panelId, relationsConfig, archetypeRefList) {
return new OrgTreeMemberPopupTabPanel(panelId, search, archetypeRefList) {
private static final long serialVersionUID = 1L;

@Override
Expand Down Expand Up @@ -325,7 +327,7 @@ public String getCount() {

@Override
public WebMarkupContainer createPanel(String panelId) {
return new MemberPopupTabPanel<ServiceType>(panelId, relationsConfig, archetypeRefList){
return new MemberPopupTabPanel<ServiceType>(panelId, search, archetypeRefList){
private static final long serialVersionUID = 1L;

@Override
Expand Down Expand Up @@ -355,8 +357,8 @@ public String getCount() {
return tabs;
}

protected List<QName> getAvailableObjectTypes(){
return null;
protected final List<QName> getAvailableObjectTypes(){
return search.getAllowedTypeList();
}

protected List<ObjectReferenceType> getArchetypeRefList(){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

import com.evolveum.midpoint.gui.api.component.tabs.CountablePanelTab;

import com.evolveum.midpoint.gui.impl.component.search.Search;
import com.evolveum.midpoint.model.api.AssignmentObjectRelation;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
Expand All @@ -30,8 +31,8 @@
public abstract class ChooseOrgMemberPopup<O extends ObjectType> extends ChooseMemberPopup<O, OrgType> {
private static final long serialVersionUID = 1L;

public ChooseOrgMemberPopup(String id, RelationSearchItemConfigurationType relationCofig){
super(id, relationCofig, null); //todo
public ChooseOrgMemberPopup(String id, Search search){
super(id, search, null); //todo
}

@Override
Expand All @@ -44,7 +45,7 @@ protected List<ITab> createAssignmentTabs(AssignmentObjectRelation relationSpec)

@Override
public WebMarkupContainer createPanel(String panelId) {
return new MultiTypesMemberPopupTabPanel<O>(panelId, relationsConfig, getArchetypeRefList()){
return new MultiTypesMemberPopupTabPanel<O>(panelId, search, getArchetypeRefList()){
private static final long serialVersionUID = 1L;

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
import java.util.List;
import javax.xml.namespace.QName;

import com.evolveum.midpoint.gui.impl.component.search.Search;
import com.evolveum.midpoint.gui.impl.component.search.wrapper.AbstractRoleSearchItemWrapper;
import com.evolveum.midpoint.web.component.input.RelationDropDownChoice;

import org.apache.commons.collections4.CollectionUtils;
Expand Down Expand Up @@ -41,17 +43,17 @@ public abstract class MemberPopupTabPanel<O extends ObjectType> extends Abstract

private PageBase pageBase;

private final RelationSearchItemConfigurationType relationConfig;
private final Search<O> search;
private final List<ObjectReferenceType> archetypeReferenceList;

public MemberPopupTabPanel(String id, RelationSearchItemConfigurationType supportedRelationList) {
this(id, supportedRelationList, new ArrayList<>());
public MemberPopupTabPanel(String id, Search<O> search) {
this(id, search, new ArrayList<>());
}

public MemberPopupTabPanel(String id, RelationSearchItemConfigurationType relationConfig,
public MemberPopupTabPanel(String id, Search<O> search,
List<ObjectReferenceType> archetypeReferenceList) {
super(id);
this.relationConfig = relationConfig;
this.search = search;
this.archetypeReferenceList = archetypeReferenceList;
}

Expand All @@ -61,40 +63,55 @@ protected void onInitialize() {
pageBase = getPageBase();
}

private List<QName> getSupportedRelations() {
AbstractRoleSearchItemWrapper memberSearchItem = getMemberSearchItem();
return memberSearchItem != null ? memberSearchItem.getSupportedRelations() : new ArrayList<>();
// return search.getSupportedRelations();
}

private AbstractRoleSearchItemWrapper getMemberSearchItem() {
return search.findMemberSearchItem();
}

@Override
protected void initParametersPanel(Fragment parametersPanel) {
RelationDropDownChoice relation = new RelationDropDownChoice(ID_RELATION, getDefaultRelation(),
relationConfig.getSupportedRelations(), false);
getSupportedRelations(), false);
relation.add(new VisibleEnableBehaviour() {
private static final long serialVersionUID = 1L;

@Override
public boolean isVisible() {
return CollectionUtils.isNotEmpty(relationConfig.getSupportedRelations());
return CollectionUtils.isNotEmpty(getSupportedRelations());
}

@Override
public boolean isEnabled() {
return CollectionUtils.isNotEmpty(relationConfig.getSupportedRelations())
&& relationConfig.getSupportedRelations().size() > 1;
return CollectionUtils.isNotEmpty(getSupportedRelations())
&& getSupportedRelations().size() > 1;
}
});
parametersPanel.add(relation);
}

private QName getDefaultRelation() {
QName relation = relationConfig.getDefaultValue();
QName relation = getRelationValueFromSearch();
if (QNameUtil.match(relation, PrismConstants.Q_ANY)) {
QName defRelation = WebComponentUtil.getDefaultRelation();
if (relationConfig.getSupportedRelations().contains(defRelation)) {
if (getSupportedRelations().contains(defRelation)) {
relation = defRelation;
} else {
relation = relationConfig.getSupportedRelations().iterator().next();
relation = getSupportedRelations().iterator().next();
}
}
return relation;
}

private QName getRelationValueFromSearch() {
AbstractRoleSearchItemWrapper memberSearchitem = getMemberSearchItem();
return memberSearchitem != null ? memberSearchitem.getRelationValue() : null;
}

protected ObjectDelta prepareDelta() {
ObjectDelta delta = null;
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.component.search.Search;
import com.evolveum.midpoint.prism.delta.ObjectDelta;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.schema.util.ObjectTypeUtil;
Expand Down Expand Up @@ -38,8 +39,8 @@ public abstract class MultiTypesMemberPopupTabPanel<O extends ObjectType> extend

private ObjectTypes defaultObjectType = ObjectTypes.OBJECT_COLLECTION;

public MultiTypesMemberPopupTabPanel(String id, RelationSearchItemConfigurationType relationConfig, List<ObjectReferenceType> archetypeReferenceList){
super(id, relationConfig, archetypeReferenceList);
public MultiTypesMemberPopupTabPanel(String id, Search search, List<ObjectReferenceType> archetypeReferenceList){
super(id, search, archetypeReferenceList);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,25 +12,17 @@

import com.evolveum.midpoint.gui.api.component.result.MessagePanel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.component.search.SearchConfigurationWrapper;
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.prism.query.ObjectQuery;

import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.gui.impl.component.search.SearchFactory;
import com.evolveum.midpoint.gui.impl.component.search.AbstractSearchItemWrapper;
import com.evolveum.midpoint.gui.impl.component.search.Search;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.SerializableSupplier;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;

import org.apache.commons.collections4.CollectionUtils;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
import org.apache.wicket.extensions.markup.html.repeater.data.table.DataTable;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.EnumChoiceRenderer;
Expand Down Expand Up @@ -247,32 +239,11 @@ public List<O> getSelectedRealObjects() {
return getPreselectedObjectList();
}

@Override
protected Search createSearch(Class<O> type) {
String collectionName = isCollectionViewPanelForCompiledView() ?
WebComponentUtil.getCollectionNameParameterValue(getPageBase()).toString() : null;
return SearchFactory.createSearch(createSearchConfigWrapper(type, collectionName), getPageBase());
// Search search = super.createSearch(type);
// getSpecialSearchItemWrappers()
// .forEach(function -> search.addSpecialItem(function.apply(search)));
// return search;
}
};
listPanel.setOutputMarkupId(true);
return listPanel;
}

private SearchConfigurationWrapper<O> createSearchConfigWrapper(Class<O> type, String collectionViewName) {
SearchConfigurationWrapper searchConfigWrapper = SearchFactory.createDefaultSearchBoxConfigurationWrapper(type, getPageBase());
searchConfigWrapper.setCollectionViewName(collectionViewName);
searchConfigWrapper.getItemsList().addAll(new ArrayList(getSpecialSearchItemWrappers()));
return searchConfigWrapper;
}

protected Set<SerializableSupplier<AbstractSearchItemWrapper>> getSpecialSearchItemWrappers() {
return Collections.emptySet();
}

protected void addPerformed(AjaxRequestTarget target, QName type, List<O> selected) {
parentPage.hideMainPopup(target);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.component.ContainerableListPanel;
import com.evolveum.midpoint.gui.impl.component.search.Search;
import com.evolveum.midpoint.gui.impl.component.search.SearchFactory;
import com.evolveum.midpoint.model.api.authentication.CompiledObjectCollectionView;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.prism.query.ObjectOrdering;
Expand Down Expand Up @@ -75,13 +73,6 @@ protected String getSearchByNameParameterValue() {
return value.toString();
}

@Override
protected Search createSearch(Class<O> type) {
String collectionName = isCollectionViewPanelForCompiledView() ?
WebComponentUtil.getCollectionNameParameterValue(getPageBase()).toString() : null;
return SearchFactory.createSearch(type, collectionName, getPageBase());
}

protected final SelectableBeanObjectDataProvider<O> createSelectableBeanObjectDataProvider(SerializableSupplier<ObjectQuery> querySuplier,
SerializableFunction<SortParam<String>, List<ObjectOrdering>> orderingSuplier) {
SelectableBeanObjectDataProvider<O> provider = new SelectableBeanObjectDataProvider<>(
Expand Down Expand Up @@ -116,7 +107,7 @@ public Set<? extends O> getSelected() {
}
};
provider.setCompiledObjectCollectionView(getObjectCollectionView());
provider.setOptions(createOptions());
provider.setOptions(getOptions());
return provider;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
*/
package com.evolveum.midpoint.gui.api.component;

import com.evolveum.midpoint.gui.impl.component.search.Search;
import com.evolveum.midpoint.gui.impl.component.search.wrapper.AbstractRoleSearchItemWrapper;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.web.component.util.TreeSelectableBean;
import com.evolveum.midpoint.web.page.admin.orgs.OrgTreeAssignablePanel;
Expand All @@ -27,8 +29,8 @@ public abstract class OrgTreeMemberPopupTabPanel extends MemberPopupTabPanel<Org

private static final String ID_ORG_TREE_VIEW_PANEL = "orgTreeViewPanel";

public OrgTreeMemberPopupTabPanel(String id, RelationSearchItemConfigurationType relationConfig, List<ObjectReferenceType> archetypeReferenceList){
super(id, relationConfig, archetypeReferenceList);
public OrgTreeMemberPopupTabPanel(String id, Search search, List<ObjectReferenceType> archetypeReferenceList){
super(id, search, archetypeReferenceList);
}

@Override
Expand Down

This file was deleted.

0 comments on commit 1f8ba3a

Please sign in to comment.