Skip to content

Commit

Permalink
fix for archetyperef filter
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Jan 24, 2019
1 parent 1cf97c5 commit 1ac758e
Showing 1 changed file with 18 additions and 7 deletions.
Expand Up @@ -16,7 +16,9 @@
package com.evolveum.midpoint.gui.api.component;

import com.evolveum.midpoint.gui.api.model.LoadableModel;
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.prism.query.OrFilter;
import com.evolveum.midpoint.prism.query.RefFilter;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.web.component.util.SelectableBean;
Expand All @@ -25,6 +27,7 @@
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectReferenceType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.ArrayUtils;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.WebMarkupContainer;
Expand All @@ -33,6 +36,7 @@
import org.apache.wicket.model.Model;

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

/**
Expand Down Expand Up @@ -90,16 +94,23 @@ protected ObjectQuery addFilterToContentQuery(ObjectQuery query) {
ObjectQuery queryWithFilters = AbstractPopupTabPanel.this.addFilterToContentQuery(query);
List<ObjectReferenceType> archetypeRefList = getArchetypeRefList();
if (!CollectionUtils.isEmpty(archetypeRefList)){
if (queryWithFilters == null){
queryWithFilters = getPrismContext().queryFactory().createQuery();
}
List<ObjectFilter> archetypeRefFilterList = new ArrayList<>();

for (ObjectReferenceType archetypeRef : archetypeRefList){
RefFilter filter = (RefFilter) AbstractPopupTabPanel.this.getPageBase().getPrismContext().queryFor(AssignmentHolderType.class)
ObjectFilter filter = AbstractPopupTabPanel.this.getPageBase().getPrismContext().queryFor(AssignmentHolderType.class)
.item(AssignmentHolderType.F_ARCHETYPE_REF).ref(archetypeRef.getOid())
.buildFilter();
filter.setTargetTypeNullAsAny(true);
filter.setRelationNullAsAny(true);
queryWithFilters.addFilter(filter);
((RefFilter)filter).setTargetTypeNullAsAny(true);
((RefFilter)filter).setRelationNullAsAny(true);
archetypeRefFilterList.add(filter);
}
if (!CollectionUtils.isEmpty(archetypeRefFilterList)){
if (queryWithFilters == null){
queryWithFilters = getPrismContext().queryFactory().createQuery();
}
OrFilter archetypeRefOrFilter =
AbstractPopupTabPanel.this.getPageBase().getPrismContext().queryFactory().createOr(archetypeRefFilterList);
queryWithFilters.addFilter(archetypeRefOrFilter);
}
}
return queryWithFilters;
Expand Down

0 comments on commit 1ac758e

Please sign in to comment.