Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/Evolveum/midpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
katkav committed Feb 24, 2021
2 parents 2e41572 + 6157705 commit c1464ba
Show file tree
Hide file tree
Showing 161 changed files with 2,711 additions and 2,505 deletions.
Expand Up @@ -99,11 +99,11 @@
import com.evolveum.midpoint.repo.common.expression.Expression;
import com.evolveum.midpoint.repo.common.expression.ExpressionEvaluationContext;
import com.evolveum.midpoint.repo.common.expression.ExpressionFactory;
import com.evolveum.midpoint.repo.common.expression.ExpressionVariables;
import com.evolveum.midpoint.report.api.ReportManager;
import com.evolveum.midpoint.schema.*;
import com.evolveum.midpoint.schema.constants.ExpressionConstants;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.schema.expression.VariablesMap;
import com.evolveum.midpoint.schema.internals.InternalsConfig;
import com.evolveum.midpoint.schema.result.OperationConstants;
import com.evolveum.midpoint.schema.result.OperationResult;
Expand Down Expand Up @@ -1345,7 +1345,7 @@ private OperationResult executeResultScriptHook(OperationResult result) {
ExpressionConstants.OUTPUT_ELEMENT_NAME, OperationResultType.COMPLEX_TYPE);
Expression<PrismPropertyValue<OperationResultType>, PrismPropertyDefinition<OperationResultType>> expression = factory.makeExpression(expressionType, outputDefinition, MiscSchemaUtil.getExpressionProfile(), contextDesc, task, topResult);

ExpressionVariables variables = new ExpressionVariables();
VariablesMap variables = new VariablesMap();

OperationResultType resultType = result.createOperationResultType();

Expand Down
Expand Up @@ -26,6 +26,7 @@
import com.evolveum.midpoint.gui.api.model.ReadOnlyModel;
import com.evolveum.midpoint.gui.api.prism.wrapper.*;
import com.evolveum.midpoint.gui.impl.prism.wrapper.PrismReferenceValueWrapperImpl;
import com.evolveum.midpoint.schema.expression.VariablesMap;
import com.evolveum.midpoint.web.component.data.SelectableBeanContainerDataProvider;
import com.evolveum.midpoint.web.page.admin.server.dto.ApprovalOutcomeIcon;
import com.evolveum.midpoint.xml.ns._public.common.audit_3.AuditEventRecordType;
Expand Down Expand Up @@ -105,7 +106,6 @@
import com.evolveum.midpoint.prism.util.PolyStringUtils;
import com.evolveum.midpoint.prism.xml.XmlTypeConverter;
import com.evolveum.midpoint.repo.common.expression.ExpressionUtil;
import com.evolveum.midpoint.repo.common.expression.ExpressionVariables;
import com.evolveum.midpoint.schema.*;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.schema.constants.RelationTypes;
Expand Down Expand Up @@ -2276,7 +2276,7 @@ public static String createObjectColletionIcon() {
return getObjectNormalIconStyle(GuiStyleConstants.CLASS_OBJECT_COLLECTION_ICON);
}

