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]