Branches

2018-01-08 Thread Dan Haywood
Hi folks,

Following yesterday's release of 1.16.0, just to say that the dev/2.0.0-M1
branch is now merged onto master, and so I've deleted that dev/2.0.0-M1
branch.

Also, I've rebased dev/2.0.0-M2 on top of the new master, and pushed (git
rebase master --preserve-merges).

In master, the pom.xml version is set to 2.0.0-M1-SNAPSHOT

In dev/2.0.0-M2 branch, the pom.xml version is set to 2.0.0-M2-SNAPSHOT.

Thx
Dan


[jira] [Commented] (ISIS-1767) JEE 7+ Support

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317896#comment-16317896
 ] 

ASF subversion and git services commented on ISIS-1767:
---

Commit fe41a1dc138066c12836f4bc811bf0a4c5c3cb1a in isis's branch 
refs/heads/dev/2.0.0-M2 from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=fe41a1d ]

Merge branch 'ISIS-1767-jee-7' into dev/2.0.0-M2


> JEE 7+ Support
> --
>
> Key: ISIS-1767
> URL: https://issues.apache.org/jira/browse/ISIS-1767
> Project: Isis
>  Issue Type: Improvement
>  Components: Core
>Reporter: Andi Huber
>Assignee: Andi Huber
> Fix For: 2.0.0-M2
>
>
> Collective tasks for Java EE 7+ support.
> Designated branch ...
> {code}dev/2.0.0/ISIS-1767-jee-7{code}
> +Tests+
> * *Server*: JEE 7+ implementation (or similar), launched with JDK8 (Version 
> 1.8.0_152); for deployment we use the HelloWorld artifact 1.15.1 with minor 
> modifications
> * *fat-war*: deploy all dependencies with single war (hsqldb in memory)
> * *skinny-war*: prepare container with shared libraries and shared domain 
> objects, deploy only a subset of domain classes with single war (hsqldb in 
> memory)
> * *restEasy*: check whether restEasy responds
> * managed connection pool (*con.pool*): use mysql db connection pool managed 
> by the JEE container and provided via JNDI
> * domain events (*dom.events*): test whether domain events are emitted and 
> handled using AxonFramework's SimpleEventBus
> * *swagger-ui*: test whether the static index.html from swagger-ui is served 
> and verify that a request for '//restful/swagger/private' 
> returns a JSON, that has the 'basePath' set to '//restful'
> * *redeploy*: test whether all previous tests succeed if we do a 
> deploy-undeploy-deploy process
> ||Server  ||fat-war ||skinny-war  
>||restEasy   ||con.pool   ||dom.events 
>   ||swagger-ui||redeploy||
> |Payara (full 4.1.2.173)  |{color:green}*OK*{color} 
> |{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}(6)|
> |Payara (web 4.1.2.173)   |{color:green}*OK*{color} 
> |{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}(6)|
> |Glassfish (full 4.1.2)   |*OK*(1)  |*OK*(1)  
>|{color:green}*OK*{color}|todo
> |{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}(6)|
> |Glassfish (web 5.0.1 beta)|{color:green}*OK*{color}
> |{color:green}*OK*{color}|*OK*(5)|todo   
> |{color:green}*OK*{color}|{color:green}*OK*{color}|todo|
> |Glassfish (full 5.0) |{color:red}*FAILED*(2){color}|todo 
>|todo|todo|todo
> |todo|todo|
> |Wildfly (full 11.0.0)|{color:red}*FAILED*(3){color}|todo 
>|todo|todo|todo
> |todo|todo|
> |TomEE (plume 7.0.4)  |*OK*(4)  |todo 
>|{color:green}*OK*{color}|todo|todo
> |todo|todo|
> Notes:
> (1) 
> Guava version conflict: GF 4.2.1 has Guava-13, Isis has Guava-19; 
> WORKAROUND modify your glassfish installation ...
> * in glassfish/modules/ replace guava.jar with that which comes packaged with 
> Payara-4.1.2.173 (Guava-19)
> * you need to clear the OSGI cache: delete the folder 
> glassfish/domains/domainXXX/osgi-cache/felix
> (2)
> ON-HOLD waiting for GF 5.0.1 release!
> class-loading issues with Hibernate Validator, though library is included in 
> war ... java.lang.ClassNotFoundException: org.joda.time.ReadableInstant;
> using patch https://github.com/hibernate/hibernate-validator/pull/857/files 
> does not help: introduces new class-loading issues;
> (3)
> class-loading issues, though library is included in war ... 
> javax.persistence.PersistenceException: WFLYJPA0057: PersistenceProvider 
> 'org.apache.isis.core.webapp.jee.PersistenceUnitNoopProvider' not found;
> (4) 
> requires CXF to be disabled, see 
> https://stackoverflow.com/questions/41496204/tomee-7-0-2-how-to-disable-cxf-rs
>  
> throws exceptions on undeploy
> (5)
> JAX-RS API version clash
> requires 4.0.0.Beta1
> see https://issues.apache.org/jira/browse/ISIS-1779
> (6)   
> successfully tested against DN-5.1.5-SNAPSHOT (dedicated issue 
> https://issues.apache.org/jira/browse/ISIS-1754)



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


[jira] [Commented] (ISIS-1744) Update DataNucleus to the latest version (5.1.5 or later)

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317898#comment-16317898
 ] 

ASF subversion and git services commented on ISIS-1744:
---

Commit 66c4a7de037ade5f9c9881053137b7d59be6cfcd in isis's branch 
refs/heads/dev/2.0.0-M2 from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=66c4a7d ]

ISIS-1744: updates to DN 5.1.5


> Update DataNucleus to the latest version (5.1.5 or later)
> -
>
> Key: ISIS-1744
> URL: https://issues.apache.org/jira/browse/ISIS-1744
> Project: Isis
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 1.15.1
>Reporter: Sergey Sverdlov
>Assignee: Dan Haywood
> Fix For: 2.0.0-M2
>
>
> Please update dependencies to DataNucleus to the latest available versions:
> org.datanucleus:datanucleus-api-jdo ...4.1.1 -> 5.1.5
> org.datanucleus:datanucleus-core .. 4.1.7 -> 5.1.4
> org.datanucleus:datanucleus-jdo-query ...4.0.5 -> 5.0.2
> org.datanucleus:datanucleus-jodatime 4.1.0-release -> 
> 5.1.0-release
> org.datanucleus:datanucleus-rdbms 4.1.9 -> 5.1.5



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


