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
KaterynaHonchar committed Mar 11, 2021
2 parents a23e572 + f1b3cd4 commit 8200755
Show file tree
Hide file tree
Showing 248 changed files with 2,445 additions and 1,520 deletions.
Expand Up @@ -233,5 +233,6 @@ public class GuiStyleConstants {
public static final String CLASS_ICON_PERFORMANCE = "fa fa-area-chart";
public static final String CLASS_ICON_TASK_RESULTS = "fa fa-list-alt";

public static final String CLASS_ICON_SEARCH = "fa fa-search flip-icon";

}
Expand Up @@ -6,9 +6,6 @@
*/
package com.evolveum.midpoint.gui.api.component;

import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.task.api.TaskManager;

import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
Expand All @@ -19,7 +16,7 @@
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.polystring.PolyString;
import com.evolveum.midpoint.schema.SchemaHelper;
import com.evolveum.midpoint.schema.SchemaService;
import com.evolveum.midpoint.web.security.MidPointApplication;
import com.evolveum.midpoint.web.security.MidPointAuthWebSession;
import com.evolveum.midpoint.web.security.WebApplicationConfiguration;
Expand Down Expand Up @@ -140,8 +137,8 @@ public PrismContext getPrismContext() {
return getPageBase().getPrismContext();
}

