Skip to content

Commit

Permalink
#1314: Introduce new org.eclipse.persistence.jpars.server artifact (#…
Browse files Browse the repository at this point in the history
…1316)

Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
  • Loading branch information
lukasj committed Sep 21, 2021
1 parent ebabd20 commit d1881ff
Show file tree
Hide file tree
Showing 147 changed files with 570 additions and 323 deletions.
12 changes: 3 additions & 9 deletions bundles/eclipselink/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpars</artifactId>
<artifactId>org.eclipse.persistence.jpars.server</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
Expand Down Expand Up @@ -302,14 +302,6 @@
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpars</artifactId>
<classifier>javadoc</classifier>
<scope>provided</scope>
<!-- ### fix me -->
<version>${project.version}</version>
</dependency>
</dependencies>

<build>
Expand Down Expand Up @@ -385,6 +377,7 @@
org.eclipse.persistence.dbws,
org.eclipse.persistence.jpa,
org.eclipse.persistence.jpa.jpql,
org.eclipse.persistence.jpars.server,
org.eclipse.persistence.moxy,
org.eclipse.persistence.moxy.utils.xjc,
org.eclipse.persistence.oracle,
Expand Down Expand Up @@ -425,6 +418,7 @@
org.eclipse.persistence.dbws,
org.eclipse.persistence.jpa,
org.eclipse.persistence.jpa.jpql,
org.eclipse.persistence.jpars.server,
org.eclipse.persistence.moxy,
org.eclipse.persistence.moxy.utils.xjc,
org.eclipse.persistence.oracle,
Expand Down
9 changes: 3 additions & 6 deletions bundles/eclipselink/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -184,19 +184,14 @@
exports org.eclipse.persistence.dbws;
exports org.eclipse.persistence.jpa.rs;
exports org.eclipse.persistence.jpa.rs.annotations;
exports org.eclipse.persistence.jpa.rs.eventlistener;
exports org.eclipse.persistence.jpa.rs.exceptions;
exports org.eclipse.persistence.jpa.rs.features;
exports org.eclipse.persistence.jpa.rs.features.core.selflinks;
exports org.eclipse.persistence.jpa.rs.features.fieldsfiltering;
exports org.eclipse.persistence.jpa.rs.features.paging;
exports org.eclipse.persistence.jpa.rs.logging;
exports org.eclipse.persistence.jpa.rs.resources;
exports org.eclipse.persistence.jpa.rs.resources.common;
exports org.eclipse.persistence.jpa.rs.util;
exports org.eclipse.persistence.jpa.rs.util.list;
exports org.eclipse.persistence.jpa.rs.util.metadatasources;
exports org.eclipse.persistence.jpa.rs.util.xmladapters;

//exported through EclipseLink PUBLIC API
exports org.eclipse.persistence.internal.cache;
Expand All @@ -219,7 +214,7 @@
exports org.eclipse.persistence.internal.jpa.deployment;
exports org.eclipse.persistence.internal.jpa.metadata.xml;
exports org.eclipse.persistence.internal.jpa.rs.metadata.model;
exports org.eclipse.persistence.internal.jpa.rs.weaving;
exports org.eclipse.persistence.internal.jpa.rs.metadata.model.v2;
exports org.eclipse.persistence.internal.libraries.asm;
exports org.eclipse.persistence.internal.localization;
exports org.eclipse.persistence.internal.oxm;
Expand Down Expand Up @@ -288,6 +283,8 @@
exports org.eclipse.persistence.internal.sessions.factories.model.transport.naming;
exports org.eclipse.persistence.internal.xr.sxf;

uses org.eclipse.persistence.jpa.rs.PersistenceContextFactoryProvider;

provides jakarta.persistence.spi.PersistenceProvider with org.eclipse.persistence.jpa.PersistenceProvider;
provides jakarta.xml.bind.JAXBContextFactory with org.eclipse.persistence.jaxb.XMLBindingContextFactory;
provides com.sun.tools.xjc.Plugin with org.eclipse.persistence.jaxb.plugins.BeanValidationPlugin;
Expand Down
17 changes: 6 additions & 11 deletions bundles/others/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@

