blob: beb5f6516341514354bb515205b6c0d887b50186 [file] [log] [blame]
/*
* Copyright 2001,2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.webapp.admin.realm;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import java.net.InetAddress;
import java.util.List;
import org.apache.webapp.admin.ApplicationServlet;
import org.apache.webapp.admin.LabelValueBean;
/**
* Form bean for the JNDI realm page.
*
* @author Manveen Kaur
* @version $Revision$ $Date$
*/
public final class JNDIRealmForm extends RealmForm {
// ----------------------------------------------------- Instance Variables
/**
* The text for the connection user name.
*/
private String connectionName = null;
/**
* The text for the connection Password.
*/
private String connectionPassword = null;
/**
* The text for the connection URL.
*/
private String connectionURL = null;
/**
* The text for the context Factory.
*/
private String contextFactory = null;
/**
* The text for the digest algorithm.
*/
private String digest = null;
/**
* The text for the role Base.
*/
private String roleBase = null;
/**
* The text for the role name.
*/
private String roleName = null;
/**
* The text for the role Pattern.
*/
private String rolePattern = null;
/**
* Should we search the entire subtree for matching roles?
*/
private String roleSubtree = "false";
/**
* The text for the user Base.
*/
private String userBase = null;
/**
* The text for the user Password.
*/
private String userPassword = null;
/**
* The text for the user Pattern.
*/
private String userPattern = null;
/**
* The text for the user role name.
*/
private String userRoleName = null;
/**
* The text for the user Search.
*/
private String userSearch = null;
/**
* Should we search the entire subtree for matching users?
*/
private String userSubtree = "false";
/**
* Set of valid values for search subtrees(true/false).
*/
private List searchVals = null;
// ------------------------------------------------------------- Properties
/**
* Return the search Vals.
*/
public List getSearchVals() {
return this.searchVals;
}
/**
* Set the search Vals.
*/
public void setSearchVals(List searchVals) {
this.searchVals = searchVals;
}
/**
* Return the roleSubtree boolean Text.
*/
public String getRoleSubtree() {
return this.roleSubtree;
}
/**
* Set the roleSubtree Text.
*/
public void setRoleSubtree(String roleSubtree) {
this.roleSubtree = roleSubtree;
}
/**
* Return the userSubtree boolean Text.
*/
public String getUserSubtree() {
return this.userSubtree;
}
/**
* Set the userSubtree Text.
*/
public void setUserSubtree(String userSubtree) {
this.userSubtree = userSubtree;
}
/**
* Return the digest.
*/
public String getDigest() {
return this.digest;
}
/**
* Set the digest.
*/
public void setDigest(String digest) {
this.digest = digest;
}
/**
* Return the roleBase .
*/
public String getRoleBase() {
return this.roleBase ;
}
/**
* Set the roleBase .
*/
public void setRoleBase(String roleBase ) {
this.roleBase = roleBase ;
}
/**
* Return the role name.
*/
public String getRoleName() {
return this.roleName ;
}
/**
* Set the role name Attribute .
*/
public void setRoleName(String roleName) {
this.roleName = roleName ;
}
/**
* Return the userBase.
*/
public String getUserBase() {
return this.userBase ;
}
/**
* Set the userBase.
*/
public void setUserBase(String userBase ) {
this.userBase = userBase ;
}
/**
* Return the user role name.
*/
public String getUserRoleName() {
return this.userRoleName ;
}
/**
* Set the user role name Attribute .
*/
public void setUserRoleName(String userRoleName) {
this.userRoleName = userRoleName ;
}
/**
* Return the role Pattern
*/
public String getRolePattern() {
return this.rolePattern ;
}
/**
* Set the role Pattern.
*/
public void setRolePattern(String rolePattern ) {
this.rolePattern = rolePattern ;
}
/**
* Return the user Password .
*/
public String getUserPassword() {
return this.userPassword ;
}
/**
* Set the user Password .
*/
public void setUserPassword(String userPassword ) {
this.userPassword = userPassword ;
}
/**
* Return the user Pattern .
*/
public String getUserPattern() {
return this.userPattern ;
}
/**
* Set the user user Pattern .
*/
public void setUserPattern(String userPattern) {
this.userPattern = userPattern ;
}
/**
* Return the user Search.
*/
public String getUserSearch() {
return this.userSearch;
}
/**
* Set the user user Search.
*/
public void setUserSearch(String userSearch) {
this.userSearch = userSearch;
}
/**
* Return the connection name.
*/
public String getConnectionName() {
return this.connectionName;
}
/**
* Set the connectionName.
*/
public void setConnectionName(String connectionName) {
this.connectionName = connectionName;
}
/**
* Return the connection password.
*/
public String getConnectionPassword() {
return this.connectionPassword;
}
/**
* Set the connection password.
*/
public void setConnectionPassword(String connectionPassword) {
this.connectionPassword = connectionPassword;
}
/**
* Return the connection URL.
*/
public String getConnectionURL() {
return this.connectionURL;
}
/**
* Set the connectionURL.
*/
public void setConnectionURL(String connectionURL) {
this.connectionURL = connectionURL;
}
/**
* Return the context Factory .
*/
public String getContextFactory() {
return this.contextFactory ;
}
/**
* Set the context Factory .
*/
public void setContextFactory(String contextFactory ) {
this.contextFactory = contextFactory ;
}
// --------------------------------------------------------- Public Methods
/**
* Reset all properties to their default values.
*
* @param mapping The mapping used to select this instance
* @param request The servlet request we are processing
*/
public void reset(ActionMapping mapping, HttpServletRequest request) {
super.reset(mapping, request);
this.roleSubtree="false";
this.userSubtree="false";
this.digest = null;
this.roleName = null;
this.userRoleName = null;
this.connectionName = null;
this.connectionPassword = null;
this.connectionURL = null;
this.rolePattern = null;
this.roleBase = null;
this.userBase = null;
this.userPassword = null;
this.userPattern = null;
this.userSearch = null;
this.contextFactory = null;
}
/**
* Render this object as a String.
*/
public String toString() {
StringBuffer sb = new StringBuffer("UserDatabaseRealmForm[adminAction=");
sb.append(getAdminAction());
sb.append(",userSubtree=");
sb.append(userSubtree);
sb.append(",roleSubtree=");
sb.append(roleSubtree);
sb.append(",digest=");
sb.append(digest);
sb.append("',userRoleName='");
sb.append(userRoleName);
sb.append("',roleName='");
sb.append(roleName);
sb.append("',connectionName=");
sb.append(connectionName);
sb.append(",connectionPassword=");
sb.append(connectionPassword);
sb.append("',connectionURL='");
sb.append(connectionURL);
sb.append("',rolePattern=");
sb.append(rolePattern);
sb.append(",roleBase=");
sb.append(roleBase);
sb.append("',userPassword='");
sb.append(userPassword);
sb.append(",userBase=");
sb.append(userBase);
sb.append("',userPattern=");
sb.append(userPattern);
sb.append("',userSearch=");
sb.append(userSearch);
sb.append(",contextFactory=");
sb.append(contextFactory);
sb.append("',objectName='");
sb.append(getObjectName());
sb.append("',realmType=");
sb.append(getRealmType());
sb.append("]");
return (sb.toString());
}
/**
* Validate the properties that have been set from this HTTP request,
* and return an <code>ActionErrors</code> object that encapsulates any
* validation errors that have been found. If no errors are found, return
* <code>null</code> or an <code>ActionErrors</code> object with no
* recorded error messages.
*
* @param mapping The mapping used to select this instance
* @param request The servlet request we are processing
*/
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
String submit = request.getParameter("submit");
// front end validation when save is clicked.
//if (submit != null) {
// the following fields are required.
if ((connectionURL == null) || (connectionURL.length() < 1)) {
errors.add("connectionURL",
new ActionError("error.connURL.required"));
}
// Either userPattern or userSearch should be specified not both
boolean isUserPatternSpecified = false;
boolean isUserSearchSpecified = false;
if ((userPattern != null) && (userPattern.length() > 0)) {
isUserPatternSpecified = true;
}
if ((userSearch != null) && (userSearch.length() > 0)) {
isUserSearchSpecified = true;
}
if (isUserPatternSpecified && isUserSearchSpecified) {
errors.add("userPattern" ,
new ActionError("error.userPattern.userSearch.defined"));
}
/*if ((digest == null) || (digest.length() < 1)) {
errors.add("digest",
new ActionError("error.digest.required"));
} */
/*if ((roleName == null) || (roleName.length() < 1)) {
errors.add("roleName",
new ActionError("error.roleName.required"));
}
if ((userRoleName == null) || (userRoleName.length() < 1)) {
errors.add("userRoleName",
new ActionError("error.userRoleName.required"));
}
if ((rolePattern == null) || (rolePattern.length() < 1)) {
errors.add("rolePattern",
new ActionError("error.rolePattern.required"));
}
if ((roleBase == null) || (roleBase.length() < 1)) {
errors.add("roleBase",
new ActionError("error.roleBase.required"));
}
if ((userBase == null) || (userBase.length() < 1)) {
errors.add("userBase",
new ActionError("error.userBase.required"));
}
if ((userPassword == null) || (userPassword.length() < 1)) {
errors.add("userPassword",
new ActionError("error.userPassword.required"));
}
if ((userPattern == null) || (userPattern.length() < 1)) {
errors.add("userPattern",
new ActionError("error.userPattern.required"));
}
if ((userSearch == null) || (userSearch.length() < 1)) {
errors.add("userSearch",
new ActionError("error.userSearch.required"));
}
if ((connectionName == null) || (connectionName.length() < 1)) {
errors.add("connectionName",
new ActionError("error.connName.required"));
}
if ((connectionPassword == null) || (connectionPassword.length() < 1)) {
errors.add("connectionPassword",
new ActionError("error.connPassword.required"));
}
if ((contextFactory == null) || (contextFactory.length() < 1)) {
errors.add("contextFactory",
new ActionError("error.contextFactory.required"));
} */
//}
return errors;
}
}