Minutes: JDO TCK Conference Call Tuesday July 11, 9 AM Pacific Daylight Time (PDT)

2017-07-11 Thread Craig Russell
Attendees: Michael Bouschen, Tilmann Zäschke, Craig Russell

Next meeting: July 20 at 9:30 AM PDT

Agenda:

1. JDO-764 "Allow JDO annotations to be used in meta-annotations" 
https://issues.apache.org/jira/browse/JDO-764

Patch is coming along.

Specification still needs to address the case of multiple annotation values 
specified in user-defined composite annotations. Proposal is that this is 
undefined. And jdo annotations are not REPEATABLE.

2. JDO-761 "Add TCK test running sample queries from the spec" 
https://issues.apache.org/jira/browse/JDO-761

Patch3 includes single-string versions of the queries, as in query01d. Looks 
good to check in.

3. JDO-760 "Spec update regarding whether Query.execute() returns List or 
Collection" https://issues.apache.org/jira/browse/JDO-760

Specification versions 10c, 11c, 12b, 13c, 14c, 15c, 16c, 17b, 18b, 19b. AI 
Tilmann update the specification.

4. Is anything still unresolved with JDO-749 "Support for java.time types, and 
querying using associated methods" https://issues.apache.org/jira/browse/JDO-749

5. Is anything still unresolved with JDO-745 "Support bitwise operations in 
JDOQL" https://issues.apache.org/jira/browse/JDO-745

6. JDO 3.1: Need to go through change lists in JIRA for 3.1 RC1 and 3.1 to 
prepare JCP Change Log

7. Other issues

Craig applied for JCP membership as an individual. JCP has not yet accepted the 
application. 

Action Items from weeks past:

[May 30 2017] AI Craig: Close the JIRA JDO-762
[Apr 12 2017] AI Craig: write a test case to see how the RI behaves JDO-762.
[Feb 24 2017] AI Michael: are there any TCK tests for the new methods JDO-749?
[Feb 24 2017] AI Michael: are there any TCK tests for the new methods? Any 
additional spec updates JDO-745?
[Oct 30 2015] AI Craig: File a maintenance review with JCP
[Apr 17 2015] AI Craig: Oracle spec page on JDO need to be updated once the JCP 
Maintenance Release for JDO 3.1 is published
[Oct 17 2014] AI Matthew any updates for "Modify specification to address NoSQL 
datastores": https://issues.apache.org/jira/browse/JDO-651?
[Feb 28 2014] AI Everyone: take a look at 
https://issues.apache.org/jira/browse/JDO-712
[Feb 28 2014] AI Everyone: take a look at 
https://issues.apache.org/jira/browse/JDO-625
[Dec 13 2013] AI Craig file a JIRA for java.sql.Blob and java.sql.Clob as 
persistent field types
[Aug 24 2012] AI Craig update the JIRAs JDO-689 JDO-690 and JDO-692 about 
JDOHelper methods. In process.


Craig L Russell
c...@apache.org



[jira] [Updated] (JDO-764) Allow JDO annotations to be used in meta-annotations

