Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
mederly committed Feb 2, 2023
2 parents 0e19fe2 + c46928c commit c511525
Show file tree
Hide file tree
Showing 52 changed files with 1,428 additions and 332 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -284,5 +284,5 @@ public class GuiStyleConstants {

public static final String CLASS_SIMULATION_RESULT = "fa-solid fa-flask";

public static final String CLASS_TAG = "fa-solid fa-tag";
public static final String CLASS_MARK = "fa-solid fa-tag";
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@

import com.evolveum.midpoint.gui.impl.page.admin.simulation.PageSimulationResult;

import com.evolveum.midpoint.gui.impl.page.admin.tag.PageTag;
import com.evolveum.midpoint.gui.impl.page.admin.mark.PageMark;

import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
Expand Down Expand Up @@ -261,7 +261,7 @@ public final class WebComponentUtil {
OBJECT_DETAILS_PAGE_MAP.put(MessageTemplateType.class, PageMessageTemplate.class);

OBJECT_DETAILS_PAGE_MAP.put(SimulationResultType.class, PageSimulationResult.class);
OBJECT_DETAILS_PAGE_MAP.put(MarkType.class, PageTag.class);
OBJECT_DETAILS_PAGE_MAP.put(MarkType.class, PageMark.class);
}

// only pages that support 'advanced search' are currently listed here (TODO: generalize)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,19 +89,7 @@ private String getActivationLabelLabel(ActivationType activation) {
return activation.getAdministrativeStatus().value();
}

PrismContainerWrapper<AssignmentType> assignmentModel = (PrismContainerWrapper<AssignmentType>) getModel().getObject();
PrismPropertyWrapper<String> lifecycle = null;
try {
lifecycle = assignmentModel.findProperty(AssignmentType.F_LIFECYCLE_STATE);
} catch (SchemaException e) {
LOGGER.error("Cannot find lifecycle property: {}", e.getMessage(), e);
}

String lifecycleState = getLifecycleState(lifecycle);

ActivationStatusType status = WebModelServiceUtils.getAssignmentEffectiveStatus(lifecycleState, activation, getPageBase());
return AssignmentsUtil.createActivationTitleModel(status, activation.getValidFrom(), activation.getValidTo(), getPageBase());

return AssignmentsUtil.createActivationTitleModel(activation, getPageBase()).getObject();
}

private String getAssociationLabel(ResourceObjectAssociationType association) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@

import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.jetbrains.annotations.NotNull;

import com.evolveum.midpoint.gui.impl.component.search.Search;
Expand All @@ -27,8 +26,6 @@
import com.evolveum.midpoint.task.api.Task;
import com.evolveum.midpoint.util.exception.CommonException;
import com.evolveum.midpoint.web.component.data.TypedCacheKey;
import com.evolveum.midpoint.web.component.util.SelectableBean;
import com.evolveum.midpoint.web.component.util.SelectableBeanImpl;

/**
* @author lazyman
Expand Down Expand Up @@ -68,11 +65,6 @@ protected void addCachedSize(Map<Serializable, CachedSize> cache, CachedSize new
cache.put(new TypedCacheKey(getQuery(), getType()), newSize);
}

@Override
public IModel<SelectableBean<C>> model(SelectableBean<C> selectableBean) {
return null;
}

@Override
protected boolean match(C selectedValue, C foundValue) {
return selectedValue.asPrismContainerValue().equivalent(foundValue.asPrismContainerValue());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
*/
package com.evolveum.midpoint.gui.impl.component.data.provider;

import static com.evolveum.midpoint.schema.DefinitionProcessingOption.FULL;
import static com.evolveum.midpoint.schema.DefinitionProcessingOption.ONLY_IF_EXISTS;

import java.util.Collection;
import java.util.List;
import java.util.Set;
Expand All @@ -32,8 +35,6 @@
import com.evolveum.midpoint.web.component.util.SelectableBeanImpl;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType;
import static com.evolveum.midpoint.schema.DefinitionProcessingOption.FULL;
import static com.evolveum.midpoint.schema.DefinitionProcessingOption.ONLY_IF_EXISTS;