public static ObjectFilter evaluateExpressionsInFilter(ObjectFilter objectFilter, ExpressionVariables variables, OperationResult result, PageBase pageBase) {
public static ObjectFilter evaluateExpressionsInFilter(ObjectFilter objectFilter, VariablesMap variables, OperationResult result, PageBase pageBase) {
try {
return ExpressionUtil.evaluateFilterExpressions(objectFilter, variables, MiscSchemaUtil.getExpressionProfile(),
pageBase.getExpressionFactory(), pageBase.getPrismContext(), "collection filter",
Expand All @@ -2290,7 +2290,7 @@ public static ObjectFilter evaluateExpressionsInFilter(ObjectFilter objectFilter
}

public static ObjectFilter evaluateExpressionsInFilter(ObjectFilter objectFilter, OperationResult result, PageBase pageBase) {
ExpressionVariables variables = new ExpressionVariables();
VariablesMap variables = new VariablesMap();
return evaluateExpressionsInFilter(objectFilter, variables, result, pageBase);
}

Expand Down
Expand Up @@ -52,11 +52,11 @@
import com.evolveum.midpoint.prism.query.ObjectPaging;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.repo.common.expression.ExpressionUtil;
import com.evolveum.midpoint.repo.common.expression.ExpressionVariables;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.constants.ExpressionConstants;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.schema.expression.VariablesMap;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.MiscSchemaUtil;
import com.evolveum.midpoint.schema.util.ObjectTypeUtil;
Expand Down Expand Up @@ -579,12 +579,12 @@ private String evaluateExpression(C rowValue, Item<?, ?> columnItem, ExpressionT
Task task = getPageBase().createSimpleTask(OPERATION_EVALUATE_EXPRESSION);
OperationResult result = task.getResult();
try {
ExpressionVariables expressionVariables = new ExpressionVariables();
expressionVariables.put(ExpressionConstants.VAR_OBJECT, rowValue, rowValue.getClass());
VariablesMap variablesMap = new VariablesMap();
variablesMap.put(ExpressionConstants.VAR_OBJECT, rowValue, rowValue.getClass());
if (columnItem != null) {
expressionVariables.put(ExpressionConstants.VAR_INPUT, columnItem, columnItem.getDefinition().getTypeClass());
variablesMap.put(ExpressionConstants.VAR_INPUT, columnItem, columnItem.getDefinition().getTypeClass());
}
Collection<String> evaluatedValues = ExpressionUtil.evaluateStringExpression(expressionVariables, getPageBase().getPrismContext(), expression,
Collection<String> evaluatedValues = ExpressionUtil.evaluateStringExpression(variablesMap, getPageBase().getPrismContext(), expression,
MiscSchemaUtil.getExpressionProfile(), getPageBase().getExpressionFactory(), "evaluate column expression",
task, result);
String stringValue = null;
Expand Down
Expand Up @@ -20,8 +20,8 @@
import com.evolveum.midpoint.repo.common.expression.Expression;
import com.evolveum.midpoint.repo.common.expression.ExpressionEvaluationContext;
import com.evolveum.midpoint.repo.common.expression.ExpressionFactory;
import com.evolveum.midpoint.repo.common.expression.ExpressionVariables;
import com.evolveum.midpoint.schema.constants.ExpressionConstants;
import com.evolveum.midpoint.schema.expression.VariablesMap;
import com.evolveum.midpoint.schema.internals.InternalsConfig;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.schema.util.MiscSchemaUtil;
Expand Down Expand Up @@ -122,9 +122,9 @@ private String getExpressionValue(ExpressionType expressionType, String contextD
PrismPropertyDefinition<String> outputDefinition = prismContext.definitionFactory().createPropertyDefinition(ExpressionConstants.OUTPUT_ELEMENT_NAME,
DOMUtil.XSD_STRING);
Expression<PrismPropertyValue<String>, PrismPropertyDefinition<String>> expression = expressionFactory.makeExpression(expressionType, outputDefinition, MiscSchemaUtil.getExpressionProfile(), contextDesc, task, result);
ExpressionVariables variables = new ExpressionVariables();
VariablesMap variables = new VariablesMap();
variables.put(ExpressionConstants.VAR_OBJECT, object, object.asPrismContainerValue().getDefinition());
addAdditionalExpressionVariables(variables);
addAdditionalVariablesMap(variables);
ExpressionEvaluationContext context = new ExpressionEvaluationContext(null, variables, contextDesc, task);
PrismValueDeltaSetTriple<PrismPropertyValue<String>> outputTriple = expression.evaluate(context, result);
if (outputTriple == null) {
Expand All @@ -140,7 +140,7 @@ private String getExpressionValue(ExpressionType expressionType, String contextD
return outputValues.iterator().next().getRealValue();
}

protected void addAdditionalExpressionVariables(ExpressionVariables variables) {
protected void addAdditionalVariablesMap(VariablesMap variables) {
}

@Override
Expand Down
Expand Up @@ -10,8 +10,6 @@
import java.util.List;
import javax.xml.namespace.QName;

import com.evolveum.midpoint.gui.api.model.ReadOnlyModel;

import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.AttributeModifier;
Expand All @@ -27,12 +25,13 @@
import org.apache.wicket.request.resource.AbstractResource;

import com.evolveum.midpoint.gui.api.component.BasePanel;
import com.evolveum.midpoint.gui.api.model.ReadOnlyModel;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.model.FlexibleLabelModel;
import com.evolveum.midpoint.prism.Containerable;
import com.evolveum.midpoint.prism.PrismContainer;
import com.evolveum.midpoint.prism.path.ItemName;
import com.evolveum.midpoint.repo.common.expression.ExpressionVariables;
import com.evolveum.midpoint.schema.expression.VariablesMap;
import com.evolveum.midpoint.web.component.util.SummaryTag;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
Expand Down Expand Up @@ -217,7 +216,7 @@ public boolean isVisible() {
List<SummaryTag<C>> summaryTags = getSummaryTagComponentList();

// if (getArchetypeSummaryTag() != null) {
summaryTags.add(getArchetypeSummaryTag());
summaryTags.add(getArchetypeSummaryTag());
// }
summaryTags.forEach(summaryTag -> {
WebMarkupContainer summaryTagPanel = new WebMarkupContainer(tagBox.newChildId());
Expand Down Expand Up @@ -266,9 +265,9 @@ private FlexibleLabelModel<C> createFlexibleLabelModel(QName modelPropertyName,
private static final long serialVersionUID = 1L;

@Override
protected void addAdditionalExpressionVariables(ExpressionVariables variables) {
super.addAdditionalExpressionVariables(variables);
AbstractSummaryPanel.this.addAdditionalExpressionVariables(variables);
protected void addAdditionalVariablesMap(VariablesMap variables) {
super.addAdditionalVariablesMap(variables);
AbstractSummaryPanel.this.addAdditionalVariablesMap(variables);
}
};
}
Expand All @@ -295,24 +294,24 @@ private SummaryTag<C> getArchetypeSummaryTag() {
// String archetypeIconColor = getArchetypePolicyAdditionalCssClass();
// String archetypeLabel = getArchetypeLabel();
// if (StringUtils.isNotEmpty(archetypeLabel)) {
SummaryTag<C> archetypeSummaryTag = new SummaryTag<C>(ID_SUMMARY_TAG, getModel()) {
private static final long serialVersionUID = 1L;

@Override
protected void initialize(C object) {
setIconCssClass(getArchetypeIconCssClass());
setLabel(createStringResource(getArchetypeLabel()).getString());
setColor(getArchetypePolicyAdditionalCssClass());
}

};
archetypeSummaryTag.add(new VisibleBehaviour(() -> StringUtils.isNotEmpty(getArchetypeLabel())));
return archetypeSummaryTag;
SummaryTag<C> archetypeSummaryTag = new SummaryTag<C>(ID_SUMMARY_TAG, getModel()) {
private static final long serialVersionUID = 1L;

@Override
protected void initialize(C object) {
setIconCssClass(getArchetypeIconCssClass());
setLabel(createStringResource(getArchetypeLabel()).getString());
setColor(getArchetypePolicyAdditionalCssClass());
}

};
archetypeSummaryTag.add(new VisibleBehaviour(() -> StringUtils.isNotEmpty(getArchetypeLabel())));
return archetypeSummaryTag;
// }
// return null;
}

protected void addAdditionalExpressionVariables(ExpressionVariables variables) {
protected void addAdditionalVariablesMap(VariablesMap variables) {

}

Expand Down
Expand Up @@ -17,13 +17,12 @@

import com.evolveum.midpoint.gui.api.GuiStyleConstants;
import com.evolveum.midpoint.gui.api.model.ReadOnlyModel;
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismObjectWrapper;
import com.evolveum.midpoint.gui.api.util.ModelServiceLocator;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.repo.common.expression.ExpressionVariables;
import com.evolveum.midpoint.schema.constants.ExpressionConstants;
import com.evolveum.midpoint.schema.constants.RelationTypes;
import com.evolveum.midpoint.schema.expression.VariablesMap;
import com.evolveum.midpoint.schema.util.FocusTypeUtil;
import com.evolveum.midpoint.web.component.util.SummaryTag;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
Expand Down Expand Up @@ -124,7 +123,7 @@ protected IModel<String> getDefaultParentOrgModel() {
}

@Override
protected void addAdditionalExpressionVariables(ExpressionVariables variables) {
protected void addAdditionalVariablesMap(VariablesMap variables) {
List<OrgType> parentOrgs = new ArrayList<>();
for (ObjectReferenceType parentOrgRef : getModelObject().getParentOrgRef()) {
if (parentOrgRef != null && parentOrgRef.asReferenceValue().getObject() != null) {
Expand Down
Expand Up @@ -6,7 +6,7 @@
~ and European Union Public License. See LICENSE file for details.
-->
<wicket:panel xmlns:wicket="http://wicket.apache.org">
<div wicket:id="additionalButton">
<div wicket:id="additionalButton" style="float: left;">
<div wicket:id="compositedButton"></div>
</div>
<div wicket:id="defaultButton"></div>
Expand Down
Expand Up @@ -479,7 +479,7 @@ private DisplayType loadIcon(AssignmentType assignment) {
DisplayType displayType = WebComponentUtil.getArchetypePolicyDisplayType(object, AssignmentPanel.this.getPageBase());

if (displayType == null) {
return WebComponentUtil.createDisplayType(WebComponentUtil.createDefaultBlackIcon(
displayType = WebComponentUtil.createDisplayType(WebComponentUtil.createDefaultBlackIcon(
AssignmentsUtil.getTargetType(assignment)));
}

Expand Down
Expand Up @@ -6,55 +6,28 @@
*/
package com.evolveum.midpoint.web.component.data;

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.model.api.*;
import com.evolveum.midpoint.model.api.authentication.CompiledGuiProfile;
import com.evolveum.midpoint.model.api.authentication.CompiledObjectCollectionView;
import com.evolveum.midpoint.prism.Containerable;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.prism.query.ObjectOrdering;
import com.evolveum.midpoint.prism.query.ObjectPaging;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.prism.query.OrderDirection;
import com.evolveum.midpoint.repo.api.RepositoryService;
import com.evolveum.midpoint.repo.common.expression.ExpressionVariables;
import com.evolveum.midpoint.schema.*;
import com.evolveum.midpoint.schema.expression.TypedValue;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.task.api.TaskManager;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.search.Search;
import com.evolveum.midpoint.web.security.MidPointApplication;
import com.evolveum.midpoint.web.session.PageStorage;
import com.evolveum.midpoint.wf.api.WorkflowManager;
import com.evolveum.midpoint.xml.ns._public.common.common_3.DistinctSearchOptionType;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.lang3.Validate;
import org.apache.wicket.Component;
import org.apache.wicket.extensions.markup.html.repeater.data.sort.SortOrder;
import org.apache.wicket.extensions.markup.html.repeater.util.SortParam;
import org.apache.wicket.extensions.markup.html.repeater.util.SortableDataProvider;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.jetbrains.annotations.NotNull;

import javax.xml.namespace.QName;
import java.io.Serializable;
import java.util.*;

import static com.evolveum.midpoint.gui.api.util.WebComponentUtil.safeLongToInteger;
import com.evolveum.midpoint.prism.Containerable;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.schema.expression.VariablesMap;
import com.evolveum.midpoint.web.component.search.Search;

/**
* @author lazyman
*/
public abstract class BaseSearchDataProvider<C extends Containerable, T extends Serializable> extends BaseSortableDataProvider<T> {
public abstract class BaseSearchDataProvider<C extends Containerable, T extends Serializable>
extends BaseSortableDataProvider<T> {

private final IModel<Search<C>> search;
private final Map<String, Object> variables = new HashMap<>();

private IModel<Search<C>> search;
private Class<C> oldType;
private Map<String, Object> variables = new HashMap<>();

public BaseSearchDataProvider(Component component, IModel<Search<C>> search) {
this(component, search, false, true);
Expand All @@ -76,7 +49,7 @@ IModel<Search<C>> getSearchModel() {

@Override
public ObjectQuery getQuery() {
ExpressionVariables expVariables = new ExpressionVariables();
VariablesMap expVariables = new VariablesMap();
for (Map.Entry<String, Object> entry : variables.entrySet()) {
if (entry.getValue() == null) {
expVariables.put(entry.getKey(), null, Object.class);
Expand All @@ -91,7 +64,7 @@ protected ObjectQuery getCustomizeContentQuery() {
return null;
}

public Class<C> getType(){
public Class<C> getType() {
return search.getObject() == null ? null : search.getObject().getTypeClass();
}

Expand Down
Expand Up @@ -6,33 +6,31 @@
*/
package com.evolveum.midpoint.web.component.data;

import java.util.*;

import com.evolveum.midpoint.model.api.authentication.CompiledObjectCollectionView;
import com.evolveum.midpoint.repo.common.expression.ExpressionVariables;
import com.evolveum.midpoint.util.exception.*;

import com.evolveum.midpoint.web.component.search.Search;

import com.evolveum.midpoint.xml.ns._public.common.common_3.OperationResultImportanceType;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;

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

import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.model.api.authentication.CompiledObjectCollectionView;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.result.OperationResult;
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.*;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.search.Search;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.SelectableBeanImpl;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;

import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OperationResultImportanceType;

/**
* @author lazyman
Expand Down Expand Up @@ -106,7 +104,7 @@ public boolean isOrderingDisabled() {
if (isMemberPanel()) {
if (guiObjectListViewType.getAdditionalPanels() != null &&
guiObjectListViewType.getAdditionalPanels().getMemberPanel() != null &&
guiObjectListViewType.getAdditionalPanels().getMemberPanel().isDisableSorting() != null){
guiObjectListViewType.getAdditionalPanels().getMemberPanel().isDisableSorting() != null) {
return guiObjectListViewType.getAdditionalPanels().getMemberPanel().isDisableSorting();
}
} else {
Expand Down

0 comments on commit c1464ba

Please sign in to comment.