Discussion:
[jira] [Created] (ISIS-1811) Release tasks for 2.0.0-M2
Dan Haywood (JIRA)
2018-01-08 19:59:01 UTC
Permalink
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)
ASF subversion and git services (JIRA)
2018-01-09 07:16:01 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
Post by Dan Haywood (JIRA)
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)
ASF subversion and git services (JIRA)
2018-02-14 15:54:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16364317#comment-16364317 ]

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

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

ISIS-1811: updates versions to 2.0.0-M2-SNAPSHOT
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-02-22 19:29:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16373297#comment-16373297 ]

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

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

ISIS-1811: updates versions to 2.0.0-M2-SNAPSHOT
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-02-22 19:49:03 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16373328#comment-16373328 ]

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

Commit 42081eb60be8ee7fdd0d0e84927b03971600c8b6 in isis's branch refs/heads/ISIS-1779-jax-rs-2 from [~danhaywood]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=42081eb ]

ISIS-1811: updates versions to 2.0.0-M2-SNAPSHOT
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-02-23 14:56:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16374447#comment-16374447 ]

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

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

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

Conflicts:
core/pom.xml
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-02-24 22:49:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16375831#comment-16375831 ]

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

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

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

Conflicts:
core/pom.xml
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-02-25 19:34:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16376215#comment-16376215 ]

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

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

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

Conflicts:
core/pom.xml
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-02-26 11:55:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16376726#comment-16376726 ]

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

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

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

Conflicts:
core/pom.xml
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-08-27 05:49:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16593214#comment-16593214 ]

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

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

ISIS-1811 minor adoc fix
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-08-27 09:22:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16593376#comment-16593376 ]

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

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

ISIS-1811 bump 'core' to 2.0.0-M2
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-08-28 06:20:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* IsisMatchers is no longer part of the 'core' API, but still available within test-scope.
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* IsisMatchers is no longer part of the 'core' API, but still available within test-scope.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-08-28 06:23:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers

was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* IsisMatchers is no longer part of the 'core' API, but still available within test-scope.
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-08-28 16:34:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml

was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-08-28 17:34:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: webjars Servlet was removed, no longer needed to be declared in web.xml

was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: webjars Servlet was removed, no longer needed to be declared in web.xml
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-08-28 17:57:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: IsisSessionFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: webjars Servlet was removed, no longer needed to be declared in web.xml


was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: webjars Servlet was removed, no longer needed to be declared in web.xml
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: IsisSessionFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: webjars Servlet was removed, no longer needed to be declared in web.xml
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-08-28 18:13:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: IsisSessionFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: webjars Servlet was removed, no longer needed to be declared in web.xml


was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: IsisSessionFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: webjars Servlet was removed, no longer needed to be declared in web.xml
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: IsisSessionFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: webjars Servlet was removed, no longer needed to be declared in web.xml
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-08-29 13:32:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisSessionFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml




was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: IsisSessionFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
* web.xml: webjars Servlet was removed, no longer needed to be declared in web.xml
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisSessionFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-08-30 16:07:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisSessionFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml introduces new web-specific (optional) config values

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}

was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisSessionFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisSessionFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml introduces new web-specific (optional) config values
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-08-30 16:09:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml introduces new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}

was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisSessionFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml introduces new web-specific (optional) config values

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-09-04 18:19:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WEbContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}

was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml introduces new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-09-13 05:34:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WEbContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}

* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}



was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WEbContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-09-14 16:12:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16615038#comment-16615038 ]

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

Commit 9046ebaa92f14da54c1585f48dd2bd8d9723d57c in isis's branch refs/heads/v2 from danhaywood
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=9046eba ]

ISIS-1811: moves validate into a profile (for simpleapp)
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-09-14 16:39:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16615066#comment-16615066 ]

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

Commit 0426ad4ed0b6ec5d9e3e0d893a98611f311311dc in isis's branch refs/heads/v2 from danhaywood
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=0426ad4 ]

ISIS-1811: parameterise versions in the .adoc
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-09-15 17:46:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16616420#comment-16616420 ]

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

Commit 9046ebaa92f14da54c1585f48dd2bd8d9723d57c in isis's branch refs/heads/ISIS-1976-rethink-object-adapters from danhaywood
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=9046eba ]

