Skip to content

Commit

Permalink
Support new associations
Browse files Browse the repository at this point in the history
Work in progress.
  • Loading branch information
mederly committed Feb 23, 2024
1 parent 015154e commit 1b9aaf1
Show file tree
Hide file tree
Showing 120 changed files with 1,112 additions and 1,362 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
import java.util.Map;

import com.evolveum.midpoint.gui.impl.util.ProvisioningObjectsUtil;
import com.evolveum.midpoint.schema.processor.ShadowAssociationDefinition;
import com.evolveum.midpoint.util.exception.ConfigurationException;

import org.apache.commons.collections4.CollectionUtils;
Expand All @@ -33,7 +34,6 @@
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.prism.path.NameItemPathSegment;
import com.evolveum.midpoint.schema.constants.ObjectTypes;
import com.evolveum.midpoint.schema.processor.ResourceAssociationDefinition;
import com.evolveum.midpoint.schema.processor.ResourceObjectTypeDefinition;
import com.evolveum.midpoint.schema.processor.ResourceSchema;
import com.evolveum.midpoint.schema.processor.ResourceSchemaFactory;
Expand Down Expand Up @@ -67,7 +67,7 @@ public class ResourceTypeAssignmentPopupTabPanel extends AbstractAssignmentPopup
private static final String ID_ASSOCIATION = "association";

private LoadableModel<List<String>> intentValues;
private LoadableModel<List<ResourceAssociationDefinition>> associationValuesModel;
private LoadableModel<List<ShadowAssociationDefinition>> associationValuesModel;

