This is an automated email from the ASF dual-hosted git repository. struberg pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/openjpa.git
The following commit(s) were added to refs/heads/master by this push: new 37c114c72 OPENJPA-2911 getPCBytecode now returns ClassNodeTracker 37c114c72 is described below commit 37c114c7241db3c9e5842855718941b95c487de3 Author: Mark Struberg <strub...@apache.org> AuthorDate: Mon Jul 17 19:32:20 2023 +0200 OPENJPA-2911 getPCBytecode now returns ClassNodeTracker --- .../org/apache/openjpa/jdbc/kernel/ClassTableJDBCSeq.java | 1 - .../openjpa/junit5/internal/OpenJPADirectoriesEnhancer.java | 12 +++++------- .../org/apache/openjpa/enhance/PCClassFileTransformer.java | 8 ++++---- .../src/main/java/org/apache/openjpa/enhance/PCEnhancer.java | 5 ++--- .../java/org/apache/openjpa/meta/InterfaceImplGenerator.java | 3 ++- .../java/org/apache/openjpa/util/asm/BytecodeWriter.java | 2 -- .../openjpa/enhance/TestEnhancementWithMultiplePUs.java | 3 +-- .../java/org/apache/openjpa/persistence/JPAProperties.java | 2 -- .../openjpa/persistence/criteria/CriteriaBuilderImpl.java | 3 --- 9 files changed, 14 insertions(+), 25 deletions(-) diff --git a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/ClassTableJDBCSeq.java b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/ClassTableJDBCSeq.java index 271c7dcfa..93bd63e2a 100644 --- a/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/ClassTableJDBCSeq.java +++ b/openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/kernel/ClassTableJDBCSeq.java @@ -26,7 +26,6 @@ import java.util.Map; import org.apache.openjpa.jdbc.conf.JDBCConfiguration; import org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl; -import org.apache.openjpa.jdbc.identifier.DBIdentifier; import org.apache.openjpa.jdbc.meta.ClassMapping; import org.apache.openjpa.jdbc.meta.MappingRepository; import org.apache.openjpa.jdbc.schema.Column; diff --git a/openjpa-junit5/src/main/java/org/apache/openjpa/junit5/internal/OpenJPADirectoriesEnhancer.java b/openjpa-junit5/src/main/java/org/apache/openjpa/junit5/internal/OpenJPADirectoriesEnhancer.java index 284212efe..6bae9091c 100644 --- a/openjpa-junit5/src/main/java/org/apache/openjpa/junit5/internal/OpenJPADirectoriesEnhancer.java +++ b/openjpa-junit5/src/main/java/org/apache/openjpa/junit5/internal/OpenJPADirectoriesEnhancer.java @@ -19,7 +19,6 @@ package org.apache.openjpa.junit5.internal; import org.apache.openjpa.conf.OpenJPAConfigurationImpl; -import org.apache.openjpa.enhance.AsmAdaptor; import org.apache.openjpa.enhance.PCEnhancer; import org.apache.openjpa.enhance.PersistenceCapable; import org.apache.openjpa.lib.log.JULLogFactory; @@ -28,17 +27,16 @@ import org.apache.openjpa.lib.log.LogFactoryImpl; import org.apache.openjpa.lib.log.SLF4JLogFactory; import org.apache.openjpa.meta.MetaDataRepository; import org.apache.openjpa.persistence.PersistenceMetaDataFactory; +import org.apache.openjpa.util.asm.AsmHelper; +import org.apache.openjpa.util.asm.ClassNodeTracker; import org.apache.xbean.asm9.AnnotationVisitor; import org.apache.xbean.asm9.ClassReader; import org.apache.xbean.asm9.Type; import org.apache.xbean.asm9.shade.commons.EmptyVisitor; import org.apache.xbean.finder.ClassLoaders; -import serp.bytecode.BCClass; + import serp.bytecode.Project; -import jakarta.persistence.Embeddable; -import jakarta.persistence.Entity; -import jakarta.persistence.MappedSuperclass; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; @@ -275,8 +273,8 @@ public class OpenJPADirectoriesEnhancer implements Runnable { if (enhancer.run() == PCEnhancer.ENHANCE_NONE) { return null; } - final BCClass pcb = enhancer.getPCBytecode(); - return AsmAdaptor.toByteArray(pcb, pcb.toByteArray()); + final ClassNodeTracker cnt = enhancer.getPCBytecode(); + return AsmHelper.toByteArray(cnt); } catch (final IOException e) { throw new IllegalStateException(e); } finally { diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java b/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java index 42651e862..246083dff 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCClassFileTransformer.java @@ -32,8 +32,9 @@ import org.apache.openjpa.lib.util.Localizer; import org.apache.openjpa.lib.util.Options; import org.apache.openjpa.meta.MetaDataRepository; import org.apache.openjpa.util.GeneralException; +import org.apache.openjpa.util.asm.AsmHelper; +import org.apache.openjpa.util.asm.ClassNodeTracker; -import serp.bytecode.BCClass; import serp.bytecode.Project; @@ -153,9 +154,8 @@ public class PCClassFileTransformer if (enhancer.run() == PCEnhancer.ENHANCE_NONE) return null; - BCClass pcb = enhancer.getPCBytecode(); - returnBytes = AsmAdaptor.toByteArray(pcb, pcb.toByteArray()); - return returnBytes; + ClassNodeTracker cnt = enhancer.getPCBytecode(); + return AsmHelper.toByteArray(cnt); } finally { AccessController.doPrivileged(J2DoPrivHelper.setContextClassLoaderAction(oldLoader)); } diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java b/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java index d78299622..8fa4efbd0 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/enhance/PCEnhancer.java @@ -100,7 +100,6 @@ import org.apache.openjpa.util.StringId; import org.apache.openjpa.util.UserException; import org.apache.openjpa.util.asm.AsmHelper; import org.apache.openjpa.util.asm.ClassNodeTracker; -import org.apache.openjpa.util.asm.ClassWriterTracker; import org.apache.xbean.asm9.Opcodes; import org.apache.xbean.asm9.Type; import org.apache.xbean.asm9.tree.*; @@ -378,8 +377,8 @@ public class PCEnhancer { * Return the bytecode representation of the persistence-capable class * being manipulated. */ - public BCClass getPCBytecode() { - return _pc; + public ClassNodeTracker getPCBytecode() { + return pc; } /** diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/meta/InterfaceImplGenerator.java b/openjpa-kernel/src/main/java/org/apache/openjpa/meta/InterfaceImplGenerator.java index 474e720a3..a94946da4 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/meta/InterfaceImplGenerator.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/meta/InterfaceImplGenerator.java @@ -124,7 +124,8 @@ class InterfaceImplGenerator { iface)).setFatal(true); try { // load the Class<?> for real. - impl = Class.forName(enhancer.getPCBytecode().getName(), true, enhLoader); + String pcClassName = enhancer.getPCBytecode().getClassNode().name.replace("/", "."); + impl = Class.forName(pcClassName, true, enhLoader); } catch (Throwable t) { throw new InternalException(_loc.get("interface-load2", iface, enhLoader), t).setFatal(true); diff --git a/openjpa-kernel/src/main/java/org/apache/openjpa/util/asm/BytecodeWriter.java b/openjpa-kernel/src/main/java/org/apache/openjpa/util/asm/BytecodeWriter.java index 06af49c79..267ef6dc8 100644 --- a/openjpa-kernel/src/main/java/org/apache/openjpa/util/asm/BytecodeWriter.java +++ b/openjpa-kernel/src/main/java/org/apache/openjpa/util/asm/BytecodeWriter.java @@ -20,8 +20,6 @@ package org.apache.openjpa.util.asm; import java.io.IOException; -import serp.bytecode.BCClass; - /** * Control how enhanced bytecode is written. * diff --git a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/enhance/TestEnhancementWithMultiplePUs.java b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/enhance/TestEnhancementWithMultiplePUs.java index 7189e7946..67597d454 100644 --- a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/enhance/TestEnhancementWithMultiplePUs.java +++ b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/enhance/TestEnhancementWithMultiplePUs.java @@ -59,8 +59,7 @@ public class TestEnhancementWithMultiplePUs assertEquals(PCEnhancer.ENHANCE_PC, enhancer.run()); - assertTrue(Arrays.asList(enhancer.getPCBytecode().getInterfaceNames()).contains( - PersistenceCapable.class.getName())); + assertTrue(enhancer.getPCBytecode().getClassNode().interfaces.contains(Type.getInternalName(PersistenceCapable.class))); } private BCClass assertNotPC(ClassLoader loader, Project project, diff --git a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/JPAProperties.java b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/JPAProperties.java index 0c88a93f4..d8dd41a63 100644 --- a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/JPAProperties.java +++ b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/JPAProperties.java @@ -18,8 +18,6 @@ */ package org.apache.openjpa.persistence; -import java.math.BigDecimal; -import java.math.BigInteger; import java.util.HashMap; import java.util.Locale; import java.util.Map; diff --git a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaBuilderImpl.java b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaBuilderImpl.java index 64ed29496..c57a18f4d 100644 --- a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaBuilderImpl.java +++ b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/criteria/CriteriaBuilderImpl.java @@ -23,9 +23,6 @@ import java.math.BigInteger; import java.sql.Date; import java.sql.Time; import java.sql.Timestamp; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.time.LocalTime; import java.util.Collection; import java.util.Collections; import java.util.Map;