yoavs 2005/07/22 06:47:53 Modified: webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm SaveJDBCRealmAction.java webapps/docs changelog.xml Log: Bugzilla 35758: http://issues.apache.org/bugzilla/show_bug.cgi?id=35758 Revision Changes Path 1.13 +47 -21 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJDBCRealmAction.java Index: SaveJDBCRealmAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJDBCRealmAction.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- SaveJDBCRealmAction.java 18 Oct 2004 06:37:54 -0000 1.12 +++ SaveJDBCRealmAction.java 22 Jul 2005 13:47:53 -0000 1.13 @@ -228,49 +228,51 @@ // Perform attribute updates as requested String attribute = null; + String value = null; + try { ObjectName roname = new ObjectName(rObjectName); attribute = "digest"; - mBServer.setAttribute(roname, - new Attribute("digest", rform.getDigest())); + value = rform.getDigest(); + setAttributeIfPresent(mBServer, roname, attribute, value); attribute = "driverName"; - mBServer.setAttribute(roname, - new Attribute("driverName", rform.getDriver())); + value = rform.getDriver(); + setAttributeIfPresent(mBServer, roname, attribute, value); attribute = "roleNameCol"; - mBServer.setAttribute(roname, - new Attribute("roleNameCol", rform.getRoleNameCol())); + value = rform.getRoleNameCol(); + setAttributeIfPresent(mBServer, roname, attribute, value); attribute = "userNameCol"; - mBServer.setAttribute(roname, - new Attribute("userNameCol", rform.getUserNameCol())); + value = rform.getUserNameCol(); + setAttributeIfPresent(mBServer, roname, attribute, value); attribute = "userCredCol"; - mBServer.setAttribute(roname, - new Attribute("userCredCol", rform.getPasswordCol())); + value = rform.getPasswordCol(); + setAttributeIfPresent(mBServer, roname, attribute, value); attribute = "userTable"; - mBServer.setAttribute(roname, - new Attribute("userTable", rform.getUserTable())); + value = rform.getUserTable(); + setAttributeIfPresent(mBServer, roname, attribute, value); attribute = "userRoleTable"; - mBServer.setAttribute(roname, - new Attribute("userRoleTable", rform.getRoleTable())); + value = rform.getRoleTable(); + setAttributeIfPresent(mBServer, roname, attribute, value); attribute = "connectionName"; - mBServer.setAttribute(roname, - new Attribute("connectionName", rform.getConnectionName())); + value = rform.getConnectionName(); + setAttributeIfPresent(mBServer, roname, attribute, value); attribute = "connectionURL"; - mBServer.setAttribute(roname, - new Attribute("connectionURL", rform.getConnectionURL())); + value = rform.getConnectionURL(); + setAttributeIfPresent(mBServer, roname, attribute, value); attribute = "connectionPassword"; - mBServer.setAttribute(roname, - new Attribute("connectionPassword", rform.getConnectionPassword())); + value = rform.getConnectionPassword(); + setAttributeIfPresent(mBServer, roname, attribute, value); } catch (Exception e) { @@ -289,5 +291,29 @@ return (mapping.findForward("Save Successful")); } + + /** + * Sets the given attribute to the given value + * in the given server's object name, if the value + * is not null or empty. + * + * @param theServer The server + * @param roname The object name + * @param attribute The attribute name + * @param value The attribute value + * @throws JMException If a JMX error occurs + */ + protected void setAttributeIfPresent(MBeanServer mBServer, ObjectName roname, String attribute, String value) + throws JMException { + + if((mBServer == null) || (roname == null) || (attribute == null)) { + throw new IllegalArgumentException("MBeanServer, ObjectName, attribute required."); + } + + if((value != null) && (value.trim().length() > 0)) { + mBServer.setAttribute(roname, + new Attribute(attribute, value)); + } + } } 1.333 +8 -0 jakarta-tomcat-catalina/webapps/docs/changelog.xml Index: changelog.xml =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/docs/changelog.xml,v retrieving revision 1.332 retrieving revision 1.333 diff -u -r1.332 -r1.333 --- changelog.xml 22 Jul 2005 13:01:14 -0000 1.332 +++ changelog.xml 22 Jul 2005 13:47:53 -0000 1.333 @@ -408,6 +408,14 @@ </add> </changelog> </subsection> + + <subsection name="Webapps"> + <changelog> + <fix> + <bug>35758</bug>: Admin webapp mishandling digest attribute of JDBCDataSourceRealm. (yoavs) + </fix> + </changelog> + </subsection> </section> <section name="Tomcat 5.5.9 (yoavs)">
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]