private static final String DOT_CLASS = ResourceTypeAssignmentPopupTabPanel.class.getName();
private static final Trace LOGGER = TraceManager.getTrace(ResourceTypeAssignmentPopupTabPanel.class);
Expand Down Expand Up @@ -140,22 +140,22 @@ protected void onUpdate(AjaxRequestTarget target) {
associationContainer.add(new VisibleBehaviour(() -> isEntitlementAssignment()));
parametersPanel.add(associationContainer);

DropDownChoicePanel<ResourceAssociationDefinition> associationSelector = new DropDownChoicePanel<>(ID_ASSOCIATION,
Model.of(), associationValuesModel, new IChoiceRenderer<ResourceAssociationDefinition>() {
DropDownChoicePanel<ShadowAssociationDefinition> associationSelector = new DropDownChoicePanel<>(ID_ASSOCIATION,
Model.of(), associationValuesModel, new IChoiceRenderer<ShadowAssociationDefinition>() {
private static final long serialVersionUID = 1L;

@Override
public Object getDisplayValue(ResourceAssociationDefinition refinedAssociationDefinition) {
public Object getDisplayValue(ShadowAssociationDefinition refinedAssociationDefinition) {
return ProvisioningObjectsUtil.getAssociationDisplayName(refinedAssociationDefinition);
}

@Override
public String getIdValue(ResourceAssociationDefinition refinedAssociationDefinition, int index) {
public String getIdValue(ShadowAssociationDefinition refinedAssociationDefinition, int index) {
return Integer.toString(index);
}

@Override
public ResourceAssociationDefinition getObject(String id, IModel<? extends List<? extends ResourceAssociationDefinition>> choices) {
public ShadowAssociationDefinition getObject(String id, IModel<? extends List<? extends ShadowAssociationDefinition>> choices) {
return StringUtils.isNotBlank(id) ? choices.getObject().get(Integer.parseInt(id)) : null;
}
}, true);
Expand Down Expand Up @@ -206,9 +206,9 @@ protected List<String> load() {
return availableIntentValues;
}
};
associationValuesModel = new LoadableModel<List<ResourceAssociationDefinition>>() {
associationValuesModel = new LoadableModel<List<ShadowAssociationDefinition>>() {
@Override
protected List<ResourceAssociationDefinition> load() {
protected List<ShadowAssociationDefinition> load() {
ResourceType resource = getSelectedObjectsList() != null && getSelectedObjectsList().size() > 0 ?
getSelectedObjectsList().get(0) : null;
if (resource == null) {
Expand Down Expand Up @@ -262,8 +262,8 @@ private String getIntentValue() {
return intentDropDown.getModel() != null ? intentDropDown.getModel().getObject() : null;
}

private ResourceAssociationDefinition getAssociationValue() {
DropDownChoicePanel<ResourceAssociationDefinition> associationDropDown = getAssociationDropDown();
private ShadowAssociationDefinition getAssociationValue() {
DropDownChoicePanel<ShadowAssociationDefinition> associationDropDown = getAssociationDropDown();
return associationDropDown != null ? associationDropDown.getModel().getObject() : null;
}

Expand All @@ -275,8 +275,8 @@ private DropDownChoicePanel<ShadowKindType> getKindDropDown() {
return (DropDownChoicePanel<ShadowKindType>) get(getPageBase().createComponentPath(ID_PARAMETERS_PANEL, ID_KIND_CONTAINER, ID_KIND));
}

private DropDownChoicePanel<ResourceAssociationDefinition> getAssociationDropDown() {
return (DropDownChoicePanel<ResourceAssociationDefinition>) get(getPageBase().createComponentPath(ID_PARAMETERS_PANEL, ID_ASSOCIATION_CONTAINER, ID_ASSOCIATION));
private DropDownChoicePanel<ShadowAssociationDefinition> getAssociationDropDown() {
return (DropDownChoicePanel<ShadowAssociationDefinition>) get(getPageBase().createComponentPath(ID_PARAMETERS_PANEL, ID_ASSOCIATION_CONTAINER, ID_ASSOCIATION));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@
package com.evolveum.midpoint.gui.api.factory.wrapper;

import com.evolveum.midpoint.gui.api.util.MappingDirection;
import com.evolveum.midpoint.prism.path.ItemName;
import com.evolveum.midpoint.schema.ResourceShadowCoordinates;
import com.evolveum.midpoint.schema.processor.ResourceAssociationDefinition;
import com.evolveum.midpoint.schema.processor.ShadowAssociationDefinition;
import com.evolveum.midpoint.gui.api.prism.ItemStatus;
import com.evolveum.midpoint.model.api.MetadataItemProcessingSpec;
import com.evolveum.midpoint.prism.PrismObject;
Expand Down Expand Up @@ -48,7 +47,7 @@ public class WrapperContext {
private ResourceShadowCoordinates coordinates;

//Association related attributes
private Collection<ResourceAssociationDefinition> resourceAssociationDefinitions;
private Collection<ShadowAssociationDefinition> shadowAssociationDefinitions;

//used e.g. for metadata - opertionsla attributes but want to create wrappers for them
private boolean createOperational;
Expand Down Expand Up @@ -123,12 +122,12 @@ public void setResource(ResourceType resource) {
this.resource = resource;
}

public Collection<ResourceAssociationDefinition> getRefinedAssociationDefinitions() {
return resourceAssociationDefinitions;
public Collection<ShadowAssociationDefinition> getRefinedAssociationDefinitions() {
return shadowAssociationDefinitions;
}

public void setRefinedAssociationDefinitions(Collection<ResourceAssociationDefinition> resourceAssociationDefinitions) {
this.resourceAssociationDefinitions = resourceAssociationDefinitions;
public void setRefinedAssociationDefinitions(Collection<ShadowAssociationDefinition> shadowAssociationDefinitions) {
this.shadowAssociationDefinitions = shadowAssociationDefinitions;
}

public void setCoordinates(ResourceShadowCoordinates coordinates) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.prism.query.ObjectFilter;
import com.evolveum.midpoint.schema.expression.VariablesMap;
import com.evolveum.midpoint.schema.processor.ResourceAssociationDefinition;
import com.evolveum.midpoint.schema.processor.ShadowAssociationDefinition;
import com.evolveum.midpoint.schema.processor.ResourceObjectDefinition;
import com.evolveum.midpoint.util.DisplayableValue;

Expand All @@ -33,7 +33,7 @@ private static List<DisplayableValue<ItemName>> initAvailableValues(ResourceObje
if (objectDefinition == null) {
return List.of();
}
List<ResourceAssociationDefinition> associations = ProvisioningObjectsUtil.getRefinedAssociationDefinition(objectDefinition);
List<ShadowAssociationDefinition> associations = ProvisioningObjectsUtil.getRefinedAssociationDefinition(objectDefinition);
List<DisplayableValue<ItemName>> values = new ArrayList<>();
associations.forEach(association -> values.add(
new SearchValue<>(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@

import com.evolveum.midpoint.gui.api.prism.wrapper.PrismValueWrapper;

import com.evolveum.midpoint.schema.processor.ShadowAssociationDefinition;
import jakarta.annotation.PostConstruct;

import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.prism.PrismObject;
import com.evolveum.midpoint.schema.GetOperationOptions;
import com.evolveum.midpoint.schema.SelectorOptions;
import com.evolveum.midpoint.schema.processor.ResourceAssociationDefinition;
import com.evolveum.midpoint.schema.processor.ResourceAttributeDefinition;
import com.evolveum.midpoint.schema.processor.ResourceObjectDefinition;

Expand Down Expand Up @@ -153,9 +153,9 @@ private List<ItemName> getChoicesList(PrismPropertyPanelContext<ItemPathType> ct
}

if (ConstructionType.F_ASSOCIATION.equivalent(attributeWrapper.getItemName())) {
Collection<ResourceAssociationDefinition> associationDefs = rOcd.getAssociationDefinitions();
Collection<ShadowAssociationDefinition> associationDefs = rOcd.getAssociationDefinitions();
return associationDefs.stream()
.map(ResourceAssociationDefinition::getName)
.map(ShadowAssociationDefinition::getName)
.collect(Collectors.toList());
}

Expand Down

0 comments on commit 1b9aaf1

Please sign in to comment.