001 /* 002 * Copyright 2011 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 */ 016 package org.kuali.kfs.coa.identity; 017 018 import java.sql.Date; 019 import java.util.ArrayList; 020 import java.util.Collections; 021 import java.util.HashMap; 022 import java.util.LinkedHashMap; 023 import java.util.List; 024 import java.util.Map; 025 026 import org.apache.commons.lang.StringUtils; 027 import org.kuali.kfs.coa.businessobject.Chart; 028 import org.kuali.kfs.coa.businessobject.Organization; 029 import org.kuali.kfs.sys.KFSConstants; 030 import org.kuali.kfs.sys.context.SpringContext; 031 import org.kuali.rice.kew.doctype.bo.DocumentTypeEBO; 032 import org.kuali.rice.kew.service.impl.KEWModuleService; 033 import org.kuali.rice.kew.util.CodeTranslator; 034 import org.kuali.rice.kim.bo.Group; 035 import org.kuali.rice.kim.bo.Person; 036 import org.kuali.rice.kim.bo.Role; 037 import org.kuali.rice.kim.bo.role.dto.DelegateMemberCompleteInfo; 038 import org.kuali.rice.kim.bo.role.dto.DelegateTypeInfo; 039 import org.kuali.rice.kim.bo.role.dto.RoleMemberCompleteInfo; 040 import org.kuali.rice.kim.bo.role.dto.RoleResponsibilityActionInfo; 041 import org.kuali.rice.kim.bo.types.dto.AttributeSet; 042 import org.kuali.rice.kim.bo.types.dto.KimTypeAttributeInfo; 043 import org.kuali.rice.kim.bo.types.dto.KimTypeInfo; 044 import org.kuali.rice.kim.service.KIMServiceLocator; 045 import org.kuali.rice.kim.util.KimConstants; 046 import org.kuali.rice.kns.bo.Inactivateable; 047 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase; 048 import org.kuali.rice.kns.service.KualiConfigurationService; 049 import org.kuali.rice.kns.service.KualiModuleService; 050 import org.kuali.rice.kns.util.KNSConstants; 051 import org.kuali.rice.kns.util.KualiDecimal; 052 import org.kuali.rice.kns.util.TypedArrayList; 053 import org.kuali.rice.kns.web.comparator.StringValueComparator; 054 055 /** 056 * @author Kuali Rice Team (kuali-rice@googlegroups.com) 057 */ 058 public class OrgReviewRole extends PersistableBusinessObjectBase implements Inactivateable { 059 protected static final String ORR_INQUIRY_TITLE_PROPERTY = "message.inquiry.org.review.role.title"; 060 protected static String INQUIRY_TITLE_VALUE = null; 061 062 //Dummy variable 063 protected String organizationTypeCode = "99"; 064 private static final long serialVersionUID = 1L; 065 066 public static final String REVIEW_ROLES_INDICATOR_FIELD_NAME = "reviewRolesIndicator"; 067 public static final String ROLE_NAME_FIELD_NAMESPACE_CODE = "roleMemberRoleNamespaceCode"; 068 public static final String ROLE_NAME_FIELD_NAME = "roleMemberRoleName"; 069 public static final String GROUP_NAME_FIELD_NAMESPACE_CODE = "groupMemberGroupNamespaceCode"; 070 public static final String GROUP_NAME_FIELD_NAME = "groupMemberGroupName"; 071 public static final String PRINCIPAL_NAME_FIELD_NAME = "principalMemberPrincipalName"; 072 public static final String CHART_CODE_FIELD_NAME = "chartOfAccountsCode"; 073 public static final String ORG_CODE_FIELD_NAME = "organizationCode"; 074 public static final String DOC_TYPE_NAME_FIELD_NAME = "financialSystemDocumentTypeCode"; 075 public static final String DELEGATE_FIELD_NAME = "delegate"; 076 public static final String DELEGATION_TYPE_CODE = "delegationTypeCode"; 077 public static final String FROM_AMOUNT_FIELD_NAME = "fromAmount"; 078 public static final String TO_AMOUNT_FIELD_NAME = "toAmount"; 079 public static final String OVERRIDE_CODE_FIELD_NAME = "overrideCode"; 080 public static final String ACTION_TYPE_CODE_FIELD_NAME = "actionTypeCode"; 081 public static final String PRIORITY_CODE_FIELD_NAME = "priorityNumber"; 082 public static final String ACTION_POLICY_CODE_FIELD_NAME = "actionPolicyCode"; 083 public static final String FORCE_ACTION_FIELD_NAME = "forceAction"; 084 085 public static final String ORIGINAL_DELEGATION_MEMBER_ID_TO_MODIFY = "ODelMId"; 086 public static final String ORIGINAL_ROLE_MEMBER_ID_TO_MODIFY = "ORMId"; 087 088 public static final String NEW_DELEGATION_ID_KEY_VALUE = "New"; 089 090 String methodToCall; 091 protected String kimTypeId; 092 093 protected String orgReviewRoleMemberId; 094 protected Chart chart = new Chart(); 095 protected Organization organization = new Organization(); 096 private boolean edit; 097 private boolean copy; 098 099 protected DelegateTypeInfo delegation = new DelegateTypeInfo(); 100 protected DelegateMemberCompleteInfo delegationMemberRole = new DelegateMemberCompleteInfo(); 101 protected DelegateMemberCompleteInfo delegationMemberGroup = new DelegateMemberCompleteInfo(); 102 protected DelegateMemberCompleteInfo delegationMemberPerson = new DelegateMemberCompleteInfo(); 103 104 protected RoleMemberCompleteInfo memberRole = new RoleMemberCompleteInfo(); 105 protected RoleMemberCompleteInfo memberGroup = new RoleMemberCompleteInfo(); 106 protected RoleMemberCompleteInfo memberPerson = new RoleMemberCompleteInfo(); 107 108 protected Role role; 109 protected Group group; 110 protected Person person; 111 112 protected List<KfsKimDocumentAttributeData> attributes = new TypedArrayList(KfsKimDocumentAttributeData.class); 113 protected List<RoleResponsibilityActionInfo> roleRspActions = new TypedArrayList(RoleResponsibilityActionInfo.class); 114 115 //Identifying information for the 3 kinds of role members this document caters to 116 protected String roleMemberRoleId; 117 protected String roleMemberRoleNamespaceCode; 118 protected String roleMemberRoleName; 119 120 protected String groupMemberGroupId; 121 protected String groupMemberGroupNamespaceCode; 122 protected String groupMemberGroupName; 123 124 protected String principalMemberPrincipalId; 125 protected String principalMemberPrincipalName; 126 127 //The role id this object corresponds to 128 protected String roleId; 129 protected String namespaceCode; 130 protected String roleName; 131 132 //Identifying information for a single member (of any type) 133 protected String memberId; 134 protected String memberTypeCode; 135 protected String memberName; 136 protected String memberNamespaceCode; 137 138 //In case the document is dealing with delegations 139 protected String delegationTypeCode; 140 141 protected String delegationMemberId; 142 protected String roleMemberId; 143 144 protected String oDelMId; 145 protected String oRMId; 146 147 protected String financialSystemDocumentTypeCode; 148 protected DocumentTypeEBO financialSystemDocumentType; 149 protected List<String> roleNamesToConsider; 150 private String reviewRolesIndicator; 151 152 protected String actionTypeCode; 153 protected String priorityNumber; 154 protected String actionPolicyCode; 155 protected boolean forceAction; 156 protected String chartOfAccountsCode; 157 protected String organizationCode; 158 protected KualiDecimal fromAmount; 159 protected KualiDecimal toAmount; 160 protected String overrideCode; 161 protected boolean active = true; 162 protected boolean delegate; 163 164 protected Date activeFromDate; 165 protected Date activeToDate; 166 167 public String getReportsToChartOfAccountsCode() { 168 return organization.getReportsToChartOfAccountsCode(); 169 } 170 public String getReportsToOrganizationCode() { 171 172 return organization.getReportsToOrganizationCode(); 173 } 174 /** 175 * Gets the active attribute. 176 * @return Returns the active. 177 */ 178 public boolean isActive() { 179 return active; 180 } 181 /** 182 * Sets the active attribute value. 183 * @param active The active to set. 184 */ 185 public void setActive(boolean active) { 186 this.active = active; 187 } 188 /** 189 * Gets the delegate attribute. 190 * @return Returns the delegate. 191 */ 192 public boolean isDelegate() { 193 return delegate; 194 } 195 /** 196 * Sets the delegate attribute value. 197 * @param delegate The delegate to set. 198 */ 199 public void setDelegate(boolean delegate) { 200 this.delegate = delegate; 201 } 202 /** 203 * Gets the chart attribute. 204 * @return Returns the chart. 205 */ 206 public Chart getChart() { 207 return chart; 208 } 209 /** 210 * Sets the chart attribute value. 211 * @param chart The chart to set. 212 */ 213 public void setChart(Chart chart) { 214 this.chart = chart; 215 } 216 /** 217 * Gets the delegation attribute. 218 * @return Returns the delegation. 219 */ 220 public DelegateTypeInfo getDelegation() { 221 return delegation; 222 } 223 /** 224 * Sets the delegation attribute value. 225 * @param delegation The delegation to set. 226 */ 227 public void setDelegation(DelegateTypeInfo delegation) { 228 this.delegation = delegation; 229 } 230 /** 231 * Gets the groupMemberGroupId attribute. 232 * @return Returns the groupMemberGroupId. 233 */ 234 public String getGroupMemberGroupId() { 235 return groupMemberGroupId; 236 } 237 /** 238 * Sets the groupMemberGroupId attribute value. 239 * @param groupMemberGroupId The groupMemberGroupId to set. 240 */ 241 public void setGroupMemberGroupId(String groupMemberGroupId) { 242 this.groupMemberGroupId = groupMemberGroupId; 243 memberGroup.setMemberId(groupMemberGroupId); 244 delegationMemberGroup.setMemberId(groupMemberGroupId); 245 } 246 /** 247 * Gets the groupMemberGroupName attribute. 248 * @return Returns the groupMemberGroupName. 249 */ 250 public String getGroupMemberGroupName() { 251 return groupMemberGroupName; 252 } 253 /** 254 * Sets the groupMemberGroupName attribute value. 255 * @param groupMemberGroupName The groupMemberGroupName to set. 256 */ 257 public void setGroupMemberGroupName(String groupMemberGroupName) { 258 this.groupMemberGroupName = groupMemberGroupName; 259 memberGroup.setMemberName(groupMemberGroupName); 260 delegationMemberGroup.setMemberName(groupMemberGroupName); 261 } 262 /** 263 * Gets the groupMemberGroupNamespaceCode attribute. 264 * @return Returns the groupMemberGroupNamespaceCode. 265 */ 266 public String getGroupMemberGroupNamespaceCode() { 267 return groupMemberGroupNamespaceCode; 268 } 269 /** 270 * Sets the groupMemberGroupNamespaceCode attribute value. 271 * @param groupMemberGroupNamespaceCode The groupMemberGroupNamespaceCode to set. 272 */ 273 public void setGroupMemberGroupNamespaceCode(String groupMemberGroupNamespaceCode) { 274 this.groupMemberGroupNamespaceCode = groupMemberGroupNamespaceCode; 275 memberGroup.setMemberNamespaceCode(groupMemberGroupNamespaceCode); 276 delegationMemberGroup.setMemberNamespaceCode(groupMemberGroupNamespaceCode); 277 } 278 /** 279 * Gets the principalMemberPrincipalId attribute. 280 * @return Returns the principalMemberPrincipalId. 281 */ 282 public String getPrincipalMemberPrincipalId() { 283 return principalMemberPrincipalId; 284 } 285 /** 286 * Sets the principalMemberPrincipalId attribute value. 287 * @param principalMemberPrincipalId The principalMemberPrincipalId to set. 288 */ 289 public void setPrincipalMemberPrincipalId(String principalMemberPrincipalId) { 290 this.principalMemberPrincipalId = principalMemberPrincipalId; 291 memberPerson.setMemberId(principalMemberPrincipalId); 292 delegationMemberPerson.setMemberId(principalMemberPrincipalId); 293 } 294 /** 295 * Gets the principalMemberPrincipalName attribute. 296 * @return Returns the principalMemberPrincipalName. 297 */ 298 public String getPrincipalMemberPrincipalName() { 299 return principalMemberPrincipalName; 300 } 301 /** 302 * Sets the principalMemberPrincipalName attribute value. 303 * @param principalMemberPrincipalName The principalMemberPrincipalName to set. 304 */ 305 public void setPrincipalMemberPrincipalName(String principalMemberPrincipalName) { 306 this.principalMemberPrincipalName = principalMemberPrincipalName; 307 memberPerson.setMemberName(principalMemberPrincipalName); 308 delegationMemberPerson.setMemberName(principalMemberPrincipalName); 309 } 310 /** 311 * Gets the roleMemberRoleId attribute. 312 * @return Returns the roleMemberRoleId. 313 */ 314 public String getRoleMemberRoleId() { 315 return roleMemberRoleId; 316 } 317 /** 318 * Sets the roleMemberRoleId attribute value. 319 * @param roleMemberRoleId The roleMemberRoleId to set. 320 */ 321 public void setRoleMemberRoleId(String roleMemberRoleId) { 322 this.roleMemberRoleId = roleMemberRoleId; 323 memberRole.setMemberId(roleMemberRoleId); 324 delegationMemberRole.setMemberId(roleMemberRoleId); 325 } 326 /** 327 * Gets the roleMemberRoleName attribute. 328 * @return Returns the roleMemberRoleName. 329 */ 330 public String getRoleMemberRoleName() { 331 return roleMemberRoleName; 332 } 333 /** 334 * Sets the roleMemberRoleName attribute value. 335 * @param roleMemberRoleName The roleMemberRoleName to set. 336 */ 337 public void setRoleMemberRoleName(String roleMemberRoleName) { 338 this.roleMemberRoleName = roleMemberRoleName; 339 memberRole.setMemberName(roleMemberRoleName); 340 delegationMemberRole.setMemberName(roleMemberRoleName); 341 } 342 /** 343 * Gets the roleMemberRoleNamespaceCode attribute. 344 * @return Returns the roleMemberRoleNamespaceCode. 345 */ 346 public String getRoleMemberRoleNamespaceCode() { 347 return roleMemberRoleNamespaceCode; 348 } 349 /** 350 * Sets the roleMemberRoleNamespaceCode attribute value. 351 * @param roleMemberRoleNamespaceCode The roleMemberRoleNamespaceCode to set. 352 */ 353 public void setRoleMemberRoleNamespaceCode(String roleMemberRoleNamespaceCode) { 354 this.roleMemberRoleNamespaceCode = roleMemberRoleNamespaceCode; 355 memberRole.setMemberNamespaceCode(roleMemberRoleNamespaceCode); 356 delegationMemberRole.setMemberNamespaceCode(roleMemberRoleNamespaceCode); 357 } 358 /** 359 * Gets the organization attribute. 360 * @return Returns the organization. 361 */ 362 public Organization getOrganization() { 363 return organization; 364 } 365 /** 366 * Sets the organization attribute value. 367 * @param organization The organization to set. 368 */ 369 public void setOrganization(Organization organization) { 370 this.organization = organization; 371 } 372 private void updateAttributeValue(String attributeName, String attributeValue){ 373 if(StringUtils.isNotEmpty(attributeName)){ 374 KfsKimDocumentAttributeData attributeData = getAttribute(attributeName); 375 if(attributeData==null){ 376 attributeData = new KfsKimDocumentAttributeData(); 377 KimTypeAttributeInfo attribute = new KimTypeAttributeInfo(); 378 attribute.setAttributeName(attributeName); 379 attributeData.setKimAttribute(attribute); 380 attributeData.setAttrVal(attributeValue); 381 attributes.add(attributeData); 382 } else 383 attributeData.setAttrVal(attributeValue); 384 } 385 } 386 /** 387 * Gets the overrideCode attribute. 388 * @return Returns the overrideCode. 389 */ 390 public String getOverrideCode() { 391 return this.overrideCode; 392 } 393 /** 394 * Sets the overrideCode attribute value. 395 * @param overrideCode The overrideCode to set. 396 */ 397 public void setOverrideCode(String overrideCode) { 398 //updateAttributeValue(KfsKimAttributes.ACCOUNTING_LINE_OVERRIDE_CODE, overrideCode); 399 this.overrideCode = overrideCode; 400 } 401 /** 402 * Gets the fromAmount attribute. 403 * @return Returns the fromAmount. 404 */ 405 public KualiDecimal getFromAmount() { 406 return fromAmount; 407 } 408 409 public String getFromAmountStr() { 410 return fromAmount==null?null:fromAmount.toString(); 411 } 412 413 /** 414 * Sets the fromAmount attribute value. 415 * @param fromAmount The fromAmount to set. 416 */ 417 public void setFromAmount(KualiDecimal fromAmount) { 418 this.fromAmount = fromAmount; 419 } 420 421 public void setFromAmount(String fromAmount) { 422 if(StringUtils.isNotEmpty(fromAmount)) 423 this.fromAmount = new KualiDecimal(fromAmount); 424 else 425 this.fromAmount = null; 426 } 427 428 /** 429 * Gets the toAmount attribute. 430 * @return Returns the toAmount. 431 */ 432 public KualiDecimal getToAmount() { 433 return toAmount; 434 } 435 436 public String getToAmountStr() { 437 return toAmount==null?null:toAmount.toString(); 438 } 439 440 /** 441 * Sets the toAmount attribute value. 442 * @param toAmount The toAmount to set. 443 */ 444 public void setToAmount(KualiDecimal toAmount) { 445 this.toAmount = toAmount; 446 } 447 448 public void setToAmount(String toAmount) { 449 if(StringUtils.isNotEmpty(toAmount)) 450 this.toAmount = new KualiDecimal(toAmount); 451 else 452 this.toAmount = null; 453 } 454 455 /** 456 * Gets the memberName attribute. 457 * @return Returns the memberName. 458 */ 459 public String getMemberName() { 460 return memberName; 461 } 462 /** 463 * Sets the memberName attribute value. 464 * @param memberName The memberName to set. 465 */ 466 public void setMemberName(String memberName) { 467 this.memberName = memberName; 468 } 469 /** 470 * Gets the activeFromDate attribute. 471 * @return Returns the activeFromDate. 472 */ 473 public Date getActiveFromDate() { 474 return activeFromDate; 475 } 476 /** 477 * Sets the activeFromDate attribute value. 478 * @param activeFromDate The activeFromDate to set. 479 */ 480 public void setActiveFromDate(java.util.Date activeFromDate) { 481 if ( activeFromDate != null ) { 482 this.activeFromDate = new java.sql.Date( activeFromDate.getTime() ); 483 } else { 484 this.activeFromDate = null; 485 } 486 } 487 public void setActiveFromDate(java.sql.Date activeFromDate) { 488 this.activeFromDate = activeFromDate; 489 } 490 /** 491 * Gets the activeToDate attribute. 492 * @return Returns the activeToDate. 493 */ 494 public Date getActiveToDate() { 495 return activeToDate; 496 } 497 /** 498 * Sets the activeToDate attribute value. 499 * @param activeToDate The activeToDate to set. 500 */ 501 public void setActiveToDate(java.util.Date activeToDate) { 502 if ( activeToDate != null ) { 503 this.activeToDate = new java.sql.Date( activeToDate.getTime() ); 504 } else { 505 this.activeToDate = null; 506 } 507 } 508 public void setActiveToDate(java.sql.Date activeToDate) { 509 this.activeToDate = activeToDate; 510 } 511 /** 512 * Gets the orgReviewRoleMemberId attribute. 513 * @return Returns the orgReviewRoleMemberId. 514 */ 515 public String getOrgReviewRoleMemberId() { 516 return orgReviewRoleMemberId; 517 } 518 /** 519 * Sets the orgReviewRoleMemberId attribute value. 520 * @param orgReviewRoleMemberId The orgReviewRoleMemberId to set. 521 */ 522 public void setOrgReviewRoleMemberId(String orgReviewRoleMemberId) { 523 this.orgReviewRoleMemberId = orgReviewRoleMemberId; 524 } 525 526 public void refresh(){ 527 528 } 529 530 /** 531 * Gets the financialSystemDocumentTypeCode attribute. 532 * @return Returns the financialSystemDocumentTypeCode. 533 */ 534 public DocumentTypeEBO getFinancialSystemDocumentType() { 535 return financialSystemDocumentType = SpringContext.getBean(KEWModuleService.class).retrieveExternalizableBusinessObjectIfNecessary(this, financialSystemDocumentType, "financialSystemDocumentType"); 536 } 537 538 /** 539 * Gets the financialDocumentTypeCode attribute. 540 * @return Returns the financialDocumentTypeCode. 541 */ 542 public String getFinancialSystemDocumentTypeCode() { 543 return financialSystemDocumentTypeCode; 544 } 545 /** 546 * Sets the financialDocumentTypeCode attribute value. 547 * @param financialDocumentTypeCode The financialDocumentTypeCode to set. 548 */ 549 public void setFinancialSystemDocumentTypeCode(String financialSystemDocumentTypeCode) { 550 String oldFinancialSystemDocumentTypeCode = this.financialSystemDocumentTypeCode; 551 boolean isChanged = false; 552 if(StringValueComparator.getInstance().compare(this.financialSystemDocumentTypeCode, financialSystemDocumentTypeCode)!=0){ 553 isChanged = true; 554 } 555 this.financialSystemDocumentTypeCode = financialSystemDocumentTypeCode; 556 setRoleNamesAndReviewIndicator(isChanged); 557 } 558 559 private void setRoleNamesAndReviewIndicator(boolean hasFinancialSystemDocumentTypeCodeChanged){ 560 if(hasFinancialSystemDocumentTypeCodeChanged){ 561 //If role id is populated role names to consider have already been narrowed down 562 if(StringUtils.isNotEmpty(getRoleId()) && StringUtils.isNotEmpty(getRoleName())){ 563 List<String> narrowedDownRoleNames = new ArrayList<String>(); 564 narrowedDownRoleNames.add(getRoleName()); 565 setRoleNamesToConsider(roleNamesToConsider); 566 } else{ 567 setRoleNamesToConsider(); 568 } 569 if(isBothReviewRolesIndicator()) 570 setReviewRolesIndicatorOnDocTypeChange(KFSConstants.COAConstants.ORG_REVIEW_ROLE_ORG_ACC_BOTH_CODE); 571 else if(isAccountingOrgReviewRoleIndicator()) 572 setReviewRolesIndicatorOnDocTypeChange(KFSConstants.COAConstants.ORG_REVIEW_ROLE_ORG_ACC_ONLY_CODE); 573 else if(isOrgReviewRoleIndicator()) 574 setReviewRolesIndicatorOnDocTypeChange(KFSConstants.COAConstants.ORG_REVIEW_ROLE_ORG_ONLY_CODE); 575 576 } 577 578 } 579 580 /** 581 * Sets the financialSystemDocumentTypeCode attribute value. 582 * @param financialSystemDocumentTypeCode The financialSystemDocumentTypeCode to set. 583 */ 584 public void setFinancialSystemDocumentType(DocumentTypeEBO financialSystemDocumentType) { 585 this.financialSystemDocumentType = financialSystemDocumentType; 586 } 587 /** 588 * Gets the delegationTypeCode attribute. 589 * @return Returns the delegationTypeCode. 590 */ 591 public String getDelegationTypeCode() { 592 return delegationTypeCode; 593 } 594 595 public String getDelegationTypeCodeDescription() { 596 return KimConstants.KimUIConstants.DELEGATION_TYPES.get(delegationTypeCode); 597 } 598 599 /** 600 * Sets the delegationTypeCode attribute value. 601 * @param delegationTypeCode The delegationTypeCode to set. 602 */ 603 public void setDelegationTypeCode(String delegationTypeCode) { 604 this.delegationTypeCode = delegationTypeCode; 605 } 606 /** 607 * Gets the memberNamespaceCode attribute. 608 * @return Returns the memberNamespaceCode. 609 */ 610 public String getMemberNamespaceCode() { 611 return memberNamespaceCode; 612 } 613 /** 614 * Sets the memberNamespaceCode attribute value. 615 * @param memberNamespaceCode The memberNamespaceCode to set. 616 */ 617 public void setMemberNamespaceCode(String memberNamespaceCode) { 618 this.memberNamespaceCode = memberNamespaceCode; 619 } 620 /** 621 * Gets the memberTypeCode attribute. 622 * @return Returns the memberTypeCode. 623 */ 624 public String getMemberTypeCodeDescription() { 625 return KimConstants.KimUIConstants.KIM_MEMBER_TYPES_MAP.get(memberTypeCode); 626 } 627 /** 628 * Sets the memberTypeCode attribute value. 629 * @param memberTypeCode The memberTypeCode to set. 630 */ 631 public void setMemberTypeCode(String memberTypeCode) { 632 this.memberTypeCode = memberTypeCode; 633 } 634 /** 635 * Sets the memberId attribute value. 636 * @param memberId The memberId to set. 637 */ 638 public void setMemberId(String memberId) { 639 this.memberId = memberId; 640 } 641 /** 642 * Gets the attributes attribute. 643 * @return Returns the attributes. 644 */ 645 public List<KfsKimDocumentAttributeData> getAttributes() { 646 return attributes; 647 } 648 /** 649 * Sets the attributes attribute value. 650 * @param attributes The attributes to set. 651 */ 652 public void setAttributes(List<KfsKimDocumentAttributeData> attributes) { 653 this.attributes = attributes; 654 } 655 656 public String getAttributeValue(String attributeName){ 657 String attributeValue = ""; 658 if(StringUtils.isEmpty(attributeName)) 659 attributeValue = ""; 660 KfsKimDocumentAttributeData attributeData = getAttribute(attributeName); 661 return attributeData==null?"":attributeData.getAttrVal(); 662 } 663 664 private KfsKimDocumentAttributeData getAttribute(String attributeName){ 665 KfsKimDocumentAttributeData attributeData = null; 666 if(StringUtils.isNotEmpty(attributeName)) 667 for(KfsKimDocumentAttributeData attribute: attributes){ 668 if(attribute.getKimAttribute()!=null && attribute.getKimAttribute().getAttributeName()!=null && 669 attribute.getKimAttribute().getAttributeName().equals(attributeName)){ 670 attributeData = attribute; 671 break; 672 } 673 } 674 return attributeData; 675 } 676 677 /** 678 * Gets the chartCode attribute. 679 * @return Returns the chartCode. 680 */ 681 public String getChartOfAccountsCode() { 682 return this.chartOfAccountsCode; 683 } 684 /** 685 * Gets the organizationCode attribute. 686 * @return Returns the organizationCode. 687 */ 688 public String getOrganizationCode() { 689 return this.organizationCode; 690 } 691 /** 692 * Sets the organizationCode attribute value. 693 * @param organizationCode The organizationCode to set. 694 */ 695 public void setOrganizationCode(String organizationCode) { 696 this.organizationCode = organizationCode; 697 } 698 /** 699 * Sets the chartOfAccountsCode attribute value. 700 * @param chartOfAccountsCode The chartOfAccountsCode to set. 701 */ 702 public void setChartOfAccountsCode(String chartOfAccountsCode) { 703 this.chartOfAccountsCode = chartOfAccountsCode; 704 } 705 /** 706 * Gets the roleNamesToConsider attribute. 707 * @return Returns the roleNamesToConsider. 708 */ 709 public List<String> getRoleNamesToConsider() { 710 if(roleNamesToConsider==null && getFinancialSystemDocumentTypeCode()!=null) 711 setRoleNamesToConsider(); 712 return roleNamesToConsider; 713 } 714 public void setRoleNamesToConsider(List<String> narrowedDownRoleNames) { 715 roleNamesToConsider = new ArrayList<String>(); 716 roleNamesToConsider.addAll(narrowedDownRoleNames); 717 } 718 /** 719 * Sets the roleNamesToConsider attribute value. 720 * @param roleNamesToConsider The roleNamesToConsider to set. 721 */ 722 public void setRoleNamesToConsider() { 723 OrgReviewRoleLookupableHelperServiceImpl orrLHSI = new OrgReviewRoleLookupableHelperServiceImpl(); 724 roleNamesToConsider = orrLHSI.getRolesToConsider(getFinancialSystemDocumentTypeCode()); 725 } 726 /** 727 * Gets the accountingOrgReviewRoleIndicator attribute. 728 * @return Returns the accountingOrgReviewRoleIndicator. 729 */ 730 public boolean isAccountingOrgReviewRoleIndicator() { 731 return getRoleNamesToConsider()!=null && 732 getRoleNamesToConsider().contains(KFSConstants.SysKimConstants.ACCOUNTING_REVIEWER_ROLE_NAME); 733 } 734 /** 735 * Gets the bothReviewRolesIndicator attribute. 736 * @return Returns the bothReviewRolesIndicator. 737 */ 738 public boolean isBothReviewRolesIndicator() { 739 return getRoleNamesToConsider()!=null && 740 getRoleNamesToConsider().contains(KFSConstants.SysKimConstants.ORGANIZATION_REVIEWER_ROLE_NAME) && 741 getRoleNamesToConsider().contains(KFSConstants.SysKimConstants.ACCOUNTING_REVIEWER_ROLE_NAME); 742 } 743 /** 744 * Gets the orgReviewRoleIndicator attribute. 745 * @return Returns the orgReviewRoleIndicator. 746 */ 747 public boolean isOrgReviewRoleIndicator() { 748 return getRoleNamesToConsider()!=null && 749 getRoleNamesToConsider().contains(KFSConstants.SysKimConstants.ORGANIZATION_REVIEWER_ROLE_NAME); 750 } 751 /** 752 * Gets the actionTypeCode attribute. 753 * @return Returns the actionTypeCode. 754 */ 755 public String getActionTypeCode() { 756 /*if(StringUtils.isNotEmpty(actionTypeCode) && (roleRspActions==null || roleRspActions.size()<1 || StringUtils.isEmpty(roleRspActions.get(0).getActionTypeCode()))){ 757 setActionTypeCode(actionTypeCode); 758 } 759 if(roleRspActions==null || roleRspActions.size()<1) 760 actionTypeCode = ""; 761 else 762 actionTypeCode = roleRspActions.get(0).getActionTypeCode(); 763 */ 764 return actionTypeCode; 765 } 766 767 public String getActionTypeCodeToDisplay() { 768 if(roleRspActions==null || roleRspActions.size()<1) 769 return ""; 770 else 771 return roleRspActions.get(0).getActionTypeCode(); 772 } 773 774 /** 775 * 776 * This method fore readonlyalterdisplay 777 * 778 * @return 779 */ 780 public String getActionTypeCodeDescription() { 781 String actionTypeCodeDesc = (String)CodeTranslator.arLabels.get(getActionTypeCodeToDisplay()); 782 return actionTypeCodeDesc==null?"":actionTypeCodeDesc; 783 } 784 785 /** 786 * Sets the actionTypeCode attribute value. 787 * @param actionTypeCode The actionTypeCode to set. 788 */ 789 public void setActionTypeCode(String actionTypeCode) { 790 /*if(roleRspActions==null || roleRspActions.size()<1){ 791 KfsKimDocumentRoleResponsibilityAction roleRespAction = new KfsKimDocumentRoleResponsibilityAction(); 792 roleRespAction.setActionTypeCode(actionTypeCode); 793 roleRspActions.add(roleRespAction); 794 } else{ 795 roleRspActions.get(0).setActionTypeCode(actionTypeCode); 796 }*/ 797 this.actionTypeCode = actionTypeCode; 798 } 799 /** 800 * Gets the priorityNumber attribute. 801 * @return Returns the priorityNumber. 802 */ 803 public String getPriorityNumber() { 804 return priorityNumber; 805 } 806 807 public String getPriorityNumberToDisplay() { 808 if(roleRspActions==null || roleRspActions.size()<1) 809 return ""; 810 else 811 return roleRspActions.get(0).getPriorityNumber()==null?"":roleRspActions.get(0).getPriorityNumber()+""; 812 } 813 814 /** 815 * Sets the priorityNumber attribute value. 816 * @param priorityNumber The priorityNumber to set. 817 */ 818 public void setPriorityNumber(String priorityNumber) { 819 this.priorityNumber = priorityNumber; 820 } 821 /** 822 * Gets the actionPolicyCode attribute. 823 * @return Returns the actionPolicyCode. 824 */ 825 public String getActionPolicyCode() { 826 return actionPolicyCode; 827 } 828 /** 829 * Sets the actionPolicyCode attribute value. 830 * @param actionPolicyCode The actionPolicyCode to set. 831 */ 832 public void setActionPolicyCode(String actionPolicyCode) { 833 this.actionPolicyCode = actionPolicyCode; 834 } 835 /** 836 * Gets the ignorePrevious attribute. 837 * @return Returns the ignorePrevious. 838 */ 839 public boolean isForceAction() { 840 return forceAction; 841 } 842 /** 843 * Sets the ignorePrevious attribute value. 844 * @param ignorePrevious The ignorePrevious to set. 845 */ 846 public void setForceAction(boolean forceAction) { 847 this.forceAction = forceAction; 848 } 849 850 /** 851 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper() 852 */ 853 protected LinkedHashMap toStringMapper() { 854 LinkedHashMap m = new LinkedHashMap(); 855 856 m.put("chartOfAccountsCode", this.chartOfAccountsCode); 857 m.put("organizationCode", this.organizationCode); 858 859 return m; 860 } 861 /** 862 * Gets the roleId attribute. 863 * @return Returns the roleId. 864 */ 865 public String getRoleId() { 866 return roleId; 867 } 868 /** 869 * Sets the roleId attribute value. 870 * @param roleId The roleId to set. 871 */ 872 public void setRoleId(String roleId) { 873 this.roleId = roleId; 874 } 875 /** 876 * Gets the reviewRolesIndicator attribute. 877 * @return Returns the reviewRolesIndicator. 878 */ 879 public String getReviewRolesIndicator() { 880 return reviewRolesIndicator; 881 } 882 /** 883 * Sets the reviewRolesIndicator attribute value. 884 * @param reviewRolesIndicator The reviewRolesIndicator to set. 885 */ 886 public void setReviewRolesIndicator(String reviewRolesIndicator) { 887 this.reviewRolesIndicator = reviewRolesIndicator; 888 } 889 /** 890 * Sets the reviewRolesIndicator attribute value. 891 * @param reviewRolesIndicator The reviewRolesIndicator to set. 892 */ 893 private void setReviewRolesIndicatorOnDocTypeChange(String reviewRolesIndicator) { 894 this.reviewRolesIndicator = reviewRolesIndicator; 895 } 896 897 898 public boolean hasRole(){ 899 return StringUtils.isNotEmpty(roleMemberRoleNamespaceCode) && StringUtils.isNotEmpty(roleMemberRoleName); 900 } 901 902 public boolean hasGroup(){ 903 return StringUtils.isNotEmpty(groupMemberGroupNamespaceCode) && StringUtils.isNotEmpty(groupMemberGroupName); 904 } 905 906 public boolean hasPrincipal(){ 907 return StringUtils.isNotEmpty(principalMemberPrincipalName); 908 } 909 910 public boolean hasAnyMember(){ 911 return hasRole() || hasGroup() || hasPrincipal(); 912 } 913 914 public DelegateMemberCompleteInfo getDelegationMemberOfType(String memberTypeCode){ 915 if(KimConstants.KimUIConstants.MEMBER_TYPE_ROLE_CODE.equals(memberTypeCode)){ 916 delegationMemberRole.setMemberId(roleMemberRoleId); 917 delegationMemberRole.setMemberName(roleMemberRoleName); 918 delegationMemberRole.setMemberNamespaceCode(roleMemberRoleNamespaceCode); 919 delegationMemberRole.setRoleMemberId(roleMemberId); 920 return delegationMemberRole; 921 } else if(KimConstants.KimUIConstants.MEMBER_TYPE_GROUP_CODE.equals(memberTypeCode)){ 922 delegationMemberGroup.setMemberId(groupMemberGroupId); 923 delegationMemberGroup.setMemberName(groupMemberGroupName); 924 delegationMemberGroup.setMemberNamespaceCode(groupMemberGroupNamespaceCode); 925 delegationMemberRole.setRoleMemberId(roleMemberId); 926 return delegationMemberGroup; 927 } else if(KimConstants.KimUIConstants.MEMBER_TYPE_PRINCIPAL_CODE.equals(memberTypeCode)){ 928 delegationMemberPerson.setMemberId(principalMemberPrincipalId); 929 delegationMemberPerson.setMemberName(principalMemberPrincipalName); 930 delegationMemberRole.setRoleMemberId(roleMemberId); 931 return delegationMemberPerson; 932 } 933 return null; 934 } 935 936 public RoleMemberCompleteInfo getRoleMemberOfType(String memberTypeCode){ 937 if(KimConstants.KimUIConstants.MEMBER_TYPE_ROLE_CODE.equals(memberTypeCode)){ 938 memberRole.setMemberId(roleMemberRoleId); 939 memberRole.setMemberName(roleMemberRoleName); 940 memberRole.setMemberNamespaceCode(roleMemberRoleNamespaceCode); 941 return memberRole; 942 } else if(KimConstants.KimUIConstants.MEMBER_TYPE_GROUP_CODE.equals(memberTypeCode)){ 943 memberGroup.setMemberId(groupMemberGroupId); 944 memberGroup.setMemberName(groupMemberGroupName); 945 memberGroup.setMemberNamespaceCode(groupMemberGroupNamespaceCode); 946 return memberGroup; 947 } else if(KimConstants.KimUIConstants.MEMBER_TYPE_PRINCIPAL_CODE.equals(memberTypeCode)){ 948 memberPerson.setMemberId(principalMemberPrincipalId); 949 memberPerson.setMemberName(principalMemberPrincipalName); 950 return memberPerson; 951 } 952 return null; 953 } 954 955 public String getMemberIdForDelegationMember(String memberTypeCode){ 956 DelegateMemberCompleteInfo member = getDelegationMemberOfType(memberTypeCode); 957 return member!=null?member.getMemberId():null; 958 } 959 960 public String getMemberIdForRoleMember(String memberTypeCode){ 961 RoleMemberCompleteInfo member = getRoleMemberOfType(memberTypeCode); 962 return member!=null?member.getMemberId():null; 963 } 964 965 public String getDelegationMemberFieldName(DelegateMemberCompleteInfo member){ 966 String memberFieldName = ""; 967 if(member!=null){ 968 if(isRole(member.getMemberTypeCode())) 969 memberFieldName = OrgReviewRole.ROLE_NAME_FIELD_NAME; 970 else if(isGroup(member.getMemberTypeCode())) 971 memberFieldName = OrgReviewRole.GROUP_NAME_FIELD_NAME; 972 else if(isPrincipal(member.getMemberTypeCode())){ 973 memberFieldName = OrgReviewRole.PRINCIPAL_NAME_FIELD_NAME; 974 } 975 } 976 return memberFieldName; 977 } 978 979 public boolean isRole(String memberTypeCode){ 980 return memberTypeCode!=null && memberTypeCode.equals(KimConstants.KimUIConstants.MEMBER_TYPE_ROLE_CODE); 981 } 982 983 public boolean isGroup(String memberTypeCode){ 984 return memberTypeCode!=null && memberTypeCode.equals(KimConstants.KimUIConstants.MEMBER_TYPE_GROUP_CODE); 985 } 986 987 public boolean isPrincipal(String memberTypeCode){ 988 return memberTypeCode!=null && memberTypeCode.equals(KimConstants.KimUIConstants.MEMBER_TYPE_PRINCIPAL_CODE); 989 } 990 991 public String getMemberFieldName(RoleMemberCompleteInfo member){ 992 String memberFieldName = ""; 993 if(member!=null){ 994 if(isRole(member.getMemberTypeCode())) 995 memberFieldName = OrgReviewRole.ROLE_NAME_FIELD_NAME; 996 else if(isGroup(member.getMemberTypeCode())) 997 memberFieldName = OrgReviewRole.GROUP_NAME_FIELD_NAME; 998 else if(isPrincipal(member.getMemberTypeCode())){ 999 memberFieldName = OrgReviewRole.PRINCIPAL_NAME_FIELD_NAME; 1000 } 1001 } 1002 return memberFieldName; 1003 } 1004 /** 1005 * Gets the memberId attribute. 1006 * @return Returns the memberId. 1007 */ 1008 public String getMemberId() { 1009 return memberId; 1010 } 1011 /** 1012 * Gets the memberTypeCode attribute. 1013 * @return Returns the memberTypeCode. 1014 */ 1015 public String getMemberTypeCode() { 1016 return memberTypeCode; 1017 } 1018 /** 1019 * Gets the group attribute. 1020 * @return Returns the group. 1021 */ 1022 public Group getGroup() { 1023 return group; 1024 } 1025 /** 1026 * Sets the group attribute value. 1027 * @param group The group to set. 1028 */ 1029 public void setGroup(Group group) { 1030 this.group = group; 1031 } 1032 /** 1033 * Gets the person attribute. 1034 * @return Returns the person. 1035 */ 1036 public Person getPerson() { 1037 if(StringUtils.isNotEmpty(principalMemberPrincipalId) && 1038 (person==null || StringUtils.isEmpty(person.getPrincipalId()) || StringUtils.isEmpty(person.getPrincipalName()))){ 1039 person = getPersonFromService(principalMemberPrincipalId); 1040 } 1041 return person; 1042 } 1043 /** 1044 * Sets the person attribute value. 1045 * @param person The person to set. 1046 */ 1047 public void setPerson(Person person) { 1048 this.person = person; 1049 } 1050 1051 /** 1052 * Gets the role attribute. 1053 * @return Returns the role. 1054 */ 1055 public Role getRole() { 1056 return this.role; 1057 } 1058 1059 public Role getRole(String roleId) { 1060 Map<String, Object> fieldValues = new HashMap<String, Object>(); 1061 fieldValues.put(KimConstants.PrimaryKeyConstants.ROLE_ID, roleId); 1062 return (Role) SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(Role.class).getExternalizableBusinessObject(Role.class, fieldValues); 1063 } 1064 1065 public Role getRole(Map<String, Object> fieldValues) { 1066 return (Role) SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(Role.class).getExternalizableBusinessObject(Role.class, fieldValues); 1067 } 1068 1069 public Group getGroup(String groupId) { 1070 Map<String, Object> fieldValues = new HashMap<String, Object>(); 1071 fieldValues.put(KimConstants.PrimaryKeyConstants.GROUP_ID, groupId); 1072 return (Group) SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(Group.class).getExternalizableBusinessObject(Group.class, fieldValues); 1073 } 1074 1075 public Group getGroup(Map<String, Object> fieldValues) { 1076 return (Group) SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(Group.class).getExternalizableBusinessObject(Group.class, fieldValues); 1077 } 1078 1079 /** 1080 * Sets the role attribute value. 1081 * @param role The role to set. 1082 */ 1083 public void setRole(Role role) { 1084 this.role = role; 1085 } 1086 /** 1087 * Gets the delegationMemberGroup attribute. 1088 * @return Returns the delegationMemberGroup. 1089 */ 1090 public DelegateMemberCompleteInfo getDelegationMemberGroup() { 1091 return delegationMemberGroup; 1092 } 1093 /** 1094 * Sets the delegationMemberGroup attribute value. 1095 * @param delegationMemberGroup The delegationMemberGroup to set. 1096 */ 1097 public void setDelegationMemberGroup(DelegateMemberCompleteInfo delegationMemberGroup) { 1098 this.delegationMemberGroup = delegationMemberGroup; 1099 if(delegationMemberGroup!=null){ 1100 Map<String, Object> fieldValues = new HashMap<String, Object>(); 1101 fieldValues.put(KimConstants.PrimaryKeyConstants.GROUP_ID, memberGroup.getMemberId()); 1102 Group groupInfo = getGroup(fieldValues); 1103 setGroup(groupInfo); 1104 } 1105 } 1106 /** 1107 * Gets the delegationMemberPerson attribute. 1108 * @return Returns the delegationMemberPerson. 1109 */ 1110 public DelegateMemberCompleteInfo getDelegationMemberPerson() { 1111 return delegationMemberPerson; 1112 } 1113 /** 1114 * Sets the delegationMemberPerson attribute value. 1115 * @param delegationMemberPerson The delegationMemberPerson to set. 1116 */ 1117 public void setDelegationMemberPerson(DelegateMemberCompleteInfo delegationMemberPerson) { 1118 this.delegationMemberPerson = delegationMemberPerson; 1119 if(delegationMemberPerson!=null){ 1120 Person person = getPersonFromService(delegationMemberPerson.getMemberId()); 1121 //person.setPrincipalId(delegationMemberPerson.getMemberId()); 1122 //person.setPrincipalName(delegationMemberPerson.getMemberName()); 1123 setPerson(person); 1124 } 1125 } 1126 /** 1127 * Gets the delegationMemberRole attribute. 1128 * @return Returns the delegationMemberRole. 1129 */ 1130 public DelegateMemberCompleteInfo getDelegationMemberRole() { 1131 return delegationMemberRole; 1132 } 1133 /** 1134 * Sets the delegationMemberRole attribute value. 1135 * @param delegationMemberRole The delegationMemberRole to set. 1136 */ 1137 public void setDelegationMemberRole(DelegateMemberCompleteInfo delegationMemberRole) { 1138 this.delegationMemberRole = delegationMemberRole; 1139 if(delegationMemberRole!=null){ 1140 Map<String, Object> fieldValues = new HashMap<String, Object>(); 1141 fieldValues.put(KimConstants.PrimaryKeyConstants.ROLE_ID, delegationMemberRole.getMemberId()); 1142 Role roleInfo = getRole(fieldValues); 1143 setRole(roleInfo); 1144 } 1145 } 1146 /** 1147 * Gets the memberGroup attribute. 1148 * @return Returns the memberGroup. 1149 */ 1150 public RoleMemberCompleteInfo getMemberGroup() { 1151 return memberGroup; 1152 } 1153 /** 1154 * Sets the memberGroup attribute value. 1155 * @param memberGroup The memberGroup to set. 1156 */ 1157 protected void setMemberGroup(RoleMemberCompleteInfo memberGroup) { 1158 this.memberGroup = memberGroup; 1159 if(memberGroup!=null){ 1160 Map<String, Object> fieldValues = new HashMap<String, Object>(); 1161 fieldValues.put(KimConstants.PrimaryKeyConstants.GROUP_ID, memberGroup.getMemberId()); 1162 Group groupInfo = getGroup(fieldValues); 1163 setGroup(groupInfo); 1164 } 1165 } 1166 /** 1167 * Gets the memberPerson attribute. 1168 * @return Returns the memberPerson. 1169 */ 1170 public RoleMemberCompleteInfo getMemberPerson() { 1171 return memberPerson; 1172 } 1173 /** 1174 * Sets the memberPerson attribute value. 1175 * @param memberPerson The memberPerson to set. 1176 */ 1177 protected void setMemberPerson(RoleMemberCompleteInfo memberPerson) { 1178 this.memberPerson = memberPerson; 1179 if(memberPerson!=null){ 1180 Person personImpl = getPersonFromService(memberPerson.getMemberId()); 1181 //personImpl.setPrincipalId(memberPerson.getMemberId()); 1182 //personImpl.setPrincipalName(memberPerson.getMemberName()); 1183 setPerson(personImpl); 1184 } 1185 } 1186 /** 1187 * Gets the memberRole attribute. 1188 * @return Returns the memberRole. 1189 */ 1190 public RoleMemberCompleteInfo getMemberRole() { 1191 return memberRole; 1192 } 1193 /** 1194 * Sets the memberRole attribute value. 1195 * @param memberRole The memberRole to set. 1196 */ 1197 protected void setMemberRole(RoleMemberCompleteInfo memberRole) { 1198 this.memberRole = memberRole; 1199 if(memberRole!=null){ 1200 Map<String, Object> criteria = new HashMap<String, Object>(); 1201 criteria.put(KimConstants.PrimaryKeyConstants.ROLE_ID, memberRole.getMemberId()); 1202 Role roleInfo = getRole(criteria); 1203 setRole(roleInfo); 1204 } 1205 } 1206 1207 public void setRoleDocumentDelegationMember(DelegateMemberCompleteInfo delegationMember){ 1208 if ( delegationMember != null ) { 1209 if(KimConstants.KimUIConstants.MEMBER_TYPE_ROLE_CODE.equals(delegationMember.getMemberTypeCode())) 1210 setDelegationMemberRole(delegationMember); 1211 else if(KimConstants.KimUIConstants.MEMBER_TYPE_GROUP_CODE.equals(delegationMember.getMemberTypeCode())) 1212 setDelegationMemberGroup(delegationMember); 1213 else if(KimConstants.KimUIConstants.MEMBER_TYPE_PRINCIPAL_CODE.equals(delegationMember.getMemberTypeCode())) 1214 setDelegationMemberPerson(delegationMember); 1215 setActiveFromDate(delegationMember.getActiveFromDate()); 1216 setActiveToDate(delegationMember.getActiveToDate()); 1217 } else { 1218 setDelegationMemberRole( new DelegateMemberCompleteInfo() ); 1219 setDelegationMemberGroup( new DelegateMemberCompleteInfo() ); 1220 setDelegationMemberPerson( new DelegateMemberCompleteInfo() ); 1221 setActiveFromDate(null); 1222 setActiveToDate(null); 1223 } 1224 } 1225 1226 public void setKimDocumentRoleMember(RoleMemberCompleteInfo roleMember){ 1227 if ( roleMember != null ) { 1228 if(KimConstants.KimUIConstants.MEMBER_TYPE_ROLE_CODE.equals(roleMember.getMemberTypeCode())) 1229 setMemberRole(roleMember); 1230 else if(KimConstants.KimUIConstants.MEMBER_TYPE_GROUP_CODE.equals(roleMember.getMemberTypeCode())) 1231 setMemberGroup(roleMember); 1232 else if(KimConstants.KimUIConstants.MEMBER_TYPE_PRINCIPAL_CODE.equals(roleMember.getMemberTypeCode())) 1233 setMemberPerson(roleMember); 1234 setActiveFromDate(roleMember.getActiveFromDate()); 1235 setActiveToDate(roleMember.getActiveToDate()); 1236 } else { 1237 setMemberRole( new RoleMemberCompleteInfo() ); 1238 setMemberGroup( new RoleMemberCompleteInfo() ); 1239 setMemberPerson( new RoleMemberCompleteInfo() ); 1240 setActiveFromDate(null); 1241 setActiveToDate(null); 1242 } 1243 } 1244 1245 /** 1246 * Gets the copy attribute. 1247 * @return Returns the copy. 1248 */ 1249 public boolean isCopy() { 1250 return copy || KNSConstants.MAINTENANCE_COPY_METHOD_TO_CALL.equalsIgnoreCase(methodToCall); 1251 } 1252 /** 1253 * Sets the copy attribute value. 1254 * @param copy The copy to set. 1255 */ 1256 public void setCopy(boolean copy) { 1257 this.copy = copy; 1258 } 1259 /** 1260 * Gets the edit attribute. 1261 * @return Returns the edit. 1262 */ 1263 public boolean isEdit() { 1264 return edit || KNSConstants.MAINTENANCE_EDIT_METHOD_TO_CALL.equalsIgnoreCase(methodToCall); 1265 } 1266 /** 1267 * Sets the edit attribute value. 1268 * @param edit The edit to set. 1269 */ 1270 public void setEdit(boolean edit) { 1271 this.edit = edit; 1272 } 1273 /** 1274 * Gets the oDelMId attribute. 1275 * @return Returns the oDelMId. 1276 */ 1277 public String getODelMId() { 1278 return oDelMId; 1279 } 1280 /** 1281 * Sets the oDelMId attribute value. 1282 * @param delMId The oDelMId to set. 1283 */ 1284 public void setODelMId(String delMId) { 1285 oDelMId = delMId; 1286 } 1287 /** 1288 * Gets the oRMId attribute. 1289 * @return Returns the oRMId. 1290 */ 1291 public String getORMId() { 1292 return oRMId; 1293 } 1294 /** 1295 * Sets the oRMId attribute value. 1296 * @param id The oRMId to set. 1297 */ 1298 public void setORMId(String id) { 1299 oRMId = id; 1300 } 1301 /** 1302 * Gets the delegationMemberId attribute. 1303 * @return Returns the delegationMemberId. 1304 */ 1305 public String getDelegationMemberId() { 1306 return delegationMemberId; 1307 } 1308 /** 1309 * Sets the delegationMemberId attribute value. 1310 * @param delegationMemberId The delegationMemberId to set. 1311 */ 1312 public void setDelegationMemberId(String delegationMemberId) { 1313 this.delegationMemberId = delegationMemberId; 1314 } 1315 /** 1316 * Gets the roleMemberId attribute. 1317 * @return Returns the roleMemberId. 1318 */ 1319 public String getRoleMemberId() { 1320 return roleMemberId; 1321 } 1322 /** 1323 * Sets the roleMemberId attribute value. 1324 * @param roleMemberId The roleMemberId to set. 1325 */ 1326 public void setRoleMemberId(String roleMemberId) { 1327 this.roleMemberId = roleMemberId; 1328 } 1329 /** 1330 * Gets the methodToCall attribute. 1331 * @return Returns the methodToCall. 1332 */ 1333 public String getMethodToCall() { 1334 return methodToCall; 1335 } 1336 /** 1337 * Sets the methodToCall attribute value. 1338 * @param methodToCall The methodToCall to set. 1339 */ 1340 public void setMethodToCall(String methodToCall) { 1341 this.methodToCall = methodToCall; 1342 } 1343 1344 public boolean isEditDelegation(){ 1345 return isEdit() && isDelegate(); 1346 } 1347 1348 public boolean isEditRoleMember(){ 1349 return isEdit() && !isDelegate(); 1350 } 1351 1352 public boolean isCopyDelegation(){ 1353 return isCopy() && isDelegate(); 1354 } 1355 1356 public boolean isCopyRoleMember(){ 1357 return isCopy() && !isDelegate(); 1358 } 1359 1360 public boolean isCreateDelegation(){ 1361 return NEW_DELEGATION_ID_KEY_VALUE.equals(getODelMId()); 1362 } 1363 1364 public boolean isCreateRoleMember(){ 1365 return StringUtils.isEmpty(methodToCall); 1366 } 1367 1368 /** 1369 * Gets the organizationTypeCode attribute. 1370 * @return Returns the organizationTypeCode. 1371 */ 1372 public String getOrganizationTypeCode() { 1373 return "99"; 1374 } 1375 /** 1376 * Sets the organizationTypeCode attribute value. 1377 * @param organizationTypeCode The organizationTypeCode to set. 1378 */ 1379 public void setOrganizationTypeCode(String organizationTypeCode) { 1380 } 1381 /** 1382 * Gets the roleName attribute. 1383 * @return Returns the roleName. 1384 */ 1385 public String getRoleName() { 1386 return roleName; 1387 } 1388 /** 1389 * Sets the roleName attribute value. 1390 * @param roleName The roleName to set. 1391 */ 1392 public void setRoleName(String roleName) { 1393 this.roleName = roleName; 1394 setRoleNamesToConsider( Collections.singletonList(roleName) ); 1395 } 1396 /** 1397 * Gets the roleNamespaceCode attribute. 1398 * @return Returns the roleNamespaceCode. 1399 */ 1400 public String getNamespaceCode() { 1401 return namespaceCode; 1402 } 1403 /** 1404 * Sets the roleNamespaceCode attribute value. 1405 * @param roleNamespaceCode The roleNamespaceCode to set. 1406 */ 1407 public void setNamespaceCode(String namespaceCode) { 1408 this.namespaceCode = namespaceCode; 1409 } 1410 1411 @Override 1412 public Long getVersionNumber(){ 1413 return 1L; 1414 } 1415 1416 private Person getPersonFromService(String principalId){ 1417 return KIMServiceLocator.getPersonService().getPerson(principalId); 1418 } 1419 /** 1420 * Gets the kimTypeId attribute. 1421 * @return Returns the kimTypeId. 1422 */ 1423 public String getKimTypeId() { 1424 return kimTypeId; 1425 } 1426 /** 1427 * Sets the kimTypeId attribute value. 1428 * @param kimTypeId The kimTypeId to set. 1429 */ 1430 public void setKimTypeId(String kimTypeId) { 1431 this.kimTypeId = kimTypeId; 1432 } 1433 1434 public AttributeSet getQualifierAsAttributeSet(List<KfsKimDocumentAttributeData> qualifiers) { 1435 AttributeSet m = new AttributeSet(); 1436 for(KfsKimDocumentAttributeData data: qualifiers){ 1437 m.put(data.getKimAttribute().getAttributeName(), data.getAttrVal()); 1438 } 1439 return m; 1440 } 1441 1442 public List<KfsKimDocumentAttributeData> getAttributeSetAsQualifierList( 1443 KimTypeInfo typeInfo, AttributeSet qualifiers) { 1444 List<KfsKimDocumentAttributeData> attributesList = new ArrayList<KfsKimDocumentAttributeData>(); 1445 KfsKimDocumentAttributeData attribData; 1446 KimTypeAttributeInfo attribInfo; 1447 for(String key: qualifiers.keySet()){ 1448 attribInfo = typeInfo.getAttributeDefinitionByName(key); 1449 attribData = new KfsKimDocumentAttributeData(); 1450 attribData.setKimAttribute(attribInfo); 1451 attribData.setKimTypId(typeInfo.getKimTypeId()); 1452 attribData.setKimAttrDefnId(attribInfo.getKimAttributeId()); 1453 //attribData.setAttrDataId(attrDataId) - Not Available 1454 attribData.setAttrVal(qualifiers.get(key)); 1455 attributesList.add(attribData); 1456 } 1457 return attributesList; 1458 } 1459 /** 1460 * Gets the roleRspActions attribute. 1461 * @return Returns the roleRspActions. 1462 */ 1463 public List<RoleResponsibilityActionInfo> getRoleRspActions() { 1464 return roleRspActions; 1465 } 1466 /** 1467 * Sets the roleRspActions attribute value. 1468 * @param roleRspActions The roleRspActions to set. 1469 */ 1470 public void setRoleRspActions(List<RoleResponsibilityActionInfo> roleRspActions) { 1471 this.roleRspActions = roleRspActions; 1472 } 1473 1474 public String getOrgReviewRoleInquiryTitle() { 1475 if ( INQUIRY_TITLE_VALUE == null ) { 1476 INQUIRY_TITLE_VALUE = SpringContext.getBean(KualiConfigurationService.class).getPropertyString(ORR_INQUIRY_TITLE_PROPERTY); 1477 } 1478 return INQUIRY_TITLE_VALUE; 1479 } 1480 1481 @Override 1482 public void refreshNonUpdateableReferences() { 1483 // do nothing 1484 } 1485 1486 @Override 1487 public void refreshReferenceObject(String referenceObjectName) { 1488 // do nothing 1489 } 1490 }