001/** 002 * Copyright 2005-2016 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.kim.impl.permission; 017 018 019 020import org.apache.commons.lang.StringUtils; 021import org.kuali.rice.kim.api.KimConstants; 022import org.kuali.rice.kim.api.identity.Person; 023import org.kuali.rice.kim.impl.group.GroupBo; 024import org.kuali.rice.kim.impl.role.RoleBo; 025import org.springframework.util.AutoPopulatingList; 026import org.kuali.rice.kim.api.permission.Permission; 027 028import java.util.List; 029 030//strange - hacky non-PBO 031public class UberPermissionBo extends PermissionBo { 032 033 private static final long serialVersionUID = 1L; 034 035 private List<RoleBo> assignedToRoles = new AutoPopulatingList(RoleBo.class); 036 private String assignedToRoleNamespaceForLookup; 037 private String assignedToRoleNameForLookup; 038 private RoleBo assignedToRole; 039 private String assignedToPrincipalNameForLookup; 040 private Person assignedToPrincipal; 041 private String assignedToGroupNamespaceForLookup; 042 private String assignedToGroupNameForLookup; 043 private GroupBo assignedToGroup; 044 private String attributeName; 045 private String attributeValue; 046 private String detailCriteria; 047 048 public static UberPermissionBo from(PermissionBo bo) { 049 if (bo == null) { 050 return null; 051 } 052 Permission.Builder builder = Permission.Builder.create(bo); 053 return (UberPermissionBo) PermissionBo.from(builder.build()); 054 055 } 056 public String getAssignedToRolesToDisplay() { 057 StringBuffer assignedToRolesText = new StringBuffer(); 058 for (RoleBo roleImpl: assignedToRoles) { 059 assignedToRolesText.append(roleImpl.getNamespaceCode().trim()) 060 .append(" ") 061 .append(roleImpl.getName().trim()) 062 .append(KimConstants.KimUIConstants.COMMA_SEPARATOR); 063 } 064 return StringUtils.chomp(assignedToRolesText.toString(), KimConstants.KimUIConstants.COMMA_SEPARATOR); 065 } 066 067 public List<RoleBo> getAssignedToRoles() { 068 return assignedToRoles; 069 } 070 071 public void setAssignedToRoles(List<RoleBo> assignedToRoles) { 072 this.assignedToRoles = assignedToRoles; 073 } 074 075 public String getAssignedToRoleNamespaceForLookup() { 076 return assignedToRoleNamespaceForLookup; 077 } 078 079 public void setAssignedToRoleNamespaceForLookup(String assignedToRoleNamespaceForLookup) { 080 this.assignedToRoleNamespaceForLookup = assignedToRoleNamespaceForLookup; 081 } 082 083 public String getAssignedToRoleNameForLookup() { 084 return assignedToRoleNameForLookup; 085 } 086 087 public void setAssignedToRoleNameForLookup(String assignedToRoleNameForLookup) { 088 this.assignedToRoleNameForLookup = assignedToRoleNameForLookup; 089 } 090 091 public RoleBo getAssignedToRole() { 092 return assignedToRole; 093 } 094 095 public void setAssignedToRole(RoleBo assignedToRole) { 096 this.assignedToRole = assignedToRole; 097 } 098 099 public String getAssignedToPrincipalNameForLookup() { 100 return assignedToPrincipalNameForLookup; 101 } 102 103 public void setAssignedToPrincipalNameForLookup(String assignedToPrincipalNameForLookup) { 104 this.assignedToPrincipalNameForLookup = assignedToPrincipalNameForLookup; 105 } 106 107 public Person getAssignedToPrincipal() { 108 return assignedToPrincipal; 109 } 110 111 public void setAssignedToPrincipal(Person assignedToPrincipal) { 112 this.assignedToPrincipal = assignedToPrincipal; 113 } 114 115 public String getAssignedToGroupNamespaceForLookup() { 116 return assignedToGroupNamespaceForLookup; 117 } 118 119 public void setAssignedToGroupNamespaceForLookup(String assignedToGroupNamespaceForLookup) { 120 this.assignedToGroupNamespaceForLookup = assignedToGroupNamespaceForLookup; 121 } 122 123 public String getAssignedToGroupNameForLookup() { 124 return assignedToGroupNameForLookup; 125 } 126 127 public void setAssignedToGroupNameForLookup(String assignedToGroupNameForLookup) { 128 this.assignedToGroupNameForLookup = assignedToGroupNameForLookup; 129 } 130 131 public GroupBo getAssignedToGroup() { 132 return assignedToGroup; 133 } 134 135 public void setAssignedToGroup(GroupBo assignedToGroup) { 136 this.assignedToGroup = assignedToGroup; 137 } 138 139 public String getAttributeName() { 140 return attributeName; 141 } 142 143 public void setAttributeName(String attributeName) { 144 this.attributeName = attributeName; 145 } 146 147 public String getAttributeValue() { 148 return attributeValue; 149 } 150 151 public void setAttributeValue(String attributeValue) { 152 this.attributeValue = attributeValue; 153 } 154 155 public String getDetailCriteria() { 156 return detailCriteria; 157 } 158 159 public void setDetailCriteria(String detailCriteria) { 160 this.detailCriteria = detailCriteria; 161 } 162 163 164} 165