M5

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

M5

Andrus Adamchik
In the two short months since M4 we already have a number of shiny new things in Cayenne:

* New ObjectSelect API (selecting individual columns, functions, GROUP BY/HAVING), which is easily one of the major features of 4.0 as a whole.
* JCache integration.
* Auto-loading DI modules.

Plus as many of the breaking changes as possible got pushed, such as Maven plugin renaming. Would be nice to get some feedback from early adopters on those until the Beta API freeze. So I suggest we start the M5 vote shortly. Nikita still wanted to clean up a few things in the new code. Once he's ready, hopefully in about a week, we can do the assembly and start the vote.

And of course it would be great if we could maintain a similar pace going forward, which will depend both on development progress and PMC members availability to review the releases. Will see...

Andrus

Reply | Threaded
Open this post in threaded view
|

Re: M5

Hugi Thordarson
A little feedback on the ColumnSelect API:

What little I’ve used it, I’m loving it so far. But there’s one thing that bothers me quite a bit: If I specify a relationship property as a “column” when fetching, the resulting values will be the primary keys of the related objects. Wouldn’t it be more principle of least astonishment-y if these would instead be actual objects/faults?

In other words, I’d basically expect this:

ObjectSelect
        .query( Person.class )
        .columns( Person.NAME, Person.DIVISION )
        .select( someContext );

…to return the same result as this EJBQL:

new EJBQLQuery( "select p.name, p.division from Person p" );


Once I’ve used ColumnSelect a little more, I’ll probably have more feedback, I’m a naggy guy :).

Cheers,
- hugi



> On 14. feb. 2017, at 14:17, Andrus Adamchik <[hidden email]> wrote:
>
> In the two short months since M4 we already have a number of shiny new things in Cayenne:
>
> * New ObjectSelect API (selecting individual columns, functions, GROUP BY/HAVING), which is easily one of the major features of 4.0 as a whole.
> * JCache integration.
> * Auto-loading DI modules.
>
> Plus as many of the breaking changes as possible got pushed, such as Maven plugin renaming. Would be nice to get some feedback from early adopters on those until the Beta API freeze. So I suggest we start the M5 vote shortly. Nikita still wanted to clean up a few things in the new code. Once he's ready, hopefully in about a week, we can do the assembly and start the vote.
>
> And of course it would be great if we could maintain a similar pace going forward, which will depend both on development progress and PMC members availability to review the releases. Will see...
>
> Andrus
>

Reply | Threaded
Open this post in threaded view
|

Re: M5

Aristedes Maniatis-2
In reply to this post by Andrus Adamchik
On 15/2/17 1:17am, Andrus Adamchik wrote:
> In the two short months since M4 we already have a number of shiny new things in Cayenne:
>
> * New ObjectSelect API (selecting individual columns, functions, GROUP BY/HAVING), which is easily one of the major features of 4.0 as a whole.
> * JCache integration.
> * Auto-loading DI modules.
>
> Plus as many of the breaking changes as possible got pushed, such as Maven plugin renaming. Would be nice to get some feedback from early adopters on those until the Beta API freeze. So I suggest we start the M5 vote shortly. Nikita still wanted to clean up a few things in the new code. Once he's ready, hopefully in about a week, we can do the assembly and start the vote.
>
> And of course it would be great if we could maintain a similar pace going forward, which will depend both on development progress and PMC members availability to review the releases. Will see...


Perhaps we should perform a tidy up of Jira and start marking tasks as targeted for 4.0. One that we should look at is testing against Java 9 I believe. It doesn't have to use any Java 9 features, just not break since Java 9 is due out in July.

I tried turning that on in Jenkins a few months ago but it threw too many errors. Maybe we can try again.


Ari




--
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A
Reply | Threaded
Open this post in threaded view
|

Re: M5

Andrus Adamchik
> One that we should look at is testing against Java 9 I believe. It doesn't have to use any Java 9 features, just not break since Java 9 is due out in July.
>
> I tried turning that on in Jenkins a few months ago but it threw too many errors. Maybe we can try again.

+1. Maybe something we start paying attention to once M5 is out of the door.

Andrus

> On Feb 15, 2017, at 4:47 AM, Aristedes Maniatis <[hidden email]> wrote:
>
> On 15/2/17 1:17am, Andrus Adamchik wrote:
>> In the two short months since M4 we already have a number of shiny new things in Cayenne:
>>
>> * New ObjectSelect API (selecting individual columns, functions, GROUP BY/HAVING), which is easily one of the major features of 4.0 as a whole.
>> * JCache integration.
>> * Auto-loading DI modules.
>>
>> Plus as many of the breaking changes as possible got pushed, such as Maven plugin renaming. Would be nice to get some feedback from early adopters on those until the Beta API freeze. So I suggest we start the M5 vote shortly. Nikita still wanted to clean up a few things in the new code. Once he's ready, hopefully in about a week, we can do the assembly and start the vote.
>>
>> And of course it would be great if we could maintain a similar pace going forward, which will depend both on development progress and PMC members availability to review the releases. Will see...
>
>
> Perhaps we should perform a tidy up of Jira and start marking tasks as targeted for 4.0. One that we should look at is testing against Java 9 I believe. It doesn't have to use any Java 9 features, just not break since Java 9 is due out in July.
>
> I tried turning that on in Jenkins a few months ago but it threw too many errors. Maybe we can try again.
>
>
> Ari
>
>
>
>
> --
> -------------------------->
> Aristedes Maniatis
> GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A