ISIS-1811: moves validate into a profile (for simpleapp)
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-09-18 06:47:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16618554#comment-16618554 ]

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

Commit 52399cedb6e6890d70a65677f23c991c063341aa in isis's branch refs/heads/v2 from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=52399ce ]

ISIS-1811: CI/CD: bump BASLINE 2.0.0-M1 -> 2.0.0-M2

Task-Url: https://issues.apache.org/jira/browse/ISIS-1811
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-09-18 06:47:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16618555#comment-16618555 ]

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

Commit 52399cedb6e6890d70a65677f23c991c063341aa in isis's branch refs/heads/v2 from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=52399ce ]

ISIS-1811: CI/CD: bump BASLINE 2.0.0-M1 -> 2.0.0-M2

Task-Url: https://issues.apache.org/jira/browse/ISIS-1811
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-09-18 07:41:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16618615#comment-16618615 ]

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

Commit 78cc5919d09f71bd60f467eae2ad91e5085db88a in isis's branch refs/heads/v2 from danhaywood
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=78cc591 ]

ISIS-1811: removes section from ad.adoc
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-09-20 05:23:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}

* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}



was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WEbContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'deployment' -->
<context-param>
<param-name>isis.viewer.wicket.mode</param-name>
<param-value>development</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}

* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-09-24 20:08:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991

was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}

* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-09-29 18:00:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().

was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-10-09 15:28:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters


was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-10-09 16:34:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}

* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
* Wicket-Viewer: Instead of browser built-in tooltip rendering, the framework now provides tooltips using Javascript and CSS, currently with following stylesheet defaults:

{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;

position: absolute;
z-index: 9999;
}

label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}

.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}

was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-10-11 22:03:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}

* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
* Wicket-Viewer: Instead of browser built-in tooltip rendering, the framework now provides tooltips using Javascript and CSS, currently with following stylesheet defaults:
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;

position: absolute;
z-index: 9999;
}

label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}

.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,

/** suppress '$$href', hyperlink to the representation*/
HREF,

/** suppress '$$instanceId', instance id of the domain object*/
ID,

/** suppress '$$title', title of the domain object*/
TITLE,

/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'


was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}

* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
* Wicket-Viewer: Instead of browser built-in tooltip rendering, the framework now provides tooltips using Javascript and CSS, currently with following stylesheet defaults:

{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;

position: absolute;
z-index: 9999;
}

label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}

.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-10-14 14:01:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16649403#comment-16649403 ]

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

Commit 15cc9879c5bd01a5f5635846721761f895758503 in isis's branch refs/heads/v2 from danhaywood
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=15cc987 ]

ISIS-1811: updates docs for Axon eventhandler

has moved to a different package with upgrade. Think this is ISIS-1905
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-10-14 18:12:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16649481#comment-16649481 ]

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

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

ISIS-1811: uses ${isis.version} rather than ${revision}

otherwise cannot be consumed in downstream components that also use the
-Drevision=... trick
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-10-15 20:07:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16650707#comment-16650707 ]

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

Commit 418e43bb50ee6f7e8be2b8073b1307edcb7dcc0c in isis's branch refs/heads/v2 from danhaywood
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=418e43b ]

ISIS-1811: bumps to hsqldb 2.4.1
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-10-15 20:53:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}

* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
* Wicket-Viewer: Instead of browser built-in tooltip rendering, the framework now provides tooltips using Javascript and CSS, currently with following stylesheet defaults:
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;

position: absolute;
z-index: 9999;
}

label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}

.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}

* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,

/** suppress '$$href', hyperlink to the representation*/
HREF,

/** suppress '$$instanceId', instance id of the domain object*/
ID,

/** suppress '$$title', title of the domain object*/
TITLE,

/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'

* Adds a new JAX-RS 2.0 compliant RestfulClient to core-applib:
Client-Side Setup:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
Synchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Response response = request.post(args);

ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
Asynchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Response response = request
.async()
.post(args);

CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(response, MyObject.class);

ResponseDigest<MyObject> digest = digestFuture.get(); // blocking

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}

was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}

* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
* Wicket-Viewer: Instead of browser built-in tooltip rendering, the framework now provides tooltips using Javascript and CSS, currently with following stylesheet defaults:
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;

position: absolute;
z-index: 9999;
}

label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}

.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,

/** suppress '$$href', hyperlink to the representation*/
HREF,

