Skip to content

WW-5537 fix(core): use ThreadLocal with generation counter in Contain…

c82aaba
Select commit
Loading
Failed to load commit list.
Open

WW-5537 fix(core): resolve classloader/memory leaks during Tomcat hot deployment #1631

WW-5537 fix(core): use ThreadLocal with generation counter in Contain…
c82aaba
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis failed Mar 23, 2026 in 4m 5s

Quality Gate failed

Failed conditions
25 Security Hotspots
43.3% Coverage on New Code (required ≥ 80%)
3.3% Duplication on New Code (required ≤ 3%)
E Security Rating on New Code (required ≥ A)
E Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Annotations

Check warning on line 92 in core/src/main/java/com/opensymphony/xwork2/conversion/impl/CollectionConverter.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Provide the parametrized type for this generic.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlOq5ufp2jxPAP_R_&open=AZ0ZlOq5ufp2jxPAP_R_&pullRequest=1631

Check warning on line 222 in core/src/main/java/com/opensymphony/xwork2/ActionContext.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this method to simply inherit it.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlNvsufp2jxPAP_Bg&open=AZ0ZlNvsufp2jxPAP_Bg&pullRequest=1631

Check warning on line 213 in core/src/main/java/com/opensymphony/xwork2/ognl/accessor/XWorkCollectionPropertyAccessor.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Provide the parametrized type for this generic.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlNxKufp2jxPAP_CH&open=AZ0ZlNxKufp2jxPAP_CH&pullRequest=1631

Check warning on line 257 in plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/JspConfig.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this expression which always evaluates to "true"

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlSJZufp2jxPAQAEA&open=AZ0ZlSJZufp2jxPAQAEA&pullRequest=1631

Check warning on line 32 in plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/ServletWriter.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make this "public static SPACES" field final

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlSPiufp2jxPAQAJD&open=AZ0ZlSPiufp2jxPAQAJD&pullRequest=1631

Check warning on line 579 in core/src/main/java/org/apache/struts2/dispatcher/mapper/DefaultActionMapper.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Merge this if statement with the enclosing one.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlPghufp2jxPAP_ZB&open=AZ0ZlPghufp2jxPAP_ZB&pullRequest=1631

Check warning on line 323 in core/src/test/java/org/apache/struts2/interceptor/parameter/ParametersInterceptorTest.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this use of "setParameters"; it is deprecated.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlQatufp2jxPAP_c3&open=AZ0ZlQatufp2jxPAP_c3&pullRequest=1631

Check warning on line 174 in core/src/test/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptorTest.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this use of "ActionContext"; it is deprecated.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlQ8cufp2jxPAP_mt&open=AZ0ZlQ8cufp2jxPAP_mt&pullRequest=1631

Check warning on line 21 in core/src/main/java/com/opensymphony/xwork2/ognl/BeanInfoCacheFactory.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Rename this generic name to match the regular expression '^[A-Z][0-9]?$'.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlN0sufp2jxPAP_DR&open=AZ0ZlN0sufp2jxPAP_DR&pullRequest=1631

Check failure on line 242 in core/src/main/java/com/opensymphony/xwork2/util/finder/UrlSet.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "META-INF" 4 times.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlObtufp2jxPAP_Ma&open=AZ0ZlObtufp2jxPAP_Ma&pullRequest=1631

Check warning on line 48 in core/src/test/java/com/opensymphony/xwork2/conversion/impl/DateConverterTest.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Reorder the modifiers to comply with the Java Language Specification.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlRSnufp2jxPAP_ut&open=AZ0ZlRSnufp2jxPAP_ut&pullRequest=1631

Check warning on line 1177 in plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/JspC.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Move the array designators [] to the type.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlSmpufp2jxPAQAYp&open=AZ0ZlSmpufp2jxPAQAYp&pullRequest=1631

Check warning on line 72 in core/src/test/java/com/opensymphony/xwork2/validator/EmailValidatorTest.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this use of "ActionSupport"; it is deprecated.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlRHpufp2jxPAP_qm&open=AZ0ZlRHpufp2jxPAP_qm&pullRequest=1631

Check warning on line 254 in plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/runtime/JspRuntimeLibrary.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use "isEmpty()" to check whether a "String" is empty or not.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlSgKufp2jxPAQAUt&open=AZ0ZlSgKufp2jxPAQAUt&pullRequest=1631

Check warning on line 27 in core/src/main/java/com/opensymphony/xwork2/util/reflection/ReflectionProviderFactory.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Add a private constructor to hide the implicit public one.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlOg1ufp2jxPAP_On&open=AZ0ZlOg1ufp2jxPAP_On&pullRequest=1631

Check warning on line 65 in plugins/osgi/src/main/java/org/apache/struts2/osgi/interceptor/OsgiInterceptor.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this use of "setBundleContext"; it is deprecated.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlUAOufp2jxPAQA3u&open=AZ0ZlUAOufp2jxPAQA3u&pullRequest=1631

Check warning on line 179 in core/src/test/java/com/opensymphony/xwork2/conversion/impl/NumberConverterTest.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this unused "value" local variable.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlRUzufp2jxPAP_wS&open=AZ0ZlRUzufp2jxPAP_wS&pullRequest=1631

Check warning on line 960 in plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/Generator.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this "String" constructor

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlSHCufp2jxPAQAC0&open=AZ0ZlSHCufp2jxPAQAC0&pullRequest=1631

Check warning on line 642 in plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/TagLibraryInfoImpl.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Provide the parametrized type for this generic.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlSRmufp2jxPAQALM&open=AZ0ZlSRmufp2jxPAQALM&pullRequest=1631

Check failure on line 342 in plugins/embeddedjsp/src/main/java/org/apache/struts2/jasper/compiler/TagLibraryInfoImpl.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Refactor this method to reduce its Cognitive Complexity from 34 to the 15 allowed.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlSRmufp2jxPAQALn&open=AZ0ZlSRmufp2jxPAQALn&pullRequest=1631

Check warning on line 53 in plugins/portlet/src/main/java/org/apache/struts2/portlet/interceptor/PortletAwareInterceptor.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this use of "ActionContext"; it is deprecated.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlTaJufp2jxPAQAui&open=AZ0ZlTaJufp2jxPAQAui&pullRequest=1631

Check warning on line 482 in plugins/portlet-mocks/src/test/java/org/apache/struts2/StrutsSpringPortletMockObjectsTest.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Rename this local variable to match the regular expression '^[a-z][a-zA-Z0-9]*$'.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlTQsufp2jxPAQAs_&open=AZ0ZlTQsufp2jxPAQAs_&pullRequest=1631

Check warning on line 90 in core/src/test/java/com/opensymphony/xwork2/util/MyBeanActionTest.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove this use of "ActionProxy"; it is deprecated.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlQ0Pufp2jxPAP_jA&open=AZ0ZlQ0Pufp2jxPAP_jA&pullRequest=1631

Check failure on line 64 in core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Add a nested comment explaining why this method is empty, throw an UnsupportedOperationException or complete the implementation.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlO4zufp2jxPAP_Vx&open=AZ0ZlO4zufp2jxPAP_Vx&pullRequest=1631

Check warning on line 52 in plugins/embeddedjsp/src/main/java/org/apache/struts2/compiler/MemoryJavaFileObject.java

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Replace generic exceptions with specific library exceptions or a custom exception.

See more on https://sonarcloud.io/project/issues?id=apache_struts&issues=AZ0ZlTB6ufp2jxPAQAqP&open=AZ0ZlTB6ufp2jxPAQAqP&pullRequest=1631