Reply | Threaded
Open this post in threaded view
|

Re: M5

Andrus Adamchik
In reply to this post by Hugi Thordarson

> On Feb 14, 2017, at 8:44 PM, Hugi Thordarson <[hidden email]> wrote:
>
> ObjectSelect
> .query( Person.class )
> .columns( Person.NAME, Person.DIVISION )
> .select( someContext );
>
> …to return the same result as this EJBQL:
>
> new EJBQLQuery( "select p.name, p.division from Person p" );

Yeah, a thing to consider as the next step. E.g. I'd like to be able to run queries analogous to this EJBQL:

select e, count(e.someToMany) from Entity e


> Once I’ve used ColumnSelect a little more, I’ll probably have more feedback, I’m a naggy guy :).

Oh, this kind of nagging is much appreciated. :)

Andrus

Reply | Threaded
Open this post in threaded view
|

Re: M5

Hugi Thordarson
>> ObjectSelect
>> .query( Person.class )
>> .columns( Person.NAME, Person.DIVISION )
>> .select( someContext );
>>
>> …to return the same result as this EJBQL:
>>
>> new EJBQLQuery( "select p.name, p.division from Person p" );
>
> Yeah, a thing to consider as the next step. E.g. I'd like to be able to run queries analogous to this EJBQL:
>
> select e, count(e.someToMany) from Entity e

That would be awesome :)

- hugi
Reply | Threaded
Open this post in threaded view
|

Java 9

Andrus Adamchik
In reply to this post by Aristedes Maniatis-2

> On Feb 15, 2017, at 4:47 AM, Aristedes Maniatis <[hidden email]> wrote:
>
>  One that we should look at is testing against Java 9 I believe. It doesn't have to use any Java 9 features, just not break since Java 9 is due out in July.

There are a few macOS specific things that may affect the Modeler:

http://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-97C1D0BB-D5D3-4CAD-B17D-03A87A0AAF3B

Otherwise I don't see any warning signs. But of course we need to test it for real once M5 is out.

Andrus
Reply | Threaded
Open this post in threaded view
|

Re: Java 9

Nikita Timofeev
Hi, all

FYI here is some test results with JDK9 (after some minor fixes in
Cayenne like dependencies update):

https://issues.apache.org/jira/browse/CAY-2253

On Mon, Feb 20, 2017 at 11:57 AM, Andrus Adamchik
<[hidden email]> wrote:

>
>> On Feb 15, 2017, at 4:47 AM, Aristedes Maniatis <[hidden email]> wrote:
>>
>>  One that we should look at is testing against Java 9 I believe. It doesn't have to use any Java 9 features, just not break since Java 9 is due out in July.
>
> There are a few macOS specific things that may affect the Modeler:
>
> http://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-97C1D0BB-D5D3-4CAD-B17D-03A87A0AAF3B
>
> Otherwise I don't see any warning signs. But of course we need to test it for real once M5 is out.
>
> Andrus



--
Best regards,
Nikita Timofeev
Reply | Threaded
Open this post in threaded view
|

Re: Java 9

Andrus Adamchik
Now that there is a GA of Java 9, I figured I'll try it out with our upcoming releases. The initial results are not bad:

* Generic Modeler starts on MacOS and seems to be fully operational.
* MacOS Modeler does not start.
* 4.0 core compiles. The build fails later on "cayenne-project" module due to import conflict [1] (cause Module is now a class in java.lang, we need to an explicit import for org.apache.cayenne.di.Module). Should be an easy fix.

Not bad...

Andrus


[1]
[INFO] cayenne-parent: Top-level parent of Cayenne modules  SUCCESS [  0.589 s]
[INFO] build-tools-parent: Cayenne Build Tools Parent ..... SUCCESS [  0.014 s]
[INFO] cayenne-legal: Cayenne License and Notice Bundle ... SUCCESS [  0.925 s]
[INFO] cayenne-test-utilities: Common Unit Test Utilities . SUCCESS [  1.312 s]
[INFO] cayenne-checkers: Cayenne Code Checkers ............ SUCCESS [  0.148 s]
[INFO] cayenne-di: Cayenne Dependency Injection Container . SUCCESS [  6.759 s]
[INFO] cayenne-server: Cayenne Server ..................... SUCCESS [01:26 min]
[INFO] cayenne-project: Cayenne Project ................... FAILURE [  2.892 s]
[INFO] cayenne-dbsync: Database Synchronization Tools ..... SKIPPED
[..]
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:testCompile (default-testCompile) on project cayenne-project: Compilation failure: Compilation failure:
[ERROR] /Users/andrus/Desktop/Cayenne 4.0.B2/cayenne-4.0.B2-src/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v8/ProjectUpgrader_V8Test.java:[103,8] error: reference to Module is ambiguous
[ERROR] both interface org.apache.cayenne.di.Module in org.apache.cayenne.di and class java.lang.Module in java.lang match





