Skip to content

Commit

Permalink
fixes in simulation result page to objects navigation (based on state…
Browse files Browse the repository at this point in the history
…) + some NPE fixes
  • Loading branch information
1azyman committed Mar 7, 2023
1 parent 54b16f2 commit 60b62d8
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import com.evolveum.midpoint.prism.path.PathKeyedMap;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.FullTextSearchUtil;
import com.evolveum.midpoint.util.DisplayableValue;
import com.evolveum.midpoint.util.MiscUtil;
import com.evolveum.midpoint.util.exception.ObjectNotFoundException;
import com.evolveum.midpoint.util.exception.SchemaException;
Expand Down Expand Up @@ -138,6 +139,10 @@ private void initProcessedObjectState(Search search) {
return;
}

if (additionalSearchContext == null) {
return;
}

ObjectProcessingStateType state = additionalSearchContext.getObjectProcessingState();
if (state == null) {
return;
Expand All @@ -149,7 +154,10 @@ private void initProcessedObjectState(Search search) {
return;
}

item.setValue(new SearchValue<>(state));
DisplayableValue<ObjectProcessingStateType> value = item.getAvailableValues().stream().filter(d -> state.equals(d.getValue())).findFirst().orElse(null);
if (value != null) {
item.setValue(value);
}
}

private void initSearchByNameIfNeeded(Search<C> search) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,27 @@
*/
package com.evolveum.midpoint.gui.impl.component.search.panel;

import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.component.search.wrapper.ChoicesSearchItemWrapper;
import java.io.Serializable;

import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;

public class ChoicesSearchItemPanel<T> extends PropertySearchItemPanel<ChoicesSearchItemWrapper> {
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.component.search.wrapper.ChoicesSearchItemWrapper;

public class ChoicesSearchItemPanel<T extends Serializable> extends PropertySearchItemPanel<ChoicesSearchItemWrapper<T>> {

public ChoicesSearchItemPanel(String id, IModel<ChoicesSearchItemWrapper> searchItem) {
public ChoicesSearchItemPanel(String id, IModel<ChoicesSearchItemWrapper<T>> searchItem) {
super(id, searchItem);
}

@Override
protected Component initSearchItemField(String id) {
return WebComponentUtil.createDropDownChoices(id, new PropertyModel(getModel(), ChoicesSearchItemWrapper.F_DISPLAYABLE_VALUE),
Model.ofList(getModelObject().getAvailableValues()), allowNull());
return WebComponentUtil.createDropDownChoices(id,
new PropertyModel<>(getModel(), ChoicesSearchItemWrapper.F_DISPLAYABLE_VALUE),
() -> getModelObject().getAvailableValues(),
allowNull());
}

private boolean allowNull() {
Expand All @@ -32,5 +35,4 @@ private boolean allowNull() {
}
return true;
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@
*/
package com.evolveum.midpoint.gui.impl.component.search.wrapper;

import java.io.Serializable;
import java.util.List;

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.impl.component.search.SearchValue;
import com.evolveum.midpoint.gui.impl.component.search.panel.ChoicesSearchItemPanel;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.path.ItemPath;
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 java.io.Serializable;
import java.util.List;

public class ChoicesSearchItemWrapper<T extends Serializable> extends PropertySearchItemWrapper<T> {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,11 +167,11 @@ protected void onBackPerformed(AjaxRequestTarget target) {

@Override
protected void onInitialize() {
super.onInitialize();

if (getStateQueryParameter() != null) {
getPageStorage().setSearch(null);
resetSearchModel();
}
super.onInitialize();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public class QProcessedObject extends QContainer<MProcessedObject, MSimulationRe
public final StringPath nameOrig = createString("nameOrig", NAME_ORIG);
public final StringPath nameNorm = createString("nameNorm", NAME_NORM);
public final EnumPath<ObjectProcessingStateType> state =
createEnum("outcome", ObjectProcessingStateType.class, STATE);
createEnum("state", ObjectProcessingStateType.class, STATE);

public final ArrayPath<byte[], Byte> fullObject = createByteArray("fullObject", FULL_OBJECT);
public final ArrayPath<byte[], Byte> objectBefore = createByteArray("objectBefore", OBJECT_BEFORE);
Expand Down

0 comments on commit 60b62d8

Please sign in to comment.