Skip to content

Commit

Permalink
renamed SearchConfigurationWrapper -> BasicQueryWrapper, introduces i…
Browse files Browse the repository at this point in the history
…nterface QueryWrapper and a little bit of clenaup
  • Loading branch information
katkav committed Jan 25, 2023
1 parent f416b99 commit b3a561d
Show file tree
Hide file tree
Showing 19 changed files with 416 additions and 281 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,6 @@
import java.util.List;
import java.util.stream.Collectors;

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.impl.component.search.wrapper.FilterableSearchItemWrapper;
import com.evolveum.midpoint.gui.impl.component.search.wrapper.SearchConfigurationWrapper;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.PageAssignmentHolderDetails;
import com.evolveum.midpoint.model.api.authentication.CompiledObjectCollectionView;
import com.evolveum.midpoint.web.component.*;

import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ContainerPanelConfigurationType;

import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectCollectionType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.SearchBoxConfigurationType;

import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.behavior.AttributeAppender;
Expand All @@ -32,24 +19,31 @@
import org.apache.wicket.model.PropertyModel;

import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismContainerValueWrapper;
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismContainerWrapper;
import com.evolveum.midpoint.gui.api.util.WebPrismUtil;
import com.evolveum.midpoint.gui.impl.component.icon.CompositedIconBuilder;
import com.evolveum.midpoint.gui.impl.page.admin.assignmentholder.PageAssignmentHolderDetails;
import com.evolveum.midpoint.model.api.AssignmentObjectRelation;
import com.evolveum.midpoint.model.api.authentication.CompiledObjectCollectionView;
import com.evolveum.midpoint.prism.Containerable;
import com.evolveum.midpoint.prism.PrismContainerDefinition;
import com.evolveum.midpoint.prism.PrismContainerValue;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.web.component.AjaxIconButton;
import com.evolveum.midpoint.web.component.data.ISelectableDataProvider;
import com.evolveum.midpoint.web.component.data.column.ColumnMenuAction;
import com.evolveum.midpoint.web.component.menu.cog.ButtonInlineMenuItem;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItem;
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItemAction;
import com.evolveum.midpoint.web.component.prism.ValueStatus;
import com.evolveum.midpoint.web.component.util.MultivalueContainerListDataProvider;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.web.session.PageStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.AssignmentHolderType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ContainerPanelConfigurationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectCollectionType;

/**
* @author skublik
Expand All @@ -67,41 +61,15 @@ public MultivalueContainerListPanel(String id, Class<C> type) {
public MultivalueContainerListPanel(String id, Class<C> type, ContainerPanelConfigurationType config) {
super(id, type, null, config);
}

private SearchConfigurationWrapper<C> createSearchConfigWrapper(Class<C> type) {
SearchBoxConfigurationType maybeConfig = null;
if (getPanelConfiguration() != null && getPanelConfiguration().getListView() != null) {
maybeConfig = getPanelConfiguration().getListView().getSearchBoxConfiguration();
}


SearchConfigurationWrapper<C> searchConfigWrapper = maybeConfig != null ? new SearchConfigurationWrapper<C>(maybeConfig) : new SearchConfigurationWrapper<C>();
// CompiledObjectCollectionView collectionView = getObjectCollectionView();
// if (objectCollectionRefExists(collectionView)) {
// searchConfigWrapper.setCollectionRefOid(collectionView.getCollection().getCollectionRef().getOid());
// }
PrismContainerDefinition<C> containerDefinition = getTypeDefinitionForSearch();
List<FilterableSearchItemWrapper> items = (List<FilterableSearchItemWrapper>) initSearchableItemWrappers(containerDefinition);
if (items != null) {
searchConfigWrapper.getItemsList().addAll(items);
}
return searchConfigWrapper;
}

private boolean objectCollectionRefExists (CompiledObjectCollectionView collectionView) {
private boolean objectCollectionRefExists (CompiledObjectCollectionView collectionView) {
return collectionView != null && collectionView.getCollection() != null && collectionView.getCollection().getCollectionRef() != null
&& collectionView.getCollection().getCollectionRef().getType().equals(ObjectCollectionType.COMPLEX_TYPE);
}


protected PrismContainerDefinition<C> getTypeDefinitionForSearch() {
return getPrismContext().getSchemaRegistry().findContainerDefinitionByCompileTimeClass(getType());
}

protected List<? super FilterableSearchItemWrapper> initSearchableItemWrappers(PrismContainerDefinition<C> containerDef){
return null;
}

@Override
protected ISelectableDataProvider<PrismContainerValueWrapper<C>> createProvider() {
return new MultivalueContainerListDataProvider<>(MultivalueContainerListPanel.this, getSearchModel(), new PropertyModel<>(getContainerModel(), "values")) {
Expand Down

0 comments on commit b3a561d

Please sign in to comment.