001/**
002 * Copyright 2005-2017 The Kuali Foundation
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package org.kuali.rice.kew.rule.web;
017
018import java.util.ArrayList;
019import java.util.HashMap;
020import java.util.LinkedHashMap;
021import java.util.List;
022import java.util.Map;
023
024import org.kuali.rice.kew.doctype.bo.DocumentType;
025import org.kuali.rice.kew.engine.node.RouteNode;
026import org.kuali.rice.kew.rule.web.DocumentConfigurationViewAction.PermissionForDisplay;
027import org.kuali.rice.kew.rule.web.DocumentConfigurationViewAction.ResponsibilityForDisplay;
028import org.kuali.rice.kim.api.role.Role;
029import org.kuali.rice.kns.web.struts.form.KualiForm;
030
031/**
032 * This is a description of what this class does - kellerj don't forget to fill this in. 
033 * 
034 * @author Kuali Rice Team (rice.collab@kuali.org)
035 *
036 */
037public class DocumentConfigurationViewForm extends KualiForm {
038
039        private static final long serialVersionUID = -6251534168125209176L;
040        
041        protected String documentTypeName;
042        protected DocumentType documentType; 
043        protected DocumentType parentDocumentType; 
044        protected List<DocumentType> childDocumentTypes; 
045//    protected List<KimPermissionInfo> permissions = null;
046    protected List<String> docTypeHierarchyList = new ArrayList<String>();
047    protected LinkedHashMap<String,List<PermissionForDisplay>> permissionsByDocumentType = new LinkedHashMap<String, List<PermissionForDisplay>>();
048    protected Map<String,List<Role>> permissionRoles = new HashMap<String, List<Role>>();
049    protected Map<String,String> attributeLabels;
050    protected List<RouteNode> routeNodes;
051    protected Map<String,List<ResponsibilityForDisplay>> responsibilityMap;
052    protected Map<String,List<Role>> responsibilityRoles;
053    protected List<ResponsibilityForDisplay> exceptionResponsibilities;
054    protected boolean canInitiateDocumentTypeDocument = false;
055    protected boolean canInitiatePermissionDocument = false;
056    protected boolean canInitiateResponsibilityDocument = false;
057
058        public Map<String, List<Role>> getPermissionRoles() {
059                return this.permissionRoles;
060        }
061
062        public void setPermissionRoles(Map<String, List<Role>> permissionRoles) {
063                this.permissionRoles = permissionRoles;
064        }
065
066        public String getDocumentTypeName() {
067                return this.documentTypeName;
068        }
069
070        public void setDocumentTypeName(String documentTypeName) {
071                this.documentTypeName = documentTypeName;
072        }
073
074        public DocumentType getDocumentType() {
075                return this.documentType;
076        }
077
078        public void setDocumentType(DocumentType documentType) {
079                this.documentType = documentType;
080        }
081
082        public DocumentType getParentDocumentType() {
083                return this.parentDocumentType;
084        }
085
086        public void setParentDocumentType(DocumentType parentDocumentType) {
087                this.parentDocumentType = parentDocumentType;
088        }
089
090        public List<DocumentType> getChildDocumentTypes() {
091                return this.childDocumentTypes;
092        }
093
094        public void setChildDocumentTypes(List<DocumentType> childDocumentTypes) {
095                this.childDocumentTypes = childDocumentTypes;
096        }
097
098        public Map<String, String> getAttributeLabels() {
099                return this.attributeLabels;
100        }
101
102        public void setAttributeLabels(Map<String, String> attributeLabels) {
103                this.attributeLabels = attributeLabels;
104        }
105
106        public List<RouteNode> getRouteNodes() {
107                return this.routeNodes;
108        }
109
110        public void setRouteNodes(List<RouteNode> routeNodes) {
111                this.routeNodes = routeNodes;
112        }
113
114        public Map<String, List<ResponsibilityForDisplay>> getResponsibilityMap() {
115                return this.responsibilityMap;
116        }
117
118        public void setResponsibilityMap(
119                        Map<String, List<ResponsibilityForDisplay>> responsibilityMap) {
120                this.responsibilityMap = responsibilityMap;
121        }
122
123        public List<String> getDocTypeHierarchyList() {
124                return this.docTypeHierarchyList;
125        }
126
127        public void setDocTypeHierarchyList(List<String> docTypeHierarchyList) {
128                this.docTypeHierarchyList = docTypeHierarchyList;
129        }
130
131        public LinkedHashMap<String, List<PermissionForDisplay>> getPermissionsByDocumentType() {
132                return this.permissionsByDocumentType;
133        }
134
135        public void setPermissionsByDocumentType(
136                        LinkedHashMap<String, List<PermissionForDisplay>> permissionsByDocumentType) {
137                this.permissionsByDocumentType = permissionsByDocumentType;
138        }
139
140        public void addDocumentType( String documentTypeName ) {
141                docTypeHierarchyList.add(documentTypeName);             
142        }
143        
144        public void setPermissionsForDocumentType( String documentTypeName, List<PermissionForDisplay> perms ) {
145                permissionsByDocumentType.put(documentTypeName, perms);
146        }
147
148        public boolean isCanInitiateDocumentTypeDocument() {
149                return this.canInitiateDocumentTypeDocument;
150        }
151
152        public void setCanInitiateDocumentTypeDocument(
153                        boolean canInitiateDocumentTypeDocument) {
154                this.canInitiateDocumentTypeDocument = canInitiateDocumentTypeDocument;
155        }
156
157        public Map<String, List<Role>> getResponsibilityRoles() {
158                return this.responsibilityRoles;
159        }
160
161        public void setResponsibilityRoles(
162                        Map<String, List<Role>> responsibilityRoles) {
163                this.responsibilityRoles = responsibilityRoles;
164        }
165
166        public boolean isCanInitiatePermissionDocument() {
167                return this.canInitiatePermissionDocument;
168        }
169
170        public void setCanInitiatePermissionDocument(
171                        boolean canInitiatePermissionDocument) {
172                this.canInitiatePermissionDocument = canInitiatePermissionDocument;
173        }
174
175        public boolean isCanInitiateResponsibilityDocument() {
176                return this.canInitiateResponsibilityDocument;
177        }
178
179        public void setCanInitiateResponsibilityDocument(
180                        boolean canInitiateResponsibilityDocument) {
181                this.canInitiateResponsibilityDocument = canInitiateResponsibilityDocument;
182        }
183
184        /**
185         * @return the exceptionResponsibilities
186         */
187        public List<ResponsibilityForDisplay> getExceptionResponsibilities() {
188                return this.exceptionResponsibilities;
189        }
190
191        /**
192         * @param exceptionResponsibilities the exceptionResponsibilities to set
193         */
194        public void setExceptionResponsibilities(
195                        List<ResponsibilityForDisplay> exceptionResponsibilities) {
196                this.exceptionResponsibilities = exceptionResponsibilities;
197        }
198
199}