Author: violetagg Date: Mon Oct 26 15:41:58 2015 New Revision: 1710632 URL: http://svn.apache.org/viewvc?rev=1710632&view=rev Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58545 Use entrySet() instead of keySet() when one need to obtain the value for a corresponding key. Based on a patch provided by Anthony Whitford.
Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java tomcat/trunk/java/org/apache/catalina/core/StandardContext.java tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHandshakeRequest.java Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java?rev=1710632&r1=1710631&r2=1710632&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java Mon Oct 26 15:41:58 2015 @@ -24,8 +24,8 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; import java.util.HashMap; -import java.util.Iterator; import java.util.Map; +import java.util.Map.Entry; import java.util.NoSuchElementException; import javax.servlet.DispatcherType; @@ -887,16 +887,16 @@ class ApplicationHttpRequest extends Htt encoding = "ISO-8859-1"; RequestUtil.parseParameters(queryParameters, queryParamString, encoding); - Iterator<String> keys = parameters.keySet().iterator(); - while (keys.hasNext()) { - String key = keys.next(); - Object value = queryParameters.get(key); + for (Entry<String, String[]> entry : parameters.entrySet()) { + String entryKey = entry.getKey(); + String[] entryValue = entry.getValue(); + Object value = queryParameters.get(entryKey); if (value == null) { - queryParameters.put(key, parameters.get(key)); + queryParameters.put(entryKey, entryValue); continue; } queryParameters.put - (key, mergeValues(value, parameters.get(key))); + (entryKey, mergeValues(value, entryValue)); } parameters = queryParameters; Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1710632&r1=1710631&r2=1710632&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Mon Oct 26 15:41:58 2015 @@ -4606,12 +4606,10 @@ public class StandardContext extends Con // Release all Filter and FilterConfig instances synchronized (filterConfigs) { - Iterator<String> names = filterConfigs.keySet().iterator(); - while (names.hasNext()) { - String name = names.next(); + for (Entry<String, ApplicationFilterConfig> entry : filterConfigs.entrySet()) { if (getLogger().isDebugEnabled()) - getLogger().debug(" Stopping filter '" + name + "'"); - ApplicationFilterConfig filterConfig = filterConfigs.get(name); + getLogger().debug(" Stopping filter '" + entry.getKey() + "'"); + ApplicationFilterConfig filterConfig = entry.getValue(); filterConfig.release(); } filterConfigs.clear(); Modified: tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java?rev=1710632&r1=1710631&r2=1710632&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java (original) +++ tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java Mon Oct 26 15:41:58 2015 @@ -1999,11 +1999,11 @@ public class JNDIRealm extends RealmBase throw ex; } - Set<String> keys = groupMap.keySet(); if (containerLog.isTraceEnabled()) { - containerLog.trace(" Found " + keys.size() + " direct roles"); - for (String key: keys) { - containerLog.trace( " Found direct role " + key + " -> " + groupMap.get(key)); + Set<Entry<String, String>> entries = groupMap.entrySet(); + containerLog.trace(" Found " + entries.size() + " direct roles"); + for (Entry<String, String> entry : entries) { + containerLog.trace( " Found direct role " + entry.getKey() + " -> " + entry.getValue()); } } Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java?rev=1710632&r1=1710631&r2=1710632&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java Mon Oct 26 15:41:58 2015 @@ -442,15 +442,14 @@ class TagFileProcessor { */ void postCheck() throws JasperException { // Check that var.name-from-attributes has valid values. - Iterator<String> iter = nameFromTable.keySet().iterator(); - while (iter.hasNext()) { - String nameFrom = iter.next(); - NameEntry nameEntry = nameTable.get(nameFrom); - NameEntry nameFromEntry = nameFromTable.get(nameFrom); + for (Entry<String, NameEntry> entry : nameFromTable.entrySet()) { + String key = entry.getKey(); + NameEntry nameEntry = nameTable.get(key); + NameEntry nameFromEntry = entry.getValue(); Node nameFromNode = nameFromEntry.getNode(); if (nameEntry == null) { err.jspError(nameFromNode, - "jsp.error.tagfile.nameFrom.noAttribute", nameFrom); + "jsp.error.tagfile.nameFrom.noAttribute", key); } else { Node node = nameEntry.getNode(); TagAttributeInfo tagAttr = nameEntry.getTagAttributeInfo(); @@ -459,7 +458,7 @@ class TagFileProcessor { || tagAttr.canBeRequestTime()) { err.jspError(nameFromNode, "jsp.error.tagfile.nameFrom.badAttribute", - nameFrom, Integer.toString(node.getStart() + key, Integer.toString(node.getStart() .getLineNumber())); } } Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHandshakeRequest.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHandshakeRequest.java?rev=1710632&r1=1710631&r2=1710632&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHandshakeRequest.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHandshakeRequest.java Mon Oct 26 15:41:58 2015 @@ -76,10 +76,10 @@ public class WsHandshakeRequest implemen Collections.unmodifiableList( Arrays.asList(entry.getValue()))); } - for (String pathName : pathParams.keySet()) { - newParameters.put(pathName, + for (Entry<String,String> entry : pathParams.entrySet()) { + newParameters.put(entry.getKey(), Collections.unmodifiableList( - Arrays.asList(pathParams.get(pathName)))); + Arrays.asList(entry.getValue()))); } parameterMap = Collections.unmodifiableMap(newParameters); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org