You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by eb...@apache.org on 2020/12/02 00:40:56 UTC

[tomcat] branch master updated (f3b75d2 -> 382dffc)

This is an automated email from the ASF dual-hosted git repository.

ebourg pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git.


    from f3b75d2  Replace Runnable inner classes with lambda expressions
     new 521b3a3  Replace Collections.sort() with List.sort()
     new 382dffc  Replace loops with Collection.removeIf() when possible

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 java/org/apache/catalina/core/ApplicationPushBuilder.java      |  9 +--------
 java/org/apache/catalina/manager/HTMLManagerServlet.java       |  2 +-
 java/org/apache/catalina/ssi/SSIMediator.java                  |  9 +--------
 java/org/apache/catalina/startup/WebappServiceLoader.java      |  8 +-------
 java/org/apache/catalina/tribes/group/AbsoluteOrder.java       |  2 +-
 java/org/apache/el/stream/Stream.java                          |  2 +-
 .../tomcat/buildutil/translate/BackportTranslations.java       | 10 +---------
 java/org/apache/tomcat/util/descriptor/web/WebXml.java         |  8 +-------
 .../tomcat/util/modeler/BaseNotificationBroadcaster.java       |  9 +--------
 9 files changed, 9 insertions(+), 50 deletions(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[tomcat] 02/02: Replace loops with Collection.removeIf() when possible

Posted by eb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ebourg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 382dffc41f4f84e6d775739f73c4a1aac1711bb8
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Wed Dec 2 01:34:34 2020 +0100

    Replace loops with Collection.removeIf() when possible
---
 java/org/apache/catalina/core/ApplicationPushBuilder.java      |  9 +--------
 java/org/apache/catalina/ssi/SSIMediator.java                  |  9 +--------
 java/org/apache/catalina/startup/WebappServiceLoader.java      |  8 +-------
 .../tomcat/buildutil/translate/BackportTranslations.java       | 10 +---------
 java/org/apache/tomcat/util/descriptor/web/WebXml.java         |  8 +-------
 .../tomcat/util/modeler/BaseNotificationBroadcaster.java       |  9 +--------
 6 files changed, 6 insertions(+), 47 deletions(-)

diff --git a/java/org/apache/catalina/core/ApplicationPushBuilder.java b/java/org/apache/catalina/core/ApplicationPushBuilder.java
index be03176..0b5679b 100644
--- a/java/org/apache/catalina/core/ApplicationPushBuilder.java
+++ b/java/org/apache/catalina/core/ApplicationPushBuilder.java
@@ -22,7 +22,6 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -147,13 +146,7 @@ public class ApplicationPushBuilder implements PushBuilder {
             if (responseCookie.getMaxAge() < 0) {
                 // Path information not available so can only remove based on
                 // name.
-                Iterator<Cookie> cookieIterator = cookies.iterator();
-                while (cookieIterator.hasNext()) {
-                    Cookie cookie = cookieIterator.next();
-                    if (cookie.getName().equals(responseCookie.getName())) {
-                        cookieIterator.remove();
-                    }
-                }
+                cookies.removeIf(cookie -> cookie.getName().equals(responseCookie.getName()));
             } else {
                 cookies.add(new Cookie(responseCookie.getName(), responseCookie.getValue()));
             }
diff --git a/java/org/apache/catalina/ssi/SSIMediator.java b/java/org/apache/catalina/ssi/SSIMediator.java
index 1a1c892..3de7bd5 100644
--- a/java/org/apache/catalina/ssi/SSIMediator.java
+++ b/java/org/apache/catalina/ssi/SSIMediator.java
@@ -21,7 +21,6 @@ import java.nio.charset.StandardCharsets;
 import java.util.Collection;
 import java.util.Date;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.Locale;
 import java.util.Set;
 import java.util.TimeZone;
@@ -127,13 +126,7 @@ public class SSIMediator {
         variableNames.add("LAST_MODIFIED");
         ssiExternalResolver.addVariableNames(variableNames);
         //Remove any variables that are reserved by this class
-        Iterator<String> iter = variableNames.iterator();
-        while (iter.hasNext()) {
-            String name = iter.next();
-            if (isNameReserved(name)) {
-                iter.remove();
-            }
-        }
+        variableNames.removeIf(this::isNameReserved);
         return variableNames;
     }
 
diff --git a/java/org/apache/catalina/startup/WebappServiceLoader.java b/java/org/apache/catalina/startup/WebappServiceLoader.java
index e222940..3c0415a 100644
--- a/java/org/apache/catalina/startup/WebappServiceLoader.java
+++ b/java/org/apache/catalina/startup/WebappServiceLoader.java
@@ -27,7 +27,6 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Enumeration;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
@@ -124,12 +123,7 @@ public class WebappServiceLoader<T> {
 
         // Filter the discovered container SCIs if required
         if (containerSciFilterPattern != null) {
-            Iterator<String> iter = containerServiceClassNames.iterator();
-            while (iter.hasNext()) {
-                if (containerSciFilterPattern.matcher(iter.next()).find()) {
-                    iter.remove();
-                }
-            }
+            containerServiceClassNames.removeIf(s -> containerSciFilterPattern.matcher(s).find());
         }
 
         // Obtaining the application provided configuration files is a little
diff --git a/java/org/apache/tomcat/buildutil/translate/BackportTranslations.java b/java/org/apache/tomcat/buildutil/translate/BackportTranslations.java
index 1da15de..cb20a01 100644
--- a/java/org/apache/tomcat/buildutil/translate/BackportTranslations.java
+++ b/java/org/apache/tomcat/buildutil/translate/BackportTranslations.java
@@ -17,8 +17,6 @@
 package org.apache.tomcat.buildutil.translate;
 
 import java.io.IOException;
-import java.util.Iterator;
-import java.util.Map;
 import java.util.Properties;
 
 /**
@@ -63,13 +61,7 @@ public class BackportTranslations extends BackportBase {
             }
 
             // Remove translated values for keys that have been removed
-            Iterator<Map.Entry<Object,Object>> iter = targetTranslated.entrySet().iterator();
-            while (iter.hasNext()) {
-                Map.Entry<Object,Object> entry = iter.next();
-                if (!targetEnglish.containsKey(entry.getKey())) {
-                    iter.remove();
-                }
-            }
+            targetTranslated.entrySet().removeIf(entry -> !targetEnglish.containsKey(entry.getKey()));
             Utils.export(language, targetTranslated, storageDir);
         }
     }
diff --git a/java/org/apache/tomcat/util/descriptor/web/WebXml.java b/java/org/apache/tomcat/util/descriptor/web/WebXml.java
index 6dfa5f5..7720fa0 100644
--- a/java/org/apache/tomcat/util/descriptor/web/WebXml.java
+++ b/java/org/apache/tomcat/util/descriptor/web/WebXml.java
@@ -2391,13 +2391,7 @@ public class WebXml extends XmlEncodingBase implements DocumentProperties.Charse
             names.add(fragment.getName());
         }
         for (WebXml fragment : group) {
-            Iterator<String> after = fragment.getAfterOrdering().iterator();
-            while (after.hasNext()) {
-                String entry = after.next();
-                if (!names.contains(entry)) {
-                    after.remove();
-                }
-            }
+            fragment.getAfterOrdering().removeIf(entry -> !names.contains(entry));
         }
     }
     private static void orderFragments(Set<WebXml> orderedFragments,
diff --git a/java/org/apache/tomcat/util/modeler/BaseNotificationBroadcaster.java b/java/org/apache/tomcat/util/modeler/BaseNotificationBroadcaster.java
index 9795cf8..0b82be0 100644
--- a/java/org/apache/tomcat/util/modeler/BaseNotificationBroadcaster.java
+++ b/java/org/apache/tomcat/util/modeler/BaseNotificationBroadcaster.java
@@ -20,7 +20,6 @@ package org.apache.tomcat.util.modeler;
 
 
 import java.util.ArrayList;
-import java.util.Iterator;
 
 import javax.management.ListenerNotFoundException;
 import javax.management.MBeanNotificationInfo;
@@ -135,13 +134,7 @@ public class BaseNotificationBroadcaster implements NotificationBroadcaster {
         throws ListenerNotFoundException {
 
         synchronized (entries) {
-            Iterator<BaseNotificationBroadcasterEntry> items =
-                entries.iterator();
-            while (items.hasNext()) {
-                BaseNotificationBroadcasterEntry item = items.next();
-                if (item.listener == listener)
-                    items.remove();
-            }
+            entries.removeIf(item -> item.listener == listener);
         }
 
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [tomcat] 01/02: Replace Collections.sort() with List.sort()

Posted by Emmanuel Bourg <eb...@apache.org>.
Le 04/12/2020 à 13:31, Rémy Maucherat a écrit :

> I mean you can add lambda expressions in Tomcat 9, but not Tomcat 8.5,
> right ? Since Tomcat 8.5 is supposed to be Java 7 friendly (
> http://tomcat.apache.org/whichversion.html ). Tomcat 7 would be Java 6
> (ouch).

Oh ok, I thought you were referring to the Java 7 syntax changes. I'll
leave out the lambdas for Tomcat 8.5 of course.

Emmanuel Bourg

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [tomcat] 01/02: Replace Collections.sort() with List.sort()

Posted by Rémy Maucherat <re...@apache.org>.
On Fri, Dec 4, 2020 at 1:04 PM Emmanuel Bourg <eb...@apache.org> wrote:

> Le 04/12/2020 à 12:13, Rémy Maucherat a écrit :
>
> > +1 to backport to 9.0, but not to Tomcat 8.5 since it would need to be
> Java
> > 7 compatible [some of the changes might be fine, but for others it's not
> > possible].
>
> Did you mean Tomcat 7? Because Tomcat 8.5 already depends on Java 7.
>

I mean you can add lambda expressions in Tomcat 9, but not Tomcat 8.5,
right ? Since Tomcat 8.5 is supposed to be Java 7 friendly (
http://tomcat.apache.org/whichversion.html ). Tomcat 7 would be Java 6
(ouch).

Rémy


>
> Emmanuel Bourg
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>

Re: [tomcat] 01/02: Replace Collections.sort() with List.sort()

Posted by Emmanuel Bourg <eb...@apache.org>.
Le 04/12/2020 à 12:13, Rémy Maucherat a écrit :

> +1 to backport to 9.0, but not to Tomcat 8.5 since it would need to be Java
> 7 compatible [some of the changes might be fine, but for others it's not
> possible].

Did you mean Tomcat 7? Because Tomcat 8.5 already depends on Java 7.

Emmanuel Bourg

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [tomcat] 01/02: Replace Collections.sort() with List.sort()

Posted by Rémy Maucherat <re...@apache.org>.
On Fri, Dec 4, 2020 at 2:08 AM Igal Sapir <ig...@lucee.org> wrote:

> On Thu, Dec 3, 2020 at 2:48 PM Martin Grigorov <mg...@apache.org>
> wrote:
>
> > Hi,
> >
> > Shall we backport these commits to 9.x and 8.5?
> > It will make it easier to backport future changes in these classes.
> >
>
> +1
>
> No need to diverge the branches unnecessarily.
>

+1 to backport to 9.0, but not to Tomcat 8.5 since it would need to be Java
7 compatible [some of the changes might be fine, but for others it's not
possible].

Rémy


>
> Igal
>
>
>
> >
> > Martin
> >
> > On Fri, Dec 4, 2020, 00:06 Emmanuel Bourg <eb...@apache.org> wrote:
> >
> > > Hi Christopher,
> > >
> > > Le 03/12/2020 à 21:49, Christopher Schultz a écrit :
> > >
> > > > I'm curious as to why this change is warranted. I'm not suggesting
> it's
> > > > not... just wondering what the benefit is? Avoiding a pass-through
> > > > method call?
> > >
> > > It's the shorter idiom to sort lists with Java 8+, it just improves the
> > > readability. I don't think the method call avoided has any impact, the
> > > actual sorting dominates the time spent anyway.
> > >
> > > Emmanuel Bourg
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> > > For additional commands, e-mail: dev-help@tomcat.apache.org
> > >
> > >
> >
>

Re: [tomcat] 01/02: Replace Collections.sort() with List.sort()

Posted by Emmanuel Bourg <eb...@apache.org>.
Le 04/12/2020 à 02:07, Igal Sapir a écrit :

>> Shall we backport these commits to 9.x and 8.5?
>> It will make it easier to backport future changes in these classes.
> 
> +1
> 
> No need to diverge the branches unnecessarily.
I've backported the changes to Tomcat 9 and 8.5 (minus the incompatible
changes for the targeted JDK).

Emmanuel Bourg

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [tomcat] 01/02: Replace Collections.sort() with List.sort()

Posted by Igal Sapir <ig...@lucee.org>.
On Thu, Dec 3, 2020 at 2:48 PM Martin Grigorov <mg...@apache.org> wrote:

> Hi,
>
> Shall we backport these commits to 9.x and 8.5?
> It will make it easier to backport future changes in these classes.
>

+1

No need to diverge the branches unnecessarily.

Igal



>
> Martin
>
> On Fri, Dec 4, 2020, 00:06 Emmanuel Bourg <eb...@apache.org> wrote:
>
> > Hi Christopher,
> >
> > Le 03/12/2020 à 21:49, Christopher Schultz a écrit :
> >
> > > I'm curious as to why this change is warranted. I'm not suggesting it's
> > > not... just wondering what the benefit is? Avoiding a pass-through
> > > method call?
> >
> > It's the shorter idiom to sort lists with Java 8+, it just improves the
> > readability. I don't think the method call avoided has any impact, the
> > actual sorting dominates the time spent anyway.
> >
> > Emmanuel Bourg
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> > For additional commands, e-mail: dev-help@tomcat.apache.org
> >
> >
>

Re: [tomcat] 01/02: Replace Collections.sort() with List.sort()

Posted by Martin Grigorov <mg...@apache.org>.
Hi,

Shall we backport these commits to 9.x and 8.5?
It will make it easier to backport future changes in these classes.

Martin

On Fri, Dec 4, 2020, 00:06 Emmanuel Bourg <eb...@apache.org> wrote:

> Hi Christopher,
>
> Le 03/12/2020 à 21:49, Christopher Schultz a écrit :
>
> > I'm curious as to why this change is warranted. I'm not suggesting it's
> > not... just wondering what the benefit is? Avoiding a pass-through
> > method call?
>
> It's the shorter idiom to sort lists with Java 8+, it just improves the
> readability. I don't think the method call avoided has any impact, the
> actual sorting dominates the time spent anyway.
>
> Emmanuel Bourg
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>

Re: [tomcat] 01/02: Replace Collections.sort() with List.sort()

Posted by Emmanuel Bourg <eb...@apache.org>.
Hi Christopher,

Le 03/12/2020 à 21:49, Christopher Schultz a écrit :

> I'm curious as to why this change is warranted. I'm not suggesting it's
> not... just wondering what the benefit is? Avoiding a pass-through
> method call?

It's the shorter idiom to sort lists with Java 8+, it just improves the
readability. I don't think the method call avoided has any impact, the
actual sorting dominates the time spent anyway.

Emmanuel Bourg

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: [tomcat] 01/02: Replace Collections.sort() with List.sort()

Posted by Christopher Schultz <ch...@christopherschultz.net>.
Emmanuel,

I'm curious as to why this change is warranted. I'm not suggesting it's 
not... just wondering what the benefit is? Avoiding a pass-through 
method call?

Thanks,
-chris

On 12/1/20 19:40, ebourg@apache.org wrote:
> This is an automated email from the ASF dual-hosted git repository.
> 
> ebourg pushed a commit to branch master
> in repository https://gitbox.apache.org/repos/asf/tomcat.git
> 
> commit 521b3a3e481ae121d5006124611a89a4c4a1302e
> Author: Emmanuel Bourg <eb...@apache.org>
> AuthorDate: Wed Dec 2 01:28:25 2020 +0100
> 
>      Replace Collections.sort() with List.sort()
> ---
>   java/org/apache/catalina/manager/HTMLManagerServlet.java | 2 +-
>   java/org/apache/catalina/tribes/group/AbsoluteOrder.java | 2 +-
>   java/org/apache/el/stream/Stream.java                    | 2 +-
>   3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/java/org/apache/catalina/manager/HTMLManagerServlet.java b/java/org/apache/catalina/manager/HTMLManagerServlet.java
> index 53e1ebc..c2e5179 100644
> --- a/java/org/apache/catalina/manager/HTMLManagerServlet.java
> +++ b/java/org/apache/catalina/manager/HTMLManagerServlet.java
> @@ -957,7 +957,7 @@ public final class HTMLManagerServlet extends ManagerServlet {
>                       orderBy = "DESC";
>                   }
>                   try {
> -                    Collections.sort(sessions, comparator);
> +                    sessions.sort(comparator);
>                   } catch (IllegalStateException ise) {
>                       // at least 1 of the sessions is invalidated
>                       req.setAttribute(APPLICATION_ERROR, "Can't sort session list: one session is invalidated");
> diff --git a/java/org/apache/catalina/tribes/group/AbsoluteOrder.java b/java/org/apache/catalina/tribes/group/AbsoluteOrder.java
> index 974c606..20e8b43 100644
> --- a/java/org/apache/catalina/tribes/group/AbsoluteOrder.java
> +++ b/java/org/apache/catalina/tribes/group/AbsoluteOrder.java
> @@ -58,7 +58,7 @@ public class AbsoluteOrder {
>   
>       public static void absoluteOrder(List<Member> members) {
>           if ( members == null || members.size() <= 1 ) return;
> -        java.util.Collections.sort(members, comp);
> +        members.sort(comp);
>       }
>   
>       public static class AbsoluteComparator implements Comparator<Member>,
> diff --git a/java/org/apache/el/stream/Stream.java b/java/org/apache/el/stream/Stream.java
> index 274369f..c2ac84a 100644
> --- a/java/org/apache/el/stream/Stream.java
> +++ b/java/org/apache/el/stream/Stream.java
> @@ -175,7 +175,7 @@ public class Stream {
>                   while (iterator.hasNext()) {
>                       list.add(iterator.next());
>                   }
> -                Collections.sort(list, c);
> +                list.sort(c);
>                   sorted = list.iterator();
>               }
>           };
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[tomcat] 01/02: Replace Collections.sort() with List.sort()

Posted by eb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ebourg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git

commit 521b3a3e481ae121d5006124611a89a4c4a1302e
Author: Emmanuel Bourg <eb...@apache.org>
AuthorDate: Wed Dec 2 01:28:25 2020 +0100

    Replace Collections.sort() with List.sort()
---
 java/org/apache/catalina/manager/HTMLManagerServlet.java | 2 +-
 java/org/apache/catalina/tribes/group/AbsoluteOrder.java | 2 +-
 java/org/apache/el/stream/Stream.java                    | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/java/org/apache/catalina/manager/HTMLManagerServlet.java b/java/org/apache/catalina/manager/HTMLManagerServlet.java
index 53e1ebc..c2e5179 100644
--- a/java/org/apache/catalina/manager/HTMLManagerServlet.java
+++ b/java/org/apache/catalina/manager/HTMLManagerServlet.java
@@ -957,7 +957,7 @@ public final class HTMLManagerServlet extends ManagerServlet {
                     orderBy = "DESC";
                 }
                 try {
-                    Collections.sort(sessions, comparator);
+                    sessions.sort(comparator);
                 } catch (IllegalStateException ise) {
                     // at least 1 of the sessions is invalidated
                     req.setAttribute(APPLICATION_ERROR, "Can't sort session list: one session is invalidated");
diff --git a/java/org/apache/catalina/tribes/group/AbsoluteOrder.java b/java/org/apache/catalina/tribes/group/AbsoluteOrder.java
index 974c606..20e8b43 100644
--- a/java/org/apache/catalina/tribes/group/AbsoluteOrder.java
+++ b/java/org/apache/catalina/tribes/group/AbsoluteOrder.java
@@ -58,7 +58,7 @@ public class AbsoluteOrder {
 
     public static void absoluteOrder(List<Member> members) {
         if ( members == null || members.size() <= 1 ) return;
-        java.util.Collections.sort(members, comp);
+        members.sort(comp);
     }
 
     public static class AbsoluteComparator implements Comparator<Member>,
diff --git a/java/org/apache/el/stream/Stream.java b/java/org/apache/el/stream/Stream.java
index 274369f..c2ac84a 100644
--- a/java/org/apache/el/stream/Stream.java
+++ b/java/org/apache/el/stream/Stream.java
@@ -175,7 +175,7 @@ public class Stream {
                 while (iterator.hasNext()) {
                     list.add(iterator.next());
                 }
-                Collections.sort(list, c);
+                list.sort(c);
                 sorted = list.iterator();
             }
         };


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org