This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch spring6
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit e29b5ae58e99f543c81c81e314fe68778bf3ca6e
Merge: d9d03bfe65 abe10e0906
Author: andi-huber <[email protected]>
AuthorDate: Thu Apr 13 17:12:05 2023 +0200

    Merge remote-tracking branch 'origin/master' into spring6

 .../applib/services/error/SimpleTicket.java        |  26 +++--
 .../causeway/commons/internal/base/_Strings.java   |  28 +++++
 .../objectmanager/ObjectManagerDefault.java        |   7 +-
 .../dom/domain/actions/Action/ActionMenu.java      |   1 -
 .../actions/Action/typeOf/ActionTypeOfPage.java    |   2 +-
 .../actions/ActionLayout/ActionLayoutMenu.java     |  15 ++-
 .../ActionLayoutAssociateWithPage-description.adoc |  31 +++--
 .../ActionLayoutAssociateWithPage.java             |  91 ++++++++++-----
 .../ActionLayoutAssociateWithPage.layout.xml       |  32 +++---
 ...ionLayoutAssociateWithChildVm-description.adoc} |  11 +-
 .../child/ActionLayoutAssociateWithChildVm.java}   |  55 ++++-----
 .../ActionLayoutAssociateWithChildVm.layout.xml}   |  20 +---
 .../ActionLayoutCssClassPage-description.adoc      | 124 +++++++++++++++++++-
 .../cssClass/ActionLayoutCssClassPage.java         | 113 +++++++++++++++---
 .../ActionLayoutCssClassFaPage-description.adoc    |  66 ++++++++++-
 .../cssClassFa/ActionLayoutCssClassFaPage.java     |  55 +++++----
 .../WhereInTheWorldMenu.java => FeaturedMenu.java} |  51 +++++++--
 .../customui/vm/WhereInTheWorldVm-description.adoc |   2 +-
 .../layout/describedAs/DescribedAsMenu.java        |  59 ----------
 .../demoapp/dom/featured/layout/tabs/TabMenu.java  |  52 ---------
 .../src/main/java/demoapp/dom/menubars.layout.xml  |  14 +--
 .../core/errorreportingservice/EmailTicket.java    |  60 +++++++---
 .../actionpromptsb/ActionPromptSidebar.java        |   2 +
 .../viewer/wicket/ui/errors/ExceptionModel.java    |   4 +-
 .../wicket/ui/errors/ExceptionStackTracePanel.java | 127 +++++++++++----------
 .../accmngt/AccountManagementPageAbstract.java     |   5 +-
 .../viewer/wicket/ui/pages/error/ErrorPage.java    |   5 +-
 27 files changed, 673 insertions(+), 385 deletions(-)

diff --cc 
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/ActionLayoutMenu.java
index eb547bfced,e7f8b5cd9b..78210d2793
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/ActionLayoutMenu.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/ActionLayoutMenu.java
@@@ -18,7 -18,8 +18,8 @@@
   */
  package demoapp.dom.domain.actions.ActionLayout;
  
 -import javax.inject.Inject;
 -import javax.inject.Named;
++import jakarta.inject.Inject;
 +import jakarta.inject.Named;
  
  import org.apache.causeway.applib.annotation.Action;
  import org.apache.causeway.applib.annotation.ActionLayout;
@@@ -27,7 -28,10 +28,9 @@@ import org.apache.causeway.applib.annot
  import org.apache.causeway.applib.annotation.PriorityPrecedence;
  import org.apache.causeway.applib.annotation.SemanticsOf;
  
+ import demoapp.dom._infra.samples.NameSamples;
 -import demoapp.dom.domain.actions.Action.typeOf.child.ActionTypeOfChildVm;
  import 
demoapp.dom.domain.actions.ActionLayout.associateWith.ActionLayoutAssociateWithPage;
+ import 
demoapp.dom.domain.actions.ActionLayout.associateWith.child.ActionLayoutAssociateWithChildVm;
  import 
demoapp.dom.domain.actions.ActionLayout.cssClass.ActionLayoutCssClassPage;
  import 
demoapp.dom.domain.actions.ActionLayout.cssClassFa.ActionLayoutCssClassFaPage;
  import 
demoapp.dom.domain.actions.ActionLayout.describedAs.ActionLayoutDescribedAsPage;
@@@ -41,10 -47,12 +46,12 @@@ import lombok.val
  
  @DomainService(nature=NatureOfService.VIEW)
  @Named("demo.ActionLayoutMenu")
 [email protected](PriorityPrecedence.EARLY)
 [email protected](PriorityPrecedence.EARLY)
