ISIS-993: simplifying the metadata.  the wicket components still broken at this 
point


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/199c70d9
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/199c70d9
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/199c70d9

Branch: refs/heads/ISIS-993
Commit: 199c70d91a626716d091fcc1ce8021645b057b8c
Parents: 6f79a2a
Author: Dan Haywood <d...@haywood-associates.co.uk>
Authored: Fri Jan 8 09:17:04 2016 +0000
Committer: Dan Haywood <d...@haywood-associates.co.uk>
Committed: Mon Jan 25 15:06:07 2016 +0000

----------------------------------------------------------------------
 .../schema/applib/layout/layout-1.0.xsd         |  42 ++---
 .../asciidoc/schema/applib/layout/layout.xsd    |  42 ++---
 .../apache/isis/applib/layout/v1_0/Action.java  | 133 ++++++++++++--
 .../isis/applib/layout/v1_0/ActionLayout.java   | 178 -------------------
 .../isis/applib/layout/v1_0/Collection.java     | 134 ++++++++++++--
 .../applib/layout/v1_0/CollectionLayout.java    | 169 ------------------
 .../isis/applib/layout/v1_0/DomainObject.java   |  32 +---
 .../isis/applib/layout/v1_0/Property.java       | 136 ++++++++++++--
 .../isis/applib/layout/v1_0/PropertyLayout.java | 166 -----------------
 .../ActionPositionFacetForActionLayoutXml.java  |  41 -----
 .../layout/ActionPositionFacetForActionXml.java |  41 +++++
 .../BookmarkPolicyFacetForActionLayoutXml.java  |  42 -----
 .../layout/BookmarkPolicyFacetForActionXml.java |  42 +++++
 .../CssClassFaFacetForActionLayoutXml.java      |  45 -----
 .../layout/CssClassFaFacetForActionXml.java     |  45 +++++
 .../layout/CssClassFacetForActionLayoutXml.java |  43 -----
 .../layout/CssClassFacetForActionXml.java       |  43 +++++
 .../DescribedAsFacetForActionLayoutXml.java     |  43 -----
 .../layout/DescribedAsFacetForActionXml.java    |  43 +++++
 .../layout/HiddenFacetForActionLayoutXml.java   |   4 +-
 .../layout/NamedFacetForActionLayoutXml.java    |  45 -----
 .../actions/layout/NamedFacetForActionXml.java  |  45 +++++
 .../CssClassFacetForCollectionLayoutXml.java    |  43 -----
 .../layout/CssClassFacetForCollectionXml.java   |  43 +++++
 .../DefaultViewFacetForCollectionLayoutXml.java |  43 -----
 .../DefaultViewFacetForCollectionXml.java       |  43 +++++
 .../DescribedAsFacetForCollectionLayoutXml.java |  43 -----
 .../DescribedAsFacetForCollectionXml.java       |  43 +++++
 .../HiddenFacetForCollectionLayoutXml.java      |  52 ------
 .../layout/HiddenFacetForCollectionXml.java     |  52 ++++++
 .../NamedFacetForCollectionLayoutXml.java       |  48 -----
 .../layout/NamedFacetForCollectionXml.java      |  48 +++++
 .../PagedFacetForCollectionLayoutXml.java       |  41 -----
 .../layout/PagedFacetForCollectionXml.java      |  41 +++++
 .../SortedByFacetForCollectionLayoutXml.java    |  52 ------
 .../layout/SortedByFacetForCollectionXml.java   |  52 ++++++
 .../object/layoutxml/LayoutXmlFacetDefault.java | 119 ++++++-------
 .../CssClassFacetForPropertyLayoutXml.java      |  43 -----
 .../CssClassFacetForPropertyXml.java            |  43 +++++
 .../DescribedAsFacetForPropertyLayoutXml.java   |  43 -----
 .../DescribedAsFacetForPropertyXml.java         |  43 +++++
 .../HiddenFacetForPropertyLayoutXml.java        |  52 ------
 .../HiddenFacetForPropertyXml.java              |  52 ++++++
 .../LabelAtFacetForPropertyLayoutXml.java       |  42 -----
 .../LabelAtFacetForPropertyXml.java             |  42 +++++
 .../MultiLineFacetForPropertyLayoutXml.java     |  41 -----
 .../MultiLineFacetForPropertyXml.java           |  41 +++++
 .../NamedFacetForPropertyLayoutXml.java         |  48 -----
 .../NamedFacetForPropertyXml.java               |  48 +++++
 ...nderedAdjustedFacetForPropertyLayoutXml.java |  43 -----
 .../RenderedAdjustedFacetForPropertyXml.java    |  43 +++++
 .../TypicalLengthFacetForPropertyLayoutXml.java |  49 -----
 .../TypicalLengthFacetForPropertyXml.java       |  49 +++++
 .../layoutxml/v1_0/DomainObjectTest.java        |   6 +
 .../entity/tabgroups/EntityTabGroupsPanel.java  |   5 +
 .../java/domainapp/dom/simple/SimpleObject.java |  17 +-
 .../dom/simple/SimpleObject.layout.xml          |  13 +-
 57 files changed, 1413 insertions(+), 1667 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/adocs/documentation/src/main/asciidoc/schema/applib/layout/layout-1.0.xsd
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/schema/applib/layout/layout-1.0.xsd 
b/adocs/documentation/src/main/asciidoc/schema/applib/layout/layout-1.0.xsd
index 221c807..ba275c2 100644
--- a/adocs/documentation/src/main/asciidoc/schema/applib/layout/layout-1.0.xsd
+++ b/adocs/documentation/src/main/asciidoc/schema/applib/layout/layout-1.0.xsd
@@ -5,7 +5,7 @@
 
   <xs:complexType name="domainObject">
     <xs:sequence>
-      <xs:element name="actions">
+      <xs:element name="actions" minOccurs="0">
         <xs:complexType>
           <xs:sequence>
             <xs:element name="action" type="tns:action" minOccurs="0" 
maxOccurs="unbounded"/>
@@ -18,13 +18,6 @@
 
   <xs:complexType name="action">
     <xs:sequence>
-      <xs:element name="layout" type="tns:actionLayout" minOccurs="0"/>
-    </xs:sequence>
-    <xs:attribute name="id" type="xs:string" use="required"/>
-  </xs:complexType>
-
-  <xs:complexType name="actionLayout">
-    <xs:sequence>
       <xs:element name="named" type="xs:string" minOccurs="0"/>
       <xs:element name="describedAs" type="xs:string" minOccurs="0"/>
     </xs:sequence>
@@ -33,8 +26,9 @@
     <xs:attribute name="cssClassFa" type="xs:string"/>
     <xs:attribute name="cssClassFaPosition" type="tns:cssClassFaPosition"/>
     <xs:attribute name="hidden" type="tns:where"/>
+    <xs:attribute name="id" type="xs:string" use="required"/>
     <xs:attribute name="namedEscaped" type="xs:boolean"/>
-    <xs:attribute name="position" type="tns:position" use="required"/>
+    <xs:attribute name="position" type="tns:position"/>
   </xs:complexType>
 
   <xs:complexType name="tabGroup">
@@ -78,25 +72,19 @@
 
   <xs:complexType name="property">
     <xs:sequence>