/** suppress '$$instanceId', instance id of the domain object*/
ID,

/** suppress '$$title', title of the domain object*/
TITLE,

/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Response response = request.post(args);
ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Response response = request
.async()
.post(args);
CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(response, MyObject.class);
ResponseDigest<MyObject> digest = digestFuture.get(); // blocking
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-10-15 20:58:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}

* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
* Wicket-Viewer: Instead of browser built-in tooltip rendering, the framework now provides tooltips using Javascript and CSS, currently with following stylesheet defaults:
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;

position: absolute;
z-index: 9999;
}

label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}

.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}

* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,

/** suppress '$$href', hyperlink to the representation*/
HREF,

/** suppress '$$instanceId', instance id of the domain object*/
ID,

/** suppress '$$title', title of the domain object*/
TITLE,

/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'

* Adds a new JAX-RS 2.0 compliant RestfulClient to core-applib:
Client-Side Setup:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
Synchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Response response = request.post(args);

ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
Asynchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Future<Response> asyncResponse = request
.async()
.post(args);

CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);

ResponseDigest<MyObject> digest = digestFuture.get(); // blocking

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}

was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}

* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
* Wicket-Viewer: Instead of browser built-in tooltip rendering, the framework now provides tooltips using Javascript and CSS, currently with following stylesheet defaults:
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;

position: absolute;
z-index: 9999;
}

label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}

.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}

* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,

/** suppress '$$href', hyperlink to the representation*/
HREF,

/** suppress '$$instanceId', instance id of the domain object*/
ID,

/** suppress '$$title', title of the domain object*/
TITLE,

/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'

* Adds a new JAX-RS 2.0 compliant RestfulClient to core-applib:
Client-Side Setup:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
Synchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Response response = request.post(args);

ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
Asynchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Response response = request
.async()
.post(args);

CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(response, MyObject.class);

ResponseDigest<MyObject> digest = digestFuture.get(); // blocking

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Response response = request.post(args);
ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Future<Response> asyncResponse = request
.async()
.post(args);
CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);
ResponseDigest<MyObject> digest = digestFuture.get(); // blocking
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-10-19 15:50:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16656975#comment-16656975 ]

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

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

ISIS-1811: fixes the broken derivation of DeploymentType from isis.deploymentType

was always being set to PRODUCTION, not appropriate for integration tests.
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Response response = request.post(args);
ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Future<Response> asyncResponse = request
.async()
.post(args);
CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);
ResponseDigest<MyObject> digest = digestFuture.get(); // blocking
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-10-20 09:38:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16657805#comment-16657805 ]

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

Commit 7374bb44208a79230e6bbe2c9f2d9f3c704b2ee8 in isis's branch refs/heads/v2 from danhaywood
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=7374bb4 ]

ISIS-1811: switches so that deployment type is derived from isis.deploymentType

rather than PROTOTYPING or PRODUCTION env vars. This is needed for integration tests at least, and reinstates the behaviour from v1, but Andi changed this for v2 so we need to discuss further to pull together the two approaches.
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Response response = request.post(args);
ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Future<Response> asyncResponse = request
.async()
.post(args);
CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);
ResponseDigest<MyObject> digest = digestFuture.get(); // blocking
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-10-20 09:38:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16657804#comment-16657804 ]

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

Commit e0a24aab294192141362d73f85ed36cf80d4e6a3 in isis's branch refs/heads/v2 from danhaywood
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=e0a24aa ]

ISIS-1811: adds fa for fixture script
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Response response = request.post(args);
ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Future<Response> asyncResponse = request
.async()
.post(args);
CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);
ResponseDigest<MyObject> digest = digestFuture.get(); // blocking
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-10-21 15:19:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16658259#comment-16658259 ]

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

Commit 57d42f3eeffe851d7cc62292827ac6bdbc3aaaea in isis's branch refs/heads/v2 from danhaywood
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=57d42f3 ]

ISIS-1811: blobs should be encoded using base 64 encoding, not base 64 url safe encoding.

This is the distinction between java.util.Base64#getEncoder() vs java.util.Base64#getUrlEncoder()
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Response response = request.post(args);
ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Future<Response> asyncResponse = request
.async()
.post(args);
CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);
ResponseDigest<MyObject> digest = digestFuture.get(); // blocking
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-10-24 19:39:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}

* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
* Wicket-Viewer: Instead of browser built-in tooltip rendering, the framework now provides tooltips using Javascript and CSS, currently with following stylesheet defaults:
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;

position: absolute;
z-index: 9999;
}

label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}

.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}

* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,

/** suppress '$$href', hyperlink to the representation*/
HREF,

/** suppress '$$instanceId', instance id of the domain object*/
ID,

/** suppress '$$domainType', object spec of the domain object */
DOMAIN_TYPE,

/** suppress '$$title', title of the domain object*/
TITLE,

/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'

* Adds a new JAX-RS 2.0 compliant RestfulClient to core-applib:
Client-Side Setup:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
Synchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Response response = request.post(args);

ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
Asynchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Future<Response> asyncResponse = request
.async()
.post(args);

CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);

ResponseDigest<MyObject> digest = digestFuture.get(); // blocking

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}

was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:

{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}

* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
* Wicket-Viewer: Instead of browser built-in tooltip rendering, the framework now provides tooltips using Javascript and CSS, currently with following stylesheet defaults:
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;

position: absolute;
z-index: 9999;
}

label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}

.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}

* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,

/** suppress '$$href', hyperlink to the representation*/
HREF,

/** suppress '$$instanceId', instance id of the domain object*/
ID,

/** suppress '$$title', title of the domain object*/
TITLE,

/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'

* Adds a new JAX-RS 2.0 compliant RestfulClient to core-applib:
Client-Side Setup:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
Synchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Response response = request.post(args);

ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
Asynchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Future<Response> asyncResponse = request
.async()
.post(args);

CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);

ResponseDigest<MyObject> digest = digestFuture.get(); // blocking

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$domainType', object spec of the domain object */
DOMAIN_TYPE,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Response response = request.post(args);
ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Future<Response> asyncResponse = request
.async()
.post(args);
CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);
ResponseDigest<MyObject> digest = digestFuture.get(); // blocking
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-10-26 08:06:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16664845#comment-16664845 ]

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

Commit 0340b258272fb85de65f88bb497367b9ad70bad2 in isis's branch refs/heads/v2 from danhaywood
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=0340b25 ]

ISIS-1811: fixes lockdown for apps
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$domainType', object spec of the domain object */
DOMAIN_TYPE,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Response response = request.post(args);
ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Future<Response> asyncResponse = request
.async()
.post(args);
CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);
ResponseDigest<MyObject> digest = digestFuture.get(); // blocking
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-10-29 05:24:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16666759#comment-16666759 ]

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

Commit 292ca197468fabaf928354acfd8de706264ab99d in isis's branch refs/heads/v2 from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=292ca19 ]

ISIS-1811: ThreadPoolSupport: adds access to the underlying executor

also allows CompletableFuture creation w/ or w/o IsisSession
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$domainType', object spec of the domain object */
DOMAIN_TYPE,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Response response = request.post(args);
ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Future<Response> asyncResponse = request
.async()
.post(args);
CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);
ResponseDigest<MyObject> digest = digestFuture.get(); // blocking
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-10-29 13:29:01 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16667193#comment-16667193 ]

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

Commit 3040c3f0d0187e25159a54dc9580b4f21f39e752 in isis's branch refs/heads/v2 from [~hobrom]
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=3040c3f ]

ISIS-1811: when creating CompletableFuture use ForkJoinPool instead of
fixed ThreadPool

ThreadPoolSupport does not allow to utilize InheritableThreadLocal
variables, but ForkJoinPool does.
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$domainType', object spec of the domain object */
DOMAIN_TYPE,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Response response = request.post(args);
ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Future<Response> asyncResponse = request
.async()
.post(args);
CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);
ResponseDigest<MyObject> digest = digestFuture.get(); // blocking
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-10-29 13:39:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}

* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
* Wicket-Viewer: Instead of browser built-in tooltip rendering, the framework now provides tooltips using Javascript and CSS, currently with following stylesheet defaults:
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;

position: absolute;
z-index: 9999;
}

label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}

.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}

* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,

/** suppress '$$href', hyperlink to the representation*/
HREF,

/** suppress '$$instanceId', instance id of the domain object*/
ID,

/** suppress '$$domainType', object spec of the domain object */
DOMAIN_TYPE,

/** suppress '$$title', title of the domain object*/
TITLE,

/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'

