amyroh 2004/04/29 17:44:51 Modified: webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources SaveDataSourceAction.java Log: Check for encoded JNDI name for adding DataSource. Revision Changes Path 1.10 +19 -4 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveDataSourceAction.java Index: SaveDataSourceAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/resources/SaveDataSourceAction.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- SaveDataSourceAction.java 27 Feb 2004 14:59:04 -0000 1.9 +++ SaveDataSourceAction.java 30 Apr 2004 00:44:50 -0000 1.10 @@ -18,7 +18,7 @@ package org.apache.webapp.admin.resources; import java.io.IOException; -import java.net.URLDecoder; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.Iterator; import java.util.Locale; @@ -133,6 +133,8 @@ Object params[] = new Object[2]; params[0] = dataSourceForm.getJndiName(); params[1] = ResourceUtils.DATASOURCE_CLASS; + String encodedJndiName = URLEncoder.encode(params[0].toString(), + "UTF-8"); String resourcetype = dataSourceForm.getResourcetype(); String path = dataSourceForm.getPath(); @@ -140,6 +142,7 @@ String domain = dataSourceForm.getDomain(); ObjectName oname = null; + ObjectName encodedOName = null; try { @@ -148,15 +151,27 @@ ResourceUtils.GLOBAL_TYPE + ",class=" + params[1] + ",name=" + params[0]); + encodedOName = new ObjectName( domain + + ResourceUtils.RESOURCE_TYPE + + ResourceUtils.GLOBAL_TYPE + + ",class=" + params[1] + + ",name=" + encodedJndiName); } else if (resourcetype.equals("Context")) { oname = new ObjectName( domain + ResourceUtils.RESOURCE_TYPE + ResourceUtils.CONTEXT_TYPE + ",path=" + path + ",host=" + host + ",class=" + params[1] + ",name=" + params[0]); + encodedOName = new ObjectName( domain + + ResourceUtils.RESOURCE_TYPE + + ResourceUtils.CONTEXT_TYPE + + ",path=" + path + ",host=" + host + + ",class=" + params[1] + + ",name=" + encodedJndiName); } - - if (mserver.isRegistered(oname)) { + + if (mserver.isRegistered(oname) || + mserver.isRegistered(encodedOName)) { ActionErrors errors = new ActionErrors(); errors.add("jndiName", new ActionError("resources.invalid.name"));
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]