Skip to content

Commit 3cb1efc

Browse files
authored
Remove struts2 latest dep restriction (#5289)
1 parent 0229141 commit 3cb1efc

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

instrumentation/struts-2.3/javaagent/build.gradle.kts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,6 @@ dependencies {
1515

1616
library("org.apache.struts:struts2-core:2.3.1")
1717

18-
// There was no 2.4 version at all.
19-
// In version 2.5 Struts Servlet Filter entry point was relocated.
20-
// This Servlet Filter is relevant only in setting up the test app and it is not used in
21-
// instrumentation. So fixing Struts library version for the test.
22-
latestDepTestLibrary("org.apache.struts:struts2-core:2.3.+")
23-
2418
testImplementation(project(":testing-common"))
2519
testImplementation("org.eclipse.jetty:jetty-server:8.0.0.v20110901")
2620
testImplementation("org.eclipse.jetty:jetty-servlet:8.0.0.v20110901")

instrumentation/struts-2.3/javaagent/src/test/groovy/Struts2ActionSpanTest.groovy

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import io.opentelemetry.instrumentation.test.base.HttpServerTest
1212
import io.opentelemetry.sdk.trace.data.SpanData
1313
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes
1414
import io.opentelemetry.struts.GreetingServlet
15-
import org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
1615
import org.eclipse.jetty.server.Server
1716
import org.eclipse.jetty.servlet.DefaultServlet
1817
import org.eclipse.jetty.servlet.ServletContextHandler
@@ -116,7 +115,15 @@ class Struts2ActionSpanTest extends HttpServerTest<Server> implements AgentTestT
116115

117116
context.addServlet(DefaultServlet, "/")
118117
context.addServlet(GreetingServlet, "/greetingServlet")
119-
context.addFilter(StrutsPrepareAndExecuteFilter, "/*", EnumSet.of(DispatcherType.REQUEST))
118+
def strutsFilterClass = null
119+
try {
120+
// struts 2.3
121+
strutsFilterClass = Class.forName("org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter")
122+
} catch (ClassNotFoundException exception) {
123+
// struts 2.5
124+
strutsFilterClass = Class.forName("org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter")
125+
}
126+
context.addFilter(strutsFilterClass, "/*", EnumSet.of(DispatcherType.REQUEST))
120127

121128
server.start()
122129

instrumentation/struts-2.3/javaagent/src/test/resources/struts.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
<constant name="struts.enable.SlashesInActionNames" value="true"/>
99
<constant name="struts.patternMatcher" value="namedVariable"/>
10+
<constant name="struts.matcher.appendNamedParameters" value="true"/>
1011

1112
<package name="basic-struts2" extends="struts-default">
1213
<global-results>

0 commit comments

Comments
 (0)