Attendees: Michael Bouschen, Tilmann Zäschke, Craig Russell

Next meeting: Tuesday September 10 1100 PDT 2000 CEST

Agenda:

1. JIRA JDO-842 "Q class specification of candidate() method" 
https://issues.apache.org/jira/browse/JDO-842

Proposed addition to specification Ch14 10 2 Metamodel:

The metamodel class has a public static method candidate that takes a String 
argument and returns a new instance that can be used to generate query elements 
representing fields and properties.

The metamodel class has a public static method variable that takes String and 
Expression arguments and returns a new instance that can be used to generate 
query elements that represent instances that can be navigated from candidate 
instances.

Examples should use the static methods candidate("this") and variable("emp").

Consider removing the candidate and variable methods from JDOQLTypedQuery 
because there is no user benefit. The javadoc calls out that the instances 
returned by these methods needs to be cast to the corresponding metadata class 
but this does not work with subclasses.

Proposed changes to API public interface JDOQLTypedQuery<T> extends 
Serializable, Closeable {
  /**
   * Method to return an expression for the candidate of the query. Cast the 
returned expression to
   * the candidate "Q" type to be able to call methods on it. This calls the 
method
   * "Q{type}.candidate(null)" The preference is to use the 
"Q{type}.candidate(String name)" method for real
   * type-safe handling.
   *
   * @return Expression for the candidate
   */
  PersistableExpression<T> candidate(String name);

  /**
   * Method to return a variable for this query. Cast the returned variable to 
the right type to be
   * able to call methods on it. Use the static metamodel method of the same 
name to avoid casting.
   *
   * @param name Name of the variable
   * @param type Type of the variable
   * @return Expression for the variable
   * @param <V> type for the variable
   */
  <V> Expression<V> variable(String name, Class<V> type);

Cast.java needs to disable parallel multithreaded execution. Otherwise, test 
hangs.

Also SampleQueries fails when replacing QEmployee.candidate() with 
QEmployee.candidate("this").

AI Michael: file a JIRA with DataNucleus to test the candidate("this").

AI Craig: create a new branch in specification to track spec changes

2. JIRA JDO-812 "Move to JDK 11 as the lowest supported version" 
https://issues.apache.org/jira/browse/JDO-812

3. sonarcloud issues

 * JIRA JDO-819 "Code quality analysis"
https://issues.apache.org/jira/browse/JDO-819
 * JIRA JDO-823 "Fix sonarcloud issues of type Code Smells"
https://issues.apache.org/jira/browse/JDO-823
 * Sonarcloud link: https://sonarcloud.io/summary/overall?id=db-jdo
 * Cognitive Complexity of methods should not be too high:
https://sonarcloud.io/project/issues?resolved=false&rules=java%3AS3776&severities=CRITICAL&types=CODE_SMELL&id=db-jdo
 
 * Raw types should not be used:
https://sonarcloud.io/project/issues?resolved=false&rules=java%3AS3740&severities=MAJOR&id=db-jdo
 

4. Other issues

Action Items from weeks past:
[Aug 27 2024] AI JDO-842: propose PR for specification (query chapter) and API 
(javadoc) and TCK (query tests). Use branches JDO-842 for this work. The 
specification has its own repository.
[Jan 02 2024] AI everyone: see if anyone can see a problem with the parallel 
execution of tests Cast.java and SupportedOptionalMethods.java
[Jul 13 2023] AI All Open a new JIRA for Android since having JNDI in the API 
disallows use with Android
[Jun 08 2023] AI All make a JIRA: JDO support for Java Records 
https://openjdk.org/jeps/395
[Dec 09 2021] AI Craig: Try to contact all current/former participants in JDO 
development and see if and how they want to be recognized on the JDO and DB web 
sites.https://db.apache.org/whoweare.html
[Oct 07 2021] AI Craig send a private message to all JSR-243 Expert Group 
members asking if they wish to continue.
[Mar 25 2021] AI Craig: investigate "merging" papajdo and apache.clr accounts
[Oct 17 2014] AI Matthew any updates for "Modify specification to address NoSQL 
datastores "https://issues.apache.org/jira/browse/JDO-651


Craig L Russell
c...@apache.org

Reply via email to