2017-07-11 Thread Craig L Russell (JIRA)

 [ 
https://issues.apache.org/jira/browse/JDO-764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Craig L Russell updated JDO-764:

Attachment: (was: JDO-764.patch)

> Allow JDO annotations to be used in meta-annotations
> 
>
> Key: JDO-764
> URL: https://issues.apache.org/jira/browse/JDO-764
> Project: JDO
>  Issue Type: Improvement
>  Components: api, specification
>Affects Versions: JDO 3.1
>Reporter: Andy Jefferson
> Fix For: JDO 3.2
>
> Attachments: jdo-764.patch
>
>
> By default annotations are used directly in a persistable class. Java 
> additionally allows annotations to be formed of other annotations. This is 
> particularly useful where a user has a particular combination of annotations 
> to set on a class/field/method and wants to simply annotate with an 
> abbreviated form. For example, specifying attributes of an annotation
> @PersistenceCapable(detachable="true", identityType="datastore", 
> embeddedOnly="true")
> or formed of multiple annotations
> @PersistenceCapable(detachable="true")
> @Extension(vendorName="datanucleus", key="multitenancy-column-name", 
> value="TENANT")
> These can be represented as meta-annotations like this
> @Target(TYPE)
> @Retention(RUNTIME)
> @PersistenceCapable(detachable="true", identityType="datastore", 
> embeddedOnly="true")
> public @interface DatastoreIdPersistable
> {
> }
> @Target(TYPE)
> @Retention(RUNTIME)
> @PersistenceCapable(detachable="true")
> @Extension(vendorName="datanucleus", key="multitenancy-column-name", 
> value="TENANT")
> public @interface MultitenantPersistable
> {
> }
> and the user can subsequently just annotate their persistable class as
> @DatastoreIdPersistable
> public class MyClass1 {...}
> @MultitenantPersistable
> public class MyClass2 {...}
> The work required to support this in the JDO spec is simply to update the 
> following annotations to add @Target({ElementType.ANNOTATION_TYPE})
> The annotations requiring this are
> @Element, @EmbeddedId, @Key, @NotPersistent, @Order, @Persistent, 
> @Serialized, @Transactional, and @Value  (all other annotations already have 
> @Target({ElementType.TYPE}) which already permits their usage in 
> meta-annotations.
> The same is proposed for JPA 2.2, see 
> https://github.com/javaee/jpa-spec/issues/43



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (JDO-764) Allow JDO annotations to be used in meta-annotations

2017-07-11 Thread Craig L Russell (JIRA)

[ 
https://issues.apache.org/jira/browse/JDO-764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16082302#comment-16082302
 ] 

Craig L Russell commented on JDO-764:
-

The table name could be parameterized thus:

String TABLE_NAME = "persons";
@DatastoreIdDiscriminatorClassNameInheritanceNew

where @DatastoreIdDiscriminatorClassNameInheritanceNew is defined thus:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@javax.jdo.annotations.PersistenceCapable(detachable="true", 
identityType=IdentityType.DATASTORE, table=TABLE_NAME)
@javax.jdo.annotations.Inheritance(strategy=InheritanceStrategy.NEW_TABLE)
@javax.jdo.annotations.Discriminator(strategy=DiscriminatorStrategy.CLASS_NAME, 
column="DISCRIMINATOR", indexed="true")
@javax.jdo.annotations.DatastoreIdentity(strategy=IdGeneratorStrategy.IDENTITY, 
column="DATASTORE_IDENTITY")

Without documentation, this might not be as good as having a separate 
annotation:
@PersistenceCapable(table="persons")


> Allow JDO annotations to be used in meta-annotations
> 
>
> Key: JDO-764
> URL: https://issues.apache.org/jira/browse/JDO-764
> Project: JDO
>  Issue Type: Improvement
>  Components: api, specification
>Affects Versions: JDO 3.1
>Reporter: Andy Jefferson
> Fix For: JDO 3.2
>
> Attachments: jdo-764.patch, jdo-764.patch, JDO-764.patch
>
>
> By default annotations are used directly in a persistable class. Java 
> additionally allows annotations to be formed of other annotations. This is 
> particularly useful where a user has a particular combination of annotations 
> to set on a class/field/method and wants to simply annotate with an 
> abbreviated form. For example, specifying attributes of an annotation
> @PersistenceCapable(detachable="true", identityType="datastore", 
> embeddedOnly="true")
> or formed of multiple annotations
> @PersistenceCapable(detachable="true")
> @Extension(vendorName="datanucleus", key="multitenancy-column-name", 
> value="TENANT")
> These can be represented as meta-annotations like this
> @Target(TYPE)
> @Retention(RUNTIME)
> @PersistenceCapable(detachable="true", identityType="datastore", 
> embeddedOnly="true")
> public @interface DatastoreIdPersistable
> {
> }
> @Target(TYPE)
> @Retention(RUNTIME)
> @PersistenceCapable(detachable="true")
> @Extension(vendorName="datanucleus", key="multitenancy-column-name", 
> value="TENANT")
> public @interface MultitenantPersistable
> {
> }
> and the user can subsequently just annotate their persistable class as
> @DatastoreIdPersistable
> public class MyClass1 {...}
> @MultitenantPersistable
> public class MyClass2 {...}
> The work required to support this in the JDO spec is simply to update the 
> following annotations to add @Target({ElementType.ANNOTATION_TYPE})
> The annotations requiring this are
> @Element, @EmbeddedId, @Key, @NotPersistent, @Order, @Persistent, 
> @Serialized, @Transactional, and @Value  (all other annotations already have 
> @Target({ElementType.TYPE}) which already permits their usage in 
> meta-annotations.
> The same is proposed for JPA 2.2, see 
> https://github.com/javaee/jpa-spec/issues/43



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (JDO-764) Allow JDO annotations to be used in meta-annotations

2017-07-11 Thread Craig L Russell (JIRA)

 [ 
https://issues.apache.org/jira/browse/JDO-764?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Craig L Russell updated JDO-764:

Attachment: jdo-764.patch

This patch applies the composite annotation 
@DatastoreIdDiscriminatorClassNameInheritanceNew to many of the classes in 
companyAnnotatedFC.



> Allow JDO annotations to be used in meta-annotations
> 
>
> Key: JDO-764
> URL: https://issues.apache.org/jira/browse/JDO-764
> Project: JDO
>  Issue Type: Improvement
>  Components: api, specification
>Affects Versions: JDO 3.1
>Reporter: Andy Jefferson
> Fix For: JDO 3.2
>
> Attachments: jdo-764.patch, jdo-764.patch, JDO-764.patch
>
>
> By default annotations are used directly in a persistable class. Java 
> additionally allows annotations to be formed of other annotations. This is 
> particularly useful where a user has a particular combination of annotations 
> to set on a class/field/method and wants to simply annotate with an 
> abbreviated form. For example, specifying attributes of an annotation
> @PersistenceCapable(detachable="true", identityType="datastore", 
> embeddedOnly="true")
> or formed of multiple annotations
> @PersistenceCapable(detachable="true")
> @Extension(vendorName="datanucleus", key="multitenancy-column-name", 
> value="TENANT")
> These can be represented as meta-annotations like this
> @Target(TYPE)
> @Retention(RUNTIME)
> @PersistenceCapable(detachable="true", identityType="datastore", 
> embeddedOnly="true")
> public @interface DatastoreIdPersistable
> {
> }
> @Target(TYPE)
> @Retention(RUNTIME)
> @PersistenceCapable(detachable="true")
> @Extension(vendorName="datanucleus", key="multitenancy-column-name", 
> value="TENANT")
> public @interface MultitenantPersistable
> {
> }
> and the user can subsequently just annotate their persistable class as
> @DatastoreIdPersistable
> public class MyClass1 {...}
> @MultitenantPersistable
> public class MyClass2 {...}
> The work required to support this in the JDO spec is simply to update the 
> following annotations to add @Target({ElementType.ANNOTATION_TYPE})
> The annotations requiring this are
> @Element, @EmbeddedId, @Key, @NotPersistent, @Order, @Persistent, 
> @Serialized, @Transactional, and @Value  (all other annotations already have 
> @Target({ElementType.TYPE}) which already permits their usage in 
> meta-annotations.
> The same is proposed for JPA 2.2, see 
> https://github.com/javaee/jpa-spec/issues/43



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


JDO TCK Conference Call Tuesday July 11, 9 AM Pacific Daylight Time (PDT)

2017-07-11 Thread Michael Bouschen
Hi,

We will have our regular meeting Tuesday, July 11 at 9 AM Pacific Daylight Time 
(PDT) to discuss JDO TCK issues and status. 

We use the new dial-in for audio and video. You need a Skype account to join. 
https://join.skype.com/euV54RJwJBcf 

Agenda:

1. JDO-764 "Allow JDO annotations to be used in meta-annotations" 
https://issues.apache.org/jira/browse/JDO-764

2. JDO-761 "Add TCK test running sample queries from the spec" 
https://issues.apache.org/jira/browse/JDO-761

3. JDO-760 "Spec update regarding whether Query.execute() returns List or 
Collection" https://issues.apache.org/jira/browse/JDO-760

4. Is anything still unresolved with JDO-749 "Support for java.time types, and 
querying using associated methods" https://issues.apache.org/jira/browse/JDO-749

5. Is anything still unresolved with JDO-745 "Support bitwise operations in 
JDOQL" https://issues.apache.org/jira/browse/JDO-745

6. JDO 3.1: Need to go through change lists in JIRA for 3.1 RC1 and 3.1 to 
prepare JCP Change Log

7. Other issues

Action Items from weeks past:

[May 30 2017] AI Craig: Close the JIRA JDO-762
[Apr 12 2017] AI Craig: write a test case to see how the RI behaves JDO-762.
[Feb 24 2017] AI Michael: are there any TCK tests for the new methods JDO-749?
[Feb 24 2017] AI Michael: are there any TCK tests for the new methods? Any 
additional spec updates JDO-745?
[Oct 30 2015] AI Craig: File a maintenance review with JCP
[Apr 17 2015] AI Craig: Oracle spec page on JDO need to be updated once the JCP 
Maintenance Release for JDO 3.1 is published
[Oct 17 2014] AI Matthew any updates for "Modify specification to address NoSQL 
datastores": https://issues.apache.org/jira/browse/JDO-651?
[Feb 28 2014] AI Everyone: take a look at 
https://issues.apache.org/jira/browse/JDO-712
[Feb 28 2014] AI Everyone: take a look at 
https://issues.apache.org/jira/browse/JDO-625
[Dec 13 2013] AI Craig file a JIRA for java.sql.Blob and java.sql.Clob as 
persistent field types
[Aug 24 2012] AI Craig update the JIRAs JDO-689 JDO-690 and JDO-692 about 
JDOHelper methods. In process.


-- 
Michael Bouschen
akquinet tech@spree GmbH
Bülowstraße 66 • D-10783 Berlin
Tel:   +49 30 235520-33
Fax:  +49 30 217520-12

E-Mail: michael.bousc...@akquinet.de 
Web:   www.akquinet.de 

Geschäftsführung: Martin Weber, Dr. Torsten Fink
Amtsgericht Berlin HRB 86780 • USt.-Id. Nr.: DE 225 964 680

[Facebook]   [XING]
  [G+]
 
[LinkedIn]   [Twitter]