From af0f37861b7a459eb3cfb355c3204ae209d06ebc Mon Sep 17 00:00:00 2001 From: Will Gittoes Date: Thu, 21 Mar 2019 13:32:26 +1100 Subject: [PATCH] Support Hibernate 3.3 --- .../core-3.5.gradle => core-3.3/core-3.3.gradle} | 6 +++--- .../core/v3_3}/AbstractHibernateInstrumentation.java | 12 ++++++------ .../core/v3_3}/CriteriaInstrumentation.java | 2 +- .../hibernate/core/v3_3}/QueryInstrumentation.java | 2 +- .../core/v3_3}/SessionFactoryInstrumentation.java | 2 +- .../hibernate/core/v3_3}/SessionInstrumentation.java | 2 +- .../core/v3_3}/TransactionInstrumentation.java | 2 +- .../src/test/groovy/AbstractHibernateTest.groovy | 0 .../src/test/groovy/CriteriaTest.groovy | 0 .../src/test/groovy/QueryTest.groovy | 0 .../src/test/groovy/SessionTest.groovy | 0 .../{core-3.5 => core-3.3}/src/test/java/Value.java | 0 .../src/test/resources/hibernate.cfg.xml | 0 settings.gradle | 2 +- 14 files changed, 15 insertions(+), 15 deletions(-) rename dd-java-agent/instrumentation/hibernate/{core-3.5/core-3.5.gradle => core-3.3/core-3.3.gradle} (96%) rename dd-java-agent/instrumentation/hibernate/{core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5 => core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3}/AbstractHibernateInstrumentation.java (81%) rename dd-java-agent/instrumentation/hibernate/{core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5 => core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3}/CriteriaInstrumentation.java (97%) rename dd-java-agent/instrumentation/hibernate/{core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5 => core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3}/QueryInstrumentation.java (98%) rename dd-java-agent/instrumentation/hibernate/{core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5 => core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3}/SessionFactoryInstrumentation.java (98%) rename dd-java-agent/instrumentation/hibernate/{core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5 => core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3}/SessionInstrumentation.java (99%) rename dd-java-agent/instrumentation/hibernate/{core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5 => core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3}/TransactionInstrumentation.java (97%) rename dd-java-agent/instrumentation/hibernate/{core-3.5 => core-3.3}/src/test/groovy/AbstractHibernateTest.groovy (100%) rename dd-java-agent/instrumentation/hibernate/{core-3.5 => core-3.3}/src/test/groovy/CriteriaTest.groovy (100%) rename dd-java-agent/instrumentation/hibernate/{core-3.5 => core-3.3}/src/test/groovy/QueryTest.groovy (100%) rename dd-java-agent/instrumentation/hibernate/{core-3.5 => core-3.3}/src/test/groovy/SessionTest.groovy (100%) rename dd-java-agent/instrumentation/hibernate/{core-3.5 => core-3.3}/src/test/java/Value.java (100%) rename dd-java-agent/instrumentation/hibernate/{core-3.5 => core-3.3}/src/test/resources/hibernate.cfg.xml (100%) diff --git a/dd-java-agent/instrumentation/hibernate/core-3.5/core-3.5.gradle b/dd-java-agent/instrumentation/hibernate/core-3.3/core-3.3.gradle similarity index 96% rename from dd-java-agent/instrumentation/hibernate/core-3.5/core-3.5.gradle rename to dd-java-agent/instrumentation/hibernate/core-3.3/core-3.3.gradle index b73fdb7b08..89149d3977 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.5/core-3.5.gradle +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/core-3.3.gradle @@ -16,7 +16,7 @@ muzzle { pass { group = "org.hibernate" module = "hibernate-core" - versions = "[3.3.2.GA,4.0.0.Final)" + versions = "[3.3.0.GA,4.0.0.Final)" assertInverse = true } } @@ -32,7 +32,7 @@ testSets { } dependencies { - compileOnly group: 'org.hibernate', name: 'hibernate-core', version: '3.3.2.GA' + compileOnly group: 'org.hibernate', name: 'hibernate-core', version: '3.3.0.GA' compile project(':dd-java-agent:agent-tooling') compile project(':dd-java-agent:instrumentation:hibernate') @@ -45,7 +45,7 @@ dependencies { testCompile project(':dd-java-agent:testing') testCompile project(':dd-java-agent:instrumentation:jdbc') - testCompile group: 'org.hibernate', name: 'hibernate-core', version: '3.3.2.GA' + testCompile group: 'org.hibernate', name: 'hibernate-core', version: '3.3.0.GA' testCompile group: 'org.hibernate', name: 'hibernate-annotations', version: '+' testCompile group: 'javassist', name: 'javassist', version: '+' testCompile group: 'com.h2database', name: 'h2', version: '1.4.197' diff --git a/dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/AbstractHibernateInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/AbstractHibernateInstrumentation.java similarity index 81% rename from dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/AbstractHibernateInstrumentation.java rename to dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/AbstractHibernateInstrumentation.java index 38e26cbec9..741d2c4c5b 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/AbstractHibernateInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/AbstractHibernateInstrumentation.java @@ -1,8 +1,8 @@ -package datadog.trace.instrumentation.hibernate.core.v3_5; +package datadog.trace.instrumentation.hibernate.core.v3_3; import datadog.trace.agent.tooling.Instrumenter; -import org.hibernate.EntityNameResolver; import org.hibernate.classic.Validatable; +import org.hibernate.transaction.JBossTransactionManagerLookup; public abstract class AbstractHibernateInstrumentation extends Instrumenter.Default { @@ -28,15 +28,15 @@ public abstract class AbstractHibernateInstrumentation extends Instrumenter.Defa /** * Some cases of instrumentation will match more broadly than others, so this unused method - * allows all instrumentation to uniformly match versions of Hibernate between 3.5 and 4. + * allows all instrumentation to uniformly match versions of Hibernate between 3.3 and 4. */ public static void muzzleCheck( // Not in 4.0 final Validatable validatable, - // Not before 3.2.0.GA (Can't find anything not before 3.5) - final EntityNameResolver resolver) { + // Not before 3.3.0.GA + final JBossTransactionManagerLookup lookup) { validatable.validate(); - resolver.resolveEntityName(null); + lookup.getUserTransactionName(); } } } diff --git a/dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/CriteriaInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/CriteriaInstrumentation.java similarity index 97% rename from dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/CriteriaInstrumentation.java rename to dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/CriteriaInstrumentation.java index fcd4760fce..899fc02735 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/CriteriaInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/CriteriaInstrumentation.java @@ -1,4 +1,4 @@ -package datadog.trace.instrumentation.hibernate.core.v3_5; +package datadog.trace.instrumentation.hibernate.core.v3_3; import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; import static java.util.Collections.singletonMap; diff --git a/dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/QueryInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/QueryInstrumentation.java similarity index 98% rename from dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/QueryInstrumentation.java rename to dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/QueryInstrumentation.java index 8d15c747e0..7234ad595c 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/QueryInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/QueryInstrumentation.java @@ -1,4 +1,4 @@ -package datadog.trace.instrumentation.hibernate.core.v3_5; +package datadog.trace.instrumentation.hibernate.core.v3_3; import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; diff --git a/dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/SessionFactoryInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionFactoryInstrumentation.java similarity index 98% rename from dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/SessionFactoryInstrumentation.java rename to dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionFactoryInstrumentation.java index 8c1ab3d38b..61bab593fc 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/SessionFactoryInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionFactoryInstrumentation.java @@ -1,4 +1,4 @@ -package datadog.trace.instrumentation.hibernate.core.v3_5; +package datadog.trace.instrumentation.hibernate.core.v3_3; import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; diff --git a/dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/SessionInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionInstrumentation.java similarity index 99% rename from dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/SessionInstrumentation.java rename to dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionInstrumentation.java index 4ce8e71b89..0d879888ab 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/SessionInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/SessionInstrumentation.java @@ -1,4 +1,4 @@ -package datadog.trace.instrumentation.hibernate.core.v3_5; +package datadog.trace.instrumentation.hibernate.core.v3_3; import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; import static datadog.trace.instrumentation.hibernate.HibernateDecorator.DECORATOR; diff --git a/dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/TransactionInstrumentation.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/TransactionInstrumentation.java similarity index 97% rename from dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/TransactionInstrumentation.java rename to dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/TransactionInstrumentation.java index bbba00ae66..71ed5b43dc 100644 --- a/dd-java-agent/instrumentation/hibernate/core-3.5/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_5/TransactionInstrumentation.java +++ b/dd-java-agent/instrumentation/hibernate/core-3.3/src/main/java/datadog/trace/instrumentation/hibernate/core/v3_3/TransactionInstrumentation.java @@ -1,4 +1,4 @@ -package datadog.trace.instrumentation.hibernate.core.v3_5; +package datadog.trace.instrumentation.hibernate.core.v3_3; import static datadog.trace.agent.tooling.ByteBuddyElementMatchers.safeHasSuperType; import static java.util.Collections.singletonMap; diff --git a/dd-java-agent/instrumentation/hibernate/core-3.5/src/test/groovy/AbstractHibernateTest.groovy b/dd-java-agent/instrumentation/hibernate/core-3.3/src/test/groovy/AbstractHibernateTest.groovy similarity index 100% rename from dd-java-agent/instrumentation/hibernate/core-3.5/src/test/groovy/AbstractHibernateTest.groovy rename to dd-java-agent/instrumentation/hibernate/core-3.3/src/test/groovy/AbstractHibernateTest.groovy diff --git a/dd-java-agent/instrumentation/hibernate/core-3.5/src/test/groovy/CriteriaTest.groovy b/dd-java-agent/instrumentation/hibernate/core-3.3/src/test/groovy/CriteriaTest.groovy similarity index 100% rename from dd-java-agent/instrumentation/hibernate/core-3.5/src/test/groovy/CriteriaTest.groovy rename to dd-java-agent/instrumentation/hibernate/core-3.3/src/test/groovy/CriteriaTest.groovy diff --git a/dd-java-agent/instrumentation/hibernate/core-3.5/src/test/groovy/QueryTest.groovy b/dd-java-agent/instrumentation/hibernate/core-3.3/src/test/groovy/QueryTest.groovy similarity index 100% rename from dd-java-agent/instrumentation/hibernate/core-3.5/src/test/groovy/QueryTest.groovy rename to dd-java-agent/instrumentation/hibernate/core-3.3/src/test/groovy/QueryTest.groovy diff --git a/dd-java-agent/instrumentation/hibernate/core-3.5/src/test/groovy/SessionTest.groovy b/dd-java-agent/instrumentation/hibernate/core-3.3/src/test/groovy/SessionTest.groovy similarity index 100% rename from dd-java-agent/instrumentation/hibernate/core-3.5/src/test/groovy/SessionTest.groovy rename to dd-java-agent/instrumentation/hibernate/core-3.3/src/test/groovy/SessionTest.groovy diff --git a/dd-java-agent/instrumentation/hibernate/core-3.5/src/test/java/Value.java b/dd-java-agent/instrumentation/hibernate/core-3.3/src/test/java/Value.java similarity index 100% rename from dd-java-agent/instrumentation/hibernate/core-3.5/src/test/java/Value.java rename to dd-java-agent/instrumentation/hibernate/core-3.3/src/test/java/Value.java diff --git a/dd-java-agent/instrumentation/hibernate/core-3.5/src/test/resources/hibernate.cfg.xml b/dd-java-agent/instrumentation/hibernate/core-3.3/src/test/resources/hibernate.cfg.xml similarity index 100% rename from dd-java-agent/instrumentation/hibernate/core-3.5/src/test/resources/hibernate.cfg.xml rename to dd-java-agent/instrumentation/hibernate/core-3.3/src/test/resources/hibernate.cfg.xml diff --git a/settings.gradle b/settings.gradle index b57a5f08bf..399961f2d4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -41,7 +41,7 @@ include ':dd-java-agent:instrumentation:elasticsearch:transport-5.3' include ':dd-java-agent:instrumentation:elasticsearch:transport-6' include ':dd-java-agent:instrumentation:grpc-1.5' include ':dd-java-agent:instrumentation:hibernate' -include ':dd-java-agent:instrumentation:hibernate:core-3.5' +include ':dd-java-agent:instrumentation:hibernate:core-3.3' include ':dd-java-agent:instrumentation:hibernate:core-4.0' include ':dd-java-agent:instrumentation:hibernate:core-4.3' include ':dd-java-agent:instrumentation:http-url-connection'