Skip to content

Commit

Permalink
some fixes for assignment details
Browse files Browse the repository at this point in the history
  • Loading branch information
KaterynaHonchar committed Oct 9, 2017
1 parent 17a591a commit 1c0c962
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 22 deletions.
Expand Up @@ -16,17 +16,18 @@
package com.evolveum.midpoint.web.component.assignment;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;

import com.evolveum.midpoint.gui.api.util.WebModelServiceUtils;
import com.evolveum.midpoint.prism.PrismContainer;
import com.evolveum.midpoint.prism.PrismContainerValue;
import com.evolveum.midpoint.prism.path.ItemPath;
import com.evolveum.midpoint.util.exception.SchemaException;
import com.evolveum.midpoint.util.exception.TunnelException;
import com.evolveum.midpoint.web.component.prism.*;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ActivationStatusType;
import com.evolveum.midpoint.xml.ns._public.common.common_3.ObjectType;
import org.apache.commons.lang.StringUtils;
import org.apache.wicket.AttributeModifier;
import org.apache.wicket.ajax.AjaxRequestTarget;
Expand All @@ -50,7 +51,6 @@
import com.evolveum.midpoint.gui.api.util.WebComponentUtil;
import com.evolveum.midpoint.prism.query.ObjectPaging;
import com.evolveum.midpoint.prism.query.ObjectQuery;
import com.evolveum.midpoint.schema.constants.SchemaConstants;
import com.evolveum.midpoint.security.api.AuthorizationConstants;
import com.evolveum.midpoint.web.component.AjaxButton;
import com.evolveum.midpoint.web.component.AjaxIconButton;
Expand Down Expand Up @@ -90,6 +90,7 @@ public abstract class AssignmentPanel extends BasePanel<ContainerWrapper<Assignm
private final static String ID_CANCEL_BUTTON = "cancelButton";

protected boolean assignmentDetailsVisible;
private List<ContainerValueWrapper<AssignmentType>> detailsPanelAssignmentsList = new ArrayList<>();

public AssignmentPanel(String id, IModel<ContainerWrapper<AssignmentType>> assignmentContainerWrapperModel) {
super(id, assignmentContainerWrapperModel);
Expand Down Expand Up @@ -352,18 +353,15 @@ public boolean isVisible() {

add(details);

IModel<List<ContainerValueWrapper<AssignmentType>>> selectedAssignmnetList = new AbstractReadOnlyModel<List<ContainerValueWrapper<AssignmentType>>>() {

private static final long serialVersionUID = 1L;

@Override
public List<ContainerValueWrapper<AssignmentType>> getObject() {
return getModelObject().getValues().stream().filter(v -> v.isSelected()).collect(Collectors.toList());
}
};

ListView<ContainerValueWrapper<AssignmentType>> assignmentDetailsView = new ListView<ContainerValueWrapper<AssignmentType>>(ID_ASSIGNMENTS_DETAILS,
selectedAssignmnetList) {
new AbstractReadOnlyModel<List<ContainerValueWrapper<AssignmentType>>>() {
private static final long serialVersionUID = 1L;

@Override
public List<ContainerValueWrapper<AssignmentType>> getObject() {
return detailsPanelAssignmentsList;
}
}) {

private static final long serialVersionUID = 1L;

Expand All @@ -388,7 +386,6 @@ protected void populateItem(ListItem<ContainerValueWrapper<AssignmentType>> item
@Override
public void onClick(AjaxRequestTarget target) {
assignmentDetailsVisible = false;
getSelectedAssignments().stream().forEach(a -> a.setSelected(false));
refreshTable(target);
target.add(AssignmentPanel.this);
}
Expand All @@ -402,7 +399,6 @@ public void onClick(AjaxRequestTarget target) {
@Override
public void onClick(AjaxRequestTarget ajaxRequestTarget) {
assignmentDetailsVisible = false;
// getSelectedAssignments().stream().forEach(a -> {a.revertChanges(); a.setSelected(false);});
ajaxRequestTarget.add(AssignmentPanel.this);
}
};
Expand Down Expand Up @@ -471,15 +467,15 @@ public void onClick(AjaxRequestTarget target) {

protected void assignmentDetailsPerformed(AjaxRequestTarget target, IModel<ContainerValueWrapper<AssignmentType>> rowModel) {
assignmentDetailsVisible = true;
// getModelObject().forEach(a -> a.setSelected(false));
rowModel.getObject().setSelected(true);
detailsPanelAssignmentsList.clear();
detailsPanelAssignmentsList.add(rowModel.getObject());
target.add(AssignmentPanel.this);
}

protected void assignmentDetailsPerformed(AjaxRequestTarget target, List<ContainerValueWrapper<AssignmentType>> rowModel) {
assignmentDetailsVisible = true;
// getModelObject().forEach(a -> a.setSelected(false));
rowModel.stream().forEach(a -> a.setSelected(true));
detailsPanelAssignmentsList.clear();
detailsPanelAssignmentsList.addAll(rowModel);
target.add(AssignmentPanel.this);
}

Expand Down
Expand Up @@ -149,10 +149,9 @@ private AssignmentsTabStorage getPolicyRulesTabStorage(){
@Override
protected void newAssignmentClickPerformed(AjaxRequestTarget target) {
PrismContainerValue<AssignmentType> newAssignment = getModelObject().getItem().createNewValue();
newAssignment.asContainerable().setPolicyRule(new PolicyRuleType());
ContainerValueWrapper<AssignmentType> newAssignmentWrapper = createNewAssignmentContainerValueWrapper(newAssignment);
assignmentDetailsPerformed(target, Arrays.asList(newAssignmentWrapper));
// refreshTable(target);

}

@Override
Expand Down

0 comments on commit 1c0c962

Please sign in to comment.