[jira] [Commented] (ISIS-1756) JEE Support - IsisContext requires proper lifecycling.

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1756?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317894#comment-16317894
 ] 

ASF subversion and git services commented on ISIS-1756:
---

Commit b72a01c31644df7c4e251597617c0c4de3f89d58 in isis's branch 
refs/heads/dev/2.0.0-M2 from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=b72a01c ]

ISIS-1756 on shutdown purge any state associated with the current
web-app classloader

> JEE Support - IsisContext requires proper lifecycling.
> --
>
> Key: ISIS-1756
> URL: https://issues.apache.org/jira/browse/ISIS-1756
> Project: Isis
>  Issue Type: Improvement
>Affects Versions: 1.15.1
>Reporter: Dan Haywood
>Assignee: Andi Huber
> Fix For: 2.0.0-M2
>
>
> as per 
> https://lists.apache.org/thread.html/a815c6d3e50c02111d0cd3df93b70b529c18193f321e613b116119b4@%3Cdev.isis.apache.org%3E
> The isis-context needs a proper lifecycling, meaning a  deploy/undeploy cycle 
> should properly invalidate any state. (e.g meta model validation is currently 
> not cleared after an undeploy, in my case after calling 
> IsisContext.testReset())



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


[jira] [Commented] (ISIS-1767) JEE 7+ Support

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1767?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317897#comment-16317897
 ] 

ASF subversion and git services commented on ISIS-1767:
---

Commit 44429ea34ee79eb322e3ca1304bb84abb4b1370f in isis's branch 
refs/heads/dev/2.0.0-M2 from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=44429ea ]

ISIS-1767: fixes dependency convergence issue with com.sun.mail


> JEE 7+ Support
> --
>
> Key: ISIS-1767
> URL: https://issues.apache.org/jira/browse/ISIS-1767
> Project: Isis
>  Issue Type: Improvement
>  Components: Core
>Reporter: Andi Huber
>Assignee: Andi Huber
> Fix For: 2.0.0-M2
>
>
> Collective tasks for Java EE 7+ support.
> Designated branch ...
> {code}dev/2.0.0/ISIS-1767-jee-7{code}
> +Tests+
> * *Server*: JEE 7+ implementation (or similar), launched with JDK8 (Version 
> 1.8.0_152); for deployment we use the HelloWorld artifact 1.15.1 with minor 
> modifications
> * *fat-war*: deploy all dependencies with single war (hsqldb in memory)
> * *skinny-war*: prepare container with shared libraries and shared domain 
> objects, deploy only a subset of domain classes with single war (hsqldb in 
> memory)
> * *restEasy*: check whether restEasy responds
> * managed connection pool (*con.pool*): use mysql db connection pool managed 
> by the JEE container and provided via JNDI
> * domain events (*dom.events*): test whether domain events are emitted and 
> handled using AxonFramework's SimpleEventBus
> * *swagger-ui*: test whether the static index.html from swagger-ui is served 
> and verify that a request for '//restful/swagger/private' 
> returns a JSON, that has the 'basePath' set to '//restful'
> * *redeploy*: test whether all previous tests succeed if we do a 
> deploy-undeploy-deploy process
> ||Server  ||fat-war ||skinny-war  
>||restEasy   ||con.pool   ||dom.events 
>   ||swagger-ui||redeploy||
> |Payara (full 4.1.2.173)  |{color:green}*OK*{color} 
> |{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}(6)|
> |Payara (web 4.1.2.173)   |{color:green}*OK*{color} 
> |{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}(6)|
> |Glassfish (full 4.1.2)   |*OK*(1)  |*OK*(1)  
>|{color:green}*OK*{color}|todo
> |{color:green}*OK*{color}|{color:green}*OK*{color}|{color:green}*OK*{color}(6)|
> |Glassfish (web 5.0.1 beta)|{color:green}*OK*{color}
> |{color:green}*OK*{color}|*OK*(5)|todo   
> |{color:green}*OK*{color}|{color:green}*OK*{color}|todo|
> |Glassfish (full 5.0) |{color:red}*FAILED*(2){color}|todo 
>|todo|todo|todo
> |todo|todo|
> |Wildfly (full 11.0.0)|{color:red}*FAILED*(3){color}|todo 
>|todo|todo|todo
> |todo|todo|
> |TomEE (plume 7.0.4)  |*OK*(4)  |todo 
>|{color:green}*OK*{color}|todo|todo
> |todo|todo|
> Notes:
> (1) 
> Guava version conflict: GF 4.2.1 has Guava-13, Isis has Guava-19; 
> WORKAROUND modify your glassfish installation ...
> * in glassfish/modules/ replace guava.jar with that which comes packaged with 
> Payara-4.1.2.173 (Guava-19)
> * you need to clear the OSGI cache: delete the folder 
> glassfish/domains/domainXXX/osgi-cache/felix
> (2)
> ON-HOLD waiting for GF 5.0.1 release!
> class-loading issues with Hibernate Validator, though library is included in 
> war ... java.lang.ClassNotFoundException: org.joda.time.ReadableInstant;
> using patch https://github.com/hibernate/hibernate-validator/pull/857/files 
> does not help: introduces new class-loading issues;
> (3)
> class-loading issues, though library is included in war ... 
> javax.persistence.PersistenceException: WFLYJPA0057: PersistenceProvider 
> 'org.apache.isis.core.webapp.jee.PersistenceUnitNoopProvider' not found;
> (4) 
> requires CXF to be disabled, see 
> https://stackoverflow.com/questions/41496204/tomee-7-0-2-how-to-disable-cxf-rs
>  
> throws exceptions on undeploy
> (5)
> JAX-RS API version clash
> requires 4.0.0.Beta1
> see https://issues.apache.org/jira/browse/ISIS-1779
> (6)   
> successfully tested against DN-5.1.5-SNAPSHOT (dedicated issue 
> https://issues.apache.org/jira/browse/ISIS-1754)



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


[jira] [Commented] (ISIS-1754) JEE Support - Investigate Class Loading on Payara 4.1.2

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317892#comment-16317892
 ] 

ASF subversion and git services commented on ISIS-1754:
---

