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;

Reply via email to