public SchemaHelper getSchemaHelper() {
return getPageBase().getSchemaHelper();
public SchemaService getSchemaService() {
return getPageBase().getSchemaService();
}

protected String createComponentPath(String... components) {
Expand Down
Expand Up @@ -249,7 +249,7 @@ protected void addPerformed(AjaxRequestTarget target, QName type, List<O> select

private Collection<SelectorOptions<GetOperationOptions>> getOptions() {
if (ObjectTypes.SHADOW.getTypeQName().equals(typeModel.getObject() != null ? typeModel.getObject().getTypeQName() : null)) {
return getSchemaHelper().getOperationOptionsBuilder().noFetch().build();
return getSchemaService().getOperationOptionsBuilder().noFetch().build();
}
return null;
}
Expand Down
Expand Up @@ -31,8 +31,6 @@
import org.apache.wicket.feedback.FeedbackMessages;
import org.apache.wicket.injection.Injector;
import org.apache.wicket.markup.ComponentTag;
import org.apache.wicket.markup.head.CssHeaderItem;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.html.TransparentWebMarkupContainer;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.WebPage;
Expand All @@ -46,8 +44,6 @@
import org.apache.wicket.model.StringResourceModel;
import org.apache.wicket.protocol.http.WebSession;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.apache.wicket.request.resource.CssResourceReference;
import org.apache.wicket.resource.CoreLibrariesContributor;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;
Expand Down Expand Up @@ -406,12 +402,12 @@ public PrismContext getPrismContext() {
return getMidpointApplication().getPrismContext();
}

public SchemaHelper getSchemaHelper() {
return getMidpointApplication().getSchemaHelper();
public SchemaService getSchemaService() {
return getMidpointApplication().getSchemaService();
}

public GetOperationOptionsBuilder getOperationOptionsBuilder() {
return getSchemaHelper().getOperationOptionsBuilder();
return getSchemaService().getOperationOptionsBuilder();
}

public QueryConverter getQueryConverter() {
Expand Down
Expand Up @@ -127,7 +127,6 @@
import com.evolveum.midpoint.web.application.PageDescriptor;
import com.evolveum.midpoint.web.component.DateLabelComponent;
import com.evolveum.midpoint.web.component.TabbedPanel;
import com.evolveum.midpoint.web.component.assignment.AssignmentsUtil;
import com.evolveum.midpoint.web.component.breadcrumbs.Breadcrumb;
import com.evolveum.midpoint.web.component.breadcrumbs.BreadcrumbPageClass;
import com.evolveum.midpoint.web.component.breadcrumbs.BreadcrumbPageInstance;
Expand Down Expand Up @@ -4801,7 +4800,7 @@ public static <I extends Item> PrismObject<LookupTableType> findLookupTable(Pris
Task task = page.createSimpleTask("loadLookupTable");
OperationResult result = task.getResult();

Collection<SelectorOptions<GetOperationOptions>> options = WebModelServiceUtils.createLookupTableRetrieveOptions(page.getSchemaHelper());
Collection<SelectorOptions<GetOperationOptions>> options = WebModelServiceUtils.createLookupTableRetrieveOptions(page.getSchemaService());
return WebModelServiceUtils.loadObject(LookupTableType.class, lookupTableUid, options, page, task, result);
}

Expand Down
Expand Up @@ -713,8 +713,8 @@ public static <O extends ObjectType> PrismObject<O> reconstructObject(Class<O> t
return null;
}

public static Collection<SelectorOptions<GetOperationOptions>> createLookupTableRetrieveOptions(SchemaHelper schemaHelper) {
return schemaHelper.getOperationOptionsBuilder()
public static Collection<SelectorOptions<GetOperationOptions>> createLookupTableRetrieveOptions(SchemaService schemaService) {
return schemaService.getOperationOptionsBuilder()
.item(LookupTableType.F_ROW)
.retrieveQuery()
.asc(LookupTableRowType.F_LABEL)
Expand Down
Expand Up @@ -655,7 +655,7 @@ private PrismObject<LookupTableType> loadLookupTable(Item<?, ?> item) {
OperationResult result = task.getResult();

Collection<SelectorOptions<GetOperationOptions>> options = WebModelServiceUtils
.createLookupTableRetrieveOptions(getPageBase().getSchemaHelper());
.createLookupTableRetrieveOptions(getPageBase().getSchemaService());
return WebModelServiceUtils.loadObject(LookupTableType.class,
lookupTableOid, options, getPageBase(), task, result);
}
Expand Down
Expand Up @@ -66,7 +66,7 @@ public MultivalueContainerListPanel(String id, Class<C> type) {
@Override
protected Search createSearch(Class<C> type) {
PrismContainerDefinition<C> containerDefinition = getPrismContext().getSchemaRegistry().findContainerDefinitionByCompileTimeClass(getType());
return SearchFactory.createContainerSearch(new ContainerTypeSearchItem<>(new SearchValue<>(type, containerDefinition.getDisplayName())),
return SearchFactory.createContainerSearch(new ContainerTypeSearchItem<>(new SearchValue<>(type, containerDefinition == null ? getType().getTypeName() : containerDefinition.getDisplayName())),
null, initSearchableItems(containerDefinition), getPageBase(), false);
}

Expand Down
Expand Up @@ -416,7 +416,7 @@ private SideBarMenuItem createConfigurationMenu(boolean experimentalFeaturesEnab
createSystemConfigurationMenu(item);

item.addMainMenuItem(createMainMenuItem("PageAdmin.menu.top.configuration.internals", "fa fa-archive", PageInternals.class));
item.addMainMenuItem(createMainMenuItem("PageAdmin.menu.top.configuration.repoQuery", "fa fa-search", PageRepositoryQuery.class));
item.addMainMenuItem(createMainMenuItem("PageAdmin.menu.top.configuration.repoQuery", GuiStyleConstants.CLASS_ICON_SEARCH + " flip-icon-margin", PageRepositoryQuery.class));
item.addMainMenuItem(createMainMenuItem("PageAdmin.menu.top.configuration.evaluateMapping", "fa fa-cog", PageEvaluateMapping.class));
item.addMainMenuItem(createMainMenuItem("PageAdmin.menu.top.configuration.about", "fa fa-info-circle", PageAbout.class));
return item;
Expand Down
@@ -0,0 +1,80 @@
/*
* Copyright (c) 2010-2019 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.factory.panel;

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.prism.query.PrismQuerySerialization;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.logging.LoggingUtils;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.prism.xml.ns._public.query_3.SearchFilterType;
import com.evolveum.prism.xml.ns._public.types_3.ObjectType;

import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.model.IModel;

public class SearchFilterTypeForQueryModel<O extends ObjectType> extends SearchFilterTypeModel {

private static final Trace LOGGER = TraceManager.getTrace(SearchFilterTypeForQueryModel.class);

private static final long serialVersionUID = 1L;

private IModel<Class<O>> filterTypeModel;
private final boolean useParsing;

public SearchFilterTypeForQueryModel(IModel<SearchFilterType> valueWrapper, PageBase pageBase,
IModel<Class<O>> filterTypeModel) {
this(valueWrapper, pageBase, filterTypeModel, true);
}

public SearchFilterTypeForQueryModel(IModel<SearchFilterType> valueWrapper, PageBase pageBase,
IModel<Class<O>> filterTypeModel, boolean useParsing) {
super(valueWrapper, pageBase);
this.filterTypeModel = filterTypeModel;
this.useParsing = useParsing;
}

@Override
public String getObject() {
try {
SearchFilterType value = getBaseModel().getObject();
if (value == null) {
return null;
}
if (useParsing) {
ObjectFilter objectFilter = getPageBase().getQueryConverter().createObjectFilter(filterTypeModel.getObject(), value);
PrismQuerySerialization serialization = getPageBase().getPrismContext().querySerializer().serialize(objectFilter);
if (serialization != null) {
return serialization.filterText();
}
}
return value.getText();
} catch (Exception e) {
LoggingUtils.logUnexpectedException(LOGGER, "Cannot serialize filter", e);
getPageBase().error("Cannot parse filter: " + e.getMessage() + ". For more details, please, see midpoint log");
}
return null;
}

@Override
public void setObject(String object) {
if (StringUtils.isBlank(object)) {
return;
}
try {
ObjectFilter objectFilter = getPageBase().getPrismContext().createQueryParser().parseQuery(filterTypeModel.getObject(), object);
SearchFilterType filter = getPageBase().getQueryConverter().createSearchFilterType(objectFilter);
filter.setText(object);
getBaseModel().setObject(filter);
} catch (Exception e) {
LoggingUtils.logUnexpectedException(LOGGER, "Cannot parse filter", e);
getPageBase().error("Cannot parse filter: " + e.getMessage() + ". For more details, please, see midpoint log");
}
}
}
@@ -0,0 +1,59 @@
/*
* Copyright (c) 2010-2019 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.factory.panel;

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.logging.LoggingUtils;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.prism.xml.ns._public.query_3.SearchFilterType;

import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.model.IModel;

public class SearchFilterTypeForXmlModel extends SearchFilterTypeModel {

private static final Trace LOGGER = TraceManager.getTrace(SearchFilterTypeForXmlModel.class);

private static final long serialVersionUID = 1L;

public SearchFilterTypeForXmlModel(IModel<SearchFilterType> valueWrapper, PageBase pageBase) {
super(valueWrapper, pageBase);
}

@Override
public String getObject() {
try {
SearchFilterType value = getBaseModel().getObject();
if (value == null) {
return null;
}

return getPageBase().getPrismContext().xmlSerializer().serializeRealValue(value);
} catch (Exception e) {
LoggingUtils.logUnexpectedException(LOGGER, "Cannot serialize filter", e);
getPageBase().error("Cannot parse filter: " + e.getMessage() + ". For more details, please, see midpoint log");
}
return null;
}

@Override
public void setObject(String object) {
if (StringUtils.isBlank(object)) {
return;
}

try {
SearchFilterType filter = getPageBase().getPrismContext().parserFor(object).parseRealValue(SearchFilterType.class);
getBaseModel().setObject(filter);
} catch (Exception e) {
LoggingUtils.logUnexpectedException(LOGGER, "Cannot parse filter", e);
getPageBase().error("Cannot parse filter: " + e.getMessage() + ". For more details, please, see midpoint log");
}
}
}
Expand Up @@ -6,105 +6,28 @@
*/
package com.evolveum.midpoint.gui.impl.factory.panel;

import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.logging.LoggingUtils;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.prism.xml.ns._public.query_3.SearchFilterType;
import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.Component;
import org.apache.wicket.Session;
import org.apache.wicket.model.IComponentAssignedModel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.IWrapModel;

public class SearchFilterTypeModel implements IComponentAssignedModel<String> {

private static final Trace LOGGER = TraceManager.getTrace(SearchFilterTypeModel.class);

private static final long serialVersionUID = 1L;

private IModel<SearchFilterType> baseModel;
private PageBase pageBase;

public SearchFilterTypeModel(IModel<SearchFilterType> valueWrapper, PageBase pageBase) {
this.baseModel = valueWrapper;
this.pageBase = pageBase;
}

@Override
public void detach() {
// TODO Auto-generated method stub

}

@Override
public String getObject() {
try {
SearchFilterType value = baseModel.getObject();
if (value == null) {
return null;
}

return pageBase.getPrismContext().xmlSerializer().serializeRealValue(value);
} catch (SchemaException e) {
LoggingUtils.logUnexpectedException(LOGGER, "Cannot serialize filter", e);
throw new IllegalStateException("Cannot serialize filter: " + e.getMessage() + ". For more details, please, see midpoint log");
}
}
import com.evolveum.midpoint.gui.api.page.PageBase;
import com.evolveum.prism.xml.ns._public.query_3.SearchFilterType;

@Override
public void setObject(String object) {
if (StringUtils.isBlank(object)) {
return;
}
public abstract class SearchFilterTypeModel implements IModel<String> {

try {
SearchFilterType filter = pageBase.getPrismContext().parserFor(object).parseRealValue(SearchFilterType.class);
baseModel.setObject(filter);
} catch (SchemaException e) {
LoggingUtils.logUnexpectedException(LOGGER, "Cannot parse filter", e);
throw new IllegalStateException("Cannot parse filter: " + e.getMessage() + ". For more details, please, see midpoint log");
}
private static final long serialVersionUID = 1L;

}
private IModel<SearchFilterType> baseModel;
private PageBase pageBase;

@Override
public IWrapModel<String> wrapOnAssignment(Component component) {
return new SearchFilterWrapperModel(component);
public SearchFilterTypeModel(IModel<SearchFilterType> valueWrapper, PageBase pageBase) {
this.baseModel = valueWrapper;
this.pageBase = pageBase;
}

class SearchFilterWrapperModel implements IWrapModel<String> {

private Component component;

public SearchFilterWrapperModel(Component component) {
this.component = component;
}

@Override
public IModel<?> getWrappedModel() {
return SearchFilterTypeModel.this;
}

@Override
public String getObject() {
try {
return SearchFilterTypeModel.this.getObject();
} catch (Throwable e) {
component.error(e.getMessage());
}
return null;
}
protected IModel<SearchFilterType> getBaseModel() {
return baseModel;
}

@Override
public void setObject(String object) {
try {
SearchFilterTypeModel.this.setObject(object);
} catch (Throwable e) {
component.error(e.getMessage());
}
}
protected PageBase getPageBase() {
return pageBase;
}
}

0 comments on commit 8200755

Please sign in to comment.