Commit 2e28d44af689f33dca0694fcb563fb41af1ad591 in isis's branch 
refs/heads/dev/2.0.0-M2 from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=2e28d44 ]

ISIS-1754 proper DN class-loading

> JEE Support - Investigate Class Loading on Payara 4.1.2
> ---
>
> Key: ISIS-1754
> URL: https://issues.apache.org/jira/browse/ISIS-1754
> Project: Isis
>  Issue Type: Improvement
>Reporter: Dan Haywood
>Assignee: Andi Huber
> Fix For: 2.0.0-M2
>
>
> Investigating whether there are class-loading issues specifically on Payara 
> (full 4.1.2.173). 
> This requires a proper test case:
> * skinny-war scenario with shared libraries
> * test deployment
> * also test a deploy/undeploy/deploy cycle
> This issue will be closed, once this test-case is developed, automated and 
> tests are successful. 



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


[jira] [Commented] (ISIS-1811) Release tasks for 2.0.0-M2

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317901#comment-16317901
 ] 

ASF subversion and git services commented on ISIS-1811:
---

Commit 3a07319074edecd36b44bed204b7a12a238aa6ef in isis's branch 
refs/heads/dev/2.0.0-M2 from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=3a07319 ]

ISIS-1811: updates versions to 2.0.0-M2-SNAPSHOT


> Release tasks for 2.0.0-M2
> --
>
> Key: ISIS-1811
> URL: https://issues.apache.org/jira/browse/ISIS-1811
> Project: Isis
>  Issue Type: Task
>Reporter: Dan Haywood
>Assignee: Dan Haywood
> Fix For: 2.0.0-M2
>
>




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


[jira] [Commented] (ISIS-1755) JEE Support - dummy bean as workaround for CDI

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317893#comment-16317893
 ] 

ASF subversion and git services commented on ISIS-1755:
---

Commit 14f99d6d5fe121ca4c343b9011dbe2ddde237513 in isis's branch 
refs/heads/dev/2.0.0-M2 from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=14f99d6 ]

ISIS-1755 veto ExceptionRecognizer on CDI scan

> JEE Support - dummy bean as workaround for CDI
> --
>
> Key: ISIS-1755
> URL: https://issues.apache.org/jira/browse/ISIS-1755
> Project: Isis
>  Issue Type: Improvement
>Affects Versions: 1.15.1
>Reporter: Dan Haywood
>Assignee: Andi Huber
> Fix For: 2.0.0-M2
>
>
> as per 
> https://lists.apache.org/thread.html/a815c6d3e50c02111d0cd3df93b70b529c18193f321e613b116119b4@%3Cdev.isis.apache.org%3E
> During JEE-Application bootstrapping the JEE container identifies a 
> list of Isis classes it feels responsible for, but does not know how to 
> instantiate; so errors are thrown. For me it was sufficient to provide a 
> single stateless JEE bean that states, that it produces all these 
> classes. As long as you deploy your Isis application including this 
> dummy-bean, CDI does not complain.



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


[jira] [Commented] (ISIS-1756) JEE Support - IsisContext requires proper lifecycling.

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1756?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317895#comment-16317895
 ] 

ASF subversion and git services commented on ISIS-1756:
---

Commit 4b89ae76f1e52fb7cec066bb4bc8dcd4b9b4e732 in isis's branch 
refs/heads/dev/2.0.0-M2 from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=4b89ae7 ]

ISIS-1756 remove reflective access to DN's EnhancementHelper since we've
got a dedicated method instead

> JEE Support - IsisContext requires proper lifecycling.
> --
>
> Key: ISIS-1756
> URL: https://issues.apache.org/jira/browse/ISIS-1756
> Project: Isis
>  Issue Type: Improvement
>Affects Versions: 1.15.1
>Reporter: Dan Haywood
>Assignee: Andi Huber
> Fix For: 2.0.0-M2
>
>
> as per 
> https://lists.apache.org/thread.html/a815c6d3e50c02111d0cd3df93b70b529c18193f321e613b116119b4@%3Cdev.isis.apache.org%3E
> The isis-context needs a proper lifecycling, meaning a  deploy/undeploy cycle 
> should properly invalidate any state. (e.g meta model validation is currently 
> not cleared after an undeploy, in my case after calling 
> IsisContext.testReset())



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


[jira] [Commented] (ISIS-1744) Update DataNucleus to the latest version (5.1.5 or later)

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317900#comment-16317900
 ] 

ASF subversion and git services commented on ISIS-1744:
---

Commit 6551c428b131248aeab10a1b766b7d3421bbe86f in isis's branch 
refs/heads/dev/2.0.0-M2 from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=6551c42 ]

Merge branch 'ISIS-1744-update-to-dn-515' into dev/2.0.0-M2


> Update DataNucleus to the latest version (5.1.5 or later)
> -
>
> Key: ISIS-1744
> URL: https://issues.apache.org/jira/browse/ISIS-1744
> Project: Isis
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 1.15.1
>Reporter: Sergey Sverdlov
>Assignee: Dan Haywood
> Fix For: 2.0.0-M2
>
>
> Please update dependencies to DataNucleus to the latest available versions:
> org.datanucleus:datanucleus-api-jdo ...4.1.1 -> 5.1.5
> org.datanucleus:datanucleus-core .. 4.1.7 -> 5.1.4
> org.datanucleus:datanucleus-jdo-query ...4.0.5 -> 5.0.2
> org.datanucleus:datanucleus-jodatime 4.1.0-release -> 
> 5.1.0-release
> org.datanucleus:datanucleus-rdbms 4.1.9 -> 5.1.5



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


[jira] [Commented] (ISIS-1744) Update DataNucleus to the latest version (5.1.5 or later)

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317899#comment-16317899
 ] 

ASF subversion and git services commented on ISIS-1744:
---

Commit df035130f4b1bc10fe5101dd775ffa5939f67f55 in isis's branch 
refs/heads/dev/2.0.0-M2 from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=df03513 ]

ISIS-1744: removes work-around code for prior to DN 5.1.5


