/* * 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 java.util.Set; import com.evolveum.midpoint.prism.query.ObjectPaging; import com.evolveum.midpoint.util.DebugDumpable; import com.evolveum.midpoint.util.DebugUtil; 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.OrgUnitSearchDto; import com.evolveum.midpoint.web.page.admin.users.dto.TreeStateSet; import com.evolveum.midpoint.xml.ns._public.common.common_3.OrgType; /** * @author lazyman */ public class UsersStorage implements PageStorage, DebugDumpable, OrgTreeStateStorage { /** * */ private static final long serialVersionUID = 1L; /** * DTO used for search in {@link com.evolveum.midpoint.web.page.admin.users.PageUsers} */ private Search usersSearch; /** * DTO used for search purposes in {@link com.evolveum.midpoint.web.page.admin.users in OrgUnitBrowser} */ private OrgUnitSearchDto orgUnitSearch; /** * Paging DTO used in table on page {@link com.evolveum.midpoint.web.page.admin.users in OrgUnitBrowser} */ private ObjectPaging orgUnitPaging; /** * Paging DTO used in table on page {@link com.evolveum.midpoint.web.page.admin.users.PageUsers} */ private ObjectPaging usersPaging; private SelectableBean<OrgType> selectedItem; //selected tree item on the Org. structure page private TreeStateSet<SelectableBean<OrgType>> expandedItems; //expanded tree items on the Org. structure page private int selectedTabId = -1; //selected tab id on the Org. structure page private SelectableBean<OrgType> collapsedItem = null; //selected tab id on the Org. structure page @Override public ObjectPaging getPaging() { return usersPaging; } @Override public void setPaging(ObjectPaging usersPaging) { this.usersPaging = usersPaging; } @Override public Search getSearch() { return usersSearch; } @Override public void setSearch(Search usersSearch) { this.usersSearch = usersSearch; } public OrgUnitSearchDto getOrgUnitSearch() { return orgUnitSearch; } public void setOrgUnitSearch(OrgUnitSearchDto orgUnitSearch) { this.orgUnitSearch = orgUnitSearch; } public ObjectPaging getOrgUnitPaging() { return orgUnitPaging; } public void setOrgUnitPaging(ObjectPaging orgUnitPaging) { this.orgUnitPaging = orgUnitPaging; } @Override public Set<SelectableBean<OrgType>> getExpandedItems() { return expandedItems; } @Override public void setExpandedItems(TreeStateSet<SelectableBean<OrgType>> expandedItems) { this.expandedItems = expandedItems != null ? expandedItems.clone() : null; } @Override public SelectableBean<OrgType> getSelectedItem() { return selectedItem; } @Override public void setSelectedItem(SelectableBean<OrgType> selectedItem) { this.selectedItem = selectedItem; } @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; } @Override public String debugDump() { return debugDump(0); } @Override public String debugDump(int indent) { StringBuilder sb = new StringBuilder(); DebugUtil.indentDebugDump(sb, indent); sb.append("UsersStorage\n"); DebugUtil.debugDumpWithLabelLn(sb, "usersSearch", usersSearch, indent+1); DebugUtil.debugDumpWithLabelLn(sb, "orgUnitSearch", orgUnitSearch, indent+1); DebugUtil.debugDumpWithLabelLn(sb, "orgUnitPaging", orgUnitPaging, indent+1); DebugUtil.debugDumpWithLabelLn(sb, "usersPaging", usersPaging, indent+1); DebugUtil.debugDumpWithLabelLn(sb, "selectedItem", selectedItem, indent+1); DebugUtil.debugDumpWithLabelLn(sb, "expandedItems", expandedItems, indent+1); DebugUtil.debugDumpWithLabelLn(sb, "selectedTabId", selectedTabId, indent+1); DebugUtil.debugDumpWithLabel(sb, "collapsedItem", collapsedItem, indent+1); return sb.toString(); } }