clean up jpa/jpql parser, turn warnings into errors
Signed-off-by: Lukas Jungmann <lukas.jungmann@oracle.com>
diff --git a/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/internal/xr/ProjectHelper.java b/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/internal/xr/ProjectHelper.java
index 1db37d2..59ea969 100644
--- a/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/internal/xr/ProjectHelper.java
+++ b/dbws/org.eclipse.persistence.dbws/src/main/java/org/eclipse/persistence/internal/xr/ProjectHelper.java
@@ -56,8 +56,7 @@
if (!XRDynamicEntity.class.isAssignableFrom(desc.getJavaClass())) {
continue;
}
- @SuppressWarnings({"unchecked"})
- Class<? extends XRDynamicEntity> clz = (Class<? extends XRDynamicEntity>) desc.getJavaClass();
+ Class<?> clz = desc.getJavaClass();
ClassDescriptor xdesc = null;
if (oxProject != null) {
xdesc = oxProject.getDescriptorForAlias(desc.getAlias());
@@ -65,7 +64,7 @@
XRDynamicPropertiesManager xrDPM = null;
if (!clz.getName().endsWith(COLLECTION_WRAPPER_SUFFIX)) {
try {
- XRDynamicEntity newInstance = clz.getConstructor().newInstance();
+ XRDynamicEntity newInstance = (XRDynamicEntity) clz.getConstructor().newInstance();
xrDPM = newInstance.fetchPropertiesManager();
}
catch (Exception e) {
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/ClassDescriptor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/ClassDescriptor.java
index 17c0004..d366280 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/ClassDescriptor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/descriptors/ClassDescriptor.java
@@ -2517,8 +2517,9 @@
* Return the java class.
*/
@Override
- public Class getJavaClass() {
- return javaClass;
+ @SuppressWarnings({"unchecked"})
+ public <T> Class<T> getJavaClass() {
+ return (Class<T>) javaClass;
}
/**
@@ -2537,7 +2538,7 @@
*/
public List<DatabaseMapping> getLockableMappings() {
if (this.lockableMappings == null) {
- this.lockableMappings = new ArrayList();
+ this.lockableMappings = new ArrayList<>();
}
return this.lockableMappings;
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/EclipseLinkSemanticValidatorHelper.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/EclipseLinkSemanticValidatorHelper.java
index eebb691..0feca2c 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/EclipseLinkSemanticValidatorHelper.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/EclipseLinkSemanticValidatorHelper.java
@@ -154,7 +154,7 @@
@Override
@SuppressWarnings({ "rawtypes", "unchecked" })
- public List getDeclarations() {
+ public List<? extends JPQLQueryDeclaration> getDeclarations() {
return queryContext.getDeclarations();
}
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ExpressionBuilderVisitor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ExpressionBuilderVisitor.java
index 82adb6c..c95576a 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ExpressionBuilderVisitor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/ExpressionBuilderVisitor.java
@@ -1449,6 +1449,7 @@
text = text.substring(0, text.length() - 1);
}
+ @SuppressWarnings({"unchecked"})
Number number = queryContext.newInstance((Class<? extends Number>) type[0], String.class, text);
// Now create the numeric expression
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/JPQLQueryContext.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/JPQLQueryContext.java
index 8d5ff3f..40278fe 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/JPQLQueryContext.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/jpa/jpql/JPQLQueryContext.java
@@ -1000,7 +1000,7 @@
* @return A new instance or <code>null</code> if a problem was encountered during instantiation
*/
<T> T newInstance(Class<T> type, Class<?> parameterType, Object parameter) {
- return newInstance(type, new Class[] { parameterType }, new Object[] { parameter });
+ return newInstance(type, new Class<?>[] { parameterType }, new Object[] { parameter });
}
/**
diff --git a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/mappings/Descriptor.java b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/mappings/Descriptor.java
index 721a8e5..c8846ec 100644
--- a/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/mappings/Descriptor.java
+++ b/foundation/org.eclipse.persistence.core/src/main/java/org/eclipse/persistence/internal/oxm/mappings/Descriptor.java
@@ -106,7 +106,7 @@
/**
* Return the java class.
*/
- Class<?> getJavaClass();
+ <T> Class<T> getJavaClass();
/**
* Return the class name, used by the MW.
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/pom.xml b/jpa/org.eclipse.persistence.jpa.jpql/pom.xml
index e5e6829..c11c33b 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/pom.xml
+++ b/jpa/org.eclipse.persistence.jpa.jpql/pom.xml
@@ -32,6 +32,7 @@
<properties>
<comp.xlint>-Xlint:all</comp.xlint>
+ <comp.test.xlint>-Xlint:all</comp.test.xlint>
</properties>
<dependencies>
@@ -50,6 +51,15 @@
<build>
<plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <compilerArgs>
+ <arg>-Werror</arg>
+ </compilerArgs>
+ </configuration>
+ </plugin>
<!--Run specified tests/test suite-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.java
index b120266..3e7b099 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/AbstractSemanticValidator.java
@@ -364,7 +364,7 @@
protected boolean isIdentificationVariableDeclaredAfter(String variableName,
int variableNameIndex,
int joinIndex,
- List<JPQLQueryDeclaration> declarations) {
+ List<? extends JPQLQueryDeclaration> declarations) {
for (int index = variableNameIndex, declarationCount = declarations.size(); index < declarationCount; index++) {
@@ -525,7 +525,7 @@
// The identification variable declarations are evaluated from left to right in
// the FROM clause, and an identification variable declaration can use the result
// of a preceding identification variable declaration of the query string
- List<JPQLQueryDeclaration> declarations = helper.getDeclarations();
+ List<? extends JPQLQueryDeclaration> declarations = helper.getDeclarations();
for (int index = 0, count = declarations.size(); index < count; index++) {
@@ -1682,7 +1682,7 @@
}
protected void validateJoinsIdentificationVariable(AbstractFromClause expression,
- List<JPQLQueryDeclaration> declarations,
+ List<? extends JPQLQueryDeclaration> declarations,
JPQLQueryDeclaration declaration,
int index) {
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/SemanticValidatorHelper.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/SemanticValidatorHelper.java
index e428afa..d7209cd 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/SemanticValidatorHelper.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/SemanticValidatorHelper.java
@@ -98,7 +98,7 @@
*
* @return The list of {@link JPQLQueryDeclaration} of the current query that was parsed
*/
- List<JPQLQueryDeclaration> getDeclarations();
+ List<? extends JPQLQueryDeclaration> getDeclarations();
/**
* Retrieves the embeddable with the given type.
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractConditionalExpressionStateObjectBuilder.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractConditionalExpressionStateObjectBuilder.java
index 5193a3b..cd49110 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractConditionalExpressionStateObjectBuilder.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractConditionalExpressionStateObjectBuilder.java
@@ -275,9 +275,16 @@
}
@Override
- public T in(T... inItems) {
- checkBuilders(inItems);
- in(false, inItems);
+ public T in(T builder) {
+ checkBuilders(builder);
+ in(false, builder);
+ return (T) this;
+ }
+
+ @Override
+ public T in(T builder1, T builder2) {
+ checkBuilders(builder1, builder2);
+ in(false, builder1, builder2);
return (T) this;
}
@@ -476,9 +483,16 @@
}
@Override
- public T notIn(T... inItems) {
- checkBuilders(inItems);
- in(true, inItems);
+ public T notIn(T builder) {
+ checkBuilders(builder);
+ in(true, builder);
+ return (T) this;
+ }
+
+ @Override
+ public T notIn(T builder1, T builder2) {
+ checkBuilders(builder1, builder2);
+ in(true, builder1, builder2);
return (T) this;
}
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractConditionalStateObjectBuilderWrapper.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractConditionalStateObjectBuilderWrapper.java
index 964730b..ca5a630 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractConditionalStateObjectBuilderWrapper.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractConditionalStateObjectBuilderWrapper.java
@@ -209,8 +209,13 @@
}
@Override
- public IConditionalExpressionStateObjectBuilder in(IConditionalExpressionStateObjectBuilder... inItems) {
- return delegate.in(inItems);
+ public IConditionalExpressionStateObjectBuilder in(IConditionalExpressionStateObjectBuilder builder1, IConditionalExpressionStateObjectBuilder builder2) {
+ return delegate.in(builder1, builder2);
+ }
+
+ @Override
+ public IConditionalExpressionStateObjectBuilder in(IConditionalExpressionStateObjectBuilder builder) {
+ return delegate.in(builder);
}
@Override
@@ -379,8 +384,13 @@
}
@Override
- public IConditionalExpressionStateObjectBuilder notIn(IConditionalExpressionStateObjectBuilder... inItems) {
- return delegate.notIn(inItems);
+ public IConditionalExpressionStateObjectBuilder notIn(IConditionalExpressionStateObjectBuilder builder1, IConditionalExpressionStateObjectBuilder builder2) {
+ return delegate.notIn(builder1, builder2);
+ }
+
+ @Override
+ public IConditionalExpressionStateObjectBuilder notIn(IConditionalExpressionStateObjectBuilder builder) {
+ return delegate.notIn(builder);
}
@Override
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractScalarExpressionStateObjectBuilder.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractScalarExpressionStateObjectBuilder.java
index 88ac4fa..4692990 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractScalarExpressionStateObjectBuilder.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/AbstractScalarExpressionStateObjectBuilder.java
@@ -15,6 +15,7 @@
//
package org.eclipse.persistence.jpa.jpql.tools.model;
+import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -175,7 +176,12 @@
}
@Override
- public T coalesce(T builder1, T builder2, T... builders) {
+ public T coalesce(T builder1, T builder2) {
+ return coalesce(builder1, builder2, (T[]) Array.newInstance(builder1.getClass(), 0));
+ }
+
+ @Override
+ public T coalesce(T builder1, T builder2, T[] builders) {
checkBuilders(builder1, builder2);
checkBuilders(builders);
@@ -191,7 +197,12 @@
}
@Override
- public T concat(T builder1, T builder2, T... builders) {
+ public T concat(T builder1, T builder2) {
+ return concat(builder1, builder2, (T[]) Array.newInstance(builder1.getClass(), 0));
+ }
+
+ @Override
+ public T concat(T builder1, T builder2, T[] builders) {
checkBuilders(builder1, builder2);
checkBuilders(builders);
@@ -292,15 +303,28 @@
}
@Override
- public T function(String identifier, String functionName, T... arguments) {
+ public T function(String identifier, String functionName) {
+ StateObject stateObject = new FunctionExpressionStateObject(
+ getParent(),
+ identifier,
+ functionName,
+ stateObjects(0)
+ );
+
+ add(stateObject);
+ return (T) this;
+ }
+
+ @Override
+ public T function(String identifier, String functionName, T[] arguments) {
checkBuilders(arguments);
StateObject stateObject = new FunctionExpressionStateObject(
- getParent(),
- identifier,
- functionName,
- stateObjects(arguments)
+ getParent(),
+ identifier,
+ functionName,
+ stateObjects(arguments)
);
add(stateObject);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/IAbstractConditionalExpressionStateObjectBuilder.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/IAbstractConditionalExpressionStateObjectBuilder.java
index 7724db3..82310e0 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/IAbstractConditionalExpressionStateObjectBuilder.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/IAbstractConditionalExpressionStateObjectBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 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
@@ -83,7 +83,8 @@
T greaterThanOrEqual(T builder);
T in(SimpleSelectStatementStateObject subquery);
T in(String... inItems);
- T in(T... inItems);
+ T in(T builder);
+ T in(T builder1, T builder2);
T isEmpty(String path);
T isNotEmpty(String path);
T isNotNull(String path);
@@ -104,7 +105,8 @@
T notExists(SimpleSelectStatementStateObject subquery);
T notIn(SimpleSelectStatementStateObject subquery);
T notIn(String... inItems);
- T notIn(T... inItems);
+ T notIn(T builder);
+ T notIn(T builder1, T builder2);
T notLike(String patternValue);
T notLike(T builder);
T notLike(T builder, String escapeCharacter);
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/IScalarExpressionStateObjectBuilder.java b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/IScalarExpressionStateObjectBuilder.java
index 6fabf2b..df2af77 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/IScalarExpressionStateObjectBuilder.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/main/java/org/eclipse/persistence/jpa/jpql/tools/model/IScalarExpressionStateObjectBuilder.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2021 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
@@ -29,7 +29,7 @@
* Creates the expression <code><b>ABS(x)</b></code>.
*
* @param builder The parameter of the <code><b>ABS</b></code> expression
- * @return This This builder
+ * @return This builder
*/
T abs(T builder);
@@ -45,7 +45,7 @@
* Creates the expression <code><b>AVG(path)</b></code>.
*
* @param path The state field path expression
- * @return This This builder
+ * @return This builder
*/
T avg(String path);
@@ -53,7 +53,7 @@
* Creates the expression <code><b>AVG(DISTINCT path)</b></code>.
*
* @param path The state field path expression
- * @return This This builder
+ * @return This builder
*/
T avgDistinct(String path);
@@ -62,7 +62,7 @@
*
* @param builder The {@link ICaseExpressionStateObjectBuilder builder} of a <code><b>CASE</b></code>
* expression
- * @return This This builder
+ * @return This builder
*/
T case_(ICaseExpressionStateObjectBuilder builder);
@@ -71,12 +71,32 @@
*
* @param builder1 The first scalar expression
* @param builder2 The second scalar expression
+ * @return This builder
+ */
+ T coalesce(T builder1,
+ T builder2);
+
+ /**
+ * Create the expression <code><b>COALESCE(scalar_expression {, scalar_expression}+)</b></code>.
+ *
+ * @param builder1 The first scalar expression
+ * @param builder2 The second scalar expression
* @param builders The subsequent scalar expressions
- * @return This This builder
+ * @return This builder
*/
T coalesce(T builder1,
T builder2,
- T... builders);
+ T[] builders);
+
+ /**
+ * Creates the expression <code><b>CONCAT(string_primary, string_primary {, string_primary}*)</b></code>.
+ *
+ * @param builder1 The first argument of the expression
+ * @param builder2 The second argument of the expression
+ * @return This builder
+ */
+ T concat(T builder1,
+ T builder2);
/**
* Creates the expression <code><b>CONCAT(string_primary, string_primary {, string_primary}*)</b></code>.
@@ -84,11 +104,11 @@
* @param builder1 The first argument of the expression
* @param builder2 The second argument of the expression
* @param builders The subsequence arguments of the expression, which are optional
- * @return This This builder
+ * @return This builder
*/
T concat(T builder1,
T builder2,
- T... builders);
+ T[] builders);
/**
* Creates the expression <code><b>COUNT(identification_variable |
@@ -96,7 +116,7 @@
* single_valued_object_path_expression)</b></code>.
*
* @param path The state field path expression
- * @return This This builder
+ * @return This builder
*/
T count(String path);
@@ -106,35 +126,35 @@
* single_valued_object_path_expression)</b></code>.
*
* @param path The state field path expression
- * @return This This builder
+ * @return This builder
*/
T countDistinct(String path);
/**
* Creates the expression representing <code><b>CURRENT_DATE</b></code>.
*
- * @return This This builder
+ * @return This builder
*/
T currentDate();
/**
* Creates the expression representing <code><b>CURRENT_TIME</b></code>.
*
- * @return This This builder
+ * @return This builder
*/
T currentTime();
/**
* Creates the expression representing <code><b>CURRENT_TIMESTAMP</b></code>.
*
- * @return This This builder
+ * @return This builder
*/
T currentTimestamp();
/**
* Creates a new date using the JDBC syntax of a date.
*
- * @return This This builder
+ * @return This builder
*/
T date(String jdbcDate);
@@ -142,7 +162,7 @@
* Creates the expression <code><b>x / y</b></code>.
*
* @param builder The right side of the division expression
- * @return This This builder
+ * @return This builder
*/
T divide(T builder);
@@ -150,7 +170,7 @@
* Creates a new entity type literal.
*
* @param entityTypeName The short name of the entity
- * @return This This builder
+ * @return This builder
*/
T entityType(String entityTypeName);
@@ -158,7 +178,7 @@
* Creates a new enum literal.
*
* @param enumConstant The enum constant
- * @return This This builder
+ * @return This builder
*/
T enumLiteral(Enum<? extends Enum<?>> enumConstant);
@@ -177,10 +197,19 @@
*
* @param identifier The JPQL identifier that is used to identify the SQL expression
* @param functionName The name of the native SQL function
+ * @return This builder
+ */
+ T function(String identifier, String functionName);
+
+ /**
+ * Creates the expression <code><b><identifier>('functionName' {, expression}*)</b></code>.
+ *
+ * @param identifier The JPQL identifier that is used to identify the SQL expression
+ * @param functionName The name of the native SQL function
* @param arguments The arguments of the expression
* @return This builder
*/
- T function(String identifier, String functionName, T... arguments);
+ T function(String identifier, String functionName, T[] arguments);
/**
* Returns the builder that can create a <code><b>CASE</b></code> expression, which requires a
@@ -194,7 +223,7 @@
* Creates the expression <code><b>INDEX(identification_variable)</b></code>.
*
* @param variable The identification variable
- * @return This This builder
+ * @return This builder
*/
T index(String variable);
@@ -202,7 +231,7 @@
* Creates the expression <code><b>LENGTH(expression)</b></code>.
*
* @param builder The encapsulated expression
- * @return This This builder
+ * @return This builder
*/
T length(T builder);
@@ -211,7 +240,7 @@
*
* @param parameter1 The first string primary
* @param parameter2 The second string primary
- * @return This This builder
+ * @return This builder
*/
T locate(T parameter1, T parameter2);
@@ -221,7 +250,7 @@
* @param parameter1 The first string primary
* @param parameter2 The second string primary
* @param parameter3 The position of the search within the string
- * @return This This builder
+ * @return This builder
*/
T locate(T parameter1, T parameter2, T parameter3);
@@ -229,7 +258,7 @@
* Creates the expression <code><b>MAX(path)</b></code>.
*
* @param path The state field path expression
- * @return This This builder
+ * @return This builder
*/
T max(String path);
@@ -237,7 +266,7 @@
* Creates the expression <code><b>MAX(DISTINCT path)</b></code>.
*
* @param path The state field path expression
- * @return This This builder
+ * @return This builder
*/
T maxDistinct(String path);
@@ -245,7 +274,7 @@
* Creates the expression <code><b>AVG(path)</b></code>.
*
* @param path The state field path expression
- * @return This This builder
+ * @return This builder
*/
T min(String path);
@@ -253,7 +282,7 @@
* Creates the expression <code><b>AVG(DISTINCT path)</b></code>.
*
* @param path The state field path expression
- * @return This This builder
+ * @return This builder
*/
T minDistinct(String path);
@@ -261,7 +290,7 @@
* Creates the expression <code><b>- x</b></code>.
*
* @param builder The expression that will have the plus sign prepended
- * @return This This builder
+ * @return This builder
*/
T minus(T builder);
@@ -270,7 +299,7 @@
*
* @param parameter1 The first parameter
* @param parameter2 The second parameter
- * @return This This builder
+ * @return This builder
*/
T mod(T parameter1, T parameter2);
@@ -278,7 +307,7 @@
* Creates the expression <code><b>x * y</b></code>.
*
* @param builder The right side of the multiply expression
- * @return This This builder
+ * @return This builder
*/
T multiply(T builder);
@@ -287,7 +316,7 @@
*
* @param builder1 The first scalar expression
* @param builder2 The second scalar expression
- * @return This This builder
+ * @return This builder
*/
T nullIf(T builder1, T builder2);
@@ -295,7 +324,7 @@
* Creates the numeric literal.
*
* @param number The numeric literal
- * @return This This builder
+ * @return This builder
*/
T numeric(Number number);
@@ -303,7 +332,7 @@
* Creates the numeric literal.
*
* @param number The numeric literal
- * @return This This builder
+ * @return This builder
*/
T numeric(String number);
@@ -311,7 +340,7 @@
* Creates the input parameter.
*
* @param parameter The named or positional input parameter
- * @return This This builder
+ * @return This builder
*/
T parameter(String parameter);
@@ -319,7 +348,7 @@
* Creates a new state field path expression.
*
* @param path The state field path path expression
- * @return This This builder
+ * @return This builder
*/
T path(String path);
@@ -327,7 +356,7 @@
* Creates the expression <code><b>+ x</b></code>.
*
* @param builder The expression that will have the plus sign prepended
- * @return This This builder
+ * @return This builder
*/
T plus(T builder);
@@ -335,7 +364,7 @@
* Creates the expression <code><b>SIZE(collection_valued_path_expression)</b></code>.
*
* @param path The collection-valued path expression
- * @return This This builder
+ * @return This builder
*/
T size(String path);
@@ -343,7 +372,7 @@
* Creates the expression <code><b>SQRT(x)</b></code>.
*
* @param builder The parameter of the <code><b>ABS</b></code> expression
- * @return This This builder
+ * @return This builder
*/
T sqrt(T builder);
@@ -351,7 +380,7 @@
* Creates a new string literal.
*
* @param literal The string literal
- * @return This This builder
+ * @return This builder
*/
T string(String literal);
@@ -359,7 +388,7 @@
* Creates an encapsulated expression: <code><b>(expression)</b></code>.
*
* @param builder The expression that will be encapsulated
- * @return This This builder
+ * @return This builder
*/
T sub(T builder);
@@ -367,7 +396,7 @@
* Creates the expression <code><b>x - y</b></code>.
*
* @param builder The right side of the addition expression
- * @return This This builder
+ * @return This builder
*/
T subtract(T builder);
@@ -375,7 +404,7 @@
* Creates the expression <code><b>SUM(path)</b></code>.
*
* @param path The state field path expression
- * @return This This builder
+ * @return This builder
*/
T sum(String path);
@@ -383,7 +412,7 @@
* Creates the expression <code><b>SUM(path)</b></code>.
*
* @param path The state field path expression
- * @return This This builder
+ * @return This builder
*/
T sumDistinct(String path);
@@ -391,7 +420,7 @@
* Creates the expression <code><b>TYPE(identification_variable | single_valued_object_path_expression | input_parameter)</b></code>.
*
* @param path The identification variable or the input parameter
- * @return This This builder
+ * @return This builder
*/
T type(String path);
}
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/AbstractProduct.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/AbstractProduct.java
index e5b9f9f..58d9750 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/AbstractProduct.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/AbstractProduct.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2021 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
@@ -19,6 +19,8 @@
@MappedSuperclass
public abstract class AbstractProduct implements Serializable {
+ private static final long serialVersionUID = 8515521957420450947L;
+
@Basic
private String partNumber;
}
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Address.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Address.java
index 20e1519..c6d0aa4 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Address.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Address.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2021 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
@@ -50,6 +50,8 @@
@SuppressWarnings("unused")
public class Address implements Serializable {
+ private static final long serialVersionUID = 1959639267574140129L;
+
private String city;
@Id
@Column(nullable = false)
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Customer.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Customer.java
index 53eafc8..f6bfccf 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Customer.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Customer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2021 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
@@ -37,6 +37,9 @@
@NamedQuery(name="customer.new", query="SELECT new com.titan.domain.Name(c.firstName, c.lastName) FROM Customer c")
})
public class Customer implements Serializable {
+
+ private static final long serialVersionUID = 6523341191151363983L;
+
@Column(name="FIRST_NAME")
private String firstName;
@Column(name="HAS_GOOD_CREDIT")
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Dept.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Dept.java
index 71c907e..f3319ed 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Dept.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Dept.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2021 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
@@ -32,6 +32,9 @@
})
@SuppressWarnings("unused")
public class Dept implements Serializable {
+
+ private static final long serialVersionUID = 4238076584091468481L;
+
@Id
@Column(nullable = false)
private Long deptno;
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Employee.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Employee.java
index ab8323f..07a2a6d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Employee.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Employee.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2021 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
@@ -103,6 +103,8 @@
@SuppressWarnings("unused")
public class Employee implements Serializable {
+ private static final long serialVersionUID = 202974405054090345L;
+
@ManyToOne(cascade = { CascadeType.PERSIST, CascadeType.MERGE }, fetch = FetchType.LAZY)
@JoinColumn(name = "ADDR_ID")
private Address address;
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Home.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Home.java
index c8e74b7..839c1a8 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Home.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Home.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2021 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
@@ -18,9 +18,11 @@
import jakarta.persistence.Id;
@Entity
-@SuppressWarnings("unused")
+@SuppressWarnings({"unused"})
public class Home implements Serializable {
+ private static final long serialVersionUID = 3615334616788538375L;
+
private List<Phone> phones;
@Id
private String city;
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Phone.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Phone.java
index 60993b0..fb993b2 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Phone.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Phone.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2021 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
@@ -29,6 +29,8 @@
@SuppressWarnings("unused")
public class Phone implements Serializable {
+ private static final long serialVersionUID = -1706572488815142542L;
+
private String area;
@ManyToOne
@JoinColumn(name = "CUSTOMER_ID")
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Product.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Product.java
index 0bda1ce..ddd0728 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Product.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/jpql/query/Product.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2018, 2021 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
@@ -37,6 +37,8 @@
@SuppressWarnings("unused")
public class Product extends AbstractProduct {
+ private static final long serialVersionUID = -4279004200805515912L;
+
@Id
private int id;
@OneToOne
diff --git a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/ContentAssistTest.java b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/ContentAssistTest.java
index 279ebfd..8d9377d 100644
--- a/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/ContentAssistTest.java
+++ b/jpa/org.eclipse.persistence.jpa.jpql/src/test/java/org/eclipse/persistence/jpa/tests/jpql/tools/ContentAssistTest.java
@@ -173,7 +173,9 @@
List<String> proposalsNotRemoved = new ArrayList<>();
CollectionTools.addAll(proposalsNotRemoved, expectedProposals);
- return (List<String>[]) new List[] { proposalsNotRemoved, unexpectedProposals };
+ @SuppressWarnings({"rawtypes"})
+ List<String>[] list = (List<String>[]) new List[] { proposalsNotRemoved, unexpectedProposals };
+ return list;
}
protected List<String> classNames() {
diff --git a/moxy/org.eclipse.persistence.moxy/src/main/java/org/eclipse/persistence/jaxb/JAXBContext.java b/moxy/org.eclipse.persistence.moxy/src/main/java/org/eclipse/persistence/jaxb/JAXBContext.java
index 89eaca7..2e88dc0 100644
--- a/moxy/org.eclipse.persistence.moxy/src/main/java/org/eclipse/persistence/jaxb/JAXBContext.java
+++ b/moxy/org.eclipse.persistence.moxy/src/main/java/org/eclipse/persistence/jaxb/JAXBContext.java
@@ -1517,7 +1517,7 @@
//Add schema types generated for mapped domain classes
for (Object o : xmlContext.getSession().getProject().getOrderedDescriptors()) {
Descriptor next = (Descriptor) o;
- Class javaClass = next.getJavaClass();
+ Class<?> javaClass = next.getJavaClass();
if (next.getSchemaReference() != null) {
QName schemaType = next.getSchemaReference().getSchemaContextAsQName(next.getNamespaceResolver());