Integrate jakarta persistence 3.1.0-RC2
Signed-off-by: Arjan Tijms <arjan.tijms@gmail.com>
diff --git a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ProviderContainerContractInfoImpl.java b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ProviderContainerContractInfoImpl.java
index fb2300a..ec6b8a5 100644
--- a/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ProviderContainerContractInfoImpl.java
+++ b/appserver/appclient/client/acc/src/main/java/org/glassfish/appclient/client/acc/ProviderContainerContractInfoImpl.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2021 Contributors to the Eclipse Foundation.
* Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
@@ -16,7 +17,6 @@
package org.glassfish.appclient.client.acc;
-import com.sun.appserv.connectors.internal.api.ConnectorRuntime;
import java.lang.instrument.ClassFileTransformer;
import java.lang.instrument.IllegalClassFormatException;
import java.lang.instrument.Instrumentation;
@@ -26,14 +26,18 @@
import java.security.ProtectionDomain;
import java.util.Collection;
import java.util.HashSet;
-import jakarta.persistence.EntityManagerFactory;
-import jakarta.persistence.spi.ClassTransformer;
-import jakarta.validation.ValidatorFactory;
import org.glassfish.api.deployment.DeploymentContext;
import org.glassfish.deployment.common.RootDeploymentDescriptor;
import org.glassfish.persistence.jpa.ProviderContainerContractInfoBase;
+import com.sun.appserv.connectors.internal.api.ConnectorRuntime;
+
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.spi.ClassTransformer;
+import jakarta.persistence.spi.TransformerException;
+import jakarta.validation.ValidatorFactory;
+
/**
* Implements the internal GlassFish interface which all persistence provider
* containers must.
@@ -133,8 +137,7 @@
private final ClassTransformer persistenceTransformer;
private final ClassLoader classLoader;
- TransformerWrapper(final ClassTransformer persistenceTransformer,
- final ClassLoader classLoader) {
+ TransformerWrapper(final ClassTransformer persistenceTransformer, final ClassLoader classLoader) {
this.persistenceTransformer = persistenceTransformer;
this.classLoader = classLoader;
}
@@ -144,10 +147,13 @@
* Do not even bother running the transformer unless the loader
* loading the class is the ACC's class loader.
*/
- return (loader.equals(classLoader) ?
- persistenceTransformer.transform(loader, className,
- classBeingRedefined, protectionDomain, classfileBuffer)
- : null);
+ try {
+ return loader.equals(classLoader) ?
+ persistenceTransformer.transform(loader, className, classBeingRedefined, protectionDomain, classfileBuffer) :
+ null;
+ } catch (TransformerException e) {
+ throw (IllegalClassFormatException) (new IllegalClassFormatException().initCause(e));
+ }
}
}
diff --git a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ServerProviderContainerContractInfo.java b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ServerProviderContainerContractInfo.java
index 20efec8..2fdd5af 100644
--- a/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ServerProviderContainerContractInfo.java
+++ b/appserver/persistence/jpa-container/src/main/java/org/glassfish/persistence/jpa/ServerProviderContainerContractInfo.java
@@ -1,4 +1,5 @@
/*
+ * Copyright (c) 2021 Contributors to the Eclipse Foundation.
* Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
@@ -34,6 +35,7 @@
import jakarta.persistence.EntityManagerFactory;
import jakarta.persistence.spi.ClassTransformer;
+import jakarta.persistence.spi.TransformerException;
import jakarta.validation.Validation;
import jakarta.validation.ValidatorFactory;
@@ -78,7 +80,11 @@
public byte[] transform(
ClassLoader loader, String className, 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 (IllegalClassFormatException) (new IllegalClassFormatException().initCause(e));
+ }
}
});
}
diff --git a/appserver/pom.xml b/appserver/pom.xml
index acb7454..c3f4d7d 100644
--- a/appserver/pom.xml
+++ b/appserver/pom.xml
@@ -106,7 +106,7 @@
<openmq.version>6.3.0-M1</openmq.version>
<!-- Jakarta Persistence -->
- <jakarta.persistence-api.version>3.1.0-RC1</jakarta.persistence-api.version>
+ <jakarta.persistence-api.version>3.1.0-RC2</jakarta.persistence-api.version>
<eclipselink.version>4.0.0-M1</eclipselink.version>
<eclipselink.asm.version>9.2.0</eclipselink.asm.version>