/* * Copyright (c) 2010-2016 Evolveum * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.evolveum.midpoint.web.session; import com.evolveum.midpoint.prism.PrismObject; import com.evolveum.midpoint.prism.query.ObjectPaging; import com.evolveum.midpoint.util.DebugUtil; import com.evolveum.midpoint.web.component.assignment.AssignmentEditorDto; import com.evolveum.midpoint.web.component.search.Search; import com.evolveum.midpoint.web.component.util.SelectableBean; import com.evolveum.midpoint.web.page.admin.users.dto.TreeStateSet; import com.evolveum.midpoint.web.page.self.dto.AssignmentConflictDto; import com.evolveum.midpoint.web.page.self.dto.AssignmentViewType; import com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType; import com.evolveum.midpoint.xml.ns._public.common.common_3.UserType; import java.util.ArrayList; import java.util.List; /** * Created by honchar. */ public class RoleCatalogStorage implements PageStorage, OrgTreeStateStorage { /** * DTO used for search in {@link com.evolveum.midpoint.web.page.self.PageAssignmentShoppingKart} */ private Search roleCatalogSearch; /** * Paging DTO used in table on page {@link com.evolveum.midpoint.web.page.self.PageAssignmentShoppingKart} */ private SelectableBean<OrgType> selectedItem; //selected tree item on the Org. structure page private String selectedOid; private TreeStateSet<SelectableBean<OrgType>> expandedItems; //expanded tree items on the Org. structure page private int selectedTabId = 0; //selected tab id on the Org. structure page private SelectableBean<OrgType> collapsedItem = null; //collapsed tree item private List<AssignmentEditorDto> assignmentShoppingCart; // a list of assignments in the shopping cart private AssignmentViewType viewType = null; //the current view type private List<PrismObject<UserType>> targetUserList = new ArrayList<>(); private PrismObject<UserType> assignmentsUserOwner = null; private List<AssignmentConflictDto> conflictsList; private String requestDescription = ""; private ObjectPaging roleCatalogPaging; public Search getSearch() { return roleCatalogSearch; } public void setSearch(Search roleCatalog) { this.roleCatalogSearch = roleCatalog; } @Override public ObjectPaging getPaging() { return roleCatalogPaging; } @Override public void setPaging(ObjectPaging roleCatalogPaging) { this.roleCatalogPaging = roleCatalogPaging; } public String getRequestDescription() { return requestDescription; } public void setRequestDescription(String requestDescription) { this.requestDescription = requestDescription; } @Override public String debugDump() { return debugDump(0); } @Override public String debugDump(int indent) { StringBuilder sb = new StringBuilder(); DebugUtil.indentDebugDump(sb, indent); sb.append("RoleCatalogStorage\n"); DebugUtil.debugDumpWithLabelLn(sb, "roleCatalogSearch", roleCatalogSearch, indent+1); DebugUtil.debugDumpWithLabelLn(sb, "roleCatalogPaging", roleCatalogPaging, indent + 1); return sb.toString(); } @Override public SelectableBean<OrgType> getSelectedItem() { return selectedItem; } @Override public void setSelectedItem(SelectableBean<OrgType> selectedItem) { this.selectedItem = selectedItem; } @Override public TreeStateSet<SelectableBean<OrgType>> getExpandedItems() { return expandedItems; } @Override public void setExpandedItems(TreeStateSet<SelectableBean<OrgType>> expandedItems) { this.expandedItems = expandedItems; } @Override public int getSelectedTabId() { return selectedTabId; } @Override public void setSelectedTabId(int selectedTabId) { this.selectedTabId = selectedTabId; } @Override public SelectableBean<OrgType> getCollapsedItem() { return collapsedItem; } @Override public void setCollapsedItem(SelectableBean<OrgType> collapsedItem) { this.collapsedItem = collapsedItem; } public List<AssignmentConflictDto> getConflictsList() { return conflictsList == null ? new ArrayList<>() : conflictsList; } public void setConflictsList(List<AssignmentConflictDto> conflictsList) { this.conflictsList = conflictsList; } public List<AssignmentEditorDto> getAssignmentShoppingCart() { if (assignmentShoppingCart == null){ assignmentShoppingCart = new ArrayList<>(); } return assignmentShoppingCart; } public void setAssignmentShoppingCart(List<AssignmentEditorDto> assignmentShoppingCart) { this.assignmentShoppingCart = assignmentShoppingCart; } public AssignmentViewType getViewType() { return viewType; } public void setViewType(AssignmentViewType viewType) { this.viewType = viewType; } public String getSelectedOid() { return selectedOid; } public void setSelectedOid(String selectedOid) { this.selectedOid = selectedOid; } public List<PrismObject<UserType>> getTargetUserList() { return targetUserList; } public void setTargetUserList(List<PrismObject<UserType>> targetUserList) { this.targetUserList = targetUserList; } public PrismObject<UserType> getAssignmentsUserOwner() { return assignmentsUserOwner; } public void setAssignmentsUserOwner(PrismObject<UserType> assignmentsUserOwner) { this.assignmentsUserOwner = assignmentsUserOwner; } public boolean isMultiUserRequest(){ return getTargetUserList() != null && getTargetUserList().size() > 1; } }