* Adds a new JAX-RS 2.0 compliant RestfulClient to core-applib:
Client-Side Setup:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
Synchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Response response = request.post(args);

ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
Asynchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Future<Response> asyncResponse = request
.async()
.post(args);

CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);

ResponseDigest<MyObject> digest = digestFuture.get(); // blocking

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
* Support for concurrent computation within an open session utilizing a ForkJoinPool
{code:java}
Supplier<T> computation = ()->doSomeComputation();
CompletableFuture<T> completableFuture = IsisContext.compute(computation);

T result = completableFuture.get(); // blocking call
{code}



was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}

* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
* Wicket-Viewer: Instead of browser built-in tooltip rendering, the framework now provides tooltips using Javascript and CSS, currently with following stylesheet defaults:
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;

position: absolute;
z-index: 9999;
}

label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}

.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}

* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,

/** suppress '$$href', hyperlink to the representation*/
HREF,

/** suppress '$$instanceId', instance id of the domain object*/
ID,

/** suppress '$$domainType', object spec of the domain object */
DOMAIN_TYPE,

/** suppress '$$title', title of the domain object*/
TITLE,

/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'

* Adds a new JAX-RS 2.0 compliant RestfulClient to core-applib:
Client-Side Setup:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
Synchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Response response = request.post(args);

ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
Asynchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Future<Response> asyncResponse = request
.async()
.post(args);

CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);

ResponseDigest<MyObject> digest = digestFuture.get(); // blocking

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$domainType', object spec of the domain object */
DOMAIN_TYPE,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Response response = request.post(args);
ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Future<Response> asyncResponse = request
.async()
.post(args);
CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);
ResponseDigest<MyObject> digest = digestFuture.get(); // blocking
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
* Support for concurrent computation within an open session utilizing a ForkJoinPool
{code:java}
Supplier<T> computation = ()->doSomeComputation();
CompletableFuture<T> completableFuture = IsisContext.compute(computation);
T result = completableFuture.get(); // blocking call
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
ASF subversion and git services (JIRA)
2018-11-10 17:11:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16682521#comment-16682521 ]

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

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

ISIS-1811 remove empty legacy projects
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$domainType', object spec of the domain object */
DOMAIN_TYPE,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Response response = request.post(args);
ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Future<Response> asyncResponse = request
.async()
.post(args);
CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);
ResponseDigest<MyObject> digest = digestFuture.get(); // blocking
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
* Support for concurrent computation within an open session utilizing a ForkJoinPool
{code:java}
Supplier<T> computation = ()->doSomeComputation();
CompletableFuture<T> completableFuture = IsisContext.compute(computation);
T result = completableFuture.get(); // blocking call
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
Andi Huber (JIRA)
2018-11-18 10:33:00 UTC
Permalink
[ https://issues.apache.org/jira/browse/ISIS-1811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andi Huber updated ISIS-1811:
-----------------------------
Description:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* Some ways of setting the DeploymentType (using web.xml or WebServer cmd-line flags -t or --type) have been removed. Instead running in PROTOTYPING (exemplified with Jetty) can be done in following ways:
{code}
export PROTOTYPING=true ; mvn jetty:run
mvn -DPROTOTYPING=true jetty:run
mvn -Disis.deploymentType=PROTOTYPING jetty:run
{code}
We also introduced a SPI to customize this behavior. This issue is tracked by https://issues.apache.org/jira/browse/ISIS-1991
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}

* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
* Wicket-Viewer: Instead of browser built-in tooltip rendering, the framework now provides tooltips using Javascript and CSS, currently with following stylesheet defaults:
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;

position: absolute;
z-index: 9999;
}

label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}

.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}

* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,

/** suppress '$$href', hyperlink to the representation*/
HREF,

/** suppress '$$instanceId', instance id of the domain object*/
ID,

/** suppress '$$domainType', object spec of the domain object */
DOMAIN_TYPE,

/** suppress '$$title', title of the domain object*/
TITLE,

/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'

* Adds a new JAX-RS 2.0 compliant RestfulClient to core-applib:
Client-Side Setup:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
Synchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Response response = request.post(args);

ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
Asynchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Future<Response> asyncResponse = request
.async()
.post(args);

CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);

ResponseDigest<MyObject> digest = digestFuture.get(); // blocking

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
* Support for concurrent computation within an open session utilizing a ForkJoinPool
{code:java}
Supplier<T> computation = ()->doSomeComputation();
CompletableFuture<T> completableFuture = IsisContext.compute(computation);

