001 /** 002 * Copyright 2005-2014 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.rice.ksb.service; 017 018 import org.apache.commons.lang.StringUtils; 019 import org.springframework.beans.factory.InitializingBean; 020 021 /** 022 * Initializes authenticationService with user credentials. 023 * 024 * @author Kuali Rice Team (rice.collab@kuali.org) 025 */ 026 public class BasicAuthenticationCredentials implements InitializingBean { 027 028 private BasicAuthenticationService authenticationService; 029 private String serviceNameSpaceURI; 030 private String localServiceName; 031 private String username; 032 private String password; 033 034 /** 035 * Register the service credentials for the service 036 * 037 * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet() 038 */ 039 public void afterPropertiesSet() throws Exception { 040 if (this.validate()) { 041 this.getAuthenticationService().registerServiceCredentials(this); 042 } 043 } 044 045 /** 046 * Gets the BasicAuthenticationService to use 047 * 048 * @return BasicAuthenticationService the BasicAuthenticationService 049 */ 050 public BasicAuthenticationService getAuthenticationService() { 051 if (this.authenticationService == null) { 052 this.authenticationService = KSBServiceLocator.getBasicAuthenticationService(); 053 } 054 return authenticationService; 055 } 056 057 /** 058 * Sets the authenticationService 059 * 060 * @param authenticationService the BasicAthenticationService to set 061 */ 062 public void setAuthenticationService(BasicAuthenticationService authenticationService) { 063 this.authenticationService = authenticationService; 064 } 065 066 /** 067 * Gets the serviceNameSpaceURI 068 * 069 * @return String serviceNameSpaceURI of this BasicAuthenticationCredentials 070 */ 071 public String getServiceNameSpaceURI() { 072 return serviceNameSpaceURI; 073 } 074 075 /** 076 * Sets the serviceNameSpaceURI 077 * 078 * @param serviceNameSpaceURI the serviceNameSpaceURI to set 079 */ 080 public void setServiceNameSpaceURI(String serviceNameSpaceURI) { 081 this.serviceNameSpaceURI = serviceNameSpaceURI; 082 } 083 084 /** 085 * Gets the localServiceName 086 * 087 * @return String localServiceName of this BasicAuthenticationCredentials 088 */ 089 public String getLocalServiceName() { 090 return localServiceName; 091 } 092 093 /** 094 * Sets the localServiceName 095 * 096 * @param localServiceName the localServiceName to set 097 */ 098 public void setLocalServiceName(String localServiceName) { 099 this.localServiceName = localServiceName; 100 } 101 102 /** 103 * Gets the username 104 * 105 * @return username the username of this BasicAuthenticationCredentials 106 */ 107 public String getUsername() { 108 return username; 109 } 110 111 /** 112 * Sets the username 113 * 114 * @param username the username to set 115 */ 116 public void setUsername(String username) { 117 this.username = username; 118 } 119 120 /** 121 * Gets the password 122 * 123 * @return password the password of this BasicAuthenticationCredentials 124 */ 125 public String getPassword() { 126 return password; 127 } 128 129 /** 130 * Sets the password 131 * 132 * @param password the password to set 133 */ 134 public void setPassword(String password) { 135 this.password = password; 136 } 137 138 /** 139 * Validates authenticationService, serviceNameSpaceURI, localServiceName, username, and password 140 * 141 * @return true if the authentictionSerivce is not null and the serviceNameSpaceURI, localServiceName, 142 * username, and password are not blank 143 */ 144 protected boolean validate() { 145 return this.getAuthenticationService() != null && 146 StringUtils.isNotBlank(this.getServiceNameSpaceURI()) && 147 StringUtils.isNotBlank(this.getLocalServiceName()) && 148 StringUtils.isNotBlank(this.getUsername()) && 149 StringUtils.isNotBlank(this.getPassword()); 150 } 151 }