Author: kkolinko Date: Fri Jan 4 17:32:18 2013 New Revision: 1428993 URL: http://svn.apache.org/viewvc?rev=1428993&view=rev Log: Review of r1428643 Align implememntation between IS_SECURITY_ENABLED true and false branches (essentially add i18n to the IS_SECURITY_ENABLED==true branch).
Add the same fix to setFilterDef(null), though I think nobody passes null filterDef to that method. Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java?rev=1428993&r1=1428992&r2=1428993&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java Fri Jan 4 17:32:18 2013 @@ -301,23 +301,22 @@ public final class ApplicationFilterConf if (this.filter != null) { - if (Globals.IS_SECURITY_ENABLED) { - try { - SecurityUtil.doAsPrivilege("destroy", filter); - } catch(java.lang.Exception ex){ - context.getLogger().error("ApplicationFilterConfig.doAsPrivilege", ex); - } - SecurityUtil.remove(filter); - } else { - try { + try { + if (Globals.IS_SECURITY_ENABLED) { + try { + SecurityUtil.doAsPrivilege("destroy", filter); + } finally { + SecurityUtil.remove(filter); + } + } else { filter.destroy(); - } catch (Throwable t) { - ExceptionUtils.handleThrowable(t); - context.getLogger().error(sm.getString( - "applicationFilterConfig.release", - filterDef.getFilterName(), - filterDef.getFilterClass()), t); } + } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); + context.getLogger().error(sm.getString( + "applicationFilterConfig.release", + filterDef.getFilterName(), + filterDef.getFilterClass()), t); } if (!context.getIgnoreAnnotations()) { try { @@ -357,20 +356,28 @@ public final class ApplicationFilterConf IllegalAccessException, InstantiationException, ServletException, InvocationTargetException, NamingException { + FilterDef oldFilterDef = this.filterDef; this.filterDef = filterDef; if (filterDef == null) { // Release any previously allocated filter instance if (this.filter != null){ - if (Globals.IS_SECURITY_ENABLED) { - try{ - SecurityUtil.doAsPrivilege("destroy", filter); - } catch(java.lang.Exception ex){ - context.getLogger().error("ApplicationFilterConfig.doAsPrivilege", ex); + try { + if (Globals.IS_SECURITY_ENABLED) { + try{ + SecurityUtil.doAsPrivilege("destroy", filter); + } finally { + SecurityUtil.remove(filter); + } + } else { + filter.destroy(); } - SecurityUtil.remove(filter); - } else { - filter.destroy(); + } catch (Throwable t) { + ExceptionUtils.handleThrowable(t); + context.getLogger().error(sm.getString( + "applicationFilterConfig.release", + oldFilterDef.getFilterName(), + oldFilterDef.getFilterClass()), t); } if (!context.getIgnoreAnnotations()) { try { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org