T result = completableFuture.get(); // blocking call
{code}



was:
Migration Notes:
* @MemberGroupLayout was removed
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
* web.xml apart from the new WebContextListener we introduce new web-specific (optional) config values, nothing else needs to configured here:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>

<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>

<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>

<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>

<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>

<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>

</web-app>
{code}
* module 'shiro' moved from `/core` to `/core/plugins` and its maven artifactId changed, to be in line with the other core-plugins:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}

* All previously available ways of setting the DeploymentType (using web.xml, isis.deploymentType or WebServer cmd-line flags -t or --type) are discouraged. Instead this is solely done now be specifying an environment variable `PROTOTYPING=true` or not. However, if there are use-cases that require a different approach, we might extend the API. Tracked by https://issues.apache.org/jira/browse/ISIS-1991
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
* ServicesInjector does now implement interface ServiceRegistry, where the service lookup method changed:
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}

* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
* Wicket-Viewer: Instead of browser built-in tooltip rendering, the framework now provides tooltips using Javascript and CSS, currently with following stylesheet defaults:
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;

position: absolute;
z-index: 9999;
}

label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}

.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}

* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,

/** suppress '$$href', hyperlink to the representation*/
HREF,

/** suppress '$$instanceId', instance id of the domain object*/
ID,

/** suppress '$$domainType', object spec of the domain object */
DOMAIN_TYPE,

/** suppress '$$title', title of the domain object*/
TITLE,

/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'

* Adds a new JAX-RS 2.0 compliant RestfulClient to core-applib:
Client-Side Setup:
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
Synchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Response response = request.post(args);

ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
Asynchronous example with Basic-Auth:
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");

RestfulClient client = RestfulClient.ofConfig(clientConfig);

Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));

Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();

Future<Response> asyncResponse = request
.async()
.post(args);

CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);

ResponseDigest<MyObject> digest = digestFuture.get(); // blocking

if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
* Support for concurrent computation within an open session utilizing a ForkJoinPool
{code:java}
Supplier<T> computation = ()->doSomeComputation();
CompletableFuture<T> completableFuture = IsisContext.compute(computation);

