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 Mar 15, 2023
2 parents 5b80f6e + 721a02d commit 9446970
Show file tree
Hide file tree
Showing 24 changed files with 222 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@
import com.evolveum.midpoint.prism.Containerable;
import com.evolveum.midpoint.schema.result.OperationResult;

import com.evolveum.midpoint.xml.ns._public.common.common_3.ContainerPanelConfigurationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType;

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

Expand Down Expand Up @@ -88,4 +90,17 @@ protected IModel<PrismContainerValueWrapper<C>> getValueModel() {
protected String getCssForWidthOfFeedbackPanel() {
return "col-8";
}

protected ContainerPanelConfigurationType getConfiguration(){
if (StringUtils.isEmpty(getPanelType())) {
return null;
}
return WebComponentUtil.getContainerConfiguration(
getAssignmentHolderDetailsModel().getObjectDetailsPageConfiguration().getObject(),
getPanelType());
}

protected String getPanelType() {
return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
import com.evolveum.midpoint.web.component.menu.cog.InlineMenuItemAction;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;

import com.evolveum.midpoint.xml.ns._public.common.common_3.ContainerPanelConfigurationType;

import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.behavior.AttributeAppender;
Expand All @@ -39,8 +41,9 @@ public abstract class AbstractResourceWizardTable<C extends Containerable, CV ex
public AbstractResourceWizardTable(
String id,
IModel<PrismContainerValueWrapper<CV>> valueModel,
ContainerPanelConfigurationType config,
Class<C> type) {
super(id, type);
super(id, type, config);
this.valueModel = valueModel;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;

import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OperationTypeType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.model.IModel;

Expand All @@ -34,11 +40,16 @@
/**
* @author lskublik
*/
@PanelType(name = "rw-types")
@PanelInstance(identifier = "rw-types",
applicableForType = ResourceType.class,
applicableForOperation = OperationTypeType.WIZARD,
display = @PanelDisplay(label = "ResourceObjectTypeTableWizardPanel.title", icon = "fa fa-object-group"))
public abstract class ResourceObjectTypeTableWizardPanel extends AbstractWizardBasicPanel<ResourceDetailsModel> {

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

private static final String PANEL_TYPE = "schemaHandling";
private static final String PANEL_TYPE = "rw-types";
private static final String ID_TABLE = "table";

public ResourceObjectTypeTableWizardPanel(String id, ResourceDetailsModel model) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ public abstract class AssociationsTable extends AbstractResourceWizardTable<Reso

public AssociationsTable(
String id,
IModel<PrismContainerValueWrapper<ResourceObjectTypeDefinitionType>> valueModel) {
super(id, valueModel, ResourceObjectAssociationType.class);
IModel<PrismContainerValueWrapper<ResourceObjectTypeDefinitionType>> valueModel, ContainerPanelConfigurationType config) {
super(id, valueModel, config, ResourceObjectAssociationType.class);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,14 @@
import com.evolveum.midpoint.gui.impl.page.admin.resource.component.wizard.AbstractResourceWizardBasicPanel;
import com.evolveum.midpoint.gui.impl.component.wizard.WizardPanelHelper;
import com.evolveum.midpoint.util.annotation.Experimental;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OperationTypeType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceObjectAssociationType;

import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.model.IModel;

Expand All @@ -25,9 +31,18 @@
/**
* @author lskublik
*/


@Experimental
@PanelType(name = "rw-associations")
@PanelInstance(identifier = "rw-associations",
applicableForType = ResourceType.class,
applicableForOperation = OperationTypeType.WIZARD,
display = @PanelDisplay(label = "AssociationsTableWizardPanel.headerLabel", icon = "fa fa-shield"))
public abstract class AssociationsTableWizardPanel extends AbstractResourceWizardBasicPanel<ResourceObjectTypeDefinitionType> {

private static final String PANEL_TYPE = "rw-association";

private static final String ID_TABLE = "table";

public AssociationsTableWizardPanel(
Expand All @@ -43,7 +58,7 @@ protected void onInitialize() {
}

private void initLayout() {
AssociationsTable table = new AssociationsTable(ID_TABLE, getValueModel()) {
AssociationsTable table = new AssociationsTable(ID_TABLE, getValueModel(), getConfiguration()) {
@Override
protected void editItemPerformed(
AjaxRequestTarget target,
Expand Down Expand Up @@ -91,4 +106,8 @@ protected AssociationsTable getTable() {
protected String getCssForWidthOfFeedbackPanel() {
return "col-11";
}

protected String getPanelType() {
return PANEL_TYPE;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ public abstract class AttributeMappingsTable<P extends Containerable> extends Ab

public AttributeMappingsTable(
String id,
IModel<PrismContainerValueWrapper<P>> valueModel) {
super(id, valueModel, MappingType.class);
IModel<PrismContainerValueWrapper<P>> valueModel, ContainerPanelConfigurationType config) {
super(id, valueModel, config, MappingType.class);
}

protected PrismContainerValueWrapper createNewValue(AjaxRequestTarget target) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,25 @@
import java.util.Optional;

import com.evolveum.midpoint.gui.api.component.tabs.IconPanelTab;
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.gui.impl.page.admin.resource.ResourceDetailsModel;
import com.evolveum.midpoint.gui.impl.page.admin.resource.component.wizard.AbstractResourceWizardBasicPanel;

import com.evolveum.midpoint.gui.impl.component.wizard.WizardPanelHelper;

import com.evolveum.midpoint.prism.Containerable;

import com.evolveum.midpoint.web.component.AjaxTabbedPanel;

import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
import com.evolveum.midpoint.web.component.TabCenterTabbedPanel;
import com.evolveum.midpoint.web.component.util.VisibleBehaviour;

import com.evolveum.midpoint.xml.ns._public.common.common_3.ContainerPanelConfigurationType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OperationTypeType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType;

import org.apache.commons.lang3.StringUtils;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.extensions.markup.html.tabs.ITab;
Expand All @@ -42,8 +49,20 @@
/**
* @author lskublik
*/
@PanelType(name = "rw-attribute-mappings")
@PanelInstance(identifier = "rw-attribute-inbounds",
applicableForType = ResourceType.class,
applicableForOperation = OperationTypeType.WIZARD,
display = @PanelDisplay(label = "AttributeMappingsTableWizardPanel.inboundTable", icon = "fa fa-arrow-right-to-bracket"))
@PanelInstance(identifier = "rw-attribute-outbounds",
applicableForType = ResourceType.class,
applicableForOperation = OperationTypeType.WIZARD,
display = @PanelDisplay(label = "AttributeMappingsTableWizardPanel.outboundTable", icon = "fa fa-arrow-right-from-bracket"))
public abstract class AttributeMappingsTableWizardPanel<P extends Containerable> extends AbstractResourceWizardBasicPanel<P> {

private static final String INBOUND_PANEL_TYPE = "rw-attribute-inbounds";
private static final String OUTBOUND_PANEL_TYPE = "rw-attribute-outbounds";

private static final String ID_TAB_TABLE = "tabTable";

private final WrapperContext.AttributeMappingType initialTab;
Expand Down Expand Up @@ -104,7 +123,7 @@ private ITab createInboundTableTab() {

@Override
public WebMarkupContainer createPanel(String panelId) {
return new InboundAttributeMappingsTable<>(panelId, getValueModel()) {
return new InboundAttributeMappingsTable<>(panelId, getValueModel(), getConfiguration(INBOUND_PANEL_TYPE)) {
@Override
protected void editItemPerformed(
AjaxRequestTarget target,
Expand Down Expand Up @@ -134,7 +153,7 @@ private ITab createOutboundTableTab() {

@Override
public WebMarkupContainer createPanel(String panelId) {
return new OutboundAttributeMappingsTable<>(panelId, getValueModel()) {
return new OutboundAttributeMappingsTable<>(panelId, getValueModel(), getConfiguration(OUTBOUND_PANEL_TYPE)) {
@Override
protected void editItemPerformed(
AjaxRequestTarget target,
Expand Down Expand Up @@ -233,4 +252,10 @@ protected IModel<String> getSubTextModel() {
protected String getCssForWidthOfFeedbackPanel() {
return "col-11";
}

protected ContainerPanelConfigurationType getConfiguration(String panelType){
return WebComponentUtil.getContainerConfiguration(
getAssignmentHolderDetailsModel().getObjectDetailsPageConfiguration().getObject(),
panelType);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
public class AttributeOutboundStepPanel<ODM extends ObjectDetailsModels>
extends AbstractValueFormResourceWizardStepPanel<MappingType, ODM> {

public static final String PANEL_TYPE = "rw-attribute-outbound";
private static final String PANEL_TYPE = "rw-attribute-outbound";

public AttributeOutboundStepPanel(ODM model, IModel<PrismContainerValueWrapper<MappingType>> newValueModel) {
super(model, newValueModel);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
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.ResourceObjectTypeDefinitionType;

import org.apache.wicket.extensions.markup.html.repeater.data.table.IColumn;
import org.apache.wicket.model.IModel;
Expand All @@ -32,8 +32,10 @@
* @author lskublik
*/
public abstract class InboundAttributeMappingsTable<P extends Containerable> extends AttributeMappingsTable<P>{
public InboundAttributeMappingsTable(String id, IModel<PrismContainerValueWrapper<P>> valueModel) {
super(id, valueModel);
public InboundAttributeMappingsTable(
String id, IModel<PrismContainerValueWrapper<P>> valueModel,
ContainerPanelConfigurationType config) {
super(id, valueModel, config);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,9 @@ public abstract class MappingOverrideTable extends AbstractResourceWizardTable<R

public MappingOverrideTable(
String id,
IModel<PrismContainerValueWrapper<ResourceObjectTypeDefinitionType>> valueModel) {
super(id, valueModel, ResourceAttributeDefinitionType.class);
IModel<PrismContainerValueWrapper<ResourceObjectTypeDefinitionType>> valueModel,
ContainerPanelConfigurationType config) {
super(id, valueModel, config, ResourceAttributeDefinitionType.class);
}

protected PrismContainerValueWrapper createNewValue(AjaxRequestTarget target) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,15 @@
import com.evolveum.midpoint.gui.impl.page.admin.resource.ResourceDetailsModel;
import com.evolveum.midpoint.gui.impl.page.admin.resource.component.wizard.AbstractResourceWizardBasicPanel;
import com.evolveum.midpoint.gui.impl.component.wizard.WizardPanelHelper;
import com.evolveum.midpoint.web.application.PanelDisplay;
import com.evolveum.midpoint.web.application.PanelInstance;
import com.evolveum.midpoint.web.application.PanelType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.OperationTypeType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceAttributeDefinitionType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceObjectTypeDefinitionType;

import com.evolveum.midpoint.xml.ns._public.common.common_3.ResourceType;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.model.IModel;
import org.jetbrains.annotations.NotNull;
Expand All @@ -22,8 +28,16 @@
/**
* @author lskublik
*/

@PanelType(name = "rw-attributes")
@PanelInstance(identifier = "rw-attributes",
applicableForType = ResourceType.class,
applicableForOperation = OperationTypeType.WIZARD,
display = @PanelDisplay(label = "MappingOverridesTableWizardPanel.text", icon = "fa fa-shuffle"))
public abstract class MappingOverridesTableWizardPanel extends AbstractResourceWizardBasicPanel<ResourceObjectTypeDefinitionType> {

private static final String PANEL_TYPE = "rw-attributes";

private static final String ID_TABLE = "table";

public MappingOverridesTableWizardPanel(
Expand All @@ -40,7 +54,7 @@ protected void onInitialize() {

private void initLayout() {

MappingOverrideTable table = new MappingOverrideTable(ID_TABLE, getValueModel()) {
MappingOverrideTable table = new MappingOverrideTable(ID_TABLE, getValueModel(), getConfiguration()) {
@Override
protected void editItemPerformed(AjaxRequestTarget target, IModel<PrismContainerValueWrapper<ResourceAttributeDefinitionType>> rowModel, List<PrismContainerValueWrapper<ResourceAttributeDefinitionType>> listItems) {
inEditNewValue(rowModel, target);
Expand Down Expand Up @@ -86,4 +100,8 @@ protected IModel<String> getSubTextModel() {
protected String getCssForWidthOfFeedbackPanel() {
return "col-10";
}

protected String getPanelType() {
return PANEL_TYPE;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,9 @@ public abstract class OutboundAttributeMappingsTable<P extends Containerable> ex

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

public OutboundAttributeMappingsTable(String id, IModel<PrismContainerValueWrapper<P>> valueModel) {
super(id, valueModel);
public OutboundAttributeMappingsTable(
String id, IModel<PrismContainerValueWrapper<P>> valueModel, ContainerPanelConfigurationType config) {
super(id, valueModel, config);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import com.evolveum.midpoint.gui.impl.component.input.ContainersDropDownPanel;
import com.evolveum.midpoint.gui.impl.page.admin.resource.component.wizard.AbstractResourceWizardTable;
import com.evolveum.midpoint.prism.PrismContainerDefinition;
import com.evolveum.midpoint.prism.PrismContainerValue;
import com.evolveum.midpoint.prism.path.ItemName;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.util.exception.SchemaException;
Expand Down Expand Up @@ -55,8 +54,8 @@ public class CorrelationItemRefsTable extends AbstractResourceWizardTable<Correl

public CorrelationItemRefsTable(
String id,
IModel<PrismContainerValueWrapper<ItemsSubCorrelatorType>> valueModel) {
super(id, valueModel, CorrelationItemType.class);
IModel<PrismContainerValueWrapper<ItemsSubCorrelatorType>> valueModel, ContainerPanelConfigurationType config) {
super(id, valueModel, config, CorrelationItemType.class);
}

@Override
Expand Down

0 comments on commit 9446970

Please sign in to comment.