Skip to content

Commit

Permalink
simulation - search by processed object type - search item fixed (was…
Browse files Browse the repository at this point in the history
… text, now choice)
  • Loading branch information
1azyman committed Mar 16, 2023
1 parent 1320ee6 commit 5ca7953
Show file tree
Hide file tree
Showing 7 changed files with 87 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,11 @@

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

import com.evolveum.midpoint.gui.api.util.ModelServiceLocator;
import com.evolveum.midpoint.gui.impl.component.search.factory.*;
import com.evolveum.midpoint.gui.impl.component.search.wrapper.PropertySearchItemWrapper;
import com.evolveum.midpoint.gui.impl.page.admin.simulation.AvailableMarkItemWrapperFactory;
import com.evolveum.midpoint.prism.ItemDefinition;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.prism.path.PathKeyedMap;
import com.evolveum.midpoint.xml.ns._public.common.common_3.SearchItemType;

Expand All @@ -26,6 +23,7 @@ public class SearchConfigurationWrapperFactory {

static {
factories.add(new AvailableMarkItemWrapperFactory());
factories.add(new ProcessedObjectTypeItemWrapperFactory());
factories.add(new DeadShadowSearchItemWrapperFactory());
factories.add(new ChoicesSearchItemWrapperFactory());
factories.add(new AutocompleteSearchItemWrapperFactory());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,14 @@
* and European Union Public License. See LICENSE file for details.
*/

package com.evolveum.midpoint.gui.impl.page.admin.simulation;
package com.evolveum.midpoint.gui.impl.component.search.factory;

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

import com.evolveum.midpoint.gui.impl.component.search.SearchContext;
import com.evolveum.midpoint.gui.impl.component.search.factory.AbstractSearchItemWrapperFactory;
import com.evolveum.midpoint.gui.impl.component.search.factory.SearchItemContext;
import com.evolveum.midpoint.gui.impl.component.search.wrapper.AvailableMarkSearchItemWrapper;
import com.evolveum.midpoint.util.DisplayableValue;
import com.evolveum.midpoint.xml.ns._public.common.common_3.SimulationResultProcessedObjectType;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
* Copyright (c) 2010-2023 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/

package com.evolveum.midpoint.gui.impl.component.search.factory;

import javax.xml.namespace.QName;

import com.evolveum.midpoint.gui.impl.component.search.wrapper.ProcessedObjectTypeSearchItemWrapper;
import com.evolveum.midpoint.xml.ns._public.common.common_3.SimulationResultProcessedObjectType;

/**
* Created by Viliam Repan (lazyman).
*/
public class ProcessedObjectTypeItemWrapperFactory extends AbstractSearchItemWrapperFactory<QName, ProcessedObjectTypeSearchItemWrapper> {

@Override
protected ProcessedObjectTypeSearchItemWrapper createSearchWrapper(SearchItemContext ctx) {
return new ProcessedObjectTypeSearchItemWrapper();
}

@Override
public boolean match(SearchItemContext ctx) {
return SimulationResultProcessedObjectType.F_TYPE.equivalent(ctx.getPath());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,12 @@
* and European Union Public License. See LICENSE file for details.
*/

package com.evolveum.midpoint.gui.impl.page.admin.simulation;
package com.evolveum.midpoint.gui.impl.component.search.wrapper;

import java.util.List;
import java.util.Objects;

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.impl.component.search.wrapper.ChoicesSearchItemWrapper;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.schema.expression.VariablesMap;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,26 @@
*/
package com.evolveum.midpoint.gui.impl.component.search.wrapper;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import javax.xml.namespace.QName;

import org.apache.commons.lang3.StringUtils;

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.component.search.SearchValue;
import com.evolveum.midpoint.gui.impl.component.search.panel.ObjectTypeSearchItemPanel;
import com.evolveum.midpoint.prism.Containerable;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.schema.expression.VariablesMap;
import com.evolveum.midpoint.util.DisplayableValue;
import com.evolveum.midpoint.gui.impl.component.search.SearchValue;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectTypeSearchItemConfigurationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.SearchBoxModeType;

import org.apache.commons.lang3.StringUtils;

import javax.xml.namespace.QName;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class ObjectTypeSearchItemWrapper extends FilterableSearchItemWrapper<QName> {

private QName oldType;
private boolean typeChanged;
private boolean allowAllTypesSearch;

Expand All @@ -54,8 +52,8 @@ private void convertSupportedTypeList(List<QName> supportedTypeList) {
return;
}
this.supportedTypeList = supportedTypeList.stream()
.map(qName -> WebComponentUtil.qnameToAnyClass(PrismContext.get(), qName))
.collect(Collectors.toList());
.map(qName -> WebComponentUtil.qnameToAnyClass(PrismContext.get(), qName))
.collect(Collectors.toList());
}

public Class<ObjectTypeSearchItemPanel> getSearchItemPanelClass() {
Expand Down Expand Up @@ -104,7 +102,7 @@ public void setName(String name) {

@Override
public String getHelp() {
return StringUtils.isNotEmpty(help) ? help : "";
return StringUtils.isNotEmpty(help) ? help : "";
}

public void setHelp(String help) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/*
* Copyright (c) 2010-2023 Evolveum and contributors
*
* This work is dual-licensed under the Apache License 2.0
* and European Union Public License. See LICENSE file for details.
*/

package com.evolveum.midpoint.gui.impl.component.search.wrapper;

import java.util.stream.Collectors;
import javax.xml.namespace.QName;

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.impl.DisplayableValueImpl;
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.schema.expression.VariablesMap;
import com.evolveum.midpoint.xml.ns._public.common.common_3.SimulationResultProcessedObjectType;

/**
* Created by Viliam Repan (lazyman).
*/
public class ProcessedObjectTypeSearchItemWrapper extends ChoicesSearchItemWrapper<QName> {

public ProcessedObjectTypeSearchItemWrapper() {
super(SimulationResultProcessedObjectType.F_TYPE,
WebComponentUtil.createObjectTypesList().stream()
.map(o -> new DisplayableValueImpl<QName>(o.getTypeQName(), WebComponentUtil.createEnumResourceKey(o)))
.collect(Collectors.toList()));
}

@Override
public ObjectFilter createFilter(Class type, PageBase pageBase, VariablesMap variables) {
if (getValue().getValue() == null) {
return null;
}

return PrismContext.get().queryFor(SimulationResultProcessedObjectType.class)
.item(getPath()).eq(getValue().getValue()).buildFilter();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import com.evolveum.midpoint.gui.impl.component.ContainerableListPanel;
import com.evolveum.midpoint.gui.impl.component.icon.CompositedIconBuilder;
import com.evolveum.midpoint.gui.impl.component.search.SearchContext;
import com.evolveum.midpoint.gui.impl.component.search.wrapper.AvailableMarkSearchItemWrapper;
import com.evolveum.midpoint.gui.impl.component.search.wrapper.PropertySearchItemWrapper;
import com.evolveum.midpoint.model.api.simulation.ProcessedObject;
import com.evolveum.midpoint.prism.PrismContainerDefinition;
Expand Down

0 comments on commit 5ca7953

Please sign in to comment.