T result = completableFuture.get(); // blocking call
{code}
Post by Dan Haywood (JIRA)
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
Priority: Major
Fix For: 2.0.0-M2
* Axon Eventbus Plugin: switching from axon 2.x to 3.x which involves that axon's *EventHandler* annotation has moved: org.axonframework.eventhandling.annotation.EventHandler -> org.axonframework.eventhandling.EventHandler
* _IsisMatchers_ is no longer part of the 'core' API, but still available within test-scope.
* _Ensure_ as part of the 'core' API now accepts Java Predicates instead of hamcrest Matchers
* deployment types SERVER_EXPLORATION, UNIT_TESTING have been removed
{code}
export PROTOTYPING=true ; mvn jetty:run
mvn -DPROTOTYPING=true jetty:run
mvn -Disis.deploymentType=PROTOTYPING jetty:run
{code}
We also introduced a SPI to customize this behavior. This issue is tracked by https://issues.apache.org/jira/browse/ISIS-1991
* web.xml: no longer required to install listeners, filters and servlets; but is still required to configure the welcome page; _org.apache.isis.core.webapp.IsisWebAppContextListener_ acts as the single application entry-point to setup the dynamic part of the ServletContext.
** ResourceCachingFilter is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** ResourceServlet is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** IsisTransactionFilterForRestfulObjects is now configured via annotations (Servlet 3.0 spec), no longer needed to be declared in web.xml
** webjars Servlet was removed, no longer needed to be declared in web.xml
** Shiro Environment, no longer needs to be declared in web.xml
** Wicket Environment, no longer needs to be declared in web.xml
** RestEasy Environment, no longer needs to be declared in web.xml
** IsisSessionFilter is now part of the RestEasy WebModule, no longer needs to be declared in web.xml
** LogOnExceptionLogger, no longer needs to be declared in web.xml
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID" version="3.1">
<display-name>My App</display-name>
<welcome-file-list>
<welcome-file>about/index.html</welcome-file>
</welcome-file-list>
<!-- unique bootstrapping entry-point for web-applications -->
<listener>
<listener-class>org.apache.isis.core.webapp.IsisWebAppContextListener</listener-class>
</listener>
<!-- optional for overriding default 'wicket' -->
<context-param>
<param-name>isis.viewer.wicket.basePath</param-name>
<param-value>my-wicket</param-value>
</context-param>
<!-- optional for overriding default 'org.apache.isis.viewer.wicket.viewer.IsisWicketApplication' -->
<context-param>
<param-name>isis.viewer.wicket.app</param-name>
<param-value>domainapp.webapp.MyDomainApplication</param-value>
</context-param>
<!-- optional for overriding default 'restful' -->
<context-param>
<param-name>isis.viewer.restfulobjects.basePath</param-name>
<param-value>my-restful</param-value>
</context-param>
</web-app>
{code}
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-plugins-security-shiro</artifactId>
</dependency>
{code}
* ObjectAdapter is no longer holding a reference to an ObjectSpecification for the element type of collections. ObjectAdapter#getElementSpecification() moved to ObjectSpecification#getElementSpecification().
{code:java}
// previous
<T> T lookupService(final Class<T> serviceClass);
// new with 2.0.0-M2
<T> Optional<T> lookupService(final Class<T> serviceClass);
{code}
* We do now provide JAXB XmlAdapters for Java built-in temporal types in 'applib': org.apache.isis.applib.adapters.JaxbAdapters
{noformat}
.ui-tooltip {
max-width: 300px;
background-color: WhiteSmoke;
text-align: center;
padding: 5px 10px;
border-radius: 4px;
font-size: 12px;
box-shadow: 0 0 7px black;
position: absolute;
z-index: 9999;
}
label.isis-component-with-tooltip, .isis-component-with-tooltip label, strong.isis-component-with-tooltip {
text-decoration: underline dashed;
}
.ui-helper-hidden-accessible { display:none; } /* accessibility support disabled */
{noformat}
* Rest Viewer: The content negotiation parameter 'suppress' does now allow more control on which '$$..' properties one wants to suppress. New options are
{code:java}
public static enum SuppressionType {
/** suppress '$$RO', RO Spec representation*/
RO,
/** suppress '$$href', hyperlink to the representation*/
HREF,
/** suppress '$$instanceId', instance id of the domain object*/
ID,
/** suppress '$$domainType', object spec of the domain object */
DOMAIN_TYPE,
/** suppress '$$title', title of the domain object*/
TITLE,
/** suppress all '$$...' entries*/
ALL
}{code}
where these are case-insensitive and may be combined to a comma-separated set.
Eg. to suppress $$title and $$href one could simply request
{noformat}
application/json;profile=urn:org.apache.isis/v1;suppress=title,href
{noformat}
We do not break the previous behavior with 'suppress=true' being equivalent to 'suppress=ro'
{code:xml}
<dependency>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis-core-applib</artifactId>
<version>2.0.0-M2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>2.25.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.6.0</version>
</dependency>
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Response response = request.post(args);
ResponseDigest<MyObject> digest = client.digest(response, MyObject.class);
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
{code:java}
RestfulClientConfig clientConfig = new RestfulClientConfig();
clientConfig.setRestfulBase("http://localhost:8080/helloworld/restful/");
// setup basic-auth
clientConfig.setUseBasicAuth(true);
clientConfig.setRestfulAuthUser("sven");
clientConfig.setRestfulAuthPassword("pass");
RestfulClient client = RestfulClient.ofConfig(clientConfig);
Builder request = client.request(
"services/myService/actions/lookupMyObjectById/invoke",
SuppressionType.setOf(SuppressionType.RO));
Entity<String> args = client.arguments()
.addActionParameter("id", "12345")
.build();
Future<Response> asyncResponse = request
.async()
.post(args);
CompletableFuture<ResponseDigest<MyObject>> digestFuture =
client.digest(asyncResponse, MyObject.class);
ResponseDigest<MyObject> digest = digestFuture.get(); // blocking
if(digest.isSuccess()) {
System.out.println("result: "+ digest.get().get$$instanceId());
} else {
digest.getFailureCause().printStackTrace();
}
{code}
* Support for concurrent computation within an open session utilizing a ForkJoinPool
{code:java}
Supplier<T> computation = ()->doSomeComputation();
CompletableFuture<T> completableFuture = IsisContext.compute(computation);
T result = completableFuture.get(); // blocking call
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Loading...