You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2020/02/12 10:38:37 UTC
[isis] 03/19: ISIS-2062: updates examples
This is an automated email from the ASF dual-hosted git repository.
danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 248c731e1a9329beb6d67db8b88e712ca79c7485
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Tue Feb 11 20:58:09 2020 +0000
ISIS-2062: updates examples
---
.../examples/annotation/ActionLayout.java | 9 ++---
.../examples/annotation/DomainObjectLayout.java | 4 +--
.../examples/annotation/ViewModelLayout.java | 6 +---
.../layout/component/ActionLayoutData.java | 7 ++--
...{HasCssClassFa.java => CssClassFaPosition.java} | 19 ++++-------
.../layout/component/DomainObjectLayoutData.java | 6 ++--
.../examples/layout/component/HasCssClassFa.java | 6 ++--
.../examples/layout/grid/GridAbstract.java | 1 +
.../examples/services/layout/LayoutService.java | 38 +++++++++++++++-------
9 files changed, 46 insertions(+), 50 deletions(-)
diff --git a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/ActionLayout.java b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/ActionLayout.java
index 45239f3..ca1a3a7 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/ActionLayout.java
+++ b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/ActionLayout.java
@@ -27,6 +27,8 @@ import java.lang.annotation.Target;
import javax.xml.bind.annotation.XmlType;
+import org.apache.isis.applib.layout.component.CssClassFaPosition;
+
/**
* Layout hints for actions.
*/
@@ -75,13 +77,6 @@ public @interface ActionLayout {
*/
CssClassFaPosition cssClassFaPosition() default CssClassFaPosition.LEFT;
- @XmlType(
- namespace = "http://isis.apache.org/applib/layout/component"
- )
- enum CssClassFaPosition {
- LEFT, RIGHT
- }
-
// //////////////////////////////////////
/**
diff --git a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/DomainObjectLayout.java b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/DomainObjectLayout.java
index e971135..73344ce 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/DomainObjectLayout.java
+++ b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/DomainObjectLayout.java
@@ -29,6 +29,7 @@ import org.apache.isis.applib.events.ui.CssClassUiEvent;
import org.apache.isis.applib.events.ui.IconUiEvent;
import org.apache.isis.applib.events.ui.LayoutUiEvent;
import org.apache.isis.applib.events.ui.TitleUiEvent;
+import org.apache.isis.applib.layout.component.CssClassFaPosition;
/**
* Layout hints for domain objects.
@@ -104,9 +105,6 @@ public @interface DomainObjectLayout {
*/
CssClassFaPosition cssClassFaPosition() default CssClassFaPosition.LEFT;
- enum CssClassFaPosition {
- LEFT, RIGHT
- }
// //////////////////////////////////////
diff --git a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/ViewModelLayout.java b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/ViewModelLayout.java
index 6db5c3a..f2972f8 100644
--- a/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/ViewModelLayout.java
+++ b/api/applib/src/main/adoc/modules/applib-ant/examples/annotation/ViewModelLayout.java
@@ -29,6 +29,7 @@ import org.apache.isis.applib.events.ui.CssClassUiEvent;
import org.apache.isis.applib.events.ui.IconUiEvent;
import org.apache.isis.applib.events.ui.LayoutUiEvent;
import org.apache.isis.applib.events.ui.TitleUiEvent;
+import org.apache.isis.applib.layout.component.CssClassFaPosition;
/**
* Layout hints for view models.
@@ -116,11 +117,6 @@ public @interface ViewModelLayout {
*/
CssClassFaPosition cssClassFaPosition() default CssClassFaPosition.LEFT;
- enum CssClassFaPosition {
- LEFT, RIGHT
- }
-
-
// //////////////////////////////////////
/**
diff --git a/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/ActionLayoutData.java b/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/ActionLayoutData.java
index 0123d3c..0464846 100644
--- a/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/ActionLayoutData.java
+++ b/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/ActionLayoutData.java
@@ -125,17 +125,16 @@ HasDescribedAs, HasHidden, HasNamed, HasBookmarking {
}
-
- private org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition cssClassFaPosition;
+ private CssClassFaPosition cssClassFaPosition;
@Override
@XmlAttribute(required = false)
- public org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition getCssClassFaPosition() {
+ public CssClassFaPosition getCssClassFaPosition() {
return cssClassFaPosition;
}
@Override
- public void setCssClassFaPosition(org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition cssClassFaPosition) {
+ public void setCssClassFaPosition(CssClassFaPosition cssClassFaPosition) {
this.cssClassFaPosition = cssClassFaPosition;
}
diff --git a/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/HasCssClassFa.java b/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/CssClassFaPosition.java
similarity index 67%
copy from api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/HasCssClassFa.java
copy to api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/CssClassFaPosition.java
index d556447..07faa5d 100644
--- a/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/HasCssClassFa.java
+++ b/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/CssClassFaPosition.java
@@ -18,18 +18,11 @@
*/
package org.apache.isis.applib.layout.component;
-import javax.xml.bind.annotation.XmlAttribute;
-
-import org.apache.isis.applib.annotation.ActionLayout;
-
-public interface HasCssClassFa {
-
- @XmlAttribute(required = false)
- String getCssClassFa();
- void setCssClassFa(String cssClassFa);
-
- @XmlAttribute(required = false)
- ActionLayout.CssClassFaPosition getCssClassFaPosition();
- void setCssClassFaPosition(ActionLayout.CssClassFaPosition cssClassFaPosition);
+import javax.xml.bind.annotation.XmlType;
+@XmlType(
+ namespace = "http://isis.apache.org/applib/layout/component"
+ )
+public enum CssClassFaPosition {
+ LEFT, RIGHT
}
diff --git a/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/DomainObjectLayoutData.java b/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/DomainObjectLayoutData.java
index 2630a05..e16a71a 100644
--- a/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/DomainObjectLayoutData.java
+++ b/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/DomainObjectLayoutData.java
@@ -98,16 +98,16 @@ HasBookmarking, HasCssClass, HasCssClassFa, HasDescribedAs, HasNamed {
- private org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition cssClassFaPosition;
+ private CssClassFaPosition cssClassFaPosition;
@Override
@XmlAttribute(required = false)
- public org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition getCssClassFaPosition() {
+ public CssClassFaPosition getCssClassFaPosition() {
return cssClassFaPosition;
}
@Override
- public void setCssClassFaPosition(org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition cssClassFaPosition) {
+ public void setCssClassFaPosition(CssClassFaPosition cssClassFaPosition) {
this.cssClassFaPosition = cssClassFaPosition;
}
diff --git a/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/HasCssClassFa.java b/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/HasCssClassFa.java
index d556447..8452713 100644
--- a/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/HasCssClassFa.java
+++ b/api/applib/src/main/adoc/modules/applib-cm/examples/layout/component/HasCssClassFa.java
@@ -20,8 +20,6 @@ package org.apache.isis.applib.layout.component;
import javax.xml.bind.annotation.XmlAttribute;
-import org.apache.isis.applib.annotation.ActionLayout;
-
public interface HasCssClassFa {
@XmlAttribute(required = false)
@@ -29,7 +27,7 @@ public interface HasCssClassFa {
void setCssClassFa(String cssClassFa);
@XmlAttribute(required = false)
- ActionLayout.CssClassFaPosition getCssClassFaPosition();
- void setCssClassFaPosition(ActionLayout.CssClassFaPosition cssClassFaPosition);
+ CssClassFaPosition getCssClassFaPosition();
+ void setCssClassFaPosition(CssClassFaPosition cssClassFaPosition);
}
diff --git a/api/applib/src/main/adoc/modules/applib-cm/examples/layout/grid/GridAbstract.java b/api/applib/src/main/adoc/modules/applib-cm/examples/layout/grid/GridAbstract.java
index 5ebfa9d..6a1fdc1 100644
--- a/api/applib/src/main/adoc/modules/applib-cm/examples/layout/grid/GridAbstract.java
+++ b/api/applib/src/main/adoc/modules/applib-cm/examples/layout/grid/GridAbstract.java
@@ -98,6 +98,7 @@ public abstract class GridAbstract implements Grid {
protected void traverseActions(
final ActionLayoutDataOwner actionLayoutDataOwner,
final GridAbstract.Visitor visitor) {
+
final List<ActionLayoutData> actionLayoutDatas = actionLayoutDataOwner.getActions();
if(actionLayoutDatas == null) {
return;
diff --git a/api/applib/src/main/adoc/modules/applib-svc/examples/services/layout/LayoutService.java b/api/applib/src/main/adoc/modules/applib-svc/examples/services/layout/LayoutService.java
index ce40087..7b2f77f 100644
--- a/api/applib/src/main/adoc/modules/applib-svc/examples/services/layout/LayoutService.java
+++ b/api/applib/src/main/adoc/modules/applib-svc/examples/services/layout/LayoutService.java
@@ -24,45 +24,61 @@ import org.apache.isis.applib.services.menu.MenuBarsService;
public interface LayoutService {
+ /**
+ * Mode of operation when downloading a layout file (while prototyping). It affects the way the file's
+ * content is assembled. Once a layout file is in place, its layout data takes precedence over any
+ * conflicting layout data from annotations.
+ */
enum Style {
/**
* The current layout for the domain class.
- * <p/>
* <p>
* If a <code>layout.xml</code> exists, then the grid returned will correspond to that
- * grid, having been {@link org.apache.isis.applib.services.grid.GridService#normalize(Grid) normalized}. If there is no <code>layout.xml</code> file, then the grid returned will be the
+ * grid, having been {@link org.apache.isis.applib.services.grid.GridService#normalize(Grid) normalized}.
+ * If there is no <code>layout.xml</code> file, then the grid returned will be the
* {@link org.apache.isis.applib.services.grid.GridService#defaultGridFor(Class) default grid},
* also {@link org.apache.isis.applib.services.grid.GridService#normalize(Grid) normalized}.
- * </p>
*/
CURRENT,
+
/**
* As per {@link #NORMALIZED}, but also with all (non-null) facets for all
* properties/collections/actions also included included in the grid.
- * <p/>
* <p>
* The intention here is that any layout metadata annotations can be removed from the code.
- * </p>
+ * <ul>
+ * <li>{@code @MemberGroupLayout}: <b>serialized as XML</b></li>
+ * <li>{@code @MemberOrder}: <b>serialized as XML</b></li>
+ * <li>{@code @ActionLayout, @PropertyLayout, @CollectionLayout}: <b>serialized as XML</b></li>
+ * </ul>
*/
COMPLETE,
+
/**
* Default, whereby missing properties/collections/actions are added to regions,
* and unused/empty regions are removed/trimmed.
- * <p/>
* <p>
- * It should be possible to remove any {@link MemberOrder} annotation but
- * any layout annotations would need to be retained.
- * </p>
+ * It should be possible to remove any {@link MemberOrder} and {@link MemberGroupLayout} annotation but
+ * any property/collection/action layout annotations would need to be retained.
+ * <ul>
+ * <li>{@code @MemberGroupLayout}: <b>serialized as XML</b></li>
+ * <li>{@code @MemberOrder}: <b>serialized as XML</b></li>
+ * <li>{@code @ActionLayout, @PropertyLayout, @CollectionLayout}: <b>ignored</b></li>
+ * </ul>
*/
NORMALIZED,
+
/**
* As per {@link #NORMALIZED}, but with no properties/collections/actions.
- * <p/>
* <p>
* The intention here is for layout annotations that "bind" the properties/collections/actions
* to the regions to be retained.
- * </p>
+ * <ul>
+ * <li>{@code @MemberGroupLayout}: <b>serialized as XML</b></li>
+ * <li>{@code @MemberOrder}: <b>ignored</b></li>
+ * <li>{@code @ActionLayout, @PropertyLayout, @CollectionLayout}: <b>ignored</b></li>
+ * </ul>
*/
MINIMAL
}