> Update DataNucleus to the latest version (5.1.5 or later)
> -
>
> Key: ISIS-1744
> URL: https://issues.apache.org/jira/browse/ISIS-1744
> Project: Isis
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 1.15.1
>Reporter: Sergey Sverdlov
>Assignee: Dan Haywood
> Fix For: 2.0.0-M2
>
>
> Please update dependencies to DataNucleus to the latest available versions:
> org.datanucleus:datanucleus-api-jdo ...4.1.1 -> 5.1.5
> org.datanucleus:datanucleus-core .. 4.1.7 -> 5.1.4
> org.datanucleus:datanucleus-jdo-query ...4.0.5 -> 5.0.2
> org.datanucleus:datanucleus-jodatime 4.1.0-release -> 
> 5.1.0-release
> org.datanucleus:datanucleus-rdbms 4.1.9 -> 5.1.5



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


[jira] [Commented] (ISIS-1632) Support meta annotations for @Property/@Collection/@Action + @XxxLayout

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317869#comment-16317869
 ] 

ASF subversion and git services commented on ISIS-1632:
---

Commit d5bacdb3944a1e42dffc4dbed21a9ccfee97da87 in isis's branch 
refs/heads/master from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=d5bacdb ]

ISIS-1632: fixes test regression


> Support meta annotations for @Property/@Collection/@Action + @XxxLayout
> ---
>
> Key: ISIS-1632
> URL: https://issues.apache.org/jira/browse/ISIS-1632
> Project: Isis
>  Issue Type: New Feature
>Reporter: Dan Haywood
>Assignee: Dan Haywood
> Fix For: 2.0.0-M1
>
>




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


[jira] [Commented] (ISIS-1636) Support for Java 8 Time API

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317873#comment-16317873
 ] 

ASF subversion and git services commented on ISIS-1636:
---

Commit 18562c46c8ab91cac592db86fe7298dde59d082d in isis's branch 
refs/heads/master from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=18562c4 ]

ISIS-1636 UI enhancement - java 8 Time

> Support for Java 8 Time API
> ---
>
> Key: ISIS-1636
> URL: https://issues.apache.org/jira/browse/ISIS-1636
> Project: Isis
>  Issue Type: Improvement
>  Components: Core: Viewer: Wicket
>Reporter: Andi Huber
>Assignee: Andi Huber
>Priority: Minor
>  Labels: Ready-for-Merge
> Fix For: 2.0.0-M1
>
>
> ISIS should support domain object properties of type
> * java.time.LocalDate
> * java.time.LocalDateTime
> * java.time.OffsetDateTime
> Sooner or later the new Java 8 time API will conquer the developers minds and 
> those using ISIS will demand ISIS built-in support for these basic types.
> Note: JDO support for the types listed above is already there (via plugin). 
> So the persistence part of the problem is solved, only the UI part is missing.



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


[jira] [Commented] (ISIS-1636) Support for Java 8 Time API

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317874#comment-16317874
 ] 

ASF subversion and git services commented on ISIS-1636:
---

Commit 6a9e1cdf9c0f059cb41768f525a98d463e2eb0da in isis's branch 
refs/heads/master from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=6a9e1cd ]

Merge branch 'dev/2.0.0/ISIS-1636-j8-time' into dev/2.0.0-M1


> Support for Java 8 Time API
> ---
>
> Key: ISIS-1636
> URL: https://issues.apache.org/jira/browse/ISIS-1636
> Project: Isis
>  Issue Type: Improvement
>  Components: Core: Viewer: Wicket
>Reporter: Andi Huber
>Assignee: Andi Huber
>Priority: Minor
>  Labels: Ready-for-Merge
> Fix For: 2.0.0-M1
>
>
> ISIS should support domain object properties of type
> * java.time.LocalDate
> * java.time.LocalDateTime
> * java.time.OffsetDateTime
> Sooner or later the new Java 8 time API will conquer the developers minds and 
> those using ISIS will demand ISIS built-in support for these basic types.
> Note: JDO support for the types listed above is already there (via plugin). 
> So the persistence part of the problem is solved, only the UI part is missing.



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


[jira] [Commented] (ISIS-1809) Convenience adapter implementations of UrlEncodingService

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317875#comment-16317875
 ] 

ASF subversion and git services commented on ISIS-1809:
---

Commit d727de10bfd011e9c1d1a4f835dc6fe0dd381b4c in isis's branch 
refs/heads/master from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=d727de1 ]

ISIS-1809: adds new implementations of UrlEncodingService


> Convenience adapter implementations of UrlEncodingService
> -
>
> Key: ISIS-1809
> URL: https://issues.apache.org/jira/browse/ISIS-1809
> Project: Isis
>  Issue Type: New Feature
>Affects Versions: 1.15.1
>Reporter: Dan Haywood
>Assignee: Dan Haywood
> Fix For: 2.0.0-M1
>
>




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


[jira] [Commented] (ISIS-1762) Java 8+ Miscellaneous Utilities

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317871#comment-16317871
 ] 

ASF subversion and git services commented on ISIS-1762:
---

Commit 3b0ae5ac97d1d12e322d12fb0e84e035ef529137 in isis's branch 
refs/heads/master from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=3b0ae5a ]

ISIS-1762 added Reflect and NullSafe, reviewing o.a.i.c.commons

> Java 8+ Miscellaneous Utilities
> ---
>
> Key: ISIS-1762
> URL: https://issues.apache.org/jira/browse/ISIS-1762
> Project: Isis
>  Issue Type: Improvement
>  Components: Core
>Reporter: Andi Huber
>Assignee: Andi Huber
> Fix For: 2.0.0-M1
>
>
> Introducing a collection of utility classes not meant to be public API. The 
> goal is to simplify recurring code idioms within Isis' code base.
> Such idioms are null-checks, lazy values and exception handling.



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


[jira] [Commented] (ISIS-1762) Java 8+ Miscellaneous Utilities

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317872#comment-16317872
 ] 

ASF subversion and git services commented on ISIS-1762:
---

Commit 3199a9583007d307e9954daae87f33e98a1f5156 in isis's branch 
refs/heads/master from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=3199a95 ]

Merge branch 'dev/2.0.0/ISIS-1762-j8-utils' into dev/2.0.0-M1


> Java 8+ Miscellaneous Utilities
> ---
>
> Key: ISIS-1762
> URL: https://issues.apache.org/jira/browse/ISIS-1762
> Project: Isis
>  Issue Type: Improvement
>  Components: Core
>Reporter: Andi Huber
>Assignee: Andi Huber
> Fix For: 2.0.0-M1
>
>
> Introducing a collection of utility classes not meant to be public API. The 
> goal is to simplify recurring code idioms within Isis' code base.
> Such idioms are null-checks, lazy values and exception handling.



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


