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 f32538f7f0d452e7a27a6ced93fdcdbacb1e92d5 Merge: 976fff5faa 549f5a40e4 Author: andi-huber <[email protected]> AuthorDate: Fri Apr 14 21:55:01 2023 +0200 Merge remote-tracking branch 'origin/master' into spring6 .../actions/ActionLayout/ActionLayoutMenu.java | 2 + .../ActionLayoutAssociateWithPage-description.adoc | 64 +++++++++++ .../ActionLayoutAssociateWithPage.layout.xml | 2 +- .../ActionLayoutCssClassPage-description.adoc | 1 + .../cssClass/ActionLayoutCssClassPage.java | 1 + .../cssClass/ActionLayoutCssClassPage.layout.xml | 19 +-- .../ActionLayoutCssClassFaPage-description.adoc | 2 +- .../ActionLayoutCssClassFaPage.layout.xml | 19 +-- .../ActionLayoutDescribedAsPage-description.adoc | 62 +++++++++- .../describedAs/ActionLayoutDescribedAsPage.java | 128 ++++++++++++++++++--- .../ActionLayoutDescribedAsPage.layout.xml | 28 ++--- ...ctionLayoutDescribedAsChildVm-description.adoc} | 9 +- .../ActionLayoutDescribedAsChildVm.java} | 52 ++++----- .../ActionLayoutDescribedAsChildVm.layout.xml} | 16 +-- 14 files changed, 285 insertions(+), 120 deletions(-) diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/describedAs/ActionLayoutDescribedAsPage.java index c5af88c160,c313613c14..54ee144ee9 --- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/describedAs/ActionLayoutDescribedAsPage.java +++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/describedAs/ActionLayoutDescribedAsPage.java @@@ -18,28 -18,47 +18,47 @@@ */ package demoapp.dom.domain.actions.ActionLayout.describedAs; -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 demoapp.dom.domain.actions.ActionLayout.associateWith.child.ActionLayoutAssociateWithChildVm; + import demoapp.dom.domain.actions.ActionLayout.describedAs.child.ActionLayoutDescribedAsChildVm; + import lombok.Getter; + import lombok.Setter; - //tag::class[] + import java.util.ArrayList; + import java.util.List; + import java.util.Objects; + + @Named("demo.ActionLayoutDescribedAsPage") @DomainObject( nature=Nature.VIEW_MODEL) - @Named("demo.ActionLayoutDescribedAsVm") @XmlRootElement(name = "root") - @XmlType + @XmlType() @XmlAccessorType(XmlAccessType.FIELD) - public class ActionLayoutDescribedAsPage implements HasAsciiDocDescription { + //tag::class[] + //... + public class ActionLayoutDescribedAsPage + //end::class[] + implements HasAsciiDocDescription + //tag::class[] + { + @Property + @XmlElement + @Getter + @Setter + private String name; + + @Collection() + @XmlElement + @Getter + private List<ActionLayoutDescribedAsChildVm> children = new ArrayList<>(); + + // ... + //end::class[] @ObjectSupport public String title() { return "@ActionLayout#describedAs"; diff --cc examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/describedAs/child/ActionLayoutDescribedAsChildVm.java index c5af88c160,c4f11afb6c..bdb58947d9 --- a/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/describedAs/child/ActionLayoutDescribedAsChildVm.java +++ b/examples/demo/domain/src/main/java/demoapp/dom/domain/actions/ActionLayout/describedAs/child/ActionLayoutDescribedAsChildVm.java @@@ -16,44 -16,42 +16,42 @@@ * specific language governing permissions and limitations * under the License. */ - package demoapp.dom.domain.actions.ActionLayout.describedAs; + package demoapp.dom.domain.actions.ActionLayout.describedAs.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.ActionLayoutDescribedAsVm") - @XmlRootElement(name = "root") + @XmlRootElement(name = "child") @XmlType @XmlAccessorType(XmlAccessType.FIELD) - public class ActionLayoutDescribedAsPage implements HasAsciiDocDescription { + @Named("demo.ActionLayoutDescribedAsChildVm") + @DomainObject(nature=Nature.VIEW_MODEL) + @NoArgsConstructor + public class ActionLayoutDescribedAsChildVm implements HasAsciiDocDescription { - @ObjectSupport public String title() { - return "@ActionLayout#describedAs"; + public ActionLayoutDescribedAsChildVm(final String value) { + setValue(value); } - //tag::act[] - @Action - @ActionLayout( - describedAs = "A good description could go here." // <.> - ) - 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[]