-      <xs:element name="actions">
+      <xs:element name="named" type="xs:string" minOccurs="0"/>
+      <xs:element name="describedAs" type="xs:string" minOccurs="0"/>
+      <xs:element name="actions" minOccurs="0">
         <xs:complexType>
           <xs:sequence>
             <xs:element name="action" type="tns:action" minOccurs="0" 
maxOccurs="unbounded"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="layout" type="tns:propertyLayout"/>
-    </xs:sequence>
-    <xs:attribute name="id" type="xs:string" use="required"/>
-  </xs:complexType>
-
-  <xs:complexType name="propertyLayout">
-    <xs:sequence>
-      <xs:element name="named" type="xs:string" minOccurs="0"/>
-      <xs:element name="describedAs" type="xs:string" minOccurs="0"/>
     </xs:sequence>
     <xs:attribute name="cssClass" type="xs:string"/>
     <xs:attribute name="hidden" type="tns:where"/>
+    <xs:attribute name="id" type="xs:string" use="required"/>
     <xs:attribute name="labelPosition" type="tns:labelPosition"/>
     <xs:attribute name="multiLine" type="xs:int"/>
     <xs:attribute name="namedEscaped" type="xs:boolean"/>
@@ -106,27 +94,21 @@
 
   <xs:complexType name="collection">
     <xs:sequence>
-      <xs:element name="actions">
+      <xs:element name="named" type="xs:string" minOccurs="0"/>
+      <xs:element name="describedAs" type="xs:string" minOccurs="0"/>
+      <xs:element name="sortedBy" type="xs:string" minOccurs="0"/>
+      <xs:element name="actions" minOccurs="0">
         <xs:complexType>
           <xs:sequence>
             <xs:element name="action" type="tns:action" minOccurs="0" 
maxOccurs="unbounded"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="layout" type="tns:collectionLayout"/>
-    </xs:sequence>
-    <xs:attribute name="id" type="xs:string" use="required"/>
-  </xs:complexType>
-
-  <xs:complexType name="collectionLayout">
-    <xs:sequence>
-      <xs:element name="named" type="xs:string" minOccurs="0"/>
-      <xs:element name="describedAs" type="xs:string" minOccurs="0"/>
-      <xs:element name="sortedBy" type="xs:string" minOccurs="0"/>
     </xs:sequence>
     <xs:attribute name="cssClass" type="xs:string"/>
     <xs:attribute name="defaultView" type="xs:string"/>
     <xs:attribute name="hidden" type="tns:where"/>
+    <xs:attribute name="id" type="xs:string" use="required"/>
     <xs:attribute name="namedEscaped" type="xs:boolean"/>
     <xs:attribute name="paged" type="xs:int"/>
   </xs:complexType>

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/adocs/documentation/src/main/asciidoc/schema/applib/layout/layout.xsd
----------------------------------------------------------------------
diff --git 
a/adocs/documentation/src/main/asciidoc/schema/applib/layout/layout.xsd 
b/adocs/documentation/src/main/asciidoc/schema/applib/layout/layout.xsd
index 221c807..ba275c2 100644
--- a/adocs/documentation/src/main/asciidoc/schema/applib/layout/layout.xsd
+++ b/adocs/documentation/src/main/asciidoc/schema/applib/layout/layout.xsd
@@ -5,7 +5,7 @@
 
   <xs:complexType name="domainObject">
     <xs:sequence>
-      <xs:element name="actions">
+      <xs:element name="actions" minOccurs="0">
         <xs:complexType>
           <xs:sequence>
             <xs:element name="action" type="tns:action" minOccurs="0" 
maxOccurs="unbounded"/>
@@ -18,13 +18,6 @@
 
   <xs:complexType name="action">
     <xs:sequence>
-      <xs:element name="layout" type="tns:actionLayout" minOccurs="0"/>
-    </xs:sequence>
-    <xs:attribute name="id" type="xs:string" use="required"/>
-  </xs:complexType>
-
-  <xs:complexType name="actionLayout">
-    <xs:sequence>
       <xs:element name="named" type="xs:string" minOccurs="0"/>
       <xs:element name="describedAs" type="xs:string" minOccurs="0"/>
     </xs:sequence>
@@ -33,8 +26,9 @@
     <xs:attribute name="cssClassFa" type="xs:string"/>
     <xs:attribute name="cssClassFaPosition" type="tns:cssClassFaPosition"/>
     <xs:attribute name="hidden" type="tns:where"/>
+    <xs:attribute name="id" type="xs:string" use="required"/>
     <xs:attribute name="namedEscaped" type="xs:boolean"/>
-    <xs:attribute name="position" type="tns:position" use="required"/>
+    <xs:attribute name="position" type="tns:position"/>
   </xs:complexType>
 
   <xs:complexType name="tabGroup">
@@ -78,25 +72,19 @@
 
   <xs:complexType name="property">
     <xs:sequence>
-      <xs:element name="actions">
+      <xs:element name="named" type="xs:string" minOccurs="0"/>
+      <xs:element name="describedAs" type="xs:string" minOccurs="0"/>
+      <xs:element name="actions" minOccurs="0">
         <xs:complexType>
           <xs:sequence>
             <xs:element name="action" type="tns:action" minOccurs="0" 
maxOccurs="unbounded"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="layout" type="tns:propertyLayout"/>
-    </xs:sequence>
-    <xs:attribute name="id" type="xs:string" use="required"/>
-  </xs:complexType>
-
-  <xs:complexType name="propertyLayout">
-    <xs:sequence>
-      <xs:element name="named" type="xs:string" minOccurs="0"/>
-      <xs:element name="describedAs" type="xs:string" minOccurs="0"/>
     </xs:sequence>
     <xs:attribute name="cssClass" type="xs:string"/>
     <xs:attribute name="hidden" type="tns:where"/>
+    <xs:attribute name="id" type="xs:string" use="required"/>
     <xs:attribute name="labelPosition" type="tns:labelPosition"/>
     <xs:attribute name="multiLine" type="xs:int"/>
     <xs:attribute name="namedEscaped" type="xs:boolean"/>
@@ -106,27 +94,21 @@
 
   <xs:complexType name="collection">
     <xs:sequence>
-      <xs:element name="actions">
+      <xs:element name="named" type="xs:string" minOccurs="0"/>
+      <xs:element name="describedAs" type="xs:string" minOccurs="0"/>
+      <xs:element name="sortedBy" type="xs:string" minOccurs="0"/>
+      <xs:element name="actions" minOccurs="0">
         <xs:complexType>
           <xs:sequence>
             <xs:element name="action" type="tns:action" minOccurs="0" 
maxOccurs="unbounded"/>
           </xs:sequence>
         </xs:complexType>
       </xs:element>
-      <xs:element name="layout" type="tns:collectionLayout"/>
-    </xs:sequence>
-    <xs:attribute name="id" type="xs:string" use="required"/>
-  </xs:complexType>
-
-  <xs:complexType name="collectionLayout">
-    <xs:sequence>
-      <xs:element name="named" type="xs:string" minOccurs="0"/>
-      <xs:element name="describedAs" type="xs:string" minOccurs="0"/>
-      <xs:element name="sortedBy" type="xs:string" minOccurs="0"/>
     </xs:sequence>
     <xs:attribute name="cssClass" type="xs:string"/>
     <xs:attribute name="defaultView" type="xs:string"/>
     <xs:attribute name="hidden" type="tns:where"/>
