JPA API and Parsson dependencies upgrade (#1404)

JPA API and Parsson dependencies upgrade

Signed-off-by: Radek Felcman <radek.felcman@oracle.com>
diff --git a/bundles/eclipselink/src/main/java/module-info.java b/bundles/eclipselink/src/main/java/module-info.java
index 39ff2c2..77348e6 100644
--- a/bundles/eclipselink/src/main/java/module-info.java
+++ b/bundles/eclipselink/src/main/java/module-info.java
@@ -13,6 +13,7 @@
 module eclipselink {
 
     requires transitive java.desktop;
+    requires transitive java.instrument;
     requires transitive java.management;
     requires transitive java.naming;
     requires transitive java.rmi;
diff --git a/jpa/org.eclipse.persistence.jpa/src/main/java/module-info.java b/jpa/org.eclipse.persistence.jpa/src/main/java/module-info.java
index 0ccd75a..5b499ab 100644
--- a/jpa/org.eclipse.persistence.jpa/src/main/java/module-info.java
+++ b/jpa/org.eclipse.persistence.jpa/src/main/java/module-info.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2021, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -12,6 +12,7 @@
 
 module org.eclipse.persistence.jpa {
     requires java.rmi;
+    requires java.instrument;
 
     requires org.eclipse.persistence.asm;
     requires transitive org.eclipse.persistence.core;
diff --git a/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/deployment/JavaSECMPInitializer.java b/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/deployment/JavaSECMPInitializer.java
index 639d487..72d087f 100644
--- a/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/deployment/JavaSECMPInitializer.java
+++ b/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/deployment/JavaSECMPInitializer.java
@@ -34,6 +34,7 @@
 import jakarta.persistence.PersistenceException;
 import jakarta.persistence.spi.ClassTransformer;
 import jakarta.persistence.spi.PersistenceUnitInfo;
+import jakarta.persistence.spi.TransformerException;
 
 import org.eclipse.persistence.config.PersistenceUnitProperties;
 import org.eclipse.persistence.exceptions.EntityManagerSetupException;
@@ -255,7 +256,11 @@
                         Class<?> classBeingRedefined,
                         ProtectionDomain protectionDomain,
                         byte[] classfileBuffer) throws IllegalClassFormatException {
-                    return transformer.transform(loader, className, classBeingRedefined, protectionDomain, classfileBuffer);
+                    try {
+                        return transformer.transform(loader, className, classBeingRedefined, protectionDomain, classfileBuffer);
+                    } catch (TransformerException e) {
+                        throw new IllegalClassFormatException(e.getMessage());
+                    }
                 }
             });
         } else if (transformer == null) {
diff --git a/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/weaving/PersistenceWeaver.java b/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/weaving/PersistenceWeaver.java
index 7d2dadd..2a6e6e5 100644
--- a/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/weaving/PersistenceWeaver.java
+++ b/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/internal/jpa/weaving/PersistenceWeaver.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -17,11 +17,11 @@
 package org.eclipse.persistence.internal.jpa.weaving;
 
 // J2SE imports
-import java.lang.instrument.IllegalClassFormatException;
 import java.security.ProtectionDomain;
 import java.util.Map;
 
 import jakarta.persistence.spi.ClassTransformer;
+import jakarta.persistence.spi.TransformerException;
 
 import org.eclipse.persistence.config.SystemProperties;
 import org.eclipse.persistence.internal.helper.Helper;
@@ -91,7 +91,7 @@
     @Override
     public byte[] transform(final ClassLoader loader, final String className,
             final Class<?> classBeingRedefined, final ProtectionDomain protectionDomain,
-            final byte[] classfileBuffer) throws IllegalClassFormatException {
+            final byte[] classfileBuffer) throws TransformerException {
         final SessionLog log = AbstractSessionLog.getLog();
         // PERF: Is finest logging on weaving turned on?
         final boolean shouldLogFinest = log.shouldLog(SessionLog.FINEST, SessionLog.WEAVER);
diff --git a/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/tools/weaving/jpa/StaticWeaveClassTransformer.java b/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/tools/weaving/jpa/StaticWeaveClassTransformer.java
index 5a0cdac..12c0a88 100644
--- a/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/tools/weaving/jpa/StaticWeaveClassTransformer.java
+++ b/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/tools/weaving/jpa/StaticWeaveClassTransformer.java
@@ -18,7 +18,6 @@
 
 import java.io.IOException;
 import java.io.Writer;
-import java.lang.instrument.IllegalClassFormatException;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.util.ArrayList;
@@ -29,6 +28,7 @@
 import java.util.zip.ZipException;
 
 import jakarta.persistence.spi.ClassTransformer;
+import jakarta.persistence.spi.TransformerException;
 
 import org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl;
 import org.eclipse.persistence.internal.jpa.StaticWeaveInfo;
@@ -82,7 +82,7 @@
      * The method performs weaving function on the given class.
      * @return the converted(woven) class
      */
-    public byte[] transform(String originalClassName, Class<?> originalClass, byte[] originalClassBytes)throws IllegalClassFormatException{
+    public byte[] transform(String originalClassName, Class<?> originalClass, byte[] originalClassBytes)throws TransformerException {
         byte[] newClassBytes = null;
         for(ClassTransformer transformer : classTransformers){
             newClassBytes=transformer.transform(aClassLoader, originalClassName, originalClass, null, originalClassBytes);
diff --git a/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/tools/weaving/jpa/StaticWeaveProcessor.java b/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/tools/weaving/jpa/StaticWeaveProcessor.java
index 55861e1..0318ea9 100644
--- a/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/tools/weaving/jpa/StaticWeaveProcessor.java
+++ b/jpa/org.eclipse.persistence.jpa/src/main/java/org/eclipse/persistence/tools/weaving/jpa/StaticWeaveProcessor.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2022 Oracle and/or its affiliates. All rights reserved.
  *
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v. 2.0 which is available at
@@ -20,7 +20,6 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.Writer;
-import java.lang.instrument.IllegalClassFormatException;
 import java.net.MalformedURLException;
 import java.net.URI;
 import java.net.URISyntaxException;
@@ -318,16 +317,12 @@
                         } else {
                             swoh.addEntry(entryInputStream, newEntry);
                         }
-                    } catch (IllegalClassFormatException e) {
+                    } catch (Throwable e) {
                         AbstractSessionLog.getLog().logThrowable(AbstractSessionLog.WARNING, AbstractSessionLog.WEAVER, e);
                         // Anything went wrong, we need log a warning message, copy the entry to the target and
                         // process next entry.
                         swoh.addEntry(entryInputStream, newEntry);
                         continue;
-                    } catch (ClassNotFoundException e) {
-                        AbstractSessionLog.getLog().logThrowable(AbstractSessionLog.WARNING, AbstractSessionLog.WEAVER, e);
-                        swoh.addEntry(entryInputStream, newEntry);
-                        continue;
                     } finally {
                         // Need close the inputstream for current entry before processing next one.
                         entryInputStream.close();
diff --git a/pom.xml b/pom.xml
index f07e6f9..65489b4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -192,12 +192,12 @@
         <jersey.version>3.0.3</jersey.version>
         <jms.version>3.0.0</jms.version>
         <json.version>2.1.0</json.version>
-        <jpa.api.version>3.1.0-RC1</jpa.api.version>
+        <jpa.api.version>3.1.0-RC2</jpa.api.version>
         <mail-api.version>2.1.0</mail-api.version>
         <angus-mail.version>1.0.0</angus-mail.version>
         <oracle.ddlparser.version>3.0.0</oracle.ddlparser.version>
         <org.glassfish.corba.version>4.2.4</org.glassfish.corba.version>
-        <parsson.version>1.0.0</parsson.version>
+        <parsson.version>1.1.0</parsson.version>
         <resource.version>2.0.0</resource.version>
         <servlet.version>5.0.0</servlet.version>
         <transaction.version>2.0.0</transaction.version>