[jira] [Commented] (ISIS-1762) Java 8+ Miscellaneous Utilities

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1762?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317870#comment-16317870
 ] 

ASF subversion and git services commented on ISIS-1762:
---

Commit 94f61de0617163a8296a7689f49674a98b317357 in isis's branch 
refs/heads/master from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=94f61de ]

ISIS-1762 fixing won't compile on eclipse

> Java 8+ Miscellaneous Utilities
> ---
>
> Key: ISIS-1762
> URL: https://issues.apache.org/jira/browse/ISIS-1762
> Project: Isis
>  Issue Type: Improvement
>  Components: Core
>Reporter: Andi Huber
>Assignee: Andi Huber
> Fix For: 2.0.0-M1
>
>
> Introducing a collection of utility classes not meant to be public API. The 
> goal is to simplify recurring code idioms within Isis' code base.
> Such idioms are null-checks, lazy values and exception handling.



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


[jira] [Commented] (ISIS-1465) Release activities for 1.16.0

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317816#comment-16317816
 ] 

ASF subversion and git services commented on ISIS-1465:
---

Commit 5ffc8fcbc009885c02b3d6d6421a2e0e0b695d54 in isis's branch 
refs/heads/master from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=5ffc8fc ]

ISIS-1465: further tweak to docs


> Release activities for 1.16.0
> -
>
> Key: ISIS-1465
> URL: https://issues.apache.org/jira/browse/ISIS-1465
> Project: Isis
>  Issue Type: Task
>  Components: Core
>Affects Versions: 1.15.0
>Reporter: Dan Haywood
>Assignee: Dan Haywood
>Priority: Minor
> Fix For: 1.16.0
>
>




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


[jira] [Commented] (ISIS-1465) Release activities for 1.16.0

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317817#comment-16317817
 ] 

ASF subversion and git services commented on ISIS-1465:
---

Commit 66e719e5f12fc47a943c4d30c1217f23c9df8f30 in isis's branch 
refs/heads/master from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=66e719e ]

ISIS-1465: improves the publish script


> Release activities for 1.16.0
> -
>
> Key: ISIS-1465
> URL: https://issues.apache.org/jira/browse/ISIS-1465
> Project: Isis
>  Issue Type: Task
>  Components: Core
>Affects Versions: 1.15.0
>Reporter: Dan Haywood
>Assignee: Dan Haywood
>Priority: Minor
> Fix For: 1.16.0
>
>




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


[jira] [Commented] (ISIS-1465) Release activities for 1.16.0

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317814#comment-16317814
 ] 

ASF subversion and git services commented on ISIS-1465:
---

Commit 22589dc0bd1ad929ee5a261af9ca2e6224557cdc in isis's branch 
refs/heads/master from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=22589dc ]

ISIS-1465: updates to website/docs


> Release activities for 1.16.0
> -
>
> Key: ISIS-1465
> URL: https://issues.apache.org/jira/browse/ISIS-1465
> Project: Isis
>  Issue Type: Task
>  Components: Core
>Affects Versions: 1.15.0
>Reporter: Dan Haywood
>Assignee: Dan Haywood
>Priority: Minor
> Fix For: 1.16.0
>
>




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


[jira] [Commented] (ISIS-1465) Release activities for 1.16.0

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317811#comment-16317811
 ] 

ASF subversion and git services commented on ISIS-1465:
---

Commit 2a0b21fe5f1981c938b90879d2008b402d7b13c6 in isis's branch 
refs/heads/master from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=2a0b21f ]

ISIS-1465: recreating helloworld archetype


> Release activities for 1.16.0
> -
>
> Key: ISIS-1465
> URL: https://issues.apache.org/jira/browse/ISIS-1465
> Project: Isis
>  Issue Type: Task
>  Components: Core
>Affects Versions: 1.15.0
>Reporter: Dan Haywood
>Assignee: Dan Haywood
>Priority: Minor
> Fix For: 1.16.0
>
>




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


[jira] [Commented] (ISIS-1465) Release activities for 1.16.0

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317812#comment-16317812
 ] 

ASF subversion and git services commented on ISIS-1465:
---

Commit 2e2ac1f62d2096a03f1cd4d29c84362f9bcdc4ad in isis's branch 
refs/heads/master from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=2e2ac1f ]

ISIS-1465: fixes property in hellworld app.

This change is already copied into the helloworld arch; forgot to commit earlier


> Release activities for 1.16.0
> -
>
> Key: ISIS-1465
> URL: https://issues.apache.org/jira/browse/ISIS-1465
> Project: Isis
>  Issue Type: Task
>  Components: Core
>Affects Versions: 1.15.0
>Reporter: Dan Haywood
>Assignee: Dan Haywood
>Priority: Minor
> Fix For: 1.16.0
>
>




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


[jira] [Commented] (ISIS-1465) Release activities for 1.16.0

2018-01-08 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1465?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16317815#comment-16317815
 ] 

ASF subversion and git services commented on ISIS-1465:
---

Commit 64e46097f91627032be234e7f01af6b354ec5732 in isis's branch 
refs/heads/master from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=64e4609 ]

ISIS-1465: further updates to website publish process


> Release activities for 1.16.0
> -
>
> Key: ISIS-1465
> URL: https://issues.apache.org/jira/browse/ISIS-1465
> Project: Isis
>  Issue Type: Task
>  Components: Core
>Affects Versions: 1.15.0
>Reporter: Dan Haywood
>Assignee: Dan Haywood
>Priority: Minor
> Fix For: 1.16.0
>
>




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


[ANN] Apache Isis version 1.16.0 Released

2018-01-08 Thread Dan Haywood
The Apache Isis team is pleased to announce the release of Apache Isis
v1.16.0.

New features in this release include:
* modules and simplified bootstrapping (of the application, integration
tests and BDD specs)
* improvements to fixture scripts
* dynamic menu layouts (menubars.layout.xml)
* support for explicitly-defined actions rather than implicit (ie use
@Action, no need for @Programmatic)

Full release notes are available on the Apache Isis website at [1].
Please also read the migration notes [2].

You can access this release directly from the Maven central repo [3].
Alternatively, download the release and build it from source [4].