> On Mar 7, 2017, at 3:24 PM, Nikita Timofeev <[hidden email]> wrote:
>
> Hi, all
>
> FYI here is some test results with JDK9 (after some minor fixes in
> Cayenne like dependencies update):
>
> https://issues.apache.org/jira/browse/CAY-2253
>
> On Mon, Feb 20, 2017 at 11:57 AM, Andrus Adamchik
> <[hidden email]> wrote:
>>
>>> On Feb 15, 2017, at 4:47 AM, Aristedes Maniatis <[hidden email]> wrote:
>>>
>>> One that we should look at is testing against Java 9 I believe. It doesn't have to use any Java 9 features, just not break since Java 9 is due out in July.
>>
>> There are a few macOS specific things that may affect the Modeler:
>>
>> http://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-97C1D0BB-D5D3-4CAD-B17D-03A87A0AAF3B
>>
>> Otherwise I don't see any warning signs. But of course we need to test it for real once M5 is out.
>>
>> Andrus
>
>
>
> --
> Best regards,
> Nikita Timofeev

Reply | Threaded
Open this post in threaded view
|

Re: Java 9

Nikita Timofeev
After minor tweaks master now builds on Java 9 [1], MacOS Modeler is
fully functional too.
Need to check Win version and fix 4.0 branch.

[1] https://travis-ci.org/apache/cayenne/builds/282248738

On Sat, Sep 23, 2017 at 3:01 PM, Andrus Adamchik <[hidden email]> wrote:

> Now that there is a GA of Java 9, I figured I'll try it out with our upcoming releases. The initial results are not bad:
>
> * Generic Modeler starts on MacOS and seems to be fully operational.
> * MacOS Modeler does not start.
> * 4.0 core compiles. The build fails later on "cayenne-project" module due to import conflict [1] (cause Module is now a class in java.lang, we need to an explicit import for org.apache.cayenne.di.Module). Should be an easy fix.
>
> Not bad...
>
> Andrus
>
>
> [1]
> [INFO] cayenne-parent: Top-level parent of Cayenne modules  SUCCESS [  0.589 s]
> [INFO] build-tools-parent: Cayenne Build Tools Parent ..... SUCCESS [  0.014 s]
> [INFO] cayenne-legal: Cayenne License and Notice Bundle ... SUCCESS [  0.925 s]
> [INFO] cayenne-test-utilities: Common Unit Test Utilities . SUCCESS [  1.312 s]
> [INFO] cayenne-checkers: Cayenne Code Checkers ............ SUCCESS [  0.148 s]
> [INFO] cayenne-di: Cayenne Dependency Injection Container . SUCCESS [  6.759 s]
> [INFO] cayenne-server: Cayenne Server ..................... SUCCESS [01:26 min]
> [INFO] cayenne-project: Cayenne Project ................... FAILURE [  2.892 s]
> [INFO] cayenne-dbsync: Database Synchronization Tools ..... SKIPPED
> [..]
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:testCompile (default-testCompile) on project cayenne-project: Compilation failure: Compilation failure:
> [ERROR] /Users/andrus/Desktop/Cayenne 4.0.B2/cayenne-4.0.B2-src/cayenne-project/src/test/java/org/apache/cayenne/project/upgrade/v8/ProjectUpgrader_V8Test.java:[103,8] error: reference to Module is ambiguous
> [ERROR] both interface org.apache.cayenne.di.Module in org.apache.cayenne.di and class java.lang.Module in java.lang match
>
>
>
>
>
>> On Mar 7, 2017, at 3:24 PM, Nikita Timofeev <[hidden email]> wrote:
>>
>> Hi, all
>>
>> FYI here is some test results with JDK9 (after some minor fixes in
>> Cayenne like dependencies update):
>>
>> https://issues.apache.org/jira/browse/CAY-2253
>>
>> On Mon, Feb 20, 2017 at 11:57 AM, Andrus Adamchik
>> <[hidden email]> wrote:
>>>
>>>> On Feb 15, 2017, at 4:47 AM, Aristedes Maniatis <[hidden email]> wrote:
>>>>
>>>> One that we should look at is testing against Java 9 I believe. It doesn't have to use any Java 9 features, just not break since Java 9 is due out in July.
>>>
>>> There are a few macOS specific things that may affect the Modeler:
>>>
>>> http://docs.oracle.com/javase/9/migrate/toc.htm#JSMIG-GUID-97C1D0BB-D5D3-4CAD-B17D-03A87A0AAF3B
>>>
>>> Otherwise I don't see any warning signs. But of course we need to test it for real once M5 is out.
>>>
>>> Andrus
>>
>>
>>
>> --
>> Best regards,
>> Nikita Timofeev
>



--
Best regards,
Nikita Timofeev