Skip to content

Commit

Permalink
role catalog search fix
Browse files Browse the repository at this point in the history
  • Loading branch information
Kateryna Honchar committed Apr 19, 2022
1 parent f0389cc commit 2558ddf
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 54 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,18 @@ public class SearchConfigurationWrapper<C extends Containerable> implements Seri
private List<SearchBoxModeType> allowedModeList = new ArrayList<>();
private List<QName> supportedRelations = new ArrayList<>();
private QName defaultRelation;

private SearchBoxScopeType defaultScope;

private boolean indirect;

private String collectionViewName;
private boolean allowAllTypeSearch;

private boolean allowToConfigureSearchItems;
public static final String F_INDIRECT = "config.indirectConfiguration.indirect";
public static final String F_SCOPE = "config.scopeConfiguration.defaultValue";
public static final String F_RELATION = "config.relationConfiguration.defaultValue";
public static final String F_INDIRECT = "indirect";
public static final String F_SCOPE = "defaultScope";
public static final String F_RELATION = "defaultRelation";
public static final String F_TENANT = "tenantRef";
public static final String F_PROJECT = "projectRef";

Expand Down Expand Up @@ -94,6 +99,14 @@ public void addSearchItem(AbstractSearchItemWrapper searchItem) {
itemsList.add(searchItem);
}

public SearchBoxScopeType getDefaultScope() {
return defaultScope;
}

public void setDefaultScope(SearchBoxScopeType defaultScope) {
this.defaultScope = defaultScope;
}

public QName getDefaultRelation() {
return defaultRelation;
}
Expand All @@ -108,12 +121,13 @@ public Boolean getIndirect() {
// return config.getIndirectConfiguration() != null ? config.getIndirectConfiguration().isIndirect() : null;
}

public void setIndirect(Boolean indirect) {
public void setIndirect(boolean indirect) {
//todo fix
// if (config.getIndirectConfiguration() == null) {
// config.setIndirectConfiguration(new IndirectSearchItemConfigurationType());
// }
// config.getIndirectConfiguration().setIndirect(indirect);
this.indirect = indirect;
}

public boolean isAllowToConfigureSearchItems() {
Expand All @@ -140,7 +154,7 @@ public void setScope(SearchBoxScopeType scope) {

public boolean isIndirect() {
//todo fix
return false;
return indirect;
// return config.getIndirectConfiguration() != null
// && config.getIndirectConfiguration().isIndirect() != null && config.getIndirectConfiguration().isIndirect().equals(Boolean.TRUE);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@
import java.util.List;
import javax.xml.namespace.QName;

import com.evolveum.midpoint.gui.impl.component.search.SearchConfigurationWrapper;
import com.evolveum.midpoint.web.component.search.SearchFactory;
import com.evolveum.midpoint.gui.impl.component.search.ScopeSearchItemWrapper;

import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
Expand All @@ -32,7 +31,7 @@
/**
* Created by honchar
*/
public class RoleCatalogTabPanel extends AbstractShoppingCartTabPanel<AbstractRoleType> {
public class RoleCatalogTabPanel<R extends AbstractRoleType> extends AbstractShoppingCartTabPanel<AbstractRoleType> {
private static final long serialVersionUID = 1L;

private static final String ID_TREE_PANEL_CONTAINER = "treePanelContainer";
Expand Down Expand Up @@ -150,51 +149,9 @@ protected QName getQueryType() {
}

@Override
protected Search createSearch() {
//todo check
// Search search = super.createSearch();
// search.addSpecialItem(createScopeItem(search, getRoleCatalogStorage()));
// return search;
return SearchFactory.createSearch(createSearchConfigWrapper(), getPageBase());
}

// private SearchItem createScopeItem(Search search, RoleCatalogStorage roleCatalogStorage) {
// return new SpecialSearchItem(search) {
// @Override
// public ObjectFilter createFilter(PageBase pageBase, VariablesMap variables) {
// return null;
// }
//
// @Override
// public SearchSpecialItemPanel createSpecialSearchPanel(String id){
// return new SearchSpecialItemPanel(id, new PropertyModel(roleCatalogStorage, RoleCatalogStorage.F_ORG_SEARCH_SCOPE)) {
// @Override
// protected WebMarkupContainer initSearchItemField(String id) {
// DropDownChoicePanel inputPanel = new DropDownChoicePanel(id, getModelValue(), Model.of(Arrays.asList(SearchBoxScopeType.values())), new EnumChoiceRenderer(), false);
// inputPanel.getBaseFormComponent().add(WebComponentUtil.getSubmitOnEnterKeyDownBehavior("searchSimple"));
// inputPanel.getBaseFormComponent().add(AttributeAppender.append("style", "width: 88px; max-width: 400px !important;"));
// inputPanel.setOutputMarkupId(true);
// return inputPanel;
// }
//
// @Override
// protected IModel<String> createLabelModel() {
// return getPageBase().createStringResource("abstractRoleMemberPanel.searchScope");
// }
//
// @Override
// protected IModel<String> createHelpModel() {
// return getPageBase().createStringResource("abstractRoleMemberPanel.searchScope.tooltip");
// }
// };
// }
// };
// }

private SearchConfigurationWrapper createSearchConfigWrapper() {
SearchBoxConfigurationType config = new SearchBoxConfigurationType();
config.setScopeConfiguration(SearchFactory.createScopeSearchItem());
//todo fix scope item
return new SearchConfigurationWrapper(getQueryClass());
protected Search<R> createSearch() {
Search search = super.createSearch();
search.getItems().add(new ScopeSearchItemWrapper(search.getSearchConfigurationWrapper()));
return search;
}
}

0 comments on commit 2558ddf

Please sign in to comment.