Enjoy!

--The Apache Isis team

[1]
http://isis.apache.org/release-notes/release-notes.html#_release-notes_1.16.0
[2]
http://isis.apache.org/migration-notes/migration-notes.html#_migration-notes_1.15.0-to-1.16.0
[3] http://search.maven.org
[4] http://isis.apache.org/downloads.html


[jira] [Resolved] (ISIS-1809) Convenience adapter implementations of UrlEncodingService

2018-01-08 Thread Dan Haywood (JIRA)

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

Dan Haywood resolved ISIS-1809.
---
Resolution: Fixed

> Convenience adapter implementations of UrlEncodingService
> -
>
> Key: ISIS-1809
> URL: https://issues.apache.org/jira/browse/ISIS-1809
> Project: Isis
>  Issue Type: New Feature
>Affects Versions: 1.15.1
>Reporter: Dan Haywood
>Assignee: Dan Haywood
> Fix For: 2.0.0-M1
>
>




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


[jira] [Updated] (ISIS-1569) Automated testing tool to replay commands against a copy of prod

2018-01-08 Thread Dan Haywood (JIRA)

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

Dan Haywood updated ISIS-1569:
--
Fix Version/s: (was: 2.0.0-M2)
   2.0.0-M1

> Automated testing tool to replay commands against a copy of prod
> 
>
> Key: ISIS-1569
> URL: https://issues.apache.org/jira/browse/ISIS-1569
> Project: Isis
>  Issue Type: New Feature
>  Components: Core
>Affects Versions: 1.13.2.1
>Reporter: Dan Haywood
> Fix For: 2.0.0-M1
>
>
> eg obtain copy of prod from a month ago
> then for all commands since then, replay (simulating the current user and 
> time for each)
> finally, compare resultant database with current prod, and list out 
> differences in data.
> could also use for performance testing, perhaps.



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


[jira] [Created] (ISIS-1811) Release tasks for 2.0.0-M2

2018-01-08 Thread Dan Haywood (JIRA)
Dan Haywood created ISIS-1811:
-

 Summary: Release tasks for 2.0.0-M2
 Key: ISIS-1811
 URL: https://issues.apache.org/jira/browse/ISIS-1811
 Project: Isis
  Issue Type: Task
Reporter: Dan Haywood
Assignee: Dan Haywood
 Fix For: 2.0.0-M2






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


[jira] [Created] (ISIS-1810) Release tasks for 2.0.0-M1

2018-01-08 Thread Dan Haywood (JIRA)
Dan Haywood created ISIS-1810:
-

 Summary: Release tasks for 2.0.0-M1
 Key: ISIS-1810
 URL: https://issues.apache.org/jira/browse/ISIS-1810
 Project: Isis
  Issue Type: Task
Reporter: Dan Haywood
Assignee: Dan Haywood
 Fix For: 2.0.0-M1






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


[jira] [Closed] (ISIS-1465) Release activities for 1.16.0

2018-01-08 Thread Dan Haywood (JIRA)

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

Dan Haywood closed ISIS-1465.
-
Resolution: Fixed

> Release activities for 1.16.0
> -
>
> Key: ISIS-1465
> URL: https://issues.apache.org/jira/browse/ISIS-1465
> Project: Isis
>  Issue Type: Task
>  Components: Core
>Affects Versions: 1.15.0
>Reporter: Dan Haywood
>Assignee: Dan Haywood
>Priority: Minor
> Fix For: 1.16.0
>
>




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


[RESULT] [VOTE] Apache Isis Core release 1.16.0

2018-01-08 Thread Dan Haywood
The vote has completed with the following result :

  +4 (binding): Kevin Meyer, Dan Haywood, Oscar Bou, Andi Huber

The vote is SUCCESSFUL.

I'll now go ahead and complete the post-release activities.


Re: [VOTE] Apache Isis Core release 1.16.0 RC1

2018-01-08 Thread Dan Haywood
Hi folks,

more than 72 hours have passed and we have enough votes, so I'm closing
this vote now.  I'll announce result on a separate thread.

Thx
Dan

On Mon, 8 Jan 2018 at 07:16 Andi Huber  wrote:

> +1
>
> On 2018-01-04 20:30, Dan Haywood  wrote:
> > Hi folks>
> >
> > and a happy new year!>
> >
> > I've cut a release for Apache Isis Core and the two archetypes:>
> >
> > * Core 1.16.0>
> > * HelloWorld Archetype 1.16.0>
> > * SimpleApp Archetype 1.16.0>
> >
> > The source code artifacts have been uploaded to staging repositories on>
> > repository.apache.org:>
> >
> > *>
> >
>
> http://repository.apache.org/content/repositories/orgapacheisis-1062/org/apache/isis/core/isis/1.16.0/isis-1.16.0-source-release.zip
> >
>
> > *>
> >
>
> http://repository.apache.org/content/repositories/orgapacheisis-1063/org/apache/isis/archetype/helloworld-archetype/1.16.0/helloworld-archetype-1.16.0-source-release.zip
> >
>
> > *>
> >
>
> http://repository.apache.org/content/repositories/orgapacheisis-1063/org/apache/isis/archetype/simpleapp-archetype/1.16.0/simpleapp-archetype-1.16.0-source-release.zip
> >
>
> >
> > For each zip there is a corresponding signature file (append .asc to the>
> > zip's url).>
> >
> > In the source code repo the code has been tagged as isis-1.16.0-RC1,>
> > helloworld-archetype-1.16.0-RC1 and simpleapp-archetype-1.16.0-RC1; see>
> > https://github.com/apache/isis/tags>
> >
> > For instructions on how to verify the release (build from binaries
> and/or>
> > use in Maven directly), see>
> >
> https://isis.apache.org/guides/cgcom/cgcom.html#_cgcom_verifying-releases>
> >
> > Please verify the release and cast your vote. The vote will be open
> for a>
> > minimum of 72 hours.>
> >
> > [ ] +1>
> > [ ] 0>
> > [ ] -1>
> >
>


[jira] [Commented] (ISIS-1807) Wrap Domain Entities by default

2018-01-08 Thread Oscar Bou (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1807?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16316273#comment-16316273
 ] 

Oscar Bou commented on ISIS-1807:
-

Regarding wrapping implementation:

You're proposing that a "hidden" action, starting on version 2, is only a hint 
for the UI. A Hidden action (or property) can be invoked (or its setter 
invoked) without throwing an exception. 
Being only a UI hint, I agree it would be something belonging to the 
@ActionLayout annotation.
Reasoning similarly, "disabled" should belong to the @Action annotation (as 
it's intrinsic to the Action, not to its representation - on the UI, the 
RESTful API, ... -).

Also, simply to explicit it, they would not be mutually exclusive:
* A Disabled Action can be showed or hidden, and similarly a Hidden action can 
be enabled (supporting invocations) or disabled (not being able to invoke it).
* And a Disabled Property can be hidden (not "showed" on the representation - 
UI, REST API whatever it means on it, ... -) or visible. And a Hidden Property 
can be changed through its setter if enabled, or not - if disabled -.

Not sure if there would be a better name for the service declaring its intent 
(assuring the trust boundary ?) ...


> Wrap Domain Entities by default
> ---
>
> Key: ISIS-1807
> URL: https://issues.apache.org/jira/browse/ISIS-1807
> Project: Isis
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 1.15.1
>Reporter: Oscar Bou
> Fix For: 2.0.0
>
>
> This way, all hide/disable/validate constraints, and other 
> constraints/invariants forced through actions, are always ensured by default.
> This will require to wrap by default:
> * New Domain Entity instances / objects (ie, changes on FactoryService).
> * Domain Entities returned by queries (ie, changes on RepositoryService).
> Users might disable this new default behaviour through configuration, as some 
> projects can prioritize performance (avoiding wrapping invocations) vs Domain 
> constraints/invariants enforcement.
> 
> Dan's notes:
> I'd like to refine the concept of wrapping while implementing this ticket.
> The idea of wrapping was originally to allow the UI to be simulated within 
> integration tests.  The intent of this ticket is to formalize the idea of the 
> same set of validations being done automatically between programmatic 
> interactions from one service/entity to another service/entity.  
> So, the more general concept (common to both UI/domain interactions and 
> domain-to-domain programmatic interactions) is one of _trust boundaries_.  If 
> there is no trust from the calling client to the supplying service/entity, 
> then that interaction should be wrapped.
> However, the wrapping model as it currently stands is a little bit too 
> UI/domain oriented, in that it has both hidden AND disabled as well as 
> validate phases.  From the perspective of a programmatic domain-to-domain 
> interaction there's no meaningful distinction between the hidden and disabled 
> constraints: they both mean: "that object isn't in a state to be called".  In 
> other words its a pre constraint that is not satisfied.
> The other aspect here is that I can imagine that there are actions that we 
> would like to allow to be made programmatically (ie through a wrapper) but 
> which shouldn't be part of the UI.  In other words these actions form part of 
> the programmatic API of a module, just not part of its UI.
> Putting all this together, I propose that we slightly change the meaning of 
> wrapping (though we'll keep the current implementation too for backwards 
> compatibility), namely that by default wrapped object will check the disable 
> and validate phases only, ie it will _not_ check the hidden phase.  This 
> allows such actions to be indicated as hidden (probably using @ActionLayout 
> or .layout.xml or security) but still able to be called programmatically.  
> The disable phase = pre check.
> We could define the following terminology:
> - "default" wrapping : as described above, checks only disable and validate, 
> not hidden
> - "strict" wrapping - for backward compatibility, also checks hidden first
> We could define a configuration property:
> isis.runtime.wrapping=default | strict | none
> with "default" wrapping being the default if not specified.
> In terms of the programming API, the WrapperFactory#wrap(...) will obviously 
> be less important than it was, because by default objects will be wrapped.  
> For backward compatibilty, I think this should continue to create strict 
> wrappers
> The wrap(...) method is also overloaded, with wrap(ExecutionMode).  We can 
> extend this enum:
> - EXECUTE - (existing) returns a strict wrapper
> - SKIP_RULES - (existing) skips applying the hidden/disable/validate rules
> - NO_EXECUTE - (existing) applies 

[jira] [Comment Edited] (ISIS-1807) Wrap Domain Entities by default

2018-01-08 Thread Oscar Bou (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1807?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16316256#comment-16316256
 ] 

Oscar Bou edited comment on ISIS-1807 at 1/8/18 12:56 PM:
--

Hi, Dan.

Yes, all our codebase is plenty of "wrapped" calls. It's mandatory according to 
our internal standards to always invoke inside a "wrap" call any setter and 
action invocation.

Fully agree that what we are trying to guarantee are those trust boundaries, 
but assuming they're directly related (and defined, scoped) to a given Domain 
Entity and associated sub-entities (i.e, Aggregated Root in DDD terms).
So every invocation from one Service or Domain Entity to actions on another 
Domain Entity or Services (or setters from a Domain Entity) are always wrapped 
to ensure invariants protection through the domain logic embedded:
* on the action implementation
* the "modifyXXX" method from the default programming model
* or the domain event handlers.
basically ...

Regading, View Models, it's a related case that it's worth considering. 
Wrapping invocations could be a way to ensure its immutability. For example, 
invoking a setter would throw by default an Exception if not invoked inside a 
"WrapperFactory.wrapSkipRules(...)" call. 


was (Author: oscarbou):
Hi, Dan.

Yes, all our codebase is plenty of "wrapped" calls. It's mandatory according to 
our internal standards to always invoke inside a "wrap" call any setter and 
action.

Fully agree is that my intent is to guarantee those trust boundaries, but 
assuming they're directly related to a given Domain Entity and associated 
sub-entities (i.e, Aggregated Root in DDD terms).
So every invocation from one Service or Domain Entity to actions on another 
Domain Entity or Services (or setters from a Domain Entity) are always wrapped 
to ensure invariants protection through the domain logic embedded:
* on the action implementation
* the "modifyXXX" method from the default programming model
* or the domain event handlers basically.

Regading, View Models, it's a related case that it's worth considering. 
Wrapping invocations could be a way to ensure its immutability. For example, 
invoking a setter would throw by default an Exception if not invoked inside a 
"WrapperFactory.wrapSkipRules(...)" call. 

> Wrap Domain Entities by default
> ---
>
> Key: ISIS-1807
> URL: https://issues.apache.org/jira/browse/ISIS-1807
> Project: Isis
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 1.15.1
>Reporter: Oscar Bou
> Fix For: 2.0.0
>
>
> This way, all hide/disable/validate constraints, and other 
> constraints/invariants forced through actions, are always ensured by default.
> This will require to wrap by default:
> * New Domain Entity instances / objects (ie, changes on FactoryService).
> * Domain Entities returned by queries (ie, changes on RepositoryService).
> Users might disable this new default behaviour through configuration, as some 
> projects can prioritize performance (avoiding wrapping invocations) vs Domain 
> constraints/invariants enforcement.
> 
> Dan's notes:
> I'd like to refine the concept of wrapping while implementing this ticket.
> The idea of wrapping was originally to allow the UI to be simulated within 
> integration tests.  The intent of this ticket is to formalize the idea of the 
> same set of validations being done automatically between programmatic 
> interactions from one service/entity to another service/entity.  
> So, the more general concept (common to both UI/domain interactions and 
> domain-to-domain programmatic interactions) is one of _trust boundaries_.  If 
> there is no trust from the calling client to the supplying service/entity, 
> then that interaction should be wrapped.
> However, the wrapping model as it currently stands is a little bit too 
> UI/domain oriented, in that it has both hidden AND disabled as well as 
> validate phases.  From the perspective of a programmatic domain-to-domain 
> interaction there's no meaningful distinction between the hidden and disabled 
> constraints: they both mean: "that object isn't in a state to be called".  In 
> other words its a pre constraint that is not satisfied.
> The other aspect here is that I can imagine that there are actions that we 
> would like to allow to be made programmatically (ie through a wrapper) but 
> which shouldn't be part of the UI.  In other words these actions form part of 
> the programmatic API of a module, just not part of its UI.
> Putting all this together, I propose that we slightly change the meaning of 
> wrapping (though we'll keep the current implementation too for backwards 
> compatibility), namely that by default wrapped object will check the disable 
> and validate phases only, ie it will _not_ check the hidden phase.  This 
> allows 

[jira] [Commented] (ISIS-1807) Wrap Domain Entities by default

2018-01-08 Thread Oscar Bou (JIRA)

[ 
https://issues.apache.org/jira/browse/ISIS-1807?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16316256#comment-16316256
 ] 

Oscar Bou commented on ISIS-1807:
-

Hi, Dan.

Yes, all our codebase is plenty of "wrapped" calls. It's mandatory according to 
our internal standards to always invoke inside a "wrap" call any setter and 
action.

Fully agree is that my intent is to guarantee those trust boundaries, but 
assuming they're directly related to a given Domain Entity and associated 
sub-entities (i.e, Aggregated Root in DDD terms).
So every invocation from one Service or Domain Entity to actions on another 
Domain Entity or Services (or setters from a Domain Entity) are always wrapped 
to ensure invariants protection through the domain logic embedded:
* on the action implementation
* the "modifyXXX" method from the default programming model
* or the domain event handlers basically.

Regading, View Models, it's a related case that it's worth considering. 
Wrapping invocations could be a way to ensure its immutability. For example, 
invoking a setter would throw by default an Exception if not invoked inside a 
"WrapperFactory.wrapSkipRules(...)" call. 

> Wrap Domain Entities by default
> ---
>
> Key: ISIS-1807
> URL: https://issues.apache.org/jira/browse/ISIS-1807
> Project: Isis
>  Issue Type: Improvement
>  Components: Core
>Affects Versions: 1.15.1
>Reporter: Oscar Bou
> Fix For: 2.0.0
>
>
> This way, all hide/disable/validate constraints, and other 
> constraints/invariants forced through actions, are always ensured by default.
> This will require to wrap by default:
> * New Domain Entity instances / objects (ie, changes on FactoryService).
> * Domain Entities returned by queries (ie, changes on RepositoryService).
> Users might disable this new default behaviour through configuration, as some 
> projects can prioritize performance (avoiding wrapping invocations) vs Domain 
> constraints/invariants enforcement.
> 
> Dan's notes:
> I'd like to refine the concept of wrapping while implementing this ticket.
> The idea of wrapping was originally to allow the UI to be simulated within 
> integration tests.  The intent of this ticket is to formalize the idea of the 
> same set of validations being done automatically between programmatic 
> interactions from one service/entity to another service/entity.  
> So, the more general concept (common to both UI/domain interactions and 
> domain-to-domain programmatic interactions) is one of _trust boundaries_.  If 
> there is no trust from the calling client to the supplying service/entity, 
> then that interaction should be wrapped.
> However, the wrapping model as it currently stands is a little bit too 
> UI/domain oriented, in that it has both hidden AND disabled as well as 
> validate phases.  From the perspective of a programmatic domain-to-domain 
> interaction there's no meaningful distinction between the hidden and disabled 
> constraints: they both mean: "that object isn't in a state to be called".  In 
> other words its a pre constraint that is not satisfied.
> The other aspect here is that I can imagine that there are actions that we 
> would like to allow to be made programmatically (ie through a wrapper) but 
> which shouldn't be part of the UI.  In other words these actions form part of 
> the programmatic API of a module, just not part of its UI.
> Putting all this together, I propose that we slightly change the meaning of 
> wrapping (though we'll keep the current implementation too for backwards 
> compatibility), namely that by default wrapped object will check the disable 
> and validate phases only, ie it will _not_ check the hidden phase.  This 
> allows such actions to be indicated as hidden (probably using @ActionLayout 
> or .layout.xml or security) but still able to be called programmatically.  
> The disable phase = pre check.
> We could define the following terminology:
> - "default" wrapping : as described above, checks only disable and validate, 
> not hidden
> - "strict" wrapping - for backward compatibility, also checks hidden first
> We could define a configuration property:
> isis.runtime.wrapping=default | strict | none
> with "default" wrapping being the default if not specified.
> In terms of the programming API, the WrapperFactory#wrap(...) will obviously 
> be less important than it was, because by default objects will be wrapped.  
> For backward compatibilty, I think this should continue to create strict 
> wrappers
> The wrap(...) method is also overloaded, with wrap(ExecutionMode).  We can 
> extend this enum:
> - EXECUTE - (existing) returns a strict wrapper
> - SKIP_RULES - (existing) skips applying the hidden/disable/validate rules
> - NO_EXECUTE - (existing) applies hidden/disabled/validate, but does not 
> execute
> - DEFAULT - (new)