+    <xs:attribute name="id" type="xs:string" use="required"/>
     <xs:attribute name="namedEscaped" type="xs:boolean"/>
     <xs:attribute name="paged" type="xs:int"/>
   </xs:complexType>

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Action.java
----------------------------------------------------------------------
diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Action.java 
b/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Action.java
index 61c6443..7dd00de 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Action.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Action.java
@@ -25,12 +25,22 @@ import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
+import org.apache.isis.applib.annotation.BookmarkPolicy;
+import org.apache.isis.applib.annotation.Where;
+
+/**
+ * Broadly corresponds to {@link 
org.apache.isis.applib.annotation.ActionLayout}.
+ *
+ * <p>
+ *  Note that {@link 
org.apache.isis.applib.annotation.ActionLayout#contributed()} is omitted 
because this only applies
+ *  to domain services.
+ * </p>
+ */
 @XmlType(
-        name="action"
-        , propOrder = {
-                "id"
-                , "layout"
-        }
+    propOrder = {
+        "named"
+        , "describedAs"
+    }
 )
 public class Action implements Serializable {
 
@@ -61,15 +71,116 @@ public class Action implements Serializable {
 
 
 
-    private ActionLayout layout;
+    private BookmarkPolicy bookmarking;
+
+    @XmlAttribute(required = false)
+    public BookmarkPolicy getBookmarking() {
+        return bookmarking;
+    }
+
+    public void setBookmarking(BookmarkPolicy bookmarking) {
+        this.bookmarking = bookmarking;
+    }
+
+
+    private String cssClass;
+
+    @XmlAttribute(required = false)
+    public String getCssClass() {
+        return cssClass;
+    }
+
+    public void setCssClass(String cssClass) {
+        this.cssClass = cssClass;
+    }
+
+
+    private String cssClassFa;
+
+    @XmlAttribute(required = false)
+    public String getCssClassFa() {
+        return cssClassFa;
+    }
+
+    public void setCssClassFa(String cssClassFa) {
+        this.cssClassFa = cssClassFa;
+    }
+
+
+
+    private org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition 
cssClassFaPosition;
+
+    @XmlAttribute(required = false)
+    public org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition 
getCssClassFaPosition() {
+        return cssClassFaPosition;
+    }
+
+    public void 
setCssClassFaPosition(org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition
 cssClassFaPosition) {
+        this.cssClassFaPosition = cssClassFaPosition;
+    }
+
+
+    private String describedAs;
+
+    @XmlElement(required = false)
+    public String getDescribedAs() {
+        return describedAs;
+    }
+
+    public void setDescribedAs(String describedAs) {
+        this.describedAs = describedAs;
+    }
+
+
+
+    private Where hidden;
+
+    @XmlAttribute(required = false)
+    public Where getHidden() {
+        return hidden;
+    }
+
+    public void setHidden(Where hidden) {
+        this.hidden = hidden;
+    }
+
+
+
+    private String named;
+
+    @XmlElement(required = false)
+    public String getNamed() {
+        return named;
+    }
+
+    public void setNamed(String named) {
+        this.named = named;
+    }
+
+
+
+    private Boolean namedEscaped;
+
+    @XmlAttribute(required = false)
+    public Boolean getNamedEscaped() {
+        return namedEscaped;
+    }
+
+    public void setNamedEscaped(Boolean namedEscaped) {
+        this.namedEscaped = namedEscaped;
+    }
+
+
+
+    private org.apache.isis.applib.annotation.ActionLayout.Position position;
 
-    @XmlElement(name="layout", required = true)
-    public ActionLayout getLayout() {
-        return layout;
+    @XmlAttribute(required = false)
+    public org.apache.isis.applib.annotation.ActionLayout.Position 
getPosition() {
+        return position;
     }
 
-    public void setLayout(ActionLayout layout) {
-        this.layout = layout;
+    public void 
setPosition(org.apache.isis.applib.annotation.ActionLayout.Position position) {
+        this.position = position;
     }
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/ActionLayout.java
----------------------------------------------------------------------
diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/ActionLayout.java
 
b/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/ActionLayout.java
deleted file mode 100644
index 9068d91..0000000
--- 
a/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/ActionLayout.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.applib.layout.v1_0;
-
-import java.io.Serializable;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.isis.applib.annotation.BookmarkPolicy;
-import org.apache.isis.applib.annotation.Where;
-
-/**
- * Broadly corresponds to {@link 
org.apache.isis.applib.annotation.ActionLayout}.
- *
- * <p>
- *  Note that {@link 
org.apache.isis.applib.annotation.ActionLayout#contributed()} is omitted 
because this only applies
- *  to domain services.
- * </p>
- */
-@XmlType(
-        propOrder = {
-                "named"
-                , "describedAs"
-        }
-)
-public class ActionLayout implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private BookmarkPolicy bookmarking;
-
-    @XmlAttribute(required = false)
-    public BookmarkPolicy getBookmarking() {
-        return bookmarking;
-    }
-
-    public void setBookmarking(BookmarkPolicy bookmarking) {
-        this.bookmarking = bookmarking;
-    }
-
-
-    private String cssClass;
-
-    @XmlAttribute(required = false)
-    public String getCssClass() {
-        return cssClass;
-    }
-
-    public void setCssClass(String cssClass) {
-        this.cssClass = cssClass;
-    }
-
-
-    private String cssClassFa;
-
-    @XmlAttribute(required = false)
-    public String getCssClassFa() {
-        return cssClassFa;
-    }
-
-    public void setCssClassFa(String cssClassFa) {
-        this.cssClassFa = cssClassFa;
-    }
-
-
-
-    private org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition 
cssClassFaPosition;
-
-    @XmlAttribute(required = false)
-    public org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition 
getCssClassFaPosition() {
-        return cssClassFaPosition;
-    }
-
-    public void 
setCssClassFaPosition(org.apache.isis.applib.annotation.ActionLayout.CssClassFaPosition
 cssClassFaPosition) {
-        this.cssClassFaPosition = cssClassFaPosition;
-    }
-
-
-    private String describedAs;
-
-    @XmlElement(required = false)
-    public String getDescribedAs() {
-        return describedAs;
-    }
-
-    public void setDescribedAs(String describedAs) {
-        this.describedAs = describedAs;
-    }
-
-
-
-    private Where hidden;
-
-    @XmlAttribute(required = false)
-    public Where getHidden() {
-        return hidden;
-    }
-
-    public void setHidden(Where hidden) {
-        this.hidden = hidden;
-    }
-
-
-
-    private String named;
-
-    @XmlElement(required = false)
-    public String getNamed() {
-        return named;
-    }
-
-    public void setNamed(String named) {
-        this.named = named;
-    }
-
-
-
-    private Boolean namedEscaped;
-
-    @XmlAttribute(required = false)
-    public Boolean getNamedEscaped() {
-        return namedEscaped;
-    }
-
-    public void setNamedEscaped(Boolean namedEscaped) {
-        this.namedEscaped = namedEscaped;
-    }
-
-
-
-    private org.apache.isis.applib.annotation.ActionLayout.Position position;
-
-    @XmlAttribute(required = true)
-    public org.apache.isis.applib.annotation.ActionLayout.Position 
getPosition() {
-        return position;
-    }
-
-    public void 
setPosition(org.apache.isis.applib.annotation.ActionLayout.Position position) {
-        this.position = position;
-    }
-
-
-
-    private Action owner;
-    /**
-     * Owner.
-     *
-     * <p>
-     *     Set programmatically by framework after reading in from XML.
-     * </p>
-     */
-    @XmlTransient
-    public Action getOwner() {
-        return owner;
-    }
-
-    public void setOwner(final Action owner) {
-        this.owner = owner;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Collection.java
----------------------------------------------------------------------
diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Collection.java 
b/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Collection.java
index db7d92b..371db40 100644
--- 
a/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Collection.java
+++ 
b/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Collection.java
@@ -27,13 +27,22 @@ import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
-import com.google.common.collect.Lists;
+import org.apache.isis.applib.annotation.Where;
 
+/**
+ * Broadly corresponds to the {@link 
org.apache.isis.applib.annotation.CollectionLayout} annotation.
+ *
+ * <p>
+ *     Note that {@link 
org.apache.isis.applib.annotation.CollectionLayout#render()} is omitted because
+ *     {@link #defaultView} is its replacement.
+ * </p>
+ */
 @XmlType(
         propOrder = {
-                "id"
+                "named"
+                ,"describedAs"
+                ,"sortedBy"
                 , "actions"
-                , "layout"
         }
 )
 public class Collection implements ColumnContent, ActionHolder, Serializable {
@@ -62,34 +71,125 @@ public class Collection implements ColumnContent, 
ActionHolder, Serializable {
     }
 
 
-    private List<Action> actions = Lists.newArrayList();
+
+    private String cssClass;
+
+    @XmlAttribute(required = false)
+    public String getCssClass() {
+        return cssClass;
+    }
+
+    public void setCssClass(String cssClass) {
+        this.cssClass = cssClass;
+    }
+
+
+
+    private String describedAs;
+
+    @XmlElement(required = false)
+    public String getDescribedAs() {
+        return describedAs;
+    }
+
+    public void setDescribedAs(String describedAs) {
+        this.describedAs = describedAs;
+    }
+
+
+
+    private String defaultView;
 
     /**
-     * The <code>&lt;actions&gt;</code> element must be present but can be 
empty.
+     * Typically <code>table</code> or <code>hidden</code>, but could be any 
other named view that is configured and
+     * appropriate, eg <code>gmap3</code> or <code>fullcalendar2</code>.
      */
-    @XmlElementWrapper(name = "actions", required = true)
-    @XmlElement(name = "action", required = false)
-    public List<Action> getActions() {
-        return actions;
+    @XmlAttribute(required = false)
+    public String getDefaultView() {
+        return defaultView;
     }
 
-    public void setActions(List<Action> actions) {
-        this.actions = actions;
+    public void setDefaultView(String defaultView) {
+        this.defaultView = defaultView;
+    }
+
+
+    private Where hidden;
+
+    @XmlAttribute(required = false)
+    public Where getHidden() {
+        return hidden;
+    }
+
+    public void setHidden(Where hidden) {
+        this.hidden = hidden;
+    }
+
+
+    private String named;
+
+    @XmlElement(required = false)
+    public String getNamed() {
+        return named;
+    }
+
+    public void setNamed(String named) {
+        this.named = named;
+    }
+
+
+    private Boolean namedEscaped;
+
+    @XmlAttribute(required = false)
+    public Boolean getNamedEscaped() {
+        return namedEscaped;
+    }
+
+    public void setNamedEscaped(Boolean namedEscaped) {
+        this.namedEscaped = namedEscaped;
+    }
+
+
+    private Integer paged;
+
+    @XmlAttribute(required = false)
+    public Integer getPaged() {
+        return paged;
+    }
+
+    public void setPaged(Integer paged) {
+        this.paged = paged;
     }
 
 
-    private CollectionLayout layout = new CollectionLayout();
 
-    @XmlElement(name = "layout", required = true)
-    public CollectionLayout getLayout() {
-        return layout;
+    private String sortedBy;
+
+    @XmlElement(required = false)
+    public String getSortedBy() {
+        return sortedBy;
     }
 
-    public void setLayout(CollectionLayout layout) {
-        this.layout = layout;
+    public void setSortedBy(String sortedBy) {
+        this.sortedBy = sortedBy;
     }
 
 
+
+    private List<Action> actions;
+
+    @XmlElementWrapper(name = "actions", required = false)
+    @XmlElement(name = "action", required = false)
+    public List<Action> getActions() {
+        return actions;
+    }
+
+    public void setActions(List<Action> actions) {
+        this.actions = actions;
+    }
+
+
+
     private Column owner;
     /**
      * Owner.

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/CollectionLayout.java
----------------------------------------------------------------------
diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/CollectionLayout.java
 
b/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/CollectionLayout.java
deleted file mode 100644
index 08f89fc..0000000
--- 
a/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/CollectionLayout.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.applib.layout.v1_0;
-
-
-import java.io.Serializable;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.isis.applib.annotation.Where;
-
-/**
- * Broadly corresponds to the {@link 
org.apache.isis.applib.annotation.CollectionLayout} annotation.
- * 
- * <p>
- *     Note that {@link 
org.apache.isis.applib.annotation.CollectionLayout#render()} is omitted because
- *     {@link #defaultView} is its replacement.
- * </p>
- */
-@XmlType(
-        propOrder = {
-                "named"
-                ,"describedAs"
-                ,"sortedBy"
-        }
-)
-public class CollectionLayout implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private String cssClass;
-
-    @XmlAttribute(required = false)
-    public String getCssClass() {
-        return cssClass;
-    }
-
-    public void setCssClass(String cssClass) {
-        this.cssClass = cssClass;
-    }
-
-
-
-    private String describedAs;
-
-    @XmlElement(required = false)
-    public String getDescribedAs() {
-        return describedAs;
-    }
-
-    public void setDescribedAs(String describedAs) {
-        this.describedAs = describedAs;
-    }
-
-
-
-    private String defaultView;
-
-    /**
-     * Typically <code>table</code> or <code>hidden</code>, but could be any 
other named view that is configured and
-     * appropriate, eg <code>gmap3</code> or <code>fullcalendar2</code>.
-     */
-    @XmlAttribute(required = false)
-    public String getDefaultView() {
-        return defaultView;
-    }
-
-    public void setDefaultView(String defaultView) {
-        this.defaultView = defaultView;
-    }
-
-
-    private Where hidden;
-
-    @XmlAttribute(required = false)
-    public Where getHidden() {
-        return hidden;
-    }
-
-    public void setHidden(Where hidden) {
-        this.hidden = hidden;
-    }
-
-
-    private String named;
-
-    @XmlElement(required = false)
-    public String getNamed() {
-        return named;
-    }
-
-    public void setNamed(String named) {
-        this.named = named;
-    }
-
-
-    private Boolean namedEscaped;
-
-    @XmlAttribute(required = false)
-    public Boolean getNamedEscaped() {
-        return namedEscaped;
-    }
-
-    public void setNamedEscaped(Boolean namedEscaped) {
-        this.namedEscaped = namedEscaped;
-    }
-
-
-    private Integer paged;
-
-    @XmlAttribute(required = false)
-    public Integer getPaged() {
-        return paged;
-    }
-
-    public void setPaged(Integer paged) {
-        this.paged = paged;
-    }
-
-
-
-    private String sortedBy;
-
-    @XmlElement(required = false)
-    public String getSortedBy() {
-        return sortedBy;
-    }
-
-    public void setSortedBy(String sortedBy) {
-        this.sortedBy = sortedBy;
-    }
-
-
-
-    private Collection owner;
-    /**
-     * Owner.
-     *
-     * <p>
-     *     Set programmatically by framework after reading in from XML.
-     * </p>
-     */
-    @XmlTransient
-    public Collection getOwner() {
-        return owner;
-    }
-
-    public void setOwner(final Collection owner) {
-        this.owner = owner;
-    }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/DomainObject.java
----------------------------------------------------------------------
diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/DomainObject.java
 
b/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/DomainObject.java
index 4d89b47..99388eb 100644
--- 
a/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/DomainObject.java
+++ 
b/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/DomainObject.java
@@ -22,14 +22,11 @@ import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.annotation.Nullable;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
-import com.google.common.collect.Lists;
-
 import org.apache.isis.applib.services.dto.Dto;
 
 @XmlRootElement
@@ -43,13 +40,9 @@ public class DomainObject implements Dto, ActionHolder, 
Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    private List<Action> actions = Lists.newArrayList();
-
+    private List<Action> actions;
 
-    /**
-     * The <code>&lt;actions&gt;</code> element must be present but can be 
empty.
-     */
-    @XmlElementWrapper(name = "actions", required = true)
+    @XmlElementWrapper(name = "actions", required = false)
     @XmlElement(name = "action", required = false)
     public List<Action> getActions() {
         return actions;
@@ -87,11 +80,8 @@ public class DomainObject implements Dto, ActionHolder, 
Serializable {
         void visit(final Column column);
         void visit(final PropertyGroup propertyGroup);
         void visit(final Property property);
-        void visit(final PropertyLayout propertyLayout);
         void visit(final Collection collection);
-        void visit(final CollectionLayout collectionLayout);
         void visit(final Action action);
-        void visit(@Nullable final ActionLayout actionLayout);
     }
 
     public static class VisitorAdapter implements Visitor {
@@ -108,15 +98,9 @@ public class DomainObject implements Dto, ActionHolder, 
Serializable {
         @Override
         public void visit(final Property property) {}
         @Override
-        public void visit(final PropertyLayout propertyLayout) { }
-        @Override
         public void visit(final Collection collection) {}
         @Override
-        public void visit(final CollectionLayout collectionLayout) { }
-        @Override
         public void visit(final Action action) { }
-        @Override
-        public void visit(final ActionLayout actionLayout) { }
     }
 
     /**
@@ -163,9 +147,6 @@ public class DomainObject implements Dto, ActionHolder, 
Serializable {
             for (final Property property : properties) {
                 property.setOwner(propertyGroup);
                 visitor.visit(property);
-                final PropertyLayout layout = property.getLayout();
-                layout.setOwner(property);
-                visitor.visit(layout);
                 traverseActions(property, visitor);
             }
         }
@@ -175,21 +156,18 @@ public class DomainObject implements Dto, ActionHolder, 
Serializable {
         for (final Collection collection : column.getCollections()) {
             collection.setOwner(column);
             visitor.visit(collection);
-            final CollectionLayout layout = collection.getLayout();
-            layout.setOwner(collection);
-            visitor.visit(layout);
             traverseActions(collection, visitor);
         }
     }
 
     private void traverseActions(final ActionHolder actionHolder, final 
Visitor visitor) {
         final List<Action> actions = actionHolder.getActions();
+        if(actions == null) {
+            return;
+        }
         for (final Action action : actions) {
             action.setOwner(actionHolder);
             visitor.visit(action);
-            final ActionLayout layout = action.getLayout();
-            layout.setOwner(action);
-            visitor.visit(layout);
         }
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Property.java
----------------------------------------------------------------------
diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Property.java 
b/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Property.java
index 6f98d07..e01e47c 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Property.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/Property.java
@@ -27,13 +27,17 @@ import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
-import com.google.common.collect.Lists;
+import org.apache.isis.applib.annotation.LabelPosition;
+import org.apache.isis.applib.annotation.Where;
 
+/**
+ * Broadly corresponds to the {@link 
org.apache.isis.applib.annotation.PropertyLayout} annotation.
+ */
 @XmlType(
         propOrder = {
-                "id"
+                "named"
+                , "describedAs"
                 , "actions"
-                , "layout"
         }
 )
 public class Property implements ActionHolder, Serializable {
@@ -62,33 +66,127 @@ public class Property implements ActionHolder, 
Serializable {
     }
 
 
-    private List<Action> actions = Lists.newArrayList();
 
-    /**
-     * The <code>&lt;actions&gt;</code> element must be present but can be 
empty.
-     */
-    @XmlElementWrapper(required = true)
-    @XmlElement(name = "action", required = false)
-    public List<Action> getActions() {
-        return actions;
+    private String cssClass;
+
+    @XmlAttribute(required = false)
+    public String getCssClass() {
+        return cssClass;
     }
 
-    public void setActions(List<Action> actions) {
-        this.actions = actions;
+    public void setCssClass(String cssClass) {
+        this.cssClass = cssClass;
+    }
+
+
+    private String describedAs;
+
+    @XmlElement(required = false)
+    public String getDescribedAs() {
+        return describedAs;
+    }
+
+    public void setDescribedAs(String describedAs) {
+        this.describedAs = describedAs;
+    }
+
+
+    private Where hidden;
+
+    @XmlAttribute(required = false)
+    public Where getHidden() {
+        return hidden;
+    }
+
+    public void setHidden(Where hidden) {
+        this.hidden = hidden;
+    }
+
+
+    private LabelPosition labelPosition;
+
+    @XmlAttribute(required = false)
+    public LabelPosition getLabelPosition() {
+        return labelPosition;
+    }
+
+    public void setLabelPosition(LabelPosition labelPosition) {
+        this.labelPosition = labelPosition;
+    }
+
+
+    private Integer multiLine;
+
+    @XmlAttribute(required = false)
+    public Integer getMultiLine() {
+        return multiLine;
+    }
+
+    public void setMultiLine(Integer multiLine) {
+        this.multiLine = multiLine;
+    }
+
+
+    private String named;
+
+    @XmlElement(required = false)
+    public String getNamed() {
+        return named;
+    }
+
+    public void setNamed(String named) {
+        this.named = named;
     }
 
-    private PropertyLayout layout = new PropertyLayout();
 
-    @XmlElement(required = true)
-    public PropertyLayout getLayout() {
-        return layout;
+    private Boolean namedEscaped;
+
+    @XmlAttribute(required = false)
+    public Boolean getNamedEscaped() {
+        return namedEscaped;
+    }
+
+    public void setNamedEscaped(Boolean namedEscaped) {
+        this.namedEscaped = namedEscaped;
+    }
+
+
+    private Boolean renderedAsDayBefore;
+
+    @XmlAttribute(required = false)
+    public Boolean getRenderedAsDayBefore() {
+        return renderedAsDayBefore;
     }
 
-    public void setLayout(PropertyLayout layout) {
-        this.layout = layout;
+    public void setRenderedAsDayBefore(Boolean renderedAsDayBefore) {
+        this.renderedAsDayBefore = renderedAsDayBefore;
     }
 
 
+    private Integer typicalLength;
+
+    @XmlAttribute(required = false)
+    public Integer getTypicalLength() {
+        return typicalLength;
+    }
+
+    public void setTypicalLength(Integer typicalLength) {
+        this.typicalLength = typicalLength;
+    }
+
+
+
+    private List<Action> actions;
+
+    @XmlElementWrapper(required = false)
+    @XmlElement(name = "action", required = false)
+    public List<Action> getActions() {
+        return actions;
+    }
+
+    public void setActions(List<Action> actions) {
+        this.actions = actions;
+    }
 
 
     private PropertyGroup owner;

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/PropertyLayout.java
----------------------------------------------------------------------
diff --git 
a/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/PropertyLayout.java
 
b/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/PropertyLayout.java
deleted file mode 100644
index 7e67acf..0000000
--- 
a/core/applib/src/main/java/org/apache/isis/applib/layout/v1_0/PropertyLayout.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/**
- *  Licensed to the Apache Software Foundation (ASF) under one or more
- *  contributor license agreements.  See the NOTICE file distributed with
- *  this work for additional information regarding copyright ownership.
- *  The ASF licenses this file to You under the Apache License, Version 2.0
- *  (the "License"); you may not use this file except in compliance with
- *  the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing, software
- *  distributed under the License is distributed on an "AS IS" BASIS,
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- *  See the License for the specific language governing permissions and
- *  limitations under the License.
- */
-package org.apache.isis.applib.layout.v1_0;
-
-import java.io.Serializable;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.isis.applib.annotation.LabelPosition;
-import org.apache.isis.applib.annotation.Where;
-
-@XmlType(
-        propOrder = {
-                "named"
-                , "describedAs"
-        }
-)
-public class PropertyLayout implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private String cssClass;
-
-    @XmlAttribute(required = false)
-    public String getCssClass() {
-        return cssClass;
-    }
-
-    public void setCssClass(String cssClass) {
-        this.cssClass = cssClass;
-    }
-
-
-    private String describedAs;
-
-    @XmlElement(required = false)
-    public String getDescribedAs() {
-        return describedAs;
-    }
-
-    public void setDescribedAs(String describedAs) {
-        this.describedAs = describedAs;
-    }
-
-
-    private Where hidden;
-
-    @XmlAttribute(required = false)
-    public Where getHidden() {
-        return hidden;
-    }
-
-    public void setHidden(Where hidden) {
-        this.hidden = hidden;
-    }
-
-
-    private LabelPosition labelPosition;
-
-    @XmlAttribute(required = false)
-    public LabelPosition getLabelPosition() {
-        return labelPosition;
-    }
-
-    public void setLabelPosition(LabelPosition labelPosition) {
-        this.labelPosition = labelPosition;
-    }
-
-
-    private Integer multiLine;
-
-    @XmlAttribute(required = false)
-    public Integer getMultiLine() {
-        return multiLine;
-    }
-
-    public void setMultiLine(Integer multiLine) {
-        this.multiLine = multiLine;
-    }
-
-
-    private String named;
-
-    @XmlElement(required = false)
-    public String getNamed() {
-        return named;
-    }
-
-    public void setNamed(String named) {
-        this.named = named;
-    }
-
-
-    private Boolean namedEscaped;
-
-    @XmlAttribute(required = false)
-    public Boolean getNamedEscaped() {
-        return namedEscaped;
-    }
-
-    public void setNamedEscaped(Boolean namedEscaped) {
-        this.namedEscaped = namedEscaped;
-    }
-
-
-    private Boolean renderedAsDayBefore;
-
-    @XmlAttribute(required = false)
-    public Boolean getRenderedAsDayBefore() {
-        return renderedAsDayBefore;
-    }
-
-    public void setRenderedAsDayBefore(Boolean renderedAsDayBefore) {
-        this.renderedAsDayBefore = renderedAsDayBefore;
-    }
-
-
-    private Integer typicalLength;
-
-    @XmlAttribute(required = false)
-    public Integer getTypicalLength() {
-        return typicalLength;
-    }
-
-    public void setTypicalLength(Integer typicalLength) {
-        this.typicalLength = typicalLength;
-    }
-
-
-
-
-    private Property owner;
-    /**
-     * Owner.
-     *
-     * <p>
-     *     Set programmatically by framework after reading in from XML.
-     * </p>
-     */
-    @XmlTransient
-    public Property getOwner() {
-        return owner;
-    }
-
-    public void setOwner(final Property owner) {
-        this.owner = owner;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetForActionLayoutXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetForActionLayoutXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetForActionLayoutXml.java
deleted file mode 100644
index c585b6b..0000000
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetForActionLayoutXml.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import org.apache.isis.applib.layout.v1_0.ActionLayout;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import 
org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet;
-import 
org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetAbstract;
-
-public class ActionPositionFacetForActionLayoutXml extends 
ActionPositionFacetAbstract {
-
-    public static ActionPositionFacet create(ActionLayout actionLayout, 
FacetHolder holder) {
-        if(actionLayout == null) {
-            return null;
-        }
-        final org.apache.isis.applib.annotation.ActionLayout.Position position 
= actionLayout.getPosition();
-        return position != null ? new 
ActionPositionFacetForActionLayoutXml(position, holder) : null;
-    }
-
-    private ActionPositionFacetForActionLayoutXml(final 
org.apache.isis.applib.annotation.ActionLayout.Position position, final 
FacetHolder holder) {
-        super(position, holder);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetForActionXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetForActionXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetForActionXml.java
new file mode 100644
index 0000000..d19bf9d
--- /dev/null
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionPositionFacetForActionXml.java
@@ -0,0 +1,41 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.core.metamodel.facets.actions.layout;
+
+import org.apache.isis.applib.layout.v1_0.Action;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import 
org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacet;
+import 
org.apache.isis.core.metamodel.facets.actions.position.ActionPositionFacetAbstract;
+
+public class ActionPositionFacetForActionXml extends 
ActionPositionFacetAbstract {
+
+    public static ActionPositionFacet create(Action actionLayout, FacetHolder 
holder) {
+        if(actionLayout == null) {
+            return null;
+        }
+        final org.apache.isis.applib.annotation.ActionLayout.Position position 
= actionLayout.getPosition();
+        return position != null ? new 
ActionPositionFacetForActionXml(position, holder) : null;
+    }
+
+    private ActionPositionFacetForActionXml(final 
org.apache.isis.applib.annotation.ActionLayout.Position position, final 
FacetHolder holder) {
+        super(position, holder);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetForActionLayoutXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetForActionLayoutXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetForActionLayoutXml.java
deleted file mode 100644
index f273e9a..0000000
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetForActionLayoutXml.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import org.apache.isis.applib.annotation.BookmarkPolicy;
-import org.apache.isis.applib.layout.v1_0.ActionLayout;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import 
org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet;
-import 
org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetAbstract;
-
-public class BookmarkPolicyFacetForActionLayoutXml extends 
BookmarkPolicyFacetAbstract {
-
-    public static BookmarkPolicyFacet create(final ActionLayout actionLayout, 
final FacetHolder holder) {
-        if (actionLayout == null) {
-            return null;
-        }
-        final BookmarkPolicy bookmarkPolicy = actionLayout.getBookmarking();
-        return bookmarkPolicy != null && bookmarkPolicy != 
BookmarkPolicy.NEVER ? new 
BookmarkPolicyFacetForActionLayoutXml(bookmarkPolicy, holder) : null;
-    }
-
-    private BookmarkPolicyFacetForActionLayoutXml(final BookmarkPolicy 
bookmarkPolicy, final FacetHolder holder) {
-        super(bookmarkPolicy, holder);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetForActionXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetForActionXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetForActionXml.java
new file mode 100644
index 0000000..b3a9623
--- /dev/null
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/BookmarkPolicyFacetForActionXml.java
@@ -0,0 +1,42 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.core.metamodel.facets.actions.layout;
+
+import org.apache.isis.applib.annotation.BookmarkPolicy;
+import org.apache.isis.applib.layout.v1_0.Action;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import 
org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet;
+import 
org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacetAbstract;
+
+public class BookmarkPolicyFacetForActionXml extends 
BookmarkPolicyFacetAbstract {
+
+    public static BookmarkPolicyFacet create(final Action actionLayout, final 
FacetHolder holder) {
+        if (actionLayout == null) {
+            return null;
+        }
+        final BookmarkPolicy bookmarkPolicy = actionLayout.getBookmarking();
+        return bookmarkPolicy != null && bookmarkPolicy != 
BookmarkPolicy.NEVER ? new BookmarkPolicyFacetForActionXml(bookmarkPolicy, 
holder) : null;
+    }
+
+    private BookmarkPolicyFacetForActionXml(final BookmarkPolicy 
bookmarkPolicy, final FacetHolder holder) {
+        super(bookmarkPolicy, holder);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetForActionLayoutXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetForActionLayoutXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetForActionLayoutXml.java
deleted file mode 100644
index 285d705..0000000
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetForActionLayoutXml.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.applib.layout.v1_0.ActionLayout;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import 
org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet;
-import 
org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacetAbstract;
-import 
org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
-
-public class CssClassFaFacetForActionLayoutXml extends CssClassFaFacetAbstract 
{
-
-    public static CssClassFaFacet create(final ActionLayout actionLayout, 
final FacetHolder holder) {
-        if(actionLayout == null) {
-            return null;
-        }
-        final String cssClassFa = 
Strings.emptyToNull(actionLayout.getCssClassFa());
-        CssClassFaPosition cssClassFaPosition = 
CssClassFaPosition.from(actionLayout.getCssClassFaPosition());
-        return cssClassFa != null ? new 
CssClassFaFacetForActionLayoutXml(cssClassFa, cssClassFaPosition, holder) : 
null;
-    }
-
-    private CssClassFaFacetForActionLayoutXml(final String value, final 
CssClassFaPosition position, final FacetHolder holder) {
-        super(value, position, holder);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetForActionXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetForActionXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetForActionXml.java
new file mode 100644
index 0000000..d0258d4
--- /dev/null
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFaFacetForActionXml.java
@@ -0,0 +1,45 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.core.metamodel.facets.actions.layout;
+
+import com.google.common.base.Strings;
+
+import org.apache.isis.applib.layout.v1_0.Action;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import 
org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacet;
+import 
org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaFacetAbstract;
+import 
org.apache.isis.core.metamodel.facets.members.cssclassfa.CssClassFaPosition;
+
+public class CssClassFaFacetForActionXml extends CssClassFaFacetAbstract {
+
+    public static CssClassFaFacet create(final Action actionLayout, final 
FacetHolder holder) {
+        if(actionLayout == null) {
+            return null;
+        }
+        final String cssClassFa = 
Strings.emptyToNull(actionLayout.getCssClassFa());
+        CssClassFaPosition cssClassFaPosition = 
CssClassFaPosition.from(actionLayout.getCssClassFaPosition());
+        return cssClassFa != null ? new 
CssClassFaFacetForActionXml(cssClassFa, cssClassFaPosition, holder) : null;
+    }
+
+    private CssClassFaFacetForActionXml(final String value, final 
CssClassFaPosition position, final FacetHolder holder) {
+        super(value, position, holder);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetForActionLayoutXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetForActionLayoutXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetForActionLayoutXml.java
deleted file mode 100644
index c242091..0000000
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetForActionLayoutXml.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.applib.layout.v1_0.ActionLayout;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import 
org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
-
-public class CssClassFacetForActionLayoutXml extends CssClassFacetAbstract {
-
-    public static CssClassFacet create(ActionLayout actionLayout, FacetHolder 
holder) {
-        if(actionLayout == null) {
-            return null;
-        }
-        final String cssClass = 
Strings.emptyToNull(actionLayout.getCssClass());
-        return cssClass != null ? new 
CssClassFacetForActionLayoutXml(cssClass, holder) : null;
-    }
-
-    private CssClassFacetForActionLayoutXml(String value, FacetHolder holder) {
-        super(value, holder);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetForActionXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetForActionXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetForActionXml.java
new file mode 100644
index 0000000..9ba1431
--- /dev/null
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/CssClassFacetForActionXml.java
@@ -0,0 +1,43 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.core.metamodel.facets.actions.layout;
+
+import com.google.common.base.Strings;
+
+import org.apache.isis.applib.layout.v1_0.Action;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
+import 
org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
+
+public class CssClassFacetForActionXml extends CssClassFacetAbstract {
+
+    public static CssClassFacet create(Action actionLayout, FacetHolder 
holder) {
+        if(actionLayout == null) {
+            return null;
+        }
+        final String cssClass = 
Strings.emptyToNull(actionLayout.getCssClass());
+        return cssClass != null ? new CssClassFacetForActionXml(cssClass, 
holder) : null;
+    }
+
+    private CssClassFacetForActionXml(String value, FacetHolder holder) {
+        super(value, holder);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetForActionLayoutXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetForActionLayoutXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetForActionLayoutXml.java
deleted file mode 100644
index 493cd7f..0000000
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetForActionLayoutXml.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.applib.layout.v1_0.ActionLayout;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
-import 
org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacetAbstract;
-
-public class DescribedAsFacetForActionLayoutXml extends 
DescribedAsFacetAbstract {
-
-    public static DescribedAsFacet create(ActionLayout actionLayout, 
FacetHolder holder) {
-        if(actionLayout == null) {
-            return null;
-        }
-        final String describedAs = 
Strings.emptyToNull(actionLayout.getDescribedAs());
-        return describedAs != null ? new 
DescribedAsFacetForActionLayoutXml(describedAs, holder) : null;
-    }
-
-    private DescribedAsFacetForActionLayoutXml(String value, FacetHolder 
holder) {
-        super(value, holder);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetForActionXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetForActionXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetForActionXml.java
new file mode 100644
index 0000000..a33dd7c
--- /dev/null
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/DescribedAsFacetForActionXml.java
@@ -0,0 +1,43 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.core.metamodel.facets.actions.layout;
+
+import com.google.common.base.Strings;
+
+import org.apache.isis.applib.layout.v1_0.Action;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
+import 
org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacetAbstract;
+
+public class DescribedAsFacetForActionXml extends DescribedAsFacetAbstract {
+
+    public static DescribedAsFacet create(Action actionLayout, FacetHolder 
holder) {
+        if(actionLayout == null) {
+            return null;
+        }
+        final String describedAs = 
Strings.emptyToNull(actionLayout.getDescribedAs());
+        return describedAs != null ? new 
DescribedAsFacetForActionXml(describedAs, holder) : null;
+    }
+
+    private DescribedAsFacetForActionXml(String value, FacetHolder holder) {
+        super(value, holder);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/HiddenFacetForActionLayoutXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/HiddenFacetForActionLayoutXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/HiddenFacetForActionLayoutXml.java
index 821083a..c0b98da1 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/HiddenFacetForActionLayoutXml.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/HiddenFacetForActionLayoutXml.java
@@ -21,7 +21,7 @@ package org.apache.isis.core.metamodel.facets.actions.layout;
 
 import org.apache.isis.applib.annotation.When;
 import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.layout.v1_0.ActionLayout;
+import org.apache.isis.applib.layout.v1_0.Action;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
@@ -29,7 +29,7 @@ import 
org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetAbstract;
 
 public class HiddenFacetForActionLayoutXml extends HiddenFacetAbstract {
 
-    public static HiddenFacet create(final ActionLayout actionLayout, final 
FacetHolder holder) {
+    public static HiddenFacet create(final Action actionLayout, final 
FacetHolder holder) {
         if (actionLayout == null) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionLayoutXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionLayoutXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionLayoutXml.java
deleted file mode 100644
index a8917d6..0000000
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionLayoutXml.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.actions.layout;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.applib.layout.v1_0.ActionLayout;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
-
-public class NamedFacetForActionLayoutXml extends NamedFacetAbstract {
-
-    public static NamedFacet create(final ActionLayout actionLayout, final 
FacetHolder holder) {
-        if(actionLayout == null) {
-            return null;
-        }
-        final String named = Strings.emptyToNull(actionLayout.getNamed());
-        Boolean escaped = actionLayout.getNamedEscaped();
-        return named != null ? new NamedFacetForActionLayoutXml(named, 
(escaped == null || escaped), holder) : null;
-    }
-
-    private NamedFacetForActionLayoutXml(final String value, final boolean 
escaped, final FacetHolder holder) {
-
-        super(value, escaped, holder);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionXml.java
new file mode 100644
index 0000000..c96fa2a
--- /dev/null
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/layout/NamedFacetForActionXml.java
@@ -0,0 +1,45 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.core.metamodel.facets.actions.layout;
+
+import com.google.common.base.Strings;
+
+import org.apache.isis.applib.layout.v1_0.Action;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
+import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
+
+public class NamedFacetForActionXml extends NamedFacetAbstract {
+
+    public static NamedFacet create(final Action actionLayout, final 
FacetHolder holder) {
+        if(actionLayout == null) {
+            return null;
+        }
+        final String named = Strings.emptyToNull(actionLayout.getNamed());
+        Boolean escaped = actionLayout.getNamedEscaped();
+        return named != null ? new NamedFacetForActionXml(named, (escaped == 
null || escaped), holder) : null;
+    }
+
+    private NamedFacetForActionXml(final String value, final boolean escaped, 
final FacetHolder holder) {
+
+        super(value, escaped, holder);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetForCollectionLayoutXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetForCollectionLayoutXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetForCollectionLayoutXml.java
deleted file mode 100644
index 80f6132..0000000
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetForCollectionLayoutXml.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.applib.layout.v1_0.CollectionLayout;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import 
org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
-
-public class CssClassFacetForCollectionLayoutXml extends CssClassFacetAbstract 
{
-
-    public static CssClassFacet create(CollectionLayout collectionLayout, 
FacetHolder holder) {
-        if(collectionLayout == null) {
-            return null;
-        }
-        final String cssClass = 
Strings.emptyToNull(collectionLayout.getCssClass());
-        return cssClass != null ? new 
CssClassFacetForCollectionLayoutXml(cssClass, holder) : null;
-    }
-
-    private CssClassFacetForCollectionLayoutXml(String value, FacetHolder 
holder) {
-        super(value, holder);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetForCollectionXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetForCollectionXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetForCollectionXml.java
new file mode 100644
index 0000000..c75d5a7
--- /dev/null
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CssClassFacetForCollectionXml.java
@@ -0,0 +1,43 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.core.metamodel.facets.collections.layout;
+
+import com.google.common.base.Strings;
+
+import org.apache.isis.applib.layout.v1_0.Collection;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
+import 
org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacetAbstract;
+
+public class CssClassFacetForCollectionXml extends CssClassFacetAbstract {
+
+    public static CssClassFacet create(Collection collectionLayout, 
FacetHolder holder) {
+        if(collectionLayout == null) {
+            return null;
+        }
+        final String cssClass = 
Strings.emptyToNull(collectionLayout.getCssClass());
+        return cssClass != null ? new CssClassFacetForCollectionXml(cssClass, 
holder) : null;
+    }
+
+    private CssClassFacetForCollectionXml(String value, FacetHolder holder) {
+        super(value, holder);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetForCollectionLayoutXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetForCollectionLayoutXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetForCollectionLayoutXml.java
deleted file mode 100644
index b8d9056..0000000
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetForCollectionLayoutXml.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.layout;
-
-import com.google.common.base.Strings;
-
-import org.apache.isis.applib.layout.v1_0.CollectionLayout;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import 
org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet;
-import 
org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacetAbstract;
-
-public class DefaultViewFacetForCollectionLayoutXml extends 
DefaultViewFacetAbstract {
-
-    private DefaultViewFacetForCollectionLayoutXml(String value, FacetHolder 
holder) {
-        super(value, holder);
-    }
-
-    public static DefaultViewFacet create(CollectionLayout collectionLayout, 
FacetHolder holder) {
-        if (collectionLayout == null) {
-            return null;
-        }
-
-        final String defaultView = 
Strings.emptyToNull(collectionLayout.getDefaultView());
-        return defaultView != null ? new 
DefaultViewFacetForCollectionLayoutXml(defaultView, holder) : null;
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/199c70d9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetForCollectionXml.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetForCollectionXml.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetForCollectionXml.java
new file mode 100644
index 0000000..594bca0
--- /dev/null
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/DefaultViewFacetForCollectionXml.java
@@ -0,0 +1,43 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.core.metamodel.facets.collections.layout;
+
+import com.google.common.base.Strings;
+
+import org.apache.isis.applib.layout.v1_0.Collection;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import 
org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet;
+import 
org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacetAbstract;
+
+public class DefaultViewFacetForCollectionXml extends DefaultViewFacetAbstract 
{
+
+    private DefaultViewFacetForCollectionXml(String value, FacetHolder holder) 
{
+        super(value, holder);
+    }
+
+    public static DefaultViewFacet create(Collection collectionLayout, 
FacetHolder holder) {
+        if (collectionLayout == null) {
+            return null;
+        }
+
+        final String defaultView = 
Strings.emptyToNull(collectionLayout.getDefaultView());
+        return defaultView != null ? new 
DefaultViewFacetForCollectionXml(defaultView, holder) : null;
+    }
+}

Reply via email to