/**
* @author lazyman
Expand Down Expand Up @@ -91,11 +92,6 @@ protected Integer countObjects(Class<O> type, ObjectQuery query,
return getModelService().countObjects(type, getQuery(), currentOptions, task, result);
}

@Override
public IModel<SelectableBean<O>> model(SelectableBean<O> object) {
return new Model<>(object);
}

protected boolean isMemberPanel() {
return isMemberPanel;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,41 +7,25 @@

package com.evolveum.midpoint.gui.impl.component.data.provider;

import com.evolveum.midpoint.gui.api.component.data.provider.ISelectableDataProvider;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
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 org.jetbrains.annotations.NotNull;

import com.evolveum.midpoint.gui.impl.component.search.Search;
import com.evolveum.midpoint.model.api.authentication.CompiledObjectCollectionView;
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.prism.query.ObjectPaging;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.GetOperationOptionsBuilder;
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.CommonException;
import com.evolveum.midpoint.util.logging.LoggingUtils;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import com.evolveum.midpoint.web.component.data.TypedCacheKey;
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.ObjectReferenceType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ShadowType;

import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.jetbrains.annotations.NotNull;

import java.io.Serializable;
import java.util.*;

import static com.evolveum.midpoint.schema.DefinitionProcessingOption.FULL;
import static com.evolveum.midpoint.schema.DefinitionProcessingOption.ONLY_IF_EXISTS;

import static org.apache.commons.lang3.ObjectUtils.defaultIfNull;

/**
* @author lazyman
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -504,9 +504,9 @@ private MainMenuItem createSimulationItems() {
return menu;
}

private MainMenuItem createTagItems() {
MainMenuItem menu = createMainMenuItem("PageAdmin.menu.top.tags", GuiStyleConstants.CLASS_TAG);
createBasicAssignmentHolderMenuItems(menu, PageTypes.TAG);
private MainMenuItem createMarkItems() {
MainMenuItem menu = createMainMenuItem("PageAdmin.menu.top.marks", GuiStyleConstants.CLASS_MARK);
createBasicAssignmentHolderMenuItems(menu, PageTypes.MARK);

return menu;
}
Expand All @@ -517,7 +517,7 @@ private SideBarMenuItem createConfigurationMenu(boolean experimentalFeaturesEnab
item.addMainMenuItem(createMessageTemplatesItems());
item.addMainMenuItem(createObjectsCollectionItems());
item.addMainMenuItem(createObjectTemplatesItems());
item.addMainMenuItem(createTagItems());
item.addMainMenuItem(createMarkItems());
item.addMainMenuItem(createMainMenuItem("PageAdmin.menu.top.configuration.bulkActions", "fa fa-bullseye", PageBulkAction.class));
item.addMainMenuItem(createMainMenuItem("PageAdmin.menu.top.configuration.importObject", "fa fa-upload", PageImportObject.class));
item.addMainMenuItem(createRepositoryObjectsMenu());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
import com.evolveum.midpoint.gui.impl.page.admin.service.PageService;
import com.evolveum.midpoint.gui.impl.page.admin.simulation.PageSimulationResult;
import com.evolveum.midpoint.gui.impl.page.admin.simulation.PageSimulationResults;
import com.evolveum.midpoint.gui.impl.page.admin.tag.PageTag;
import com.evolveum.midpoint.gui.impl.page.admin.tag.PageTags;
import com.evolveum.midpoint.gui.impl.page.admin.mark.PageMark;
import com.evolveum.midpoint.gui.impl.page.admin.mark.PageMarks;
import com.evolveum.midpoint.gui.impl.page.admin.task.PageTask;
import com.evolveum.midpoint.gui.impl.page.admin.user.PageUser;
import com.evolveum.midpoint.util.QNameUtil;
Expand Down Expand Up @@ -56,7 +56,7 @@ public enum PageTypes {
OBJECT_TEMPLATE("objectTemplates", GuiStyleConstants.CLASS_OBJECT_TEMPLATE_ICON, PageObjectTemplates.class, PageObjectTemplate.class, ObjectTemplateType.COMPLEX_TYPE),
REPORT("reports", GuiStyleConstants.CLASS_REPORT_ICON, PageReports.class, PageReport.class, ReportType.COMPLEX_TYPE),
SIMULATION_RESULT("simulationResults", GuiStyleConstants.CLASS_SIMULATION_RESULT, PageSimulationResults.class, PageSimulationResult.class, SimulationResultType.COMPLEX_TYPE),
TAG("tags", GuiStyleConstants.CLASS_TAG, PageTags.class, PageTag.class, MarkType.COMPLEX_TYPE);
MARK("marks", GuiStyleConstants.CLASS_MARK, PageMarks.class, PageMark.class, MarkType.COMPLEX_TYPE);

private String identifier;
private String icon;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
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.AvailableTagItemWrapperFactory;
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.xml.ns._public.common.common_3.SearchItemType;
Expand All @@ -24,7 +24,7 @@ public class SearchConfigurationWrapperFactory {
private static List<AbstractSearchItemWrapperFactory> factories = new ArrayList<>();

static {
factories.add(new AvailableTagItemWrapperFactory());
factories.add(new AvailableMarkItemWrapperFactory());
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,7 +5,7 @@
* and European Union Public License. See LICENSE file for details.
*/

package com.evolveum.midpoint.gui.impl.page.admin.tag;
package com.evolveum.midpoint.gui.impl.page.admin.mark;

