Skip to content

Commit

Permalink
Merge branch 'master' of github.com:Evolveum/midpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
1azyman committed Aug 3, 2023
2 parents 3cb4ed7 + 281faee commit 4a3fec3
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Optional;

/**
* @author lskublik
Expand Down Expand Up @@ -218,6 +219,10 @@ protected List<IColumn<PrismContainerValueWrapper<MappingType>, String>> createD

IModel<PrismContainerDefinition<MappingType>> mappingTypeDef =
getMappingTypeDefinition();

IColumn<PrismContainerValueWrapper<MappingType>, String> iconColumns = createUsedIconColumn();
Optional.ofNullable(iconColumns).ifPresent(column -> columns.add(column));

columns.add(new PrismPropertyWrapperColumn<MappingType, String>(
mappingTypeDef,
MappingType.F_NAME,
Expand All @@ -238,6 +243,9 @@ public String getCssClass() {
return columns;
}

protected IColumn<PrismContainerValueWrapper<MappingType>, String> createUsedIconColumn(){
return null;
};
protected abstract Collection<? extends IColumn<PrismContainerValueWrapper<MappingType>, String>> createCustomColumns();

protected LoadableModel<PrismContainerDefinition<MappingType>> getMappingTypeDefinition() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
*/
package com.evolveum.midpoint.gui.impl.page.admin.resource.component.wizard.objectType.attributeMapping;

import com.evolveum.midpoint.gui.api.factory.wrapper.WrapperContext;
import com.evolveum.midpoint.gui.api.prism.wrapper.PrismContainerValueWrapper;
import com.evolveum.midpoint.gui.api.util.MappingDirection;
import com.evolveum.midpoint.gui.impl.component.data.column.AbstractItemWrapperColumn;
Expand All @@ -16,12 +15,12 @@
import com.evolveum.midpoint.prism.PrismContext;
import com.evolveum.midpoint.web.component.data.column.IconColumn;
import com.evolveum.midpoint.web.session.UserProfileStorage;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ContainerPanelConfigurationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.DisplayType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.MappingType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceAttributeDefinitionType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.*;

import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.extensions.markup.html.repeater.data.grid.ICellPopulator;
import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;

Expand Down Expand Up @@ -54,6 +53,38 @@ protected String getKeyOfTitleForNewObjectButton() {
return "InboundAttributeMappingsTable.newObject";
}

@Override
protected IColumn<PrismContainerValueWrapper<MappingType>, String> createUsedIconColumn() {
return new IconColumn<>(Model.of()) {

@Override
public void populateItem(Item<ICellPopulator<PrismContainerValueWrapper<MappingType>>> cellItem, String componentId, IModel<PrismContainerValueWrapper<MappingType>> rowModel) {
super.populateItem(cellItem, componentId, rowModel);
cellItem.add(AttributeAppender.append("class", "text-center"));
}

@Override
protected DisplayType getIconDisplayType(IModel<PrismContainerValueWrapper<MappingType>> rowModel) {
PrismContainerValueWrapper<MappingType> mapping = rowModel.getObject();
MappingType mappingBean = mapping.getRealValue();
if (mappingBean instanceof InboundMappingType
&& InboundMappingUseType.CORRELATION.equals(((InboundMappingType) mappingBean).getUse())) {
return new DisplayType()
.tooltip("InboundAttributeMappingsTable.usedForCorrelation")
.beginIcon()
.cssClass("text-warning fa fa-code-branch")
.end();
}
return new DisplayType();
}

@Override
public String getCssClass() {
return "px-0";
}
};
}

@Override
protected Collection<? extends IColumn<PrismContainerValueWrapper<MappingType>, String>> createCustomColumns() {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import com.evolveum.midpoint.web.component.prism.ItemVisibility;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;
import com.evolveum.midpoint.web.component.util.VisibleEnableBehaviour;
import com.evolveum.midpoint.xml.ns._public.common.common_3.InboundMappingType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.MappingType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OperationTypeType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType;
Expand Down Expand Up @@ -43,7 +44,8 @@ public class InboundMappingOptionalConfigurationStepPanel
MappingType.F_EXCLUSIVE,
MappingType.F_AUTHORITATIVE,
MappingType.F_CHANNEL,
MappingType.F_EXCEPT_CHANNEL
MappingType.F_EXCEPT_CHANNEL,
InboundMappingType.F_USE
);

public InboundMappingOptionalConfigurationStepPanel(ResourceDetailsModel model,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
*/
package com.evolveum.midpoint.web.component.data.column;

import com.evolveum.midpoint.gui.api.util.LocalizationUtil;

import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.behavior.AttributeAppender;
Expand Down Expand Up @@ -58,7 +60,10 @@ protected void onInitialize() {
private void initLayout() {
Label image = new Label(ID_IMAGE);
image.add(AttributeModifier.replace("class", new PropertyModel<>(getModel(), "icon.cssClass")));
image.add(AttributeModifier.replace("title", new PropertyModel<>(getModel(), "tooltip.orig")));
DisplayType displayBean = getModelObject();
if (displayBean != null) {
image.add(AttributeModifier.replace("title", LocalizationUtil.translatePolyString(displayBean.getTooltip())));
}
image.add(AttributeAppender.append("style", () -> StringUtils.isNotBlank(getColor()) ? "color: " + getColor() + ";" : ""));
image.setOutputMarkupId(true);
image.add(new VisibleBehaviour(() -> getModelObject() != null && getModelObject().getIcon() != null && StringUtils.isNotEmpty(getModelObject().getIcon().getCssClass())));
Expand Down

0 comments on commit 4a3fec3

Please sign in to comment.