- //@Log4j2
+ @RequiredArgsConstructor(onConstructor_ = {@Inject})
  public class ActionLayoutMenu {
  
+     final NameSamples samples;
+ 
      @Action(semantics = SemanticsOf.SAFE)
      @ActionLayout(cssClassFa="fa-solid fa-arrows-left-right",
          describedAs = "Associate an action with a property or collection, 
specifying its id")
diff --cc 
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/associateWith/ActionLayoutAssociateWithPage.java
index 9dd604c782,1ac03dc5a5..978dc813fe
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/associateWith/ActionLayoutAssociateWithPage.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/associateWith/ActionLayoutAssociateWithPage.java
@@@ -18,21 -18,14 +18,14 @@@
   */
  package demoapp.dom.domain.actions.ActionLayout.associateWith;
  
 -import javax.inject.Named;
 -import javax.xml.bind.annotation.*;
 +import jakarta.inject.Named;
- import jakarta.xml.bind.annotation.XmlAccessType;
- import jakarta.xml.bind.annotation.XmlAccessorType;
- import jakarta.xml.bind.annotation.XmlElement;
- import jakarta.xml.bind.annotation.XmlRootElement;
- import jakarta.xml.bind.annotation.XmlType;
++import jakarta.xml.bind.annotation.*;
  
- import org.apache.causeway.applib.annotation.Action;
- import org.apache.causeway.applib.annotation.ActionLayout;
- import org.apache.causeway.applib.annotation.DomainObject;
- import org.apache.causeway.applib.annotation.Nature;
- import org.apache.causeway.applib.annotation.ObjectSupport;
- import org.apache.causeway.applib.annotation.Property;
+ import org.apache.causeway.applib.annotation.*;
  
  import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+ import demoapp.dom.domain.actions.Action.typeOf.child.ActionTypeOfChildVm;
+ import 
demoapp.dom.domain.actions.ActionLayout.associateWith.child.ActionLayoutAssociateWithChildVm;
  import lombok.Getter;
  import lombok.Setter;
  
diff --cc 
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/associateWith/child/ActionLayoutAssociateWithChildVm.java
index bc16987619,a3ec3477cb..9a0f66ba8b
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/associateWith/child/ActionLayoutAssociateWithChildVm.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/associateWith/child/ActionLayoutAssociateWithChildVm.java
@@@ -16,47 -16,42 +16,42 @@@
   *  specific language governing permissions and limitations
   *  under the License.
   */
- package demoapp.dom.domain.actions.ActionLayout.cssClass;
+ package demoapp.dom.domain.actions.ActionLayout.associateWith.child;
+ 
+ import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+ import lombok.Getter;
+ import lombok.NoArgsConstructor;
+ import lombok.Setter;
  
 -import javax.inject.Named;
 -import javax.xml.bind.annotation.*;
 +import jakarta.inject.Named;
- import jakarta.xml.bind.annotation.XmlAccessType;
- import jakarta.xml.bind.annotation.XmlAccessorType;
- import jakarta.xml.bind.annotation.XmlRootElement;
- import jakarta.xml.bind.annotation.XmlType;
++import jakarta.xml.bind.annotation.*;
  
- import org.apache.causeway.applib.annotation.Action;
- import org.apache.causeway.applib.annotation.ActionLayout;
- import org.apache.causeway.applib.annotation.DomainObject;
- import org.apache.causeway.applib.annotation.Nature;
- import org.apache.causeway.applib.annotation.ObjectSupport;
- 
- import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+ import org.apache.causeway.applib.annotation.*;
  
  //tag::class[]
- @DomainObject(
-         nature=Nature.VIEW_MODEL)
- @Named("demo.ActionLayoutCssClassVm")
- @XmlRootElement(name = "root")
+ @XmlRootElement(name = "child")
  @XmlType
  @XmlAccessorType(XmlAccessType.FIELD)
- public class ActionLayoutCssClassPage implements HasAsciiDocDescription {
+ @Named("demo.ActionLayoutAssociateWithChildVm")
+ @DomainObject(nature=Nature.VIEW_MODEL)
+ @NoArgsConstructor
+ public class ActionLayoutAssociateWithChildVm implements 
HasAsciiDocDescription {
  
-     @ObjectSupport public String title() {
-         return "@ActionLayout#cssClass";
+     public ActionLayoutAssociateWithChildVm(final String value) {
+         setValue(value);
      }
  
- //tag::act[]
-     @Action
-     @ActionLayout(
-             cssClass = "btn-info" // <.>
- //end::act[]
-             ,describedAs = "@ActionLayout(cssClass = \"btn-info\")"
- //tag::act[]
-             )
-     public Object act(final String arg) {
-         return this;
+     @ObjectSupport public String title() {
+         return getValue();
      }
- //end::act[]
+ 
+     @Property()
+     @PropertyLayout(fieldSetId = "annotation", sequence = "1")
+     @XmlElement(required = false)
+     @Getter @Setter
+     private String value;
+ 
+ 
  
  }
  //end::class[]
diff --cc 
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/cssClass/ActionLayoutCssClassPage.java
index bc16987619,6873e2b804..40ff7e738f
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/cssClass/ActionLayoutCssClassPage.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/cssClass/ActionLayoutCssClassPage.java
@@@ -18,19 -18,14 +18,14 @@@
   */
  package demoapp.dom.domain.actions.ActionLayout.cssClass;
  
 -import javax.inject.Named;
 -import javax.xml.bind.annotation.*;
 +import jakarta.inject.Named;
- import jakarta.xml.bind.annotation.XmlAccessType;
- import jakarta.xml.bind.annotation.XmlAccessorType;
- import jakarta.xml.bind.annotation.XmlRootElement;
- import jakarta.xml.bind.annotation.XmlType;
++import jakarta.xml.bind.annotation.*;
  
- import org.apache.causeway.applib.annotation.Action;
- import org.apache.causeway.applib.annotation.ActionLayout;
- import org.apache.causeway.applib.annotation.DomainObject;
- import org.apache.causeway.applib.annotation.Nature;
- import org.apache.causeway.applib.annotation.ObjectSupport;
+ import org.apache.causeway.applib.annotation.*;
  
  import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
+ import lombok.Getter;
+ import lombok.Setter;
  
  //tag::class[]
  @DomainObject(
diff --cc 
examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/cssClassFa/ActionLayoutCssClassFaPage.java
index d1d074d7ea,c56bd2376e..0f7e532459
--- 
a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/cssClassFa/ActionLayoutCssClassFaPage.java
+++ 
b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/cssClassFa/ActionLayoutCssClassFaPage.java
@@@ -18,17 -18,10 +18,10 @@@
   */
  package demoapp.dom.domain.actions.ActionLayout.cssClassFa;
  
 -import javax.inject.Named;
 -import javax.xml.bind.annotation.*;
 +import jakarta.inject.Named;
- import jakarta.xml.bind.annotation.XmlAccessType;
- import jakarta.xml.bind.annotation.XmlAccessorType;
- import jakarta.xml.bind.annotation.XmlRootElement;
- import jakarta.xml.bind.annotation.XmlType;
++import jakarta.xml.bind.annotation.*;
  
- import org.apache.causeway.applib.annotation.Action;
- import org.apache.causeway.applib.annotation.ActionLayout;
- import org.apache.causeway.applib.annotation.DomainObject;
- import org.apache.causeway.applib.annotation.Nature;
- import org.apache.causeway.applib.annotation.ObjectSupport;
+ import org.apache.causeway.applib.annotation.*;
  import org.apache.causeway.applib.layout.component.CssClassFaPosition;
  
  import demoapp.dom._infra.asciidocdesc.HasAsciiDocDescription;
diff --cc 
examples/demo/domain/src/main/java/demoapp/dom/featured/FeaturedMenu.java
index f00d9f3663,9cf9643e41..de841e22f8
--- a/examples/demo/domain/src/main/java/demoapp/dom/featured/FeaturedMenu.java
+++ b/examples/demo/domain/src/main/java/demoapp/dom/featured/FeaturedMenu.java
@@@ -40,10 -47,21 +47,21 @@@ import lombok.val
  @DomainService(
          nature=NatureOfService.VIEW
  )
 [email protected](PriorityPrecedence.EARLY)
 [email protected](PriorityPrecedence.EARLY)
- public class WhereInTheWorldMenu {
+ @RequiredArgsConstructor(onConstructor_ = { @Inject })
+ public class FeaturedMenu {
  
- //tag::action[]
+     final FactoryService factoryService;
+ 
+     @Action(semantics = SemanticsOf.SAFE)
+     @ActionLayout(
+             cssClassFa="fa-skull-crossbones",
+             describedAs = "Throws an unrecoverable error for demonstration 
purposes")
+     public Object errorPage(){
+         throw _Exceptions.unrecoverable("Error for demonstration purposes!");
+     }
+ 
+ //tag::whereInTheWorldAction[]
      @Inject
      private GeoapifyClient geoapifyClient;
  

Reply via email to