Skip to content

Commit d1881ff

Browse files
authored
#1314: Introduce new org.eclipse.persistence.jpars.server artifact (#1316)
Signed-off-by: Lukas Jungmann <[email protected]>
1 parent ebabd20 commit d1881ff

File tree

147 files changed

+570
-323
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

147 files changed

+570
-323
lines changed

Diff for: bundles/eclipselink/pom.xml

+3-9
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,7 @@
272272
</dependency>
273273
<dependency>
274274
<groupId>org.eclipse.persistence</groupId>
275-
<artifactId>org.eclipse.persistence.jpars</artifactId>
275+
<artifactId>org.eclipse.persistence.jpars.server</artifactId>
276276
<scope>provided</scope>
277277
</dependency>
278278
<dependency>
@@ -302,14 +302,6 @@
302302
<scope>provided</scope>
303303
</dependency>
304304

305-
<dependency>
306-
<groupId>org.eclipse.persistence</groupId>
307-
<artifactId>org.eclipse.persistence.jpars</artifactId>
308-
<classifier>javadoc</classifier>
309-
<scope>provided</scope>
310-
<!-- ### fix me -->
311-
<version>${project.version}</version>
312-
</dependency>
313305
</dependencies>
314306

315307
<build>
@@ -385,6 +377,7 @@
385377
org.eclipse.persistence.dbws,
386378
org.eclipse.persistence.jpa,
387379
org.eclipse.persistence.jpa.jpql,
380+
org.eclipse.persistence.jpars.server,
388381
org.eclipse.persistence.moxy,
389382
org.eclipse.persistence.moxy.utils.xjc,
390383
org.eclipse.persistence.oracle,
@@ -425,6 +418,7 @@
425418
org.eclipse.persistence.dbws,
426419
org.eclipse.persistence.jpa,
427420
org.eclipse.persistence.jpa.jpql,
421+
org.eclipse.persistence.jpars.server,
428422
org.eclipse.persistence.moxy,
429423
org.eclipse.persistence.moxy.utils.xjc,
430424
org.eclipse.persistence.oracle,

Diff for: bundles/eclipselink/src/main/java/module-info.java

+3-6
Original file line numberDiff line numberDiff line change
@@ -184,19 +184,14 @@
184184
exports org.eclipse.persistence.dbws;
185185
exports org.eclipse.persistence.jpa.rs;
186186
exports org.eclipse.persistence.jpa.rs.annotations;
187-
exports org.eclipse.persistence.jpa.rs.eventlistener;
188187
exports org.eclipse.persistence.jpa.rs.exceptions;
189188
exports org.eclipse.persistence.jpa.rs.features;
190189
exports org.eclipse.persistence.jpa.rs.features.core.selflinks;
191190
exports org.eclipse.persistence.jpa.rs.features.fieldsfiltering;
192191
exports org.eclipse.persistence.jpa.rs.features.paging;
193-
exports org.eclipse.persistence.jpa.rs.logging;
194192
exports org.eclipse.persistence.jpa.rs.resources;
195193
exports org.eclipse.persistence.jpa.rs.resources.common;
196-
exports org.eclipse.persistence.jpa.rs.util;
197194
exports org.eclipse.persistence.jpa.rs.util.list;
198-
exports org.eclipse.persistence.jpa.rs.util.metadatasources;
199-
exports org.eclipse.persistence.jpa.rs.util.xmladapters;
200195

201196
//exported through EclipseLink PUBLIC API
202197
exports org.eclipse.persistence.internal.cache;
@@ -219,7 +214,7 @@
219214
exports org.eclipse.persistence.internal.jpa.deployment;
220215
exports org.eclipse.persistence.internal.jpa.metadata.xml;
221216
exports org.eclipse.persistence.internal.jpa.rs.metadata.model;
222-
exports org.eclipse.persistence.internal.jpa.rs.weaving;
217+
exports org.eclipse.persistence.internal.jpa.rs.metadata.model.v2;
223218
exports org.eclipse.persistence.internal.libraries.asm;
224219
exports org.eclipse.persistence.internal.localization;
225220
exports org.eclipse.persistence.internal.oxm;
@@ -288,6 +283,8 @@
288283
exports org.eclipse.persistence.internal.sessions.factories.model.transport.naming;
289284
exports org.eclipse.persistence.internal.xr.sxf;
290285