import java.util.Arrays;
import java.util.List;
Expand Down Expand Up @@ -38,32 +38,32 @@
*/
@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/tag")
@Url(mountUrl = "/admin/mark")
},
encoder = OnePageParameterEncoder.class,
action = {
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_TAGS_ALL_URL,
label = "PageTag.auth.tag.label",
description = "PageTag.auth.tag.description"),
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_TAG_URL,
label = "PageTag.auth.tag.label",
description = "PageTag.auth.tag.description")
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_MARKS_ALL_URL,
label = "PageTag.auth.mark.label",
description = "PageTag.auth.mark.description"),
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_MARK_URL,
label = "PageTag.auth.mark.label",
description = "PageTag.auth.mark.description")
})
public class PageTag extends PageAssignmentHolderDetails<MarkType, AssignmentHolderDetailsModel<MarkType>> {
public class PageMark extends PageAssignmentHolderDetails<MarkType, AssignmentHolderDetailsModel<MarkType>> {

private static final long serialVersionUID = 1L;

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

public PageTag() {
public PageMark() {
super();
}

public PageTag(PageParameters parameters) {
public PageMark(PageParameters parameters) {
super(parameters);
}

public PageTag(final PrismObject<MarkType> obj) {
public PageMark(final PrismObject<MarkType> obj) {
super(obj);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@
* and European Union Public License. See LICENSE file for details.
*/

package com.evolveum.midpoint.gui.impl.page.admin.tag;
package com.evolveum.midpoint.gui.impl.page.admin.mark;

import com.evolveum.midpoint.xml.ns._public.common.common_3.MarkType;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.request.mapper.parameter.PageParameters;

Expand All @@ -20,38 +19,40 @@
import com.evolveum.midpoint.web.application.CollectionInstance;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.component.form.MidpointForm;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.web.page.admin.PageAdmin;
import com.evolveum.midpoint.web.session.UserProfileStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.MarkType;

/**
* Created by Viliam Repan (lazyman).
*/
@PageDescriptor(
urls = {
@Url(mountUrl = "/admin/tags", matchUrlForSecurity = "/admin/tags")
@Url(mountUrl = "/admin/marks", matchUrlForSecurity = "/admin/marks")
},
action = {
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_TAGS_ALL_URL,
label = "PageAdminUsers.auth.tagsAll.label",
description = "PageAdminUsers.auth.usersAll.description"),
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_TAGS_URL,
label = "PageTags.auth.tags.label",
description = "PageTags.auth.tags.description")
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_MARKS_ALL_URL,
label = "PageAdminUsers.auth.marksAll.label",
description = "PageAdminUsers.auth.marksAll.description"),
@AuthorizationAction(actionUri = AuthorizationConstants.AUTZ_UI_MARKS_URL,
label = "PageTags.auth.marks.label",
description = "PageTags.auth.marks.description")
})
@CollectionInstance(identifier = "allTags", applicableForType = MarkType.class,
display = @PanelDisplay(label = "PageAdmin.menu.top.tags.list", singularLabel = "ObjectType.tag", icon = GuiStyleConstants.CLASS_CIRCLE_FULL))
public class PageTags extends PageAdmin {
display = @PanelDisplay(label = "PageAdmin.menu.top.marks.list", singularLabel = "ObjectTypes.MARK", icon = GuiStyleConstants.CLASS_MARK))
public class PageMarks extends PageAdmin {

private static final long serialVersionUID = 1L;

private static final String ID_FORM = "form";
private static final String ID_TABLE = "table";

public PageTags() {
public PageMarks() {
this(new PageParameters());
}

public PageTags(PageParameters parameters) {
public PageMarks(PageParameters parameters) {
super(parameters);
}

Expand All @@ -63,7 +64,12 @@ protected void onInitialize() {
}

private void initLayout() {
if (!isNativeRepo()) {
warn(getString("PageMarks.nonNativeRepositoryWarning"));
}

Form form = new MidpointForm(ID_FORM);
form.add(new VisibleBehaviour(() -> isNativeRepo()));
add(form);

MainObjectListPanel<MarkType> table = new MainObjectListPanel<>(ID_TABLE, MarkType.class) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@
/**
* Created by Viliam Repan (lazyman).
*/
public class AvailableTagItemWrapperFactory extends AbstractSearchItemWrapperFactory<String, AvailableTagSearchItemWrapper> {
public class AvailableMarkItemWrapperFactory extends AbstractSearchItemWrapperFactory<String, AvailableMarkSearchItemWrapper> {

@Override
protected AvailableTagSearchItemWrapper createSearchWrapper(SearchItemContext ctx) {
protected AvailableMarkSearchItemWrapper createSearchWrapper(SearchItemContext ctx) {
SearchContext additionalSearchContext = ctx.getAdditionalSearchContext();
List<DisplayableValue<String>> availableEventMarks = additionalSearchContext != null ?
additionalSearchContext.getAvailableEventMarks() : new ArrayList<>();

AvailableTagSearchItemWrapper wrapper = new AvailableTagSearchItemWrapper(availableEventMarks);
AvailableMarkSearchItemWrapper wrapper = new AvailableMarkSearchItemWrapper(availableEventMarks);
wrapper.setCanConfigure(false);
wrapper.setVisible(true);
return wrapper;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@
/**
* Created by Viliam Repan (lazyman).
*/
public class AvailableTagSearchItemWrapper extends ChoicesSearchItemWrapper<String> {
public class AvailableMarkSearchItemWrapper extends ChoicesSearchItemWrapper<String> {

public AvailableTagSearchItemWrapper(List<DisplayableValue<String>> availableValues) {
public AvailableMarkSearchItemWrapper(List<DisplayableValue<String>> availableValues) {
super(SimulationResultProcessedObjectType.F_EVENT_MARK_REF, availableValues);
}

Expand Down

0 comments on commit c511525

Please sign in to comment.