[Bug 51966] Tomcat does not support ssha hashed passwords in all contexts
https://issues.apache.org/bugzilla/show_bug.cgi?id=51966 --- Comment #12 from Oliver Kohll --- David, I see your other report https://issues.apache.org/bugzilla/show_bug.cgi?id=53785 is currently marked RESOLVED WONTFIX. I'm not a security expert but I don't think there's much argument that salting or a pluggable architecture would be an improvement on the current implementation of unsalted hashing. I for one appreciate the work others have done to date, above. It's unfortunate I don't have enough knowledge to contribute helpful patches myself but I'm sure this is going to be something that sees an increasing amount of interest. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54544] New: Loop vars are not reset for fortoken with deferred expression
https://issues.apache.org/bugzilla/show_bug.cgi?id=54544 Bug ID: 54544 Summary: Loop vars are not reset for fortoken with deferred expression Product: Taglibs Version: 1.2.0 Hardware: All OS: All Status: NEW Severity: normal Priority: P2 Component: Standard Taglib Assignee: dev@tomcat.apache.org Reporter: jboy...@apache.org Classification: Unclassified When using with a deferred expression, the expression and index are not reset between invocations of the tag. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1444585 - in /tomcat/taglibs/standard/trunk: impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ForTokensSupport.java spec/src/main/java/javax/servlet/jsp/jstl/core/LoopTagSup
Author: jboynes Date: Sun Feb 10 19:10:57 2013 New Revision: 1444585 URL: http://svn.apache.org/r1444585 Log: fix for #54544 where loop variables are not reset when the tag is recycled Modified: tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ForTokensSupport.java tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/LoopTagSupport.java Modified: tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ForTokensSupport.java URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ForTokensSupport.java?rev=1444585&r1=1444584&r2=1444585&view=diff == --- tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ForTokensSupport.java (original) +++ tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ForTokensSupport.java Sun Feb 10 19:10:57 2013 @@ -19,7 +19,6 @@ package org.apache.taglibs.standard.tag. import java.util.StringTokenizer; -import javax.el.ELContext; import javax.el.ValueExpression; import javax.servlet.jsp.JspTagException; import javax.servlet.jsp.jstl.core.IteratedExpression; @@ -57,7 +56,7 @@ public abstract class ForTokensSupport e protected Object items; // 'items' attribute protected String delims; // 'delims' attribute protected StringTokenizer st; // digested tokenizer -protected int currentIndex = 0; +protected int currentIndex; private IteratedExpression itemsValueIteratedExpression; @@ -73,8 +72,10 @@ public abstract class ForTokensSupport e protected void prepare() throws JspTagException { if (items instanceof ValueExpression) { deferredExpression = (ValueExpression) items; -ELContext myELContext = pageContext.getELContext(); -Object originalValue = deferredExpression.getValue(myELContext); +itemsValueIteratedExpression = new IteratedExpression(deferredExpression, getDelims()); +currentIndex = 0; + +Object originalValue = deferredExpression.getValue(pageContext.getELContext()); if (originalValue instanceof String) { st = new StringTokenizer((String) originalValue, delims); } else { @@ -94,12 +95,7 @@ public abstract class ForTokensSupport e protected Object next() throws JspTagException { if (deferredExpression != null) { st.nextElement(); -if (itemsValueIteratedExpression == null) { -itemsValueIteratedExpression = new IteratedExpression(deferredExpression, getDelims()); -} -ValueExpression nextValue = new IteratedValueExpression(itemsValueIteratedExpression, currentIndex); -currentIndex++; -return nextValue; +return new IteratedValueExpression(itemsValueIteratedExpression, currentIndex++); } else { return st.nextElement(); } Modified: tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/LoopTagSupport.java URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/LoopTagSupport.java?rev=1444585&r1=1444584&r2=1444585&view=diff == --- tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/LoopTagSupport.java (original) +++ tomcat/taglibs/standard/trunk/spec/src/main/java/javax/servlet/jsp/jstl/core/LoopTagSupport.java Sun Feb 10 19:10:57 2013 @@ -115,7 +115,7 @@ public abstract class LoopTagSupport */ protected String itemId, statusId; -protected ValueExpression deferredExpression = null; +protected ValueExpression deferredExpression; //* // 'Private' state (implementation details) @@ -509,6 +509,7 @@ public abstract class LoopTagSupport beginSpecified = false; // not specified until it's specified :-) endSpecified = false; // (as above) stepSpecified = false; // (as above) +deferredExpression = null; // defaults for interface with page author begin = 0; // when not specified, 'begin' is 0 by spec. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54544] Loop vars are not reset for fortoken with deferred expression
https://issues.apache.org/bugzilla/show_bug.cgi?id=54544 Jeremy Boynes changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Jeremy Boynes --- Fixed in r1444585 -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Time for Taglibs to be sent to the archive?
On Jan 29, 2013, at 11:56 PM, Jeremy Boynes wrote: ... > > My interpretation was that a product must pass the TCK in all its > configurations. In other words, you can't claim compatibility on Java7 unless > you've tested on Java7. If we test on Java7 and pass, we can claim we're a > compatible implementation in that mode; if we don't test on Java5 then we > can't claim compatibility on Java5 but that does not stop us being compatible > on Java7. I read it as being sufficient if we document what we require as a > resource. > > @Henri, I ran all tests on Java6 and have not tried SQL on Java7. I'll pull > the newer version and retest. I pulled the newer TCK and the current trunk revision passes all tests. Although the newer version says it was updated for Java7, the test harness does not compile due to JDBC issues. There are a couple of utility classes that were fixed to work with 1.6 but which do not support the methods added in 1.7. Rather than patch them, I built the tests using 1.6 and ran them with 1.6 and 1.7. I tested the following configurations: ServerHarness Tomcat 6.0.35/Java 1.6Java 1.6 Tomcat 6.0.35/Java 1.7Java 1.6 Tomcat 7.0.35/Java 1.7Java 1.6 Tomcat 7.0.35/Java 1.7Java 1.7 All tests pass in all configurations. OS: Mac OS X 10.7.5 DB: derby-10.6.1.0 Apache JSTL jars: taglibs-standard-spec-1.2-SNAPSHOT.jar taglibs-standard-impl-1.2-SNAPSHOT.jar taglibs-standard-jstlel-1.2-SNAPSHOT.jar xalan-2.7.1.jar serializer-2.7.1.jar The signature tests are no longer built and run from the top level. They pass if run on Java 1.6 but there is no signature file for running them on 1.7. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 54536] ErrorReportValve doesn't respect HttpServletResponse.sendError(int sc, String msg)
https://issues.apache.org/bugzilla/show_bug.cgi?id=54536 Michael Osipov <1983-01...@gmx.net> changed: What|Removed |Added CC||1983-01...@gmx.net --- Comment #4 from Michael Osipov <1983-01...@gmx.net> --- Why not 408? -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1444609 - in /tomcat/trunk/java/org/apache/catalina/storeconfig: StandardContextSF.java StandardServerSF.java StoreConfigLifecycleListener.java StoreLoader.java
Author: markt Date: Sun Feb 10 20:43:21 2013 New Revision: 1444609 URL: http://svn.apache.org/r1444609 Log: Fix various Eclipse warnings Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/StandardContextSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServerSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java tomcat/trunk/java/org/apache/catalina/storeconfig/StoreLoader.java Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/StandardContextSF.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/StandardContextSF.java?rev=1444609&r1=1444608&r2=1444609&view=diff == --- tomcat/trunk/java/org/apache/catalina/storeconfig/StandardContextSF.java (original) +++ tomcat/trunk/java/org/apache/catalina/storeconfig/StandardContextSF.java Sun Feb 10 20:43:21 2013 @@ -129,12 +129,12 @@ public class StandardContextSF extends S try { writer.flush(); } catch (Exception e) { -; +// Ignore } try { writer.close(); } catch (Throwable t) { -; +// Ignore } } } Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServerSF.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServerSF.java?rev=1444609&r1=1444608&r2=1444609&view=diff == --- tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServerSF.java (original) +++ tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServerSF.java Sun Feb 10 20:43:21 2013 @@ -68,25 +68,23 @@ public class StandardServerSF extends St if (aObject instanceof StandardServer) { StandardServer server = (StandardServer) aObject; // Store nested elements -if (server instanceof Lifecycle) { -LifecycleListener listeners[] = ((Lifecycle) server) -.findLifecycleListeners(); -storeElementArray(aWriter, indent, listeners); -/*LifecycleListener listener = null; -for (int i = 0; listener == null && i < listeners.length; i++) -if (listeners[i] instanceof ServerLifecycleListener) -listener = listeners[i]; -if (listener != null) { -StoreDescription elementDesc = getRegistry() -.findDescription( -StandardServer.class.getName() -+ ".[ServerLifecycleListener]"); -if (elementDesc != null) { -elementDesc.getStoreFactory().store(aWriter, indent, -listener); -} -}*/ -} +LifecycleListener listeners[] = ((Lifecycle) server) +.findLifecycleListeners(); +storeElementArray(aWriter, indent, listeners); +/*LifecycleListener listener = null; +for (int i = 0; listener == null && i < listeners.length; i++) +if (listeners[i] instanceof ServerLifecycleListener) +listener = listeners[i]; +if (listener != null) { +StoreDescription elementDesc = getRegistry() +.findDescription( +StandardServer.class.getName() ++ ".[ServerLifecycleListener]"); +if (elementDesc != null) { +elementDesc.getStoreFactory().store(aWriter, indent, +listener); +} +}*/ // Store nested element NamingResources globalNamingResources = server .getGlobalNamingResources(); Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java?rev=1444609&r1=1444608&r2=1444609&view=diff == --- tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java (original) +++ tomcat/trunk/java/org/apache/catalina/storeconfig/StoreConfigLifecycleListener.java Sun Feb 10 20:43:21 2013 @@ -16,8 +16,6 @@ */ package org.apache.catalina.storeconfig; -import java.io.InputStream; - import javax.management.DynamicMBean; import javax.management.MBeanServer; import javax.management.Object
svn commit: r1444611 - /tomcat/trunk/java/org/apache/catalina/storeconfig/WebResourceRootSF.java
Author: markt Date: Sun Feb 10 20:45:47 2013 New Revision: 1444611 URL: http://svn.apache.org/r1444611 Log: Fix copy and paste error highlighted by Eclipse NPE warnings Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/WebResourceRootSF.java Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/WebResourceRootSF.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/WebResourceRootSF.java?rev=1444611&r1=1444610&r2=1444611&view=diff == --- tomcat/trunk/java/org/apache/catalina/storeconfig/WebResourceRootSF.java (original) +++ tomcat/trunk/java/org/apache/catalina/storeconfig/WebResourceRootSF.java Sun Feb 10 20:45:47 2013 @@ -65,7 +65,7 @@ public class WebResourceRootSF extends S + ".[JarResources]"); if (jarResourcesElementDesc != null) { for (WebResourceSet jarResources : jarResourcesArray) { -preResourcesElementDesc.getStoreFactory().store(aWriter, indent, +jarResourcesElementDesc.getStoreFactory().store(aWriter, indent, jarResources); } } @@ -77,7 +77,7 @@ public class WebResourceRootSF extends S + ".[PostResources]"); if (postResourcesElementDesc != null) { for (WebResourceSet postResources : postResourcesArray) { -preResourcesElementDesc.getStoreFactory().store(aWriter, indent, +postResourcesElementDesc.getStoreFactory().store(aWriter, indent, postResources); } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1444614 - /tomcat/trunk/java/org/apache/catalina/storeconfig/
Author: markt Date: Sun Feb 10 21:01:16 2013 New Revision: 1444614 URL: http://svn.apache.org/r1444614 Log: s/childs/children/ Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/CatalinaClusterSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/ChannelSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/InterceptorSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/LoaderSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/ManagerSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/NamingResourcesSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/PersistentManagerSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/RealmSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/SenderSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/StandardContextSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/StandardEngineSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/StandardHostSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServerSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServiceSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/StoreDescription.java tomcat/trunk/java/org/apache/catalina/storeconfig/StoreFactoryBase.java tomcat/trunk/java/org/apache/catalina/storeconfig/StoreLoader.java tomcat/trunk/java/org/apache/catalina/storeconfig/WebResourceRootSF.java tomcat/trunk/java/org/apache/catalina/storeconfig/server-registry.xml Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/CatalinaClusterSF.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/CatalinaClusterSF.java?rev=1444614&r1=1444613&r2=1444614&view=diff == --- tomcat/trunk/java/org/apache/catalina/storeconfig/CatalinaClusterSF.java (original) +++ tomcat/trunk/java/org/apache/catalina/storeconfig/CatalinaClusterSF.java Sun Feb 10 21:01:16 2013 @@ -35,7 +35,7 @@ import org.apache.catalina.tribes.Channe public class CatalinaClusterSF extends StoreFactoryBase { /** - * Store the specified Cluster childs. + * Store the specified Cluster children. * * @param aWriter *PrintWriter to which we are storing @@ -48,7 +48,7 @@ public class CatalinaClusterSF extends S *if an exception occurs while storing */ @Override -public void storeChilds(PrintWriter aWriter, int indent, Object aCluster, +public void storeChildren(PrintWriter aWriter, int indent, Object aCluster, StoreDescription parentDesc) throws Exception { if (aCluster instanceof CatalinaCluster) { CatalinaCluster cluster = (CatalinaCluster) aCluster; Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/ChannelSF.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/ChannelSF.java?rev=1444614&r1=1444613&r2=1444614&view=diff == --- tomcat/trunk/java/org/apache/catalina/storeconfig/ChannelSF.java (original) +++ tomcat/trunk/java/org/apache/catalina/storeconfig/ChannelSF.java Sun Feb 10 21:01:16 2013 @@ -33,7 +33,7 @@ import org.apache.catalina.tribes.Member public class ChannelSF extends StoreFactoryBase { /** - * Store the specified Channel childs. + * Store the specified Channel children. * * @param aWriter *PrintWriter to which we are storing @@ -46,7 +46,7 @@ public class ChannelSF extends StoreFact *if an exception occurs while storing */ @Override -public void storeChilds(PrintWriter aWriter, int indent, Object aChannel, +public void storeChildren(PrintWriter aWriter, int indent, Object aChannel, StoreDescription parentDesc) throws Exception { if (aChannel instanceof Channel) { Channel channel = (Channel) aChannel; Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorSF.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorSF.java?rev=1444614&r1=1444613&r2=1444614&view=diff == --- tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorSF.java (original) +++ tomcat/trunk/java/org/apache/catalina/storeconfig/ConnectorSF.java Sun Feb 10 21:01:16 2013 @@ -36,7 +36,7 @@ public class ConnectorSF extends StoreFa * @throws Exception */ @Override -public void storeChilds(PrintWriter aWriter, int indent, Object aConnector, +public void storeChildren(PrintWriter aWriter, int indent, Object aConnector, StoreDescription parentDesc) throws Exception { if (aConnector instanceof Connect
svn commit: r1444615 - /tomcat/trunk/java/org/apache/catalina/storeconfig/StoreFactoryBase.java
Author: markt Date: Sun Feb 10 21:02:29 2013 New Revision: 1444615 URL: http://svn.apache.org/r1444615 Log: Fix typo Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/StoreFactoryBase.java Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/StoreFactoryBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/StoreFactoryBase.java?rev=1444615&r1=1444614&r2=1444615&view=diff == --- tomcat/trunk/java/org/apache/catalina/storeconfig/StoreFactoryBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/storeconfig/StoreFactoryBase.java Sun Feb 10 21:02:29 2013 @@ -189,7 +189,7 @@ public class StoreFactoryBase implements try { storeElement(aWriter, indent, elements[i]); } catch (IOException ioe) { -// ingore children report error them self! +// ignore children report error them self! // see StandartContext.storeWithBackup() } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
EL 3.0, HttpSessionIdListener, HttpServletRequest#changeSessionId()
As some of you know, I've been experimenting with Tomcat trunk (8.0) and the latest specs. I understand, of course, that this is all far from complete. While playing around this weekend, I noticed three things: - Tomcat trunk still has EL 2.2 instead of the new EL 3.0 - javax.servlet.http.HttpSessionIdListener (possibly others, this is just the one I noticed) is missing from servlet-api.jar - HttpServletRequest#changeSessionId() is not yet implemented Is anyone on the list currently working on any of these three things, and if so, do you have any idea when some reasonably-stable iteration of them will be checked in to trunk? Of course, I know it's entirely possible that simply nobody has even looked at them yet, and that's understandable this early in the game. Nick This e-mail may contain privileged or confidential information. If you are not the intended recipient: (1) you may not disclose, use, distribute, copy or rely upon this message or attachment(s); and (2) please notify the sender by reply e-mail, and then delete this message and its attachment(s). Underwriters Laboratories Inc. and its affiliates disclaim all liability for any errors, omissions, corruption or virus in this message or any attachments.
svn commit: r1444644 - /tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ForEachSupport.java
Author: jboynes Date: Mon Feb 11 01:10:57 2013 New Revision: 1444644 URL: http://svn.apache.org/r1444644 Log: major refactor of ForEachSupport to reduce array allocation and use auto-boxing also addresses memory issue for begin..end iteration for large values of end simplify iteration of deferred expressions Modified: tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ForEachSupport.java Modified: tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ForEachSupport.java URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ForEachSupport.java?rev=1444644&r1=1444643&r2=1444644&view=diff == --- tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ForEachSupport.java (original) +++ tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ForEachSupport.java Mon Feb 11 01:10:57 2013 @@ -17,22 +17,16 @@ package org.apache.taglibs.standard.tag.common.core; -import java.util.Arrays; -import java.util.Collection; -import java.util.Enumeration; -import java.util.Iterator; -import java.util.Map; -import java.util.StringTokenizer; +import org.apache.taglibs.standard.resources.Resources; -import javax.el.ELContext; import javax.el.ValueExpression; import javax.servlet.jsp.JspTagException; import javax.servlet.jsp.jstl.core.IndexedValueExpression; import javax.servlet.jsp.jstl.core.IteratedExpression; import javax.servlet.jsp.jstl.core.IteratedValueExpression; import javax.servlet.jsp.jstl.core.LoopTagSupport; - -import org.apache.taglibs.standard.resources.Resources; +import java.lang.reflect.Array; +import java.util.*; /** * Support for tag handlers for, the core iteration @@ -50,217 +44,50 @@ import org.apache.taglibs.standard.resou * @see javax.servlet.jsp.jstl.core.LoopTagSupport */ public abstract class ForEachSupport extends LoopTagSupport { +protected Iterator items; // our 'digested' items +protected Object rawItems;// our 'raw' items -//* -// Implementation overview - -/* - * This particular handler is essentially a large switching mechanism - * to support the various types that the tag handles. The - * class is organized around the private ForEachIterator interface, - * which serves as the basis for relaying information to the iteration - * implementation we inherit from LoopTagSupport. - * - * We expect to receive our 'items' from one of our subclasses - * (presumably from the rtexprvalue or expression-evaluating libraries). - * If 'items' is missing, we construct an Integer[] array representing - * iteration indices, in line with the spec draft. From doStartTag(), - * we analyze and 'digest' the data we're passed. Then, we simply - * relay items as necessary to the iteration implementation that - * we inherit from LoopTagSupport. - */ - - -//* -// Internal, supporting classes and interfaces - -/* - * Acts as a focal point for converting the various types we support. - * It would have been ideal to use Iterator here except for one problem: - * Iterator.hasNext() and Iterator.next() can't throw the JspTagException - * we want to throw. So instead, we'll encapsulate the hasNext() and - * next() methods we want to provide inside this local class. - * (Other implementations are more than welcome to implement hasNext() - * and next() explicitly, not in terms of a back-end supporting class. - * For the forEach tag handler, however, this class acts as a convenient - * organizational mechanism, for we support so many different classes. - * This encapsulation makes it easier to localize implementations - * in support of particular types -- e.g., changing the implementation - * of primitive-array iteration to wrap primitives only on request, - * instead of in advance, would involve changing only those methods that - * handle primitive arrays. - */ - -protected static interface ForEachIterator { -public boolean hasNext() throws JspTagException; - -public Object next() throws JspTagException; -} - -/* - * Simple implementation of ForEachIterator that adapts from - * an Iterator. This is appropriate for cases where hasNext() and - * next() don't need to throw JspTagException. Such cases are common.core. - */ - -protected class SimpleForEachIterator implements ForEachIterator { -private Iterator i; - -public SimpleForEachIterator(Iterator i) { -this.i = i; -} - -pu
svn commit: r1444665 - /tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServerSF.java
Author: kkolinko Date: Mon Feb 11 06:49:59 2013 New Revision: 1444665 URL: http://svn.apache.org/r1444665 Log: Correct a typo Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServerSF.java Modified: tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServerSF.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServerSF.java?rev=1444665&r1=1444664&r2=1444665&view=diff == --- tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServerSF.java (original) +++ tomcat/trunk/java/org/apache/catalina/storeconfig/StandardServerSF.java Mon Feb 11 06:49:59 2013 @@ -54,7 +54,7 @@ public class StandardServerSF extends St } /** - * Store Children from this StandardServer descrition + * Store Children from this StandardServer description * * @param aWriter * @param indent - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org