286+
uses org.eclipse.persistence.jpa.rs.PersistenceContextFactoryProvider;
287+
291288
provides jakarta.persistence.spi.PersistenceProvider with org.eclipse.persistence.jpa.PersistenceProvider;
292289
provides jakarta.xml.bind.JAXBContextFactory with org.eclipse.persistence.jaxb.XMLBindingContextFactory;
293290
provides com.sun.tools.xjc.Plugin with org.eclipse.persistence.jaxb.plugins.BeanValidationPlugin;

Diff for: bundles/others/pom.xml

+6-11
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636

3737
<!--Javadoc properties-->
3838
<javadoc.prefixTitle>EclipseLink ${release.version}</javadoc.prefixTitle>
39-
<javadoc.jpars.prefixTitle>EclipseLink JPA-RS ${release.version}</javadoc.jpars.prefixTitle>
4039
<javadoc.nosql.prefixTitle>EclipseLink NoSQL ${release.version}</javadoc.nosql.prefixTitle>
4140
<javadoc.postfixTitle>API Reference</javadoc.postfixTitle>
4241
</properties>
@@ -94,6 +93,10 @@
9493
<groupId>org.eclipse.persistence</groupId>
9594
<artifactId>org.eclipse.persistence.jpars</artifactId>
9695
</dependency>
96+
<dependency>
97+
<groupId>org.eclipse.persistence</groupId>
98+
<artifactId>org.eclipse.persistence.jpars.server</artifactId>
99+
</dependency>
97100
<dependency>
98101
<groupId>org.eclipse.persistence</groupId>
99102
<artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
@@ -371,14 +374,6 @@
371374
<classifier>sources</classifier>
372375
</dependency>
373376

374-
<dependency>
375-
<groupId>org.eclipse.persistence</groupId>
376-
<artifactId>org.eclipse.persistence.jpars</artifactId>
377-
<classifier>javadoc</classifier>
378-
<scope>provided</scope>
379-
<!-- ### fix me -->
380-
<version>${project.version}</version>
381-
</dependency>
382377
<dependency>
383378
<groupId>org.eclipse.persistence</groupId>
384379
<artifactId>org.eclipse.persistence.sdo</artifactId>
@@ -462,6 +457,7 @@
462457
<dependencySourceInclude>org.eclipse.persistence:org.eclipse.persistence.nosql</dependencySourceInclude>
463458
<dependencySourceInclude>org.eclipse.persistence:org.eclipse.persistence.oracle.nosql</dependencySourceInclude>
464459
<dependencySourceInclude>org.eclipse.persistence:org.eclipse.persistence.jpars</dependencySourceInclude>
460+
<dependencySourceInclude>org.eclipse.persistence:org.eclipse.persistence.jpars.server</dependencySourceInclude>
465461
</dependencySourceIncludes>
466462
<excludePackageNames>org.eclipse.persistence.internal.*</excludePackageNames>
467463
<sourceFileExcludes>
@@ -526,7 +522,7 @@
526522
</configuration>
527523
</execution>
528524
<execution>
529-
<id>sdo-jpars-javadoc.jar</id>
525+
<id>sdo-javadoc.jar</id>
530526
<phase>prepare-package</phase>
531527
<goals>
532528
<goal>copy-dependencies</goal>
@@ -537,7 +533,6 @@
537533
<includeScope>provided</includeScope>
538534
<classifier>javadoc</classifier>
539535
<includeArtifactIds>
540-
org.eclipse.persistence.jpars,
541536
org.eclipse.persistence.sdo
542537
</includeArtifactIds>
543538
<stripVersion>true</stripVersion>

Diff for: bundles/p2site/pom.xml

