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