From 6efae9ad28c445139e57ddf309305b70089d64cf Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Wed, 19 May 2021 11:56:34 -0700 Subject: [PATCH] Remove duplicate method (#3032) --- .../instrumentation/geode/GeodeInstrumentationModule.java | 4 ++-- .../hibernate/v3_3/SessionFactoryInstrumentation.java | 3 +-- .../hibernate/v3_3/SessionInstrumentation.java | 5 ++--- .../hibernate/v4_0/SessionInstrumentation.java | 5 ++--- .../hibernate/v4_3/SessionInstrumentation.java | 4 ++-- .../jaxrsclient/v2_0/JaxRsClientInstrumentationModule.java | 4 ++-- .../jaxws/v2_0/WebServiceProviderInstrumentation.java | 4 ++-- .../jaxws/jws/v1_1/JwsAnnotationsInstrumentation.java | 4 ++-- .../instrumentation/jdbc/ConnectionInstrumentation.java | 3 +-- .../javaagent/extension/matcher/AgentElementMatchers.java | 5 ----- .../tooling/bytebuddy/matcher/HasInterfaceMatcherTest.groovy | 3 +-- 11 files changed, 17 insertions(+), 27 deletions(-) diff --git a/instrumentation/geode-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/geode/GeodeInstrumentationModule.java b/instrumentation/geode-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/geode/GeodeInstrumentationModule.java index 5d4d1124cc..0c6d24968f 100644 --- a/instrumentation/geode-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/geode/GeodeInstrumentationModule.java +++ b/instrumentation/geode-1.4/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/geode/GeodeInstrumentationModule.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.geode; -import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface; +import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.instrumentation.geode.GeodeTracer.tracer; import static java.util.Collections.singletonList; @@ -47,7 +47,7 @@ public class GeodeInstrumentationModule extends InstrumentationModule { @Override public ElementMatcher typeMatcher() { - return hasInterface(named("org.apache.geode.cache.Region")); + return implementsInterface(named("org.apache.geode.cache.Region")); } @Override diff --git a/instrumentation/hibernate/hibernate-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionFactoryInstrumentation.java b/instrumentation/hibernate/hibernate-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionFactoryInstrumentation.java index 07c4dcf647..850f631dcf 100644 --- a/instrumentation/hibernate/hibernate-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionFactoryInstrumentation.java +++ b/instrumentation/hibernate/hibernate-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionFactoryInstrumentation.java @@ -5,7 +5,6 @@ package io.opentelemetry.javaagent.instrumentation.hibernate.v3_3; -import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.extension.matcher.NameMatchers.namedOneOf; @@ -48,7 +47,7 @@ public class SessionFactoryInstrumentation implements TypeInstrumentation { .and( returns( namedOneOf("org.hibernate.Session", "org.hibernate.StatelessSession") - .or(hasInterface(named("org.hibernate.Session"))))), + .or(implementsInterface(named("org.hibernate.Session"))))), SessionFactoryInstrumentation.class.getName() + "$SessionFactoryAdvice"); } diff --git a/instrumentation/hibernate/hibernate-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionInstrumentation.java b/instrumentation/hibernate/hibernate-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionInstrumentation.java index 642116d3b2..447e003f62 100644 --- a/instrumentation/hibernate/hibernate-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionInstrumentation.java +++ b/instrumentation/hibernate/hibernate-3.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v3_3/SessionInstrumentation.java @@ -5,7 +5,6 @@ package io.opentelemetry.javaagent.instrumentation.hibernate.v3_3; -import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.extension.matcher.NameMatchers.namedOneOf; @@ -88,11 +87,11 @@ public class SessionInstrumentation implements TypeInstrumentation { SessionInstrumentation.class.getName() + "$GetTransactionAdvice"); transformer.applyAdviceToMethod( - isMethod().and(returns(hasInterface(named("org.hibernate.Query")))), + isMethod().and(returns(implementsInterface(named("org.hibernate.Query")))), SessionInstrumentation.class.getName() + "$GetQueryAdvice"); transformer.applyAdviceToMethod( - isMethod().and(returns(hasInterface(named("org.hibernate.Criteria")))), + isMethod().and(returns(implementsInterface(named("org.hibernate.Criteria")))), SessionInstrumentation.class.getName() + "$GetCriteriaAdvice"); } diff --git a/instrumentation/hibernate/hibernate-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionInstrumentation.java b/instrumentation/hibernate/hibernate-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionInstrumentation.java index 4310a2bf86..854859d028 100644 --- a/instrumentation/hibernate/hibernate-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionInstrumentation.java +++ b/instrumentation/hibernate/hibernate-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_0/SessionInstrumentation.java @@ -5,7 +5,6 @@ package io.opentelemetry.javaagent.instrumentation.hibernate.v4_0; -import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.extension.matcher.NameMatchers.namedOneOf; @@ -85,11 +84,11 @@ public class SessionInstrumentation implements TypeInstrumentation { SessionInstrumentation.class.getName() + "$GetTransactionAdvice"); transformer.applyAdviceToMethod( - isMethod().and(returns(hasInterface(named("org.hibernate.Query")))), + isMethod().and(returns(implementsInterface(named("org.hibernate.Query")))), SessionInstrumentation.class.getName() + "$GetQueryAdvice"); transformer.applyAdviceToMethod( - isMethod().and(returns(hasInterface(named("org.hibernate.Criteria")))), + isMethod().and(returns(implementsInterface(named("org.hibernate.Criteria")))), SessionInstrumentation.class.getName() + "$GetCriteriaAdvice"); } diff --git a/instrumentation/hibernate/hibernate-4.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/SessionInstrumentation.java b/instrumentation/hibernate/hibernate-4.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/SessionInstrumentation.java index ecbae371d7..48e6c24016 100644 --- a/instrumentation/hibernate/hibernate-4.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/SessionInstrumentation.java +++ b/instrumentation/hibernate/hibernate-4.3/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/hibernate/v4_3/SessionInstrumentation.java @@ -5,7 +5,6 @@ package io.opentelemetry.javaagent.instrumentation.hibernate.v4_3; -import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -39,7 +38,8 @@ public class SessionInstrumentation implements TypeInstrumentation { @Override public void transform(TypeTransformer transformer) { transformer.applyAdviceToMethod( - isMethod().and(returns(hasInterface(named("org.hibernate.procedure.ProcedureCall")))), + isMethod() + .and(returns(implementsInterface(named("org.hibernate.procedure.ProcedureCall")))), SessionInstrumentation.class.getName() + "$GetProcedureCallAdvice"); } diff --git a/instrumentation/jaxrs-client/jaxrs-client-2.0/jaxrs-client-2.0-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v2_0/JaxRsClientInstrumentationModule.java b/instrumentation/jaxrs-client/jaxrs-client-2.0/jaxrs-client-2.0-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v2_0/JaxRsClientInstrumentationModule.java index 9e0defe10c..e437592e9a 100644 --- a/instrumentation/jaxrs-client/jaxrs-client-2.0/jaxrs-client-2.0-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v2_0/JaxRsClientInstrumentationModule.java +++ b/instrumentation/jaxrs-client/jaxrs-client-2.0/jaxrs-client-2.0-common/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxrsclient/v2_0/JaxRsClientInstrumentationModule.java @@ -6,7 +6,7 @@ package io.opentelemetry.javaagent.instrumentation.jaxrsclient.v2_0; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.extendsClass; -import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface; +import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static java.util.Collections.singletonList; import static net.bytebuddy.matcher.ElementMatchers.named; @@ -49,7 +49,7 @@ public class JaxRsClientInstrumentationModule extends InstrumentationModule { @Override public void transform(TypeTransformer transformer) { transformer.applyAdviceToMethod( - named("build").and(returns(hasInterface(named("javax.ws.rs.client.Client")))), + named("build").and(returns(implementsInterface(named("javax.ws.rs.client.Client")))), JaxRsClientInstrumentationModule.class.getName() + "$ClientBuilderAdvice"); } } diff --git a/instrumentation/jaxws/jaxws-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxws/v2_0/WebServiceProviderInstrumentation.java b/instrumentation/jaxws/jaxws-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxws/v2_0/WebServiceProviderInstrumentation.java index f076336536..e8f3840b6f 100644 --- a/instrumentation/jaxws/jaxws-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxws/v2_0/WebServiceProviderInstrumentation.java +++ b/instrumentation/jaxws/jaxws-2.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxws/v2_0/WebServiceProviderInstrumentation.java @@ -5,7 +5,7 @@ package io.opentelemetry.javaagent.instrumentation.jaxws.v2_0; -import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface; +import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.instrumentation.jaxws.common.JaxWsTracer.tracer; import static net.bytebuddy.matcher.ElementMatchers.isMethod; @@ -34,7 +34,7 @@ public class WebServiceProviderInstrumentation implements TypeInstrumentation { @Override public ElementMatcher typeMatcher() { - return hasInterface(named("javax.xml.ws.Provider")); + return implementsInterface(named("javax.xml.ws.Provider")); } @Override diff --git a/instrumentation/jaxws/jws-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxws/jws/v1_1/JwsAnnotationsInstrumentation.java b/instrumentation/jaxws/jws-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxws/jws/v1_1/JwsAnnotationsInstrumentation.java index 8e0d137694..7b131789c0 100644 --- a/instrumentation/jaxws/jws-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxws/jws/v1_1/JwsAnnotationsInstrumentation.java +++ b/instrumentation/jaxws/jws-1.1/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jaxws/jws/v1_1/JwsAnnotationsInstrumentation.java @@ -5,8 +5,8 @@ package io.opentelemetry.javaagent.instrumentation.jaxws.jws.v1_1; -import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasSuperMethod; +import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.methodIsDeclaredByType; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static io.opentelemetry.javaagent.instrumentation.jaxws.common.JaxWsTracer.tracer; @@ -38,7 +38,7 @@ public class JwsAnnotationsInstrumentation implements TypeInstrumentation { @Override public ElementMatcher typeMatcher() { - return hasInterface(isAnnotatedWith(named(JWS_WEB_SERVICE_ANNOTATION))) + return implementsInterface(isAnnotatedWith(named(JWS_WEB_SERVICE_ANNOTATION))) .or(isAnnotatedWith(named(JWS_WEB_SERVICE_ANNOTATION))); } diff --git a/instrumentation/jdbc/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/ConnectionInstrumentation.java b/instrumentation/jdbc/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/ConnectionInstrumentation.java index c5f15d41c6..93c9d719c8 100644 --- a/instrumentation/jdbc/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/ConnectionInstrumentation.java +++ b/instrumentation/jdbc/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/jdbc/ConnectionInstrumentation.java @@ -5,7 +5,6 @@ package io.opentelemetry.javaagent.instrumentation.jdbc; -import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface; import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface; import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed; import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith; @@ -38,7 +37,7 @@ public class ConnectionInstrumentation implements TypeInstrumentation { nameStartsWith("prepare") .and(takesArgument(0, String.class)) // Also include CallableStatement, which is a sub type of PreparedStatement - .and(returns(hasInterface(named("java.sql.PreparedStatement")))), + .and(returns(implementsInterface(named("java.sql.PreparedStatement")))), ConnectionInstrumentation.class.getName() + "$PrepareAdvice"); } diff --git a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/matcher/AgentElementMatchers.java b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/matcher/AgentElementMatchers.java index dd79c30fe8..870ff11dc7 100644 --- a/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/matcher/AgentElementMatchers.java +++ b/javaagent-extension-api/src/main/java/io/opentelemetry/javaagent/extension/matcher/AgentElementMatchers.java @@ -28,11 +28,6 @@ public final class AgentElementMatchers { return new SafeHasSuperTypeMatcher(new SafeErasureMatcher<>(matcher), true); } - public static ElementMatcher.Junction hasInterface( - ElementMatcher matcher) { - return new SafeHasSuperTypeMatcher(new SafeErasureMatcher<>(matcher), true); - } - public static ElementMatcher.Junction safeHasSuperType( ElementMatcher matcher) { return new SafeHasSuperTypeMatcher(new SafeErasureMatcher<>(matcher), false); diff --git a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/tooling/bytebuddy/matcher/HasInterfaceMatcherTest.groovy b/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/tooling/bytebuddy/matcher/HasInterfaceMatcherTest.groovy index 17a57d6ade..ec80c33883 100644 --- a/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/tooling/bytebuddy/matcher/HasInterfaceMatcherTest.groovy +++ b/javaagent-tooling/src/test/groovy/io/opentelemetry/javaagent/tooling/bytebuddy/matcher/HasInterfaceMatcherTest.groovy @@ -5,7 +5,6 @@ package io.opentelemetry.javaagent.tooling.bytebuddy.matcher -import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasInterface import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface import static net.bytebuddy.matcher.ElementMatchers.named @@ -28,7 +27,7 @@ class HasInterfaceMatcherTest extends Specification { def "test matcher #matcherClass.simpleName -> #type.simpleName"() { expect: - hasInterface(matcher).matches(argument) == result + implementsInterface(matcher).matches(argument) == result where: matcherClass | type | result