it does for sure, not sure we have tests btw Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau
2013/12/3 Thiago Veronezi <thi...@veronezi.org>: > I tested it locally without the methods. > Committed the code to see if the build server complains. > > []s, > Thiago. > > > > On Tue, Dec 3, 2013 at 1:11 PM, Romain Manni-Bucau > <rmannibu...@gmail.com>wrote: > >> hashcode is just a cached impl, equals is mandatory because of the >> hack we have to isolate a bit cxf from apps. >> >> If you fix isolation you can remove it ;). >> Romain Manni-Bucau >> Twitter: @rmannibucau >> Blog: http://rmannibucau.wordpress.com/ >> LinkedIn: http://fr.linkedin.com/in/rmannibucau >> Github: https://github.com/rmannibucau >> >> >> >> 2013/12/3 Thiago Veronezi <thi...@veronezi.org>: >> > The equals and hashCode look weird. >> > >> > **************************************** >> > @Override >> > public boolean equals(final Object other) { >> > return other != null && ClassLoader.class.isInstance(other) && >> > hashCode() == other.hashCode(); >> > } >> > >> > @Override >> > public int hashCode() { >> > return hashCode; >> > } >> > **************************************** >> > >> > I wonder if we need these methods at all. Usually equal hashCodes does >> not >> > mean that "equals" is true, right? >> > >> > []s, >> > Thiago. >> > >> > >> > >> > >> > On Tue, Dec 3, 2013 at 12:57 PM, <rmannibu...@apache.org> wrote: >> > >> >> Author: rmannibucau >> >> Date: Tue Dec 3 17:57:19 2013 >> >> New Revision: 1547499 >> >> >> >> URL: http://svn.apache.org/r1547499 >> >> Log: >> >> correct hashcode in lazywebappclassloader >> >> >> >> Modified: >> >> >> >> >> tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java >> >> >> >> Modified: >> >> >> tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java >> >> URL: >> >> >> http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java?rev=1547499&r1=1547498&r2=1547499&view=diff >> >> >> >> >> ============================================================================== >> >> --- >> >> >> tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java >> >> (original) >> >> +++ >> >> >> tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/LazyStopWebappClassLoader.java >> >> Tue Dec 3 17:57:19 2013 >> >> @@ -41,19 +41,21 @@ public class LazyStopWebappClassLoader e >> >> private boolean restarting = false; >> >> private boolean forceStopPhase = >> >> >> Boolean.parseBoolean(SystemInstance.get().getProperty("tomee.webappclassloader.force-stop-phase", >> >> "false")); >> >> private ClassLoaderConfigurer configurer = null; >> >> + private final int hashCode; >> >> >> >> public LazyStopWebappClassLoader() { >> >> - construct(); >> >> + hashCode = construct(); >> >> } >> >> >> >> public LazyStopWebappClassLoader(final ClassLoader parent) { >> >> super(parent); >> >> - construct(); >> >> + hashCode = construct(); >> >> } >> >> >> >> - private void construct() { >> >> + private int construct() { >> >> setDelegate(isDelegate()); >> >> configurer = INIT_CONFIGURER.get(); >> >> + return super.hashCode(); >> >> } >> >> >> >> @Override >> >> @@ -211,12 +213,8 @@ public class LazyStopWebappClassLoader e >> >> } >> >> >> >> @Override >> >> - public int hashCode() { // could be improved a bit adding the host >> >> and ensuring contextName != null, an alternative is getURLs() but it is >> >> longer >> >> - final String name = getContextName(); >> >> - if (name != null) { >> >> - return name.hashCode(); >> >> - } >> >> - return super.hashCode(); >> >> + public int hashCode() { >> >> + return hashCode; >> >> } >> >> >> >> @Override >> >> >> >> >> >> >>