<!--Javadoc properties-->
<javadoc.prefixTitle>EclipseLink ${release.version}</javadoc.prefixTitle>
<javadoc.jpars.prefixTitle>EclipseLink JPA-RS ${release.version}</javadoc.jpars.prefixTitle>
<javadoc.nosql.prefixTitle>EclipseLink NoSQL ${release.version}</javadoc.nosql.prefixTitle>
<javadoc.postfixTitle>API Reference</javadoc.postfixTitle>
</properties>
Expand Down Expand Up @@ -94,6 +93,10 @@
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpars</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpars.server</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
Expand Down Expand Up @@ -371,14 +374,6 @@
<classifier>sources</classifier>
</dependency>

<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpars</artifactId>
<classifier>javadoc</classifier>
<scope>provided</scope>
<!-- ### fix me -->
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.sdo</artifactId>
Expand Down Expand Up @@ -462,6 +457,7 @@
<dependencySourceInclude>org.eclipse.persistence:org.eclipse.persistence.nosql</dependencySourceInclude>
<dependencySourceInclude>org.eclipse.persistence:org.eclipse.persistence.oracle.nosql</dependencySourceInclude>
<dependencySourceInclude>org.eclipse.persistence:org.eclipse.persistence.jpars</dependencySourceInclude>
<dependencySourceInclude>org.eclipse.persistence:org.eclipse.persistence.jpars.server</dependencySourceInclude>
</dependencySourceIncludes>
<excludePackageNames>org.eclipse.persistence.internal.*</excludePackageNames>
<sourceFileExcludes>
Expand Down Expand Up @@ -526,7 +522,7 @@
</configuration>
</execution>
<execution>
<id>sdo-jpars-javadoc.jar</id>
<id>sdo-javadoc.jar</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
Expand All @@ -537,7 +533,6 @@
<includeScope>provided</includeScope>
<classifier>javadoc</classifier>
<includeArtifactIds>
org.eclipse.persistence.jpars,
org.eclipse.persistence.sdo
</includeArtifactIds>
<stripVersion>true</stripVersion>
Expand Down
11 changes: 10 additions & 1 deletion bundles/p2site/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,10 @@
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpars</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpars.server</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
Expand Down Expand Up @@ -314,6 +318,11 @@
<artifactId>org.eclipse.persistence.jpars</artifactId>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpars.server</artifactId>
<classifier>sources</classifier>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.dbws</artifactId>
Expand Down Expand Up @@ -409,7 +418,7 @@
<providerName>${project.groupId}</providerName>
<description>EclipseLink DBWS provides a Java-based, declarative Web Service solution for accessing relational databases.</description>
<copyright>\
Copyright (c) 1998, 2020 Oracle and others. All rights reserved.\n\
Copyright (c) 1998, 2021 Oracle and others. All rights reserved.\n\
This program and the accompanying materials are made available under the\n\
terms of the Eclipse Public License v. 2.0 which is available at\n\
http://www.eclipse.org/legal/epl-2.0,\n\
Expand Down
8 changes: 1 addition & 7 deletions dbws/org.eclipse.persistence.dbws/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@

<properties>
<!-- disable warnings for exports for now -->
<comp.xlint>-Xlint:all,-serial,-exports</comp.xlint>
<comp.xlint>-Xlint:all</comp.xlint>
<test-skip-dbws>${skipTests}</test-skip-dbws>
</properties>

Expand Down Expand Up @@ -63,12 +63,6 @@
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
Expand Down
29 changes: 5 additions & 24 deletions dbws/org.eclipse.persistence.dbws/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,46 +17,27 @@

requires jakarta.activation;
requires jakarta.mail;
requires jakarta.persistence;
requires static jakarta.ws.rs;
requires transitive jakarta.persistence;
requires jakarta.xml.bind;
requires static jakarta.xml.soap;
requires static jakarta.xml.ws;
requires jakarta.xml.soap;
requires jakarta.xml.ws;

requires static jakarta.servlet; //AM
requires jakarta.servlet; //AM

requires org.eclipse.persistence.asm;
requires org.eclipse.persistence.jpa;
requires org.eclipse.persistence.jpa.jpql;
requires transitive org.eclipse.persistence.moxy;

exports org.eclipse.persistence.dbws;
exports org.eclipse.persistence.jpa.rs;
exports org.eclipse.persistence.jpa.rs.annotations;
exports org.eclipse.persistence.jpa.rs.eventlistener;
exports org.eclipse.persistence.jpa.rs.exceptions;
exports org.eclipse.persistence.jpa.rs.features;
exports org.eclipse.persistence.jpa.rs.features.core.selflinks;
exports org.eclipse.persistence.jpa.rs.features.fieldsfiltering;
exports org.eclipse.persistence.jpa.rs.features.paging;
exports org.eclipse.persistence.jpa.rs.logging;
exports org.eclipse.persistence.jpa.rs.resources;
exports org.eclipse.persistence.jpa.rs.resources.common;
exports org.eclipse.persistence.jpa.rs.util;
exports org.eclipse.persistence.jpa.rs.util.list;
exports org.eclipse.persistence.jpa.rs.util.metadatasources;
exports org.eclipse.persistence.jpa.rs.util.xmladapters;

//exported through DBWS PUBLIC API
exports org.eclipse.persistence.internal.jpa.rs.metadata.model;
exports org.eclipse.persistence.internal.jpa.rs.weaving;
exports org.eclipse.persistence.internal.xr;

//exported through DBWS INTERNAL API
//exported DEV
exports org.eclipse.persistence.internal.xr.sxf;

//INTERNAL ONLY exports
exports org.eclipse.persistence.internal.dbws to org.eclipse.persistence.dbws.builder;

uses org.eclipse.persistence.jpa.rs.PersistenceContextFactoryProvider;
}
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,8 @@ public void setAttributeValueInObject(Object object, Object value)
descriptor.getInheritancePolicy().setClassIndicatorField(isColl);
descriptor.getInheritancePolicy().setClassExtractor(new ClassExtractor() {
@Override
public Class<?> extractClassFromRow(DataRecord dataRecord, Session session) {
@SuppressWarnings({"unchecked"})
public <T> Class<T> extractClassFromRow(DataRecord dataRecord, Session session) {
Class<?> clz = Result.class;
UnmarshalRecord uRecord = (UnmarshalRecord) dataRecord;
Attributes attrs = uRecord.getAttributes();
Expand All @@ -324,7 +325,7 @@ public Class<?> extractClassFromRow(DataRecord dataRecord, Session session) {
}
}
}
return clz;
return (Class<T>) clz;
}
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,9 @@ public SOAPMessage generateResponse(Operation op, boolean useSOAP12, Object resu
XMLDescriptor descriptor = resultDescriptors.get(op.getName());
SOAPResponse response = null;
try {
response = (SOAPResponse) descriptor.getJavaClass().getConstructor().newInstance();
@SuppressWarnings({"unchecked"})
Class<? extends SOAPResponse> cls = descriptor.getJavaClass();
response = cls.getConstructor().newInstance();
} catch (ReflectiveOperationException ie) {
throw new SOAPException(ie);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,12 @@ public class JPQLQueryHandler extends QueryHandler {

protected String jpqlString;

/**
* Default constructor.
*/
public JPQLQueryHandler() {
}

public String getJpqlString() {
return jpqlString;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,20 @@
package org.eclipse.persistence.internal.xr;

//javase imports
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

//java eXtension imports

//EclipseLink imports
import org.eclipse.persistence.descriptors.ClassDescriptor;
import org.eclipse.persistence.internal.databaseaccess.Platform;
import org.eclipse.persistence.internal.helper.ConversionManager;
import org.eclipse.persistence.internal.indirection.BasicIndirectionPolicy;
import org.eclipse.persistence.internal.xr.XRDynamicEntity;
import org.eclipse.persistence.mappings.DatabaseMapping;
import org.eclipse.persistence.mappings.ForeignReferenceMapping;
import org.eclipse.persistence.sessions.Login;
import org.eclipse.persistence.sessions.Project;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

import static org.eclipse.persistence.internal.xr.XRDynamicClassLoader.COLLECTION_WRAPPER_SUFFIX;

/**
Expand All @@ -41,37 +39,42 @@
* This API only supports EclipseLink 1.x format deployment XML
*/

@SuppressWarnings({"rawtypes"})
public class ProjectHelper {
public final class ProjectHelper {

private ProjectHelper() {
// no instance please
}

/**
* INTERNAL: Fix the given EclipseLink OR and OX projects so that the
* descriptors for all generated sub-classes of XRDynamicEntity have the correct
* AttributeAccessors.
*/
public static void fixOROXAccessors(Project orProject, Project oxProject) {
for (Iterator i = orProject.getDescriptors().values().iterator(); i.hasNext();) {
ClassDescriptor desc = (ClassDescriptor)i.next();
Class clz = desc.getJavaClass();
if (!XRDynamicEntity.class.isAssignableFrom(clz)) {
for (Iterator<ClassDescriptor> i = orProject.getDescriptors().values().iterator(); i.hasNext();) {
ClassDescriptor desc = i.next();
if (!XRDynamicEntity.class.isAssignableFrom(desc.getJavaClass())) {
continue;
}
@SuppressWarnings({"unchecked"})
Class<? extends XRDynamicEntity> clz = (Class<? extends XRDynamicEntity>) desc.getJavaClass();
ClassDescriptor xdesc = null;
if (oxProject != null) {
xdesc = oxProject.getDescriptorForAlias(desc.getAlias());
}
XRDynamicPropertiesManager xrDPM = null;
if (!clz.getName().endsWith(COLLECTION_WRAPPER_SUFFIX)) {
try {
XRDynamicEntity newInstance = (XRDynamicEntity)clz.getConstructor().newInstance();
XRDynamicEntity newInstance = clz.getConstructor().newInstance();
xrDPM = newInstance.fetchPropertiesManager();
}
catch (Exception e) {
e.printStackTrace();
}
}
Set<String> propertiesNameSet = new HashSet<>();
for (Iterator j = desc.getMappings().iterator(); j.hasNext();) {
DatabaseMapping dm = (DatabaseMapping)j.next();
for (Iterator<DatabaseMapping> j = desc.getMappings().iterator(); j.hasNext();) {
DatabaseMapping dm = j.next();
String attributeName = dm.getAttributeName();
DatabaseMapping xdm = null;
if (xdesc != null) {
Expand Down Expand Up @@ -112,12 +115,12 @@ public static void fixOROXAccessors(Project orProject, Project oxProject) {
}
}
}
if (cl != null && cl instanceof XRDynamicClassLoader) {
if (cl instanceof XRDynamicClassLoader) {
XRDynamicClassLoader xrdecl = (XRDynamicClassLoader)cl;
xrdecl.dontGenerateSubclasses();
}
if (oxProject != null) {
cl = null;
cl = null;
login = oxProject.getDatasourceLogin();
if (login != null) {
Platform platform = login.getDatasourcePlatform();
Expand All @@ -128,8 +131,8 @@ public static void fixOROXAccessors(Project orProject, Project oxProject) {
}
}
}
if (cl != null && cl instanceof XRDynamicClassLoader) {
XRDynamicClassLoader xrdecl = (XRDynamicClassLoader)cl;
if (cl instanceof XRDynamicClassLoader) {
XRDynamicClassLoader xrdecl = (XRDynamicClassLoader) cl;
xrdecl.dontGenerateSubclasses();
}
}
Expand Down

0 comments on commit d1881ff

Please sign in to comment.