+10-1
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@
6969
<groupId>org.eclipse.persistence</groupId>
7070
<artifactId>org.eclipse.persistence.jpars</artifactId>
7171
</dependency>
72+
<dependency>
73+
<groupId>org.eclipse.persistence</groupId>
74+
<artifactId>org.eclipse.persistence.jpars.server</artifactId>
75+
</dependency>
7276
<dependency>
7377
<groupId>org.eclipse.persistence</groupId>
7478
<artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
@@ -314,6 +318,11 @@
314318
<artifactId>org.eclipse.persistence.jpars</artifactId>
315319
<classifier>sources</classifier>
316320
</dependency>
321+
<dependency>
322+
<groupId>org.eclipse.persistence</groupId>
323+
<artifactId>org.eclipse.persistence.jpars.server</artifactId>
324+
<classifier>sources</classifier>
325+
</dependency>
317326
<dependency>
318327
<groupId>org.eclipse.persistence</groupId>
319328
<artifactId>org.eclipse.persistence.dbws</artifactId>
@@ -409,7 +418,7 @@
409418
<providerName>${project.groupId}</providerName>
410419
<description>EclipseLink DBWS provides a Java-based, declarative Web Service solution for accessing relational databases.</description>
411420
<copyright>\
412-
Copyright (c) 1998, 2020 Oracle and others. All rights reserved.\n\
421+
Copyright (c) 1998, 2021 Oracle and others. All rights reserved.\n\
413422
This program and the accompanying materials are made available under the\n\
414423
terms of the Eclipse Public License v. 2.0 which is available at\n\
415424
http://www.eclipse.org/legal/epl-2.0,\n\

Diff for: dbws/org.eclipse.persistence.dbws/pom.xml

+1-7
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
<properties>
3434
<!-- disable warnings for exports for now -->
35-
<comp.xlint>-Xlint:all,-serial,-exports</comp.xlint>
35+
<comp.xlint>-Xlint:all</comp.xlint>
3636
<test-skip-dbws>${skipTests}</test-skip-dbws>
3737
</properties>
3838

@@ -63,12 +63,6 @@
6363
<scope>provided</scope>
6464
<optional>true</optional>
6565
</dependency>
66-
<dependency>
67-
<groupId>jakarta.ws.rs</groupId>
68-
<artifactId>jakarta.ws.rs-api</artifactId>
69-
<scope>provided</scope>
70-
<optional>true</optional>
71-
</dependency>
7266
<dependency>
7367
<groupId>jakarta.xml.bind</groupId>
7468
<artifactId>jakarta.xml.bind-api</artifactId>

Diff for: dbws/org.eclipse.persistence.dbws/src/main/java/module-info.java

+5-24
Original file line numberDiff line numberDiff line change
@@ -17,46 +17,27 @@
1717

1818
requires jakarta.activation;
1919
requires jakarta.mail;
20-
requires jakarta.persistence;
21-
requires static jakarta.ws.rs;
20+
requires transitive jakarta.persistence;
2221
requires jakarta.xml.bind;
23-
requires static jakarta.xml.soap;
24-
requires static jakarta.xml.ws;
22+
requires jakarta.xml.soap;
23+
requires jakarta.xml.ws;
2524

26-
requires static jakarta.servlet; //AM
25+
requires jakarta.servlet; //AM
2726

2827
requires org.eclipse.persistence.asm;
2928
requires org.eclipse.persistence.jpa;
3029
requires org.eclipse.persistence.jpa.jpql;
3130
requires transitive org.eclipse.persistence.moxy;
3231

3332
exports org.eclipse.persistence.dbws;
34-
exports org.eclipse.persistence.jpa.rs;
35-
exports org.eclipse.persistence.jpa.rs.annotations;
36-
exports org.eclipse.persistence.jpa.rs.eventlistener;
37-
exports org.eclipse.persistence.jpa.rs.exceptions;
38-
exports org.eclipse.persistence.jpa.rs.features;
39-
exports org.eclipse.persistence.jpa.rs.features.core.selflinks;
40-
exports org.eclipse.persistence.jpa.rs.features.fieldsfiltering;
41-
exports org.eclipse.persistence.jpa.rs.features.paging;
42-
exports org.eclipse.persistence.jpa.rs.logging;
43-
exports org.eclipse.persistence.jpa.rs.resources;
44-
exports org.eclipse.persistence.jpa.rs.resources.common;
45-
exports org.eclipse.persistence.jpa.rs.util;
46-
exports org.eclipse.persistence.jpa.rs.util.list;
47-
exports org.eclipse.persistence.jpa.rs.util.metadatasources;
48-
exports org.eclipse.persistence.jpa.rs.util.xmladapters;
4933

5034
//exported through DBWS PUBLIC API
51-
exports org.eclipse.persistence.internal.jpa.rs.metadata.model;
52-
exports org.eclipse.persistence.internal.jpa.rs.weaving;
5335
exports org.eclipse.persistence.internal.xr;
5436

55-
//exported through DBWS INTERNAL API
37+
//exported DEV
5638
exports org.eclipse.persistence.internal.xr.sxf;
5739

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

61-
uses org.eclipse.persistence.jpa.rs.PersistenceContextFactoryProvider;
6243
}

Diff for: dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/dbws/DBWSModelProject.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,8 @@ public void setAttributeValueInObject(Object object, Object value)
308308
descriptor.getInheritancePolicy().setClassIndicatorField(isColl);
309309
descriptor.getInheritancePolicy().setClassExtractor(new ClassExtractor() {
310310
@Override
311-
public Class<?> extractClassFromRow(DataRecord dataRecord, Session session) {
311+
@SuppressWarnings({"unchecked"})
312+
public <T> Class<T> extractClassFromRow(DataRecord dataRecord, Session session) {
312313
Class<?> clz = Result.class;
313314
UnmarshalRecord uRecord = (UnmarshalRecord) dataRecord;
314315
Attributes attrs = uRecord.getAttributes();
@@ -324,7 +325,7 @@ public Class<?> extractClassFromRow(DataRecord dataRecord, Session session) {
324325
}
325326
}
326327
}
327-
return clz;
328+
return (Class<T>) clz;
328329
}
329330
});
330331

Diff for: dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/internal/dbws/SOAPResponseWriter.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,9 @@ public SOAPMessage generateResponse(Operation op, boolean useSOAP12, Object resu
206206
XMLDescriptor descriptor = resultDescriptors.get(op.getName());
207207
SOAPResponse response = null;
208208
try {
209-
response = (SOAPResponse) descriptor.getJavaClass().getConstructor().newInstance();
209+
@SuppressWarnings({"unchecked"})
210+
Class<? extends SOAPResponse> cls = descriptor.getJavaClass();
211+
response = cls.getConstructor().newInstance();
210212
} catch (ReflectiveOperationException ie) {
211213
throw new SOAPException(ie);
212214
}

Diff for: dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/internal/xr/JPQLQueryHandler.java

+6
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,12 @@ public class JPQLQueryHandler extends QueryHandler {
3232

3333
protected String jpqlString;
3434

35+
/**
36+
* Default constructor.
37+
*/
38+
public JPQLQueryHandler() {
39+
}
40+
3541
public String getJpqlString() {
3642
return jpqlString;
3743
}

Diff for: dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/internal/xr/ProjectHelper.java

+23-20
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,20 @@
1515
package org.eclipse.persistence.internal.xr;
1616

1717
//javase imports
18-
import java.util.HashSet;
19-
import java.util.Iterator;
20-
import java.util.Set;
2118

22-
//java eXtension imports
23-
24-
//EclipseLink imports
2519
import org.eclipse.persistence.descriptors.ClassDescriptor;
2620
import org.eclipse.persistence.internal.databaseaccess.Platform;
2721
import org.eclipse.persistence.internal.helper.ConversionManager;
2822
import org.eclipse.persistence.internal.indirection.BasicIndirectionPolicy;
29-
import org.eclipse.persistence.internal.xr.XRDynamicEntity;
3023
import org.eclipse.persistence.mappings.DatabaseMapping;
3124
import org.eclipse.persistence.mappings.ForeignReferenceMapping;
3225
import org.eclipse.persistence.sessions.Login;
3326
import org.eclipse.persistence.sessions.Project;
27+
28+
import java.util.HashSet;
29+
import java.util.Iterator;
30+
import java.util.Set;
31+
3432
import static org.eclipse.persistence.internal.xr.XRDynamicClassLoader.COLLECTION_WRAPPER_SUFFIX;
3533

3634
/**
@@ -41,37 +39,42 @@
4139
* This API only supports EclipseLink 1.x format deployment XML
4240
*/
4341

44-
@SuppressWarnings({"rawtypes"})
45-
public class ProjectHelper {
42+
public final class ProjectHelper {
43+
44+
private ProjectHelper() {
45+
// no instance please
46+
}
47+
4648
/**
4749
* INTERNAL: Fix the given EclipseLink OR and OX projects so that the
4850
* descriptors for all generated sub-classes of XRDynamicEntity have the correct
4951
* AttributeAccessors.
5052
*/
5153
public static void fixOROXAccessors(Project orProject, Project oxProject) {
52-
for (Iterator i = orProject.getDescriptors().values().iterator(); i.hasNext();) {
53-
ClassDescriptor desc = (ClassDescriptor)i.next();
54-
Class clz = desc.getJavaClass();
55-
if (!XRDynamicEntity.class.isAssignableFrom(clz)) {
54+
for (Iterator<ClassDescriptor> i = orProject.getDescriptors().values().iterator(); i.hasNext();) {
55+
ClassDescriptor desc = i.next();
56+
if (!XRDynamicEntity.class.isAssignableFrom(desc.getJavaClass())) {
5657
continue;
5758
}
59+
@SuppressWarnings({"unchecked"})
60+
Class<? extends XRDynamicEntity> clz = (Class<? extends XRDynamicEntity>) desc.getJavaClass();
5861
ClassDescriptor xdesc = null;
5962
if (oxProject != null) {
6063
xdesc = oxProject.getDescriptorForAlias(desc.getAlias());
6164
}
6265
XRDynamicPropertiesManager xrDPM = null;
6366
if (!clz.getName().endsWith(COLLECTION_WRAPPER_SUFFIX)) {
6467
try {
65-
XRDynamicEntity newInstance = (XRDynamicEntity)clz.getConstructor().newInstance();
68+
XRDynamicEntity newInstance = clz.getConstructor().newInstance();
6669
xrDPM = newInstance.fetchPropertiesManager();
6770
}
6871
catch (Exception e) {
6972
e.printStackTrace();
7073
}
7174
}
7275
Set<String> propertiesNameSet = new HashSet<>();
73-
for (Iterator j = desc.getMappings().iterator(); j.hasNext();) {
74-
DatabaseMapping dm = (DatabaseMapping)j.next();
76+
for (Iterator<DatabaseMapping> j = desc.getMappings().iterator(); j.hasNext();) {
77+
DatabaseMapping dm = j.next();
7578
String attributeName = dm.getAttributeName();
7679
DatabaseMapping xdm = null;
7780
if (xdesc != null) {
@@ -112,12 +115,12 @@ public static void fixOROXAccessors(Project orProject, Project oxProject) {
112115
}
113116
}
114117
}
115-
if (cl != null && cl instanceof XRDynamicClassLoader) {
118+
if (cl instanceof XRDynamicClassLoader) {
116119
XRDynamicClassLoader xrdecl = (XRDynamicClassLoader)cl;
117120
xrdecl.dontGenerateSubclasses();
118121
}
119122
if (oxProject != null) {
120-
cl = null;
123+
cl = null;
121124
login = oxProject.getDatasourceLogin();
122125
if (login != null) {
123126
Platform platform = login.getDatasourcePlatform();
@@ -128,8 +131,8 @@ public static void fixOROXAccessors(Project orProject, Project oxProject) {
128131
}
129132
}
130133
}
131-
if (cl != null && cl instanceof XRDynamicClassLoader) {
132-
XRDynamicClassLoader xrdecl = (XRDynamicClassLoader)cl;
134+
if (cl instanceof XRDynamicClassLoader) {
135+
XRDynamicClassLoader xrdecl = (XRDynamicClassLoader) cl;
133136
xrdecl.dontGenerateSubclasses();
134137
}
135138
}

0 commit comments

Comments
 (0)