Skip to content

Commit

Permalink
search items for users, services, roles
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Sep 28, 2020
1 parent 2297d64 commit 5ec3e7d
Show file tree
Hide file tree
Showing 6 changed files with 75 additions and 32 deletions.
Expand Up @@ -232,7 +232,7 @@ protected String getSearchByNameParameterValue() {

protected Search createSearch() {
return SearchFactory.createSearch(type.getClassDefinition(), isCollectionViewPanelForCompiledView() ? getCollectionNameParameterValue().toString() : null,
null, getPageBase(), true);
getFixedSearchItems(), null, getPageBase(), true);
}

private BoxedTablePanel<SelectableBean<O>> createTable() {
Expand Down Expand Up @@ -784,6 +784,12 @@ protected boolean isCollectionViewPanelForWidget() {
return false;
}

protected List<ItemPath> getFixedSearchItems() {
List<ItemPath> fixedSearchItems = new ArrayList<>();
fixedSearchItems.add(ObjectType.F_NAME);
return fixedSearchItems;
}

protected boolean isCollectionViewPanelForCompiledView() {
return getCollectionNameParameterValue() != null && getCollectionNameParameterValue().toString() != null;
}
Expand Down
Expand Up @@ -10,7 +10,7 @@
import java.lang.reflect.Modifier;
import java.util.*;

import org.apache.cxf.common.util.CollectionUtils;
import org.apache.commons.collections.CollectionUtils;

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.ModelServiceLocator;
Expand Down Expand Up @@ -72,6 +72,7 @@ public class SearchFactory {
ItemPath.create(RoleType.F_ROLE_TYPE)));
SEARCHABLE_OBJECTS.put(ServiceType.class, Arrays.asList(
ItemPath.create(ServiceType.F_NAME),
ItemPath.create(RoleType.F_DISPLAY_NAME),
ItemPath.create(ServiceType.F_SERVICE_TYPE),
ItemPath.create(ServiceType.F_URL)));
SEARCHABLE_OBJECTS.put(ConnectorHostType.class, Arrays.asList(
Expand Down Expand Up @@ -180,11 +181,11 @@ public static <T extends ObjectType> Search createSearch(Class<T> type, ModelSer
public static <T extends ObjectType> Search createSearch(
Class<T> type, ResourceShadowDiscriminator discriminator,
ModelServiceLocator modelServiceLocator, boolean useDefsFromSuperclass) {
return createSearch(type, null, discriminator, modelServiceLocator, useDefsFromSuperclass);
return createSearch(type, null, null, discriminator, modelServiceLocator, useDefsFromSuperclass);
}

public static <T extends ObjectType> Search createSearch(
Class<T> type, String collectionViewName, ResourceShadowDiscriminator discriminator,
Class<T> type, String collectionViewName, List<ItemPath> fixedSearchItems, ResourceShadowDiscriminator discriminator,
ModelServiceLocator modelServiceLocator, boolean useDefsFromSuperclass) {

PrismObjectDefinition objectDef = findObjectDefinition(type, discriminator, modelServiceLocator);
Expand Down Expand Up @@ -214,11 +215,17 @@ public static <T extends ObjectType> Search createSearch(
}
});
} else {
PrismPropertyDefinition def = objDef.findPropertyDefinition(ObjectType.F_NAME);
SearchItem item = search.addItem(def);
if (item != null) {
item.setFixed(true);
if (CollectionUtils.isEmpty(fixedSearchItems)) {
fixedSearchItems = new ArrayList<>();
fixedSearchItems.add(ObjectType.F_NAME);
}
fixedSearchItems.forEach(searchItemPath -> {
PrismPropertyDefinition def = objDef.findPropertyDefinition(searchItemPath);
SearchItem item = search.addItem(def);
if (item != null) {
item.setFixed(true);
}
});
}
search.setCanConfigure(isAllowToConfigureSearchItems(modelServiceLocator, type, collectionViewName));
return search;
Expand Down
Expand Up @@ -6,8 +6,19 @@
*/
package com.evolveum.midpoint.web.page.admin;

import java.util.Collection;
import java.util.List;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.IModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;

import com.evolveum.midpoint.gui.api.component.MainObjectListPanel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.prism.query.ObjectOrdering;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.schema.GetOperationOptions;
Expand All @@ -20,15 +31,6 @@
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.session.UserProfileStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.model.IModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;

import java.util.Collection;
import java.util.List;

/**
* Created by honchar
Expand Down Expand Up @@ -132,6 +134,11 @@ protected IColumn<SelectableBean<O>, String> createCheckboxColumn() {
protected boolean getNewObjectGenericButtonVisibility() {
return PageAdminObjectList.this.getNewObjectGenericButtonVisibility();
}

@Override
protected List<ItemPath> getFixedSearchItems() {
return PageAdminObjectList.this.getFixedSearchItems();
}
};

userListPanel.setAdditionalBoxCssClasses(WebComponentUtil.getBoxCssClasses(WebComponentUtil.classToQName(getPrismContext(), getType())));
Expand Down Expand Up @@ -159,6 +166,9 @@ protected boolean isCreateNewObjectEnabled(){
return true;
}

protected List<ItemPath> getFixedSearchItems() {
return null;
}

protected ObjectQuery addCustomFilterToContentQuery(ObjectQuery query){
return query;
Expand Down
Expand Up @@ -8,6 +8,7 @@
package com.evolveum.midpoint.web.page.admin.roles;

import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
Expand All @@ -19,7 +20,6 @@
import com.evolveum.midpoint.web.component.search.Search;
import com.evolveum.midpoint.web.component.util.FocusListInlineMenuHelper;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.SelectableBeanImpl;
import com.evolveum.midpoint.web.page.admin.PageAdminObjectList;
import com.evolveum.midpoint.web.session.UserProfileStorage;
import com.evolveum.midpoint.web.util.OnePageParameterEncoder;
Expand All @@ -30,6 +30,7 @@
import org.apache.wicket.model.IModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;

import java.util.ArrayList;
import java.util.List;

/**
Expand Down Expand Up @@ -111,4 +112,13 @@ private boolean isShowConfirmationDialog(ColumnMenuAction action){
return action.getRowModel() != null ||
getObjectListPanel().getSelectedObjectsCount() > 0;
}

@Override
protected List<ItemPath> getFixedSearchItems() {
List<ItemPath> fixedSearchItems = new ArrayList<>();
fixedSearchItems.add(ObjectType.F_NAME);
fixedSearchItems.add(AbstractRoleType.F_DISPLAY_NAME);
fixedSearchItems.add(AbstractRoleType.F_IDENTIFIER);
return fixedSearchItems;
}
}
Expand Up @@ -8,6 +8,7 @@
package com.evolveum.midpoint.web.page.admin.services;

import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
Expand All @@ -19,17 +20,20 @@
import com.evolveum.midpoint.web.component.search.Search;
import com.evolveum.midpoint.web.component.util.FocusListInlineMenuHelper;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.SelectableBeanImpl;
import com.evolveum.midpoint.web.page.admin.PageAdminObjectList;
import com.evolveum.midpoint.web.session.UserProfileStorage;
import com.evolveum.midpoint.web.session.UserProfileStorage.TableId;
import com.evolveum.midpoint.web.util.OnePageParameterEncoder;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AbstractRoleType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ServiceType;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.model.IModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;

import java.util.ArrayList;
import java.util.List;


Expand Down Expand Up @@ -120,4 +124,13 @@ private boolean isShowConfirmationDialog(ColumnMenuAction action){
getObjectListPanel().getSelectedObjectsCount() > 0;
}

@Override
protected List<ItemPath> getFixedSearchItems() {
List<ItemPath> fixedSearchItems = new ArrayList<>();
fixedSearchItems.add(ObjectType.F_NAME);
fixedSearchItems.add(AbstractRoleType.F_DISPLAY_NAME);
fixedSearchItems.add(AbstractRoleType.F_IDENTIFIER);
return fixedSearchItems;
}

}
Expand Up @@ -8,38 +8,26 @@
package com.evolveum.midpoint.web.page.admin.users;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;

import com.evolveum.midpoint.gui.api.component.ObjectBrowserPanel;
import com.evolveum.midpoint.gui.impl.component.icon.CompositedIconBuilder;
import com.evolveum.midpoint.gui.impl.component.icon.IconCssStyle;
import com.evolveum.midpoint.model.api.authentication.CompiledObjectCollectionView;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.schema.util.TaskTypeUtil;
import com.evolveum.midpoint.util.MiscUtil;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.web.application.Url;
import com.evolveum.midpoint.web.component.data.column.*;
import com.evolveum.midpoint.web.component.menu.cog.ButtonInlineMenuItem;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItemAction;
import com.evolveum.midpoint.web.component.search.SearchFactory;
import com.evolveum.midpoint.web.component.search.SearchItem;
import com.evolveum.midpoint.web.component.search.SearchValue;
import com.evolveum.midpoint.web.component.util.FocusListInlineMenuHelper;
import com.evolveum.midpoint.web.component.util.SelectableBeanImpl;
import com.evolveum.midpoint.web.page.admin.PageAdminObjectList;
import com.evolveum.midpoint.web.page.admin.configuration.dto.DebugSearchDto;
import com.evolveum.midpoint.web.page.admin.server.TaskTablePanel;
import com.evolveum.midpoint.web.session.PageStorage;
import com.evolveum.midpoint.web.session.SessionStorage;
import com.evolveum.midpoint.web.session.UserProfileStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;
import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
Expand Down Expand Up @@ -68,7 +56,6 @@
import com.evolveum.midpoint.web.application.AuthorizationAction;
import com.evolveum.midpoint.web.application.PageDescriptor;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.web.component.search.Search;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.page.admin.users.component.ExecuteChangeOptionsDto;
import com.evolveum.midpoint.web.session.UserProfileStorage.TableId;
Expand Down Expand Up @@ -396,6 +383,16 @@ protected UserProfileStorage.TableId getTableId(){
return TableId.TABLE_USERS;
}

@Override
protected List<ItemPath> getFixedSearchItems() {
List<ItemPath> fixedSearchItems = new ArrayList<>();
fixedSearchItems.add(UserType.F_NAME);
fixedSearchItems.add(UserType.F_GIVEN_NAME);
fixedSearchItems.add(UserType.F_FAMILY_NAME);
fixedSearchItems.add(UserType.F_EMAIL_ADDRESS);
return fixedSearchItems;
}

private MainObjectListPanel<UserType> getTable() {
return (MainObjectListPanel<UserType>) get(createComponentPath(ID_MAIN_FORM, ID_TABLE));
}
Expand Down

0 comments on commit 5ec3e7d

Please sign in to comment.