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 2016/02/24 00:40:06 UTC

[03/13] isis git commit: isis-993: deleting the original layout grids (including the first-cut fixed column stuff that preceded the bootstrap3 grids).

isis-993: deleting the original layout grids (including the first-cut fixed column stuff that preceded the bootstrap3 grids).


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

Branch: refs/heads/ISIS-993
Commit: 69ed9c5e46ad4edad63c1c46498c03bdaa00192d
Parents: 7488f51
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Wed Feb 17 16:37:36 2016 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Wed Feb 17 16:37:36 2016 +0000

----------------------------------------------------------------------
 .../grid/GridNormalizerServiceAbstract.java     |  24 +-
 .../grid/fixedcols/GridNormalizerServiceFC.java | 172 -----
 .../grid/fixedcols/applib/FCColumn.java         | 135 ----
 .../grid/fixedcols/applib/FCColumnOwner.java    |  25 -
 .../services/grid/fixedcols/applib/FCGrid.java  | 204 ------
 .../services/grid/fixedcols/applib/FCTab.java   | 159 -----
 .../grid/fixedcols/applib/FCTabGroup.java       |  94 ---
 .../grid/fixedcols/applib/FCTabGroupOwner.java  |  25 -
 .../services/grid/fixedcols/applib/Hint.java    |  12 -
 .../grid/fixedcols/applib/package-info.java     |  44 --
 .../metamodel/services/grid/FCGridTest.java     | 128 ----
 .../ComponentFactoryRegistrarDefault.java       |   4 -
 .../links/EntityLinksSelectorPanelFactory.java  |   5 -
 .../layout/fixedcols/FCGridPanel.html           |  34 -
 .../layout/fixedcols/FCGridPanel.java           | 114 ---
 .../components/layout/fixedcols/PropUtil.java   |  92 ---
 .../collections/EntityCollectionsPanel.html     |  32 -
 .../collections/EntityCollectionsPanel.java     | 151 ----
 .../EntityCollectionsPanelFactory.java          |  49 --
 .../layout/fixedcols/columns/EntityColumn.html  |  31 -
 .../layout/fixedcols/columns/EntityColumn.java  | 191 -----
 .../propsandcolls/EntityPropsAndCollsForm.java  | 710 -------------------
 .../EntityPropsAndCollsForm.properties          |  22 -
 .../propsandcolls/EntityPropsAndCollsPanel.html |  54 --
 .../propsandcolls/EntityPropsAndCollsPanel.java |  67 --
 .../EntityPropsAndCollsPanelFactory.java        |  53 --
 .../tabgrouplist/TabGroupListPanel.html         |  28 -
 .../tabgrouplist/TabGroupListPanel.java         |  67 --
 .../layout/fixedcols/tabs/TabGroupPanel.java    | 105 ---
 .../layout/fixedcols/tabs/TabPanel.html         |  31 -
 .../layout/fixedcols/tabs/TabPanel.java         |  24 -
 31 files changed, 3 insertions(+), 2883 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridNormalizerServiceAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridNormalizerServiceAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridNormalizerServiceAbstract.java
index d8b1742..dd7abc8 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridNormalizerServiceAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridNormalizerServiceAbstract.java
@@ -96,10 +96,6 @@ import org.apache.isis.core.metamodel.facets.properties.propertylayout.MultiLine
 import org.apache.isis.core.metamodel.facets.properties.propertylayout.NamedFacetForPropertyXml;
 import org.apache.isis.core.metamodel.facets.properties.propertylayout.RenderedAdjustedFacetForPropertyXml;
 import org.apache.isis.core.metamodel.facets.properties.propertylayout.TypicalLengthFacetForPropertyXml;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCColumn;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCColumnOwner;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCGrid;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCTab;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLoader;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderAware;
@@ -185,7 +181,7 @@ public abstract class GridNormalizerServiceAbstract<G extends Grid>
 
         final ObjectSpecification objectSpec = specificationLookup.loadSpecification(domainClass);
 
-        grid.visit(new FCGrid.VisitorAdapter() {
+        grid.visit(new Grid.VisitorAdapter() {
             @Override
             public void visit(final ActionLayoutData actionLayoutData) {
                 final ObjectAction objectAction = objectSpec.getObjectAction(actionLayoutData.getId());
@@ -438,7 +434,7 @@ public abstract class GridNormalizerServiceAbstract<G extends Grid>
     @Override
     public void minimal(final G grid, final Class<?> domainClass) {
         normalize(grid, domainClass);
-        grid.visit(new FCGrid.VisitorAdapter() {
+        grid.visit(new Grid.VisitorAdapter() {
             @Override
             public void visit(final ActionLayoutData actionLayoutData) {
                 actionLayoutData.getOwner().getActions().remove(actionLayoutData);
@@ -485,7 +481,7 @@ public abstract class GridNormalizerServiceAbstract<G extends Grid>
             final Map<String, ObjectAction> objectActionById) {
 
         final Map<String, int[]> propertySequenceByGroup = Maps.newHashMap();
-        fcGrid.visit(new FCGrid.VisitorAdapter() {
+        fcGrid.visit(new Grid.VisitorAdapter() {
             private int collectionSequence = 1;
 
             private int actionDomainObjectSequence = 1;
@@ -602,20 +598,6 @@ public abstract class GridNormalizerServiceAbstract<G extends Grid>
                 final String sequence = "" + collectionSequence++;
                 FacetUtil.addOrReplaceFacet(
                         new MemberOrderFacetXml(groupName, sequence, translationService, oneToManyAssociation));
-
-                // if there is only a single column and no other contents, then copy the collection Id onto the tab'
-                final MemberRegionOwner memberRegionOwner = collectionLayoutData.getOwner();
-                if(memberRegionOwner instanceof FCColumn) {
-                    final FCColumn FCColumn = (FCColumn) memberRegionOwner;
-                    final FCColumnOwner holder = FCColumn.getOwner();
-                    if(holder instanceof FCTab) {
-                        final FCTab FCTab = (FCTab) holder;
-                        if(FCTab.getContents().size() == 1 && Strings.isNullOrEmpty(FCTab.getName()) ) {
-                            final String collectionName = oneToManyAssociation.getName();
-                            FCTab.setName(collectionName);
-                        }
-                    }
-                }
             }
         });
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/GridNormalizerServiceFC.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/GridNormalizerServiceFC.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/GridNormalizerServiceFC.java
deleted file mode 100644
index bf3b5a2..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/GridNormalizerServiceFC.java
+++ /dev/null
@@ -1,172 +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.services.grid.fixedcols;
-
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicReference;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.NatureOfService;
-import org.apache.isis.applib.layout.component.ActionLayoutData;
-import org.apache.isis.applib.layout.component.CollectionLayoutData;
-import org.apache.isis.applib.layout.component.FieldSet;
-import org.apache.isis.applib.layout.component.Grid;
-import org.apache.isis.applib.layout.component.PropertyLayoutData;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCColumn;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCGrid;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCTab;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCTabGroup;
-import org.apache.isis.core.metamodel.facets.object.membergroups.MemberGroupLayoutFacet;
-import org.apache.isis.core.metamodel.services.grid.GridNormalizerServiceAbstract;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-
-@DomainService(
-        nature = NatureOfService.DOMAIN
-)
-public class GridNormalizerServiceFC extends GridNormalizerServiceAbstract {
-
-    public static final String TNS = "http://isis.apache.org/schema/applib/layout/fixedcols";
-    public static final String SCHEMA_LOCATION = "http://isis.apache.org/schema/applib/layout/fixedcols/fixedcols.xsd";
-
-    public GridNormalizerServiceFC() {
-        super(FCGrid.class, TNS, SCHEMA_LOCATION);
-    }
-
-
-    /**
-     * Ensures that all object members (properties, collections and actions) are in the metadata.
-     *
-     * <p>
-     *     If they are missing then they will be added to default tabs (created on the fly if need be).
-     * </p>
-     */
-    @Override
-    protected boolean validateAndDerive(
-            final Grid grid,
-            final Map oneToOneAssociationById,
-            final Map oneToManyAssociationById,
-            final Map objectActionById, final ObjectSpecification objectSpec) {
-
-        final FCGrid fcGrid = (FCGrid) grid;
-
-        final LinkedHashMap<String, PropertyLayoutData> propertyIds = fcGrid.getAllPropertiesById();
-        final LinkedHashMap<String, CollectionLayoutData> collectionIds = fcGrid.getAllCollectionsById();
-        final LinkedHashMap<String, ActionLayoutData> actionIds = fcGrid.getAllActionsById();
-
-        final AtomicReference<FieldSet> defaultFieldSetRef = new AtomicReference<>();
-        final AtomicReference<FCColumn> firstColumnRef = new AtomicReference<>();
-        final AtomicReference<FCTabGroup> lastTabGroupRef = new AtomicReference<>();
-
-        // capture the first column, and also
-        // capture the first property group (if any) with the default name ('General')
-        fcGrid.visit(new FCGrid.VisitorAdapter() {
-            @Override
-            public void visit(final FCColumn fcColumn) {
-                firstColumnRef.compareAndSet(null, fcColumn);
-            }
-            @Override
-            public void visit(final FieldSet fieldSet) {
-                if(MemberGroupLayoutFacet.DEFAULT_GROUP.equals(fieldSet.getName())) {
-                    defaultFieldSetRef.compareAndSet(null, fieldSet);
-                }
-            }
-            @Override
-            public void visit(final FCTabGroup fcTabGroup) {
-                lastTabGroupRef.set(fcTabGroup);
-            }
-        });
-
-        // any missing properties will be added to the (first) 'General' property group found
-        // if there is no default ('General') property group
-        // then one will be added to the first Column of the first Tab.
-        final Tuple<List<String>> propertyIdTuple = surplusAndMissing(propertyIds.keySet(), oneToOneAssociationById.keySet());
-        final List<String> surplusPropertyIds = propertyIdTuple.first;
-        final List<String> missingPropertyIds = propertyIdTuple.second;
-
-        for (String surplusPropertyId : surplusPropertyIds) {
-            propertyIds.get(surplusPropertyId).setMetadataError("No such property");
-        }
-
-        if(!missingPropertyIds.isEmpty()) {
-            // ensure that there is a property group to use
-            boolean wasSet = defaultFieldSetRef.compareAndSet(null, new FieldSet(MemberGroupLayoutFacet.DEFAULT_GROUP));
-            final FieldSet defaultFieldSet = defaultFieldSetRef.get();
-            if(wasSet) {
-                firstColumnRef.get().getFieldSets().add(defaultFieldSet);
-            }
-            for (final String propertyId : missingPropertyIds) {
-                defaultFieldSet.getProperties().add(new PropertyLayoutData(propertyId));
-            }
-        }
-
-
-        // any missing collections will be added as tabs to the last TabGroup.
-        // If there is only a single tab group then a new TabGroup will be added first
-        final Tuple<List<String>> collectionIdTuple = surplusAndMissing(collectionIds.keySet(), oneToManyAssociationById.keySet());
-        final List<String> surplusCollectionIds = collectionIdTuple.first;
-        final List<String> missingCollectionIds = collectionIdTuple.second;
-
-        for (String surplusCollectionId : surplusCollectionIds) {
-            collectionIds.get(surplusCollectionId).setMetadataError("No such collection");
-        }
-
-        if(!missingCollectionIds.isEmpty()) {
-            while(fcGrid.getTabGroups().size() < 2) {
-                final FCTabGroup tabGroup = new FCTabGroup();
-                fcGrid.getTabGroups().add(tabGroup);
-                lastTabGroupRef.set(tabGroup);
-            }
-            final FCTabGroup lastTabGroup = lastTabGroupRef.get();
-            for (final String collectionId : missingCollectionIds) {
-                final FCTab FCTab = new FCTab();
-                lastTabGroup.getTabs().add(FCTab);
-                FCColumn left = new FCColumn(12);
-                FCTab.setLeft(left);
-                final CollectionLayoutData layoutMetadata = new CollectionLayoutData(collectionId);
-                layoutMetadata.setDefaultView("table");
-                left.getCollections().add(layoutMetadata);
-            }
-        }
-
-        // any missing actions will be added as domain object actions (in the header)
-        final Tuple<List<String>> actionIdTuple = surplusAndMissing(actionIds.keySet(), objectActionById.keySet());
-        final List<String> surplusActionIds = actionIdTuple.first;
-        final List<String> missingActionIds = actionIdTuple.second;
-
-        for (String surplusActionId : surplusActionIds) {
-            actionIds.get(surplusActionId).setMetadataError("No such action");
-        }
-
-        if(!missingActionIds.isEmpty()) {
-            for (String actionId : missingActionIds) {
-                List<ActionLayoutData> actions = fcGrid.getActions();
-                if(actions == null) {
-                    actions = Lists.newArrayList();
-                    fcGrid.setActions(actions);
-                }
-                actions.add(new ActionLayoutData(actionId));
-            }
-        }
-        return true;
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCColumn.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCColumn.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCColumn.java
deleted file mode 100644
index b2cab4b..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCColumn.java
+++ /dev/null
@@ -1,135 +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.services.grid.fixedcols.applib;
-
-import java.io.Serializable;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.layout.component.CollectionLayoutData;
-import org.apache.isis.applib.layout.component.CollectionLayoutDataOwner;
-import org.apache.isis.applib.layout.component.FieldSet;
-import org.apache.isis.applib.layout.component.FieldSetOwner;
-import org.apache.isis.applib.layout.component.Owned;
-import org.apache.isis.applib.layout.component.PropertyLayoutData;
-
-/**
- * The column contains a mixture of {@link FieldSet}s (of {@link PropertyLayoutData properties}) and also
- * {@link CollectionLayoutData collection}s.
- *
- * <p>
- * A column generally is used within a {@link FCTab}; there can be up to three such (left, middle and right).  It is
- * also possible for their to be a column far-left on the top-level {@link FCGrid page}, and another far-right.
- * </p>
- *
- */
-@XmlType(
-        propOrder = {
-                "fieldSets"
-                , "collections"
-        }
-)
-public class FCColumn implements Serializable, FieldSetOwner, CollectionLayoutDataOwner, Owned<FCColumnOwner> {
-
-    private static final long serialVersionUID = 1L;
-
-    public FCColumn() {
-    }
-
-    public FCColumn(final int span) {
-        setSpan(span);
-    }
-
-    private int span = 4;
-
-    @XmlAttribute(required = true)
-    public int getSpan() {
-        return span;
-    }
-
-    public void setSpan(final int span) {
-        this.span = span;
-    }
-
-
-
-    private List<FieldSet> fieldSets = Lists.newArrayList();
-
-    // no wrapper
-    @XmlElementRef(type = FieldSet.class, name = "fieldSet", required = false)
-    public List<FieldSet> getFieldSets() {
-        return fieldSets;
-    }
-
-    public void setFieldSets(final List<FieldSet> fieldSets) {
-        this.fieldSets = fieldSets;
-    }
-
-
-    private List<CollectionLayoutData> collections = Lists.newArrayList();
-
-    // no wrapper
-    @XmlElementRef(type = CollectionLayoutData.class, name = "collection", required = false)
-    public List<CollectionLayoutData> getCollections() {
-        return collections;
-    }
-
-    public void setCollections(final List<CollectionLayoutData> collections) {
-        this.collections = collections;
-    }
-
-
-    private FCColumnOwner owner;
-    /**
-     * Owner.
-     *
-     * <p>
-     *     Set programmatically by framework after reading in from XML.
-     * </p>
-     */
-    @XmlTransient
-    public FCColumnOwner getOwner() {
-        return owner;
-    }
-
-    public void setOwner(final FCColumnOwner owner) {
-        this.owner = owner;
-    }
-
-
-
-
-    private Hint hint;
-
-    @XmlTransient
-    public Hint getHint() {
-        return hint;
-    }
-
-    public void setHint(final Hint hint) {
-        this.hint = hint;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCColumnOwner.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCColumnOwner.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCColumnOwner.java
deleted file mode 100644
index e35621c..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCColumnOwner.java
+++ /dev/null
@@ -1,25 +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.services.grid.fixedcols.applib;
-
-import org.apache.isis.applib.layout.component.Owner;
-
-public interface FCColumnOwner extends Owner {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCGrid.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCGrid.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCGrid.java
deleted file mode 100644
index b544fc2..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCGrid.java
+++ /dev/null
@@ -1,204 +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.services.grid.fixedcols.applib;
-
-import java.io.Serializable;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementRef;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-import org.apache.isis.applib.layout.component.ActionLayoutData;
-import org.apache.isis.applib.layout.component.ActionLayoutDataOwner;
-import org.apache.isis.applib.layout.component.CollectionLayoutData;
-import org.apache.isis.applib.layout.component.DomainObjectLayoutData;
-import org.apache.isis.applib.layout.component.FieldSet;
-import org.apache.isis.applib.layout.component.Grid;
-import org.apache.isis.applib.layout.component.GridAbstract;
-import org.apache.isis.applib.layout.component.PropertyLayoutData;
-import org.apache.isis.applib.services.dto.Dto;
-
-/**
- * Top-level page, consisting of an optional {@link FCColumn column} on the far left and another (also optional) on the
- * far right, with the middle consisting of a number of {@link FCTabGroup tabgroup}s, stacked vertically.
- */
-@XmlRootElement(
-        name = "grid"
-)
-@XmlType(
-        name = "grid"
-        , propOrder = {
-                "actions"
-                , "left"
-                , "tabGroups"
-                , "right"
-        }
-)
-public class FCGrid extends GridAbstract implements Dto, ActionLayoutDataOwner, Serializable, FCColumnOwner, FCTabGroupOwner {
-
-    private static final long serialVersionUID = 1L;
-
-    private List<ActionLayoutData> actions;
-
-    // no wrapper
-    @XmlElementRef(type = ActionLayoutData.class, name="action", required = false)
-    public List<ActionLayoutData> getActions() {
-        return actions;
-    }
-
-    public void setActions(List<ActionLayoutData> actionLayoutDatas) {
-        this.actions = actionLayoutDatas;
-    }
-
-
-
-    private FCColumn left;
-
-    @XmlElement(required = false)
-    public FCColumn getLeft() {
-        return left;
-    }
-
-    public void setLeft(final FCColumn left) {
-        this.left = left;
-        left.setHint(Hint.LEFT);
-    }
-
-
-
-    private List<FCTabGroup> tabGroups;
-
-    // no wrapper
-    @XmlElement(name = "tabGroup", required = true)
-    public List<FCTabGroup> getTabGroups() {
-        return tabGroups;
-    }
-
-    public void setTabGroups(List<FCTabGroup> tabGroups) {
-        this.tabGroups = tabGroups;
-    }
-
-
-
-    private FCColumn right;
-
-    @XmlElement(required = false)
-    public FCColumn getRight() {
-        return right;
-    }
-
-    public void setRight(final FCColumn right) {
-        this.right = right;
-        right.setHint(Hint.RIGHT);
-    }
-
-
-
-    interface Visitor extends Grid.Visitor {
-        void visit(final FCGrid fcPage);
-        void visit(final FCTabGroup fcTabGroup);
-        void visit(final FCTab fcTab);
-        void visit(final FCColumn fcColumn);
-    }
-
-    public static class VisitorAdapter extends Grid.VisitorAdapter implements Visitor {
-        @Override
-        public void visit(final FCGrid fcPage) { }
-        @Override
-        public void visit(final FCTabGroup fcTabGroup) { }
-        @Override
-        public void visit(final FCTab fcTab) { }
-        @Override
-        public void visit(final FCColumn fcColumn) { }
-        @Override
-        public void visit(final PropertyLayoutData propertyLayoutData) {}
-        @Override
-        public void visit(final CollectionLayoutData collectionLayoutData) {}
-        @Override
-        public void visit(final ActionLayoutData actionLayoutData) { }
-    }
-
-
-    /**
-     * Visits all elements of the graph.  The {@link Visitor} implementation
-     * can assume that all "owner" references are populated.
-     */
-    public void visit(final Grid.Visitor visitor) {
-        FCGrid.Visitor fcVisitor = asFcVisitor(visitor);
-        fcVisitor.visit(this);
-        traverseActions(this, visitor);
-        traverseColumn(getLeft(), this, visitor);
-        final List<FCTabGroup> tabGroups = getTabGroups();
-        for (final FCTabGroup fcTabGroup : tabGroups) {
-            fcTabGroup.setOwner(this);
-            fcVisitor.visit(fcTabGroup);
-            final List<FCTab> tabs = fcTabGroup.getTabs();
-            for (final FCTab fcTab : tabs) {
-                fcTab.setOwner(fcTabGroup);
-                fcVisitor.visit(fcTab);
-                traverseColumn(fcTab.getLeft(), fcTab, visitor);
-                traverseColumn(fcTab.getMiddle(), fcTab, visitor);
-                traverseColumn(fcTab.getRight(), fcTab, visitor);
-            }
-        }
-        traverseColumn(getRight(), this, visitor);
-    }
-
-    private void traverseColumn(
-            final FCColumn fcColumn,
-            final FCColumnOwner fcColumnOwner,
-            final Grid.Visitor visitor) {
-        if(fcColumn == null) {
-            return;
-        }
-        FCGrid.Visitor fcVisitor = asFcVisitor(visitor);
-        fcColumn.setOwner(fcColumnOwner);
-        fcVisitor.visit(fcColumn);
-        traverseFieldSets(fcColumn, visitor);
-        traverseCollections(fcColumn, visitor);
-    }
-
-    private static Visitor asFcVisitor(final Grid.Visitor visitor) {
-        return visitor instanceof Visitor? (Visitor) visitor : new VisitorAdapter() {
-            @Override public void visit(final DomainObjectLayoutData domainObjectLayoutData) {
-                visitor.visit(domainObjectLayoutData);
-            }
-
-            @Override public void visit(final ActionLayoutData actionLayoutData) {
-                visitor.visit(actionLayoutData);
-            }
-
-            @Override public void visit(final PropertyLayoutData propertyLayoutData) {
-                visitor.visit(propertyLayoutData);
-            }
-
-            @Override public void visit(final CollectionLayoutData collectionLayoutData) {
-                visitor.visit(collectionLayoutData);
-            }
-
-            @Override public void visit(final FieldSet fieldSet) {
-                visitor.visit(fieldSet);
-            }
-        };
-    }
-
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCTab.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCTab.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCTab.java
deleted file mode 100644
index 49e4489..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCTab.java
+++ /dev/null
@@ -1,159 +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.services.grid.fixedcols.applib;
-
-import java.io.Serializable;
-import java.util.List;
-
-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 com.google.common.base.Predicate;
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.layout.component.CollectionLayoutData;
-import org.apache.isis.applib.layout.component.MemberRegion;
-import org.apache.isis.applib.layout.component.Owned;
-import org.apache.isis.applib.layout.component.FieldSet;
-
-@XmlType(
-        name="tab"
-        , propOrder = {
-                "name"
-                , "left"
-                , "middle"
-                , "right"
-        }
-)
-public class FCTab implements FCColumnOwner, Serializable, Owned<FCTabGroup> {
-
-    private static final long serialVersionUID = 1L;
-
-    private String name;
-
-    @XmlAttribute(required = true)
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-
-
-    private FCColumn left = new FCColumn();
-
-    @XmlElement(required = true)
-    public FCColumn getLeft() {
-        return left;
-    }
-
-    public void setLeft(final FCColumn left) {
-        this.left = left;
-        left.setHint(Hint.LEFT);
-    }
-
-
-    private FCColumn middle;
-
-    @XmlElement(required = false)
-    public FCColumn getMiddle() {
-        return middle;
-    }
-
-    public void setMiddle(final FCColumn middle) {
-        this.middle = middle;
-        middle.setHint(Hint.MIDDLE);
-    }
-
-
-    private FCColumn right;
-
-    @XmlElement(required = false)
-    public FCColumn getRight() {
-        return right;
-    }
-
-    public void setRight(final FCColumn right) {
-        this.right = right;
-        right.setHint(Hint.RIGHT);
-    }
-
-
-
-    private FCTabGroup owner;
-    /**
-     * Owner.
-     *
-     * <p>
-     *     Set programmatically by framework after reading in from XML.
-     * </p>
-     */
-    @XmlTransient
-    public FCTabGroup getOwner() {
-        return owner;
-    }
-
-    public void setOwner(final FCTabGroup owner) {
-        this.owner = owner;
-    }
-
-    /**
-     * Aggregates the contents of all collections on this tab.
-     */
-    @Programmatic
-    public List<MemberRegion> getContents() {
-        final List<MemberRegion> contents = Lists.newArrayList();
-        appendContent(contents, getLeft());
-        appendContent(contents, getMiddle());
-        appendContent(contents, getRight());
-        return contents;
-    }
-
-
-
-    private static void appendContent(final List<MemberRegion> contents, final FCColumn FCColumn) {
-        if(FCColumn == null) {
-            return;
-        }
-        final List<FieldSet> fieldSets = FCColumn.getFieldSets();
-        if(fieldSets != null) {
-            contents.addAll(fieldSets);
-        }
-        final List<CollectionLayoutData> collectionLayoutDatas = FCColumn.getCollections();
-        if(collectionLayoutDatas != null) {
-            contents.addAll(collectionLayoutDatas);
-        }
-    }
-
-    public static class Predicates {
-        public static Predicate<FCTab> notEmpty() {
-            return new Predicate<FCTab>() {
-                @Override
-                public boolean apply(final FCTab FCTab) {
-                    return !FCTab.getContents().isEmpty();
-                }
-            };
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCTabGroup.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCTabGroup.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCTabGroup.java
deleted file mode 100644
index 771db47..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCTabGroup.java
+++ /dev/null
@@ -1,94 +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.services.grid.fixedcols.applib;
-
-import java.io.Serializable;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlTransient;
-import javax.xml.bind.annotation.XmlType;
-
-import com.google.common.base.Predicate;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.Lists;
-
-import org.apache.isis.applib.layout.component.Owned;
-
-@XmlType(
-        propOrder = {
-                "tabs"
-        }
-
-)
-public class FCTabGroup implements FCColumnOwner, Serializable, Owned<FCTabGroupOwner> {
-
-    private static final long serialVersionUID = 1L;
-
-    private List<FCTab> tabs = Lists.newArrayList();
-
-    // no wrapper
-    @XmlElement(name = "tab", required = false)
-    public List<FCTab> getTabs() {
-        return tabs;
-    }
-
-    public void setTabs(List<FCTab> tabs) {
-        this.tabs = tabs;
-    }
-
-
-
-    private FCTabGroupOwner owner;
-
-    /**
-     * Owner.
-     *
-     * <p>
-     *     Set programmatically by framework after reading in from XML.
-     * </p>
-     */
-    @XmlTransient
-    public FCTabGroupOwner getOwner() {
-        return owner;
-    }
-
-    public void setOwner(final FCTabGroupOwner owner) {
-        this.owner = owner;
-    }
-
-
-
-
-
-
-    public static class Predicates {
-        public static Predicate<FCTabGroup> notEmpty() {
-            return new Predicate<FCTabGroup>() {
-                @Override
-                public boolean apply(final FCTabGroup tabGroup) {
-                    return FluentIterable
-                            .from(tabGroup.getTabs())
-                            .anyMatch(FCTab.Predicates.notEmpty());
-                }
-            };
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCTabGroupOwner.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCTabGroupOwner.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCTabGroupOwner.java
deleted file mode 100644
index 165a32b..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/FCTabGroupOwner.java
+++ /dev/null
@@ -1,25 +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.services.grid.fixedcols.applib;
-
-import org.apache.isis.applib.layout.component.Owner;
-
-public interface FCTabGroupOwner extends Owner {
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/Hint.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/Hint.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/Hint.java
index a4b0555..8ac2c32 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/Hint.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/Hint.java
@@ -35,17 +35,5 @@ public enum Hint {
         throw new IllegalStateException();
     }
 
-    public FCColumn from(final FCTab fcTab) {
-        if (fcTab == null) {
-            return null;
-        }
-        if (this == LEFT)
-            return fcTab.getLeft();
-        if (this == MIDDLE)
-            return fcTab.getMiddle();
-        if (this == RIGHT)
-            return fcTab.getRight();
-        throw new IllegalStateException();
-    }
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/package-info.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/package-info.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/package-info.java
deleted file mode 100644
index 3cdd1f1..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/fixedcols/applib/package-info.java
+++ /dev/null
@@ -1,44 +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.
- */
-
-/**
- * THIS STUFF ALL WORKS, BUT REMOVED FROM PUBLIC APPLIB BECAUSE IT LOOKS
- * LIKE THE BOOTSTRAP3 GRID WILL BE SUFFICIENT.
- *
- * The benefit of keeping this stuff around is that it reinforces where
- * separation of responsibilities are for grid components (tab etc)
- * vs common components (fieldset, action, property, collection, domainobject).
- *
- * --------------------
- *
- * The classes in this package define how to layout the properties, collections and actions of a domain object - the
- * building blocks - as defined in the <code>members.v1</code> package.
- *
- * <p>
- *     The layout is reasonably flexible, being a half-way house between the annotation/JSON style layouts (pre 1.12.0)
- *     vs the fully flexible layouts provided by the <code>bootstrap3</code> layouts.  In particular, they allow
- *     property fieldsets and collections to be grouped into tabs, with collections being laid out in any column.
- *     However, tab groups only appear in the central area of the page, and may only have a maximum of three columns.
- * </p>
- */
-@javax.xml.bind.annotation.XmlSchema(
-        namespace = "http://isis.apache.org/schema/applib/layout/fixedcols",
-        elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED
-)
-package org.apache.isis.core.metamodel.services.grid.fixedcols.applib;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/grid/FCGridTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/grid/FCGridTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/grid/FCGridTest.java
deleted file mode 100644
index 6b67072..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/grid/FCGridTest.java
+++ /dev/null
@@ -1,128 +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.services.grid;
-
-import java.util.Arrays;
-import java.util.Map;
-
-import javax.xml.bind.Marshaller;
-
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Lists;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-import org.apache.isis.applib.services.layout.GridNormalizerService;
-import org.apache.isis.applib.layout.component.ActionLayoutData;
-import org.apache.isis.applib.layout.component.CollectionLayoutData;
-import org.apache.isis.applib.layout.component.FieldSet;
-import org.apache.isis.applib.layout.component.PropertyLayoutData;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCColumn;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCGrid;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCTab;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCTabGroup;
-import org.apache.isis.applib.services.jaxb.JaxbService;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.GridNormalizerServiceFC;
-
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertThat;
-
-public class FCGridTest {
-
-    private JaxbService jaxbService;
-    private GridServiceDefault gridServiceDefault;
-    private GridNormalizerServiceFC gridNormalizerServiceFC;
-
-    @Before
-    public void setUp() throws Exception {
-        jaxbService = new JaxbService.Simple();
-        gridServiceDefault = new GridServiceDefault();
-        gridNormalizerServiceFC = new GridNormalizerServiceFC();
-        gridServiceDefault.gridNormalizerServices = Arrays.<GridNormalizerService>asList(gridNormalizerServiceFC);
-    }
-
-    @After
-    public void tearDown() throws Exception {
-
-    }
-
-    @Test
-    public void xxx() throws Exception {
-
-        final FCGrid fcPage = new FCGrid();
-
-        fcPage.setTabGroups(Lists.<FCTabGroup>newArrayList());
-        fcPage.getTabGroups().add(new FCTabGroup());
-        FCTabGroup tabGroup = fcPage.getTabGroups().get(0);
-        FCTab fcTab = new FCTab();
-        tabGroup.getTabs().add(fcTab);
-        fcTab.setName("Common");
-        FCColumn left = fcTab.getLeft();
-
-        FieldSet leftPropGroup = new FieldSet();
-        left.setFieldSets(Lists.<FieldSet>newArrayList());
-        left.getFieldSets().add(leftPropGroup);
-        leftPropGroup.setName("General");
-
-        CollectionLayoutData similarToColl = new CollectionLayoutData();
-        left.setCollections(Lists.<CollectionLayoutData>newArrayList());
-        left.getCollections().add(similarToColl);
-        similarToColl.setId("similarTo");
-
-        left.getFieldSets().add(new FieldSet("General"));
-        PropertyLayoutData namePropertyLayoutData = new PropertyLayoutData("name");
-        left.getFieldSets().get(0).getProperties().add(namePropertyLayoutData);
-
-        ActionLayoutData updateNameActionLayoutData = new ActionLayoutData();
-        updateNameActionLayoutData.setId("updateName");
-        namePropertyLayoutData.setActions(Lists.<ActionLayoutData>newArrayList());
-        namePropertyLayoutData.getActions().add(updateNameActionLayoutData);
-
-        ActionLayoutData deleteActionLayoutData = new ActionLayoutData();
-        deleteActionLayoutData.setId("delete");
-        fcPage.setActions(Lists.<ActionLayoutData>newArrayList());
-        fcPage.getActions().add(deleteActionLayoutData);
-
-        final String schemaLocations = gridServiceDefault.tnsAndSchemaLocation(fcPage);
-        String xml = jaxbService.toXml(fcPage,
-                ImmutableMap.<String,Object>of(Marshaller.JAXB_SCHEMA_LOCATION, schemaLocations));
-        System.out.println(xml);
-
-        FCGrid fcPageRoundtripped = jaxbService.fromXml(FCGrid.class, xml);
-        String xmlRoundtripped = jaxbService.toXml(fcPageRoundtripped,
-                ImmutableMap.<String,Object>of(Marshaller.JAXB_SCHEMA_LOCATION, schemaLocations));
-        assertThat(xml, is(equalTo(xmlRoundtripped)));
-
-
-        System.out.println("==========");
-
-        dumpXsd(fcPage);
-    }
-
-    protected void dumpXsd(final FCGrid fcPage) {
-        Map<String, String> schemas = jaxbService.toXsd(fcPage, JaxbService.IsisSchemas.INCLUDE);
-        for (Map.Entry<String, String> entry : schemas.entrySet()) {
-            System.out.println(entry.getKey() + ":");
-            System.out.println(entry.getValue());
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
index 7120113..408a914 100644
--- a/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
+++ b/core/viewer-wicket-impl/src/main/java/org/apache/isis/viewer/wicket/viewer/registries/components/ComponentFactoryRegistrarDefault.java
@@ -46,8 +46,6 @@ import org.apache.isis.viewer.wicket.ui.components.entity.selector.links.EntityL
 import org.apache.isis.viewer.wicket.ui.components.footer.FooterPanelFactory;
 import org.apache.isis.viewer.wicket.ui.components.header.HeaderPanelFactory;
 import org.apache.isis.viewer.wicket.ui.components.layout.EntityPanelFactory;
-import org.apache.isis.viewer.wicket.ui.components.layout.fixedcols.collections.EntityCollectionsPanelFactory;
-import org.apache.isis.viewer.wicket.ui.components.layout.fixedcols.propsandcolls.EntityPropsAndCollsPanelFactory;
 import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditFormPanelFactory;
 import org.apache.isis.viewer.wicket.ui.components.property.PropertyEditPanelFactory;
 import org.apache.isis.viewer.wicket.ui.components.scalars.isisapplib.IsisBlobPanelFactory;
@@ -175,8 +173,6 @@ public class ComponentFactoryRegistrarDefault implements ComponentFactoryRegistr
         componentFactories.add(new EntityIconAndTitlePanelFactory());
         componentFactories.add(new EntityIconTitleAndCopyLinkPanelFactory());
         componentFactories.add(new EntityHeaderPanelFactory());
-        componentFactories.add(new EntityPropsAndCollsPanelFactory());
-        componentFactories.add(new EntityCollectionsPanelFactory());
     }
 
     protected void addComponentFactoriesForEntityCollectionContents(final ComponentFactoryList componentFactories) {

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanelFactory.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanelFactory.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanelFactory.java
index d83915c..0057a30 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanelFactory.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/entity/selector/links/EntityLinksSelectorPanelFactory.java
@@ -24,7 +24,6 @@ import org.apache.wicket.model.IModel;
 
 import org.apache.isis.applib.layout.grid.bootstrap3.BS3Grid;
 import org.apache.isis.applib.layout.component.Grid;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCGrid;
 import org.apache.isis.core.metamodel.facets.object.grid.GridFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.viewer.wicket.model.models.EntityModel;
@@ -32,7 +31,6 @@ import org.apache.isis.viewer.wicket.ui.ComponentFactory;
 import org.apache.isis.viewer.wicket.ui.ComponentType;
 import org.apache.isis.viewer.wicket.ui.components.entity.EntityComponentFactoryAbstract;
 import org.apache.isis.viewer.wicket.ui.components.layout.bs3.BS3GridPanel;
-import org.apache.isis.viewer.wicket.ui.components.layout.fixedcols.FCGridPanel;
 
 /**
  * {@link ComponentFactory} for {@link EntityLinksSelectorPanel}.
@@ -55,9 +53,6 @@ public class EntityLinksSelectorPanelFactory extends EntityComponentFactoryAbstr
         final Grid grid = facet.getGrid();
         if (grid != null) {
             final EntityModel entityModelWithLayoutMetadata = entityModel.cloneWithLayoutMetadata(grid);
-            if(grid instanceof FCGrid) {
-                return new FCGridPanel(id, entityModelWithLayoutMetadata);
-            }
             if(grid instanceof BS3Grid) {
                 return new BS3GridPanel(id, entityModelWithLayoutMetadata);
             }

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/FCGridPanel.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/FCGridPanel.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/FCGridPanel.html
deleted file mode 100644
index 7b172aa..0000000
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/FCGridPanel.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<html xmlns:wicket="http://wicket.apache.org">
-<body>
-<wicket:panel>
-	<div class="entityTabbed">
-		<div wicket:id="entitySummary"></div>
-
-        <div class="row">
-            <div wicket:id="leftColumn" class = "leftColumn"/>
-            <div wicket:id="middleColumn" class="middleColumn"/>
-            <div wicket:id="rightColumn" class = "rightColumn"/>
-        </div>
-	</div>
-</wicket:panel>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/FCGridPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/FCGridPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/FCGridPanel.java
deleted file mode 100644
index 4623028..0000000
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/FCGridPanel.java
+++ /dev/null
@@ -1,114 +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.viewer.wicket.ui.components.layout.fixedcols;
-
-import java.util.List;
-
-import com.google.common.collect.FluentIterable;
-
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCColumn;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCGrid;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCTabGroup;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
-import org.apache.isis.core.metamodel.facets.object.grid.GridFacet;
-import org.apache.isis.viewer.wicket.model.models.EntityModel;
-import org.apache.isis.viewer.wicket.ui.ComponentType;
-import org.apache.isis.viewer.wicket.ui.components.layout.fixedcols.columns.EntityColumn;
-import org.apache.isis.viewer.wicket.ui.components.layout.fixedcols.tabgrouplist.TabGroupListPanel;
-import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
-import org.apache.isis.viewer.wicket.ui.util.CssClassAppender;
-
-/**
- * {@link PanelAbstract Panel} to represent an entity on a single page made up
- * of several &lt;div&gt; regions.
- */
-public class FCGridPanel extends PanelAbstract<EntityModel> {
-
-    private static final long serialVersionUID = 1L;
-
-    private static final String ID_LEFT_COLUMN = "leftColumn";
-    private static final String ID_MIDDLE_COLUMN = "middleColumn";
-    private static final String ID_RIGHT_COLUMN = "rightColumn";
-
-    public FCGridPanel(final String id, final EntityModel entityModel) {
-        super(id, entityModel);
-        buildGui();
-    }
-
-    private void buildGui() {
-        final EntityModel model = getModel();
-        final ObjectAdapter objectAdapter = model.getObject();
-        final CssClassFacet facet = objectAdapter.getSpecification().getFacet(CssClassFacet.class);
-        if(facet != null) {
-            final String cssClass = facet.cssClass(objectAdapter);
-            CssClassAppender.appendCssClassTo(this, cssClass);
-        }
-
-        // forces metadata to be derived && synced
-        final GridFacet GridFacet = model.getTypeOfSpecification().getFacet(GridFacet.class);
-        final FCGrid page = (FCGrid) GridFacet.getGrid();
-
-
-        addOrReplace(ComponentType.ENTITY_SUMMARY, model);
-
-        final int leftSpan = addColumnIfRequired(ID_LEFT_COLUMN, page.getLeft());
-
-        final TabGroupListPanel middleTabs = addTabGroups(ID_MIDDLE_COLUMN, page.getTabGroups());
-
-        final int rightSpan = addColumnIfRequired(ID_RIGHT_COLUMN, page.getRight());
-
-        final int columnSpans = leftSpan + rightSpan;
-        int tabGroupSpan = columnSpans < 12 ? 12 - (columnSpans) : 12;
-        CssClassAppender.appendCssClassTo(middleTabs, "col-xs-" + tabGroupSpan);
-
-    }
-
-    private TabGroupListPanel addTabGroups(
-            final String id, final List<FCTabGroup> tabGroupList) {
-        final EntityModel model = getModel();
-        final List<FCTabGroup> tabGroups = FluentIterable
-                .from(tabGroupList)
-                .filter(FCTabGroup.Predicates.notEmpty())
-                .toList();
-        final EntityModel entityModelWitHints = model.cloneWithLayoutMetadata(tabGroups);
-        final TabGroupListPanel middleComponent = new TabGroupListPanel(id, entityModelWitHints);
-        addOrReplace(middleComponent);
-        return middleComponent;
-    }
-
-    private int addColumnIfRequired(final String id, final FCColumn col) {
-        if(col != null) {
-            final EntityModel entityModel =
-                    getModel().cloneWithLayoutMetadata(col);
-            final FCColumn fcColumn = (FCColumn) entityModel.getLayoutMetadata();
-            final int span = fcColumn.getSpan();
-            if(span > 0) {
-                final EntityColumn entityColumn = new EntityColumn(id, entityModel);
-                addOrReplace(entityColumn);
-                CssClassAppender.appendCssClassTo(entityColumn, "col-xs-" + span);
-                return span;
-            }
-        }
-        permanentlyHide(id);
-        return 0;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/PropUtil.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/PropUtil.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/PropUtil.java
deleted file mode 100644
index 7fdd5ec..0000000
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/PropUtil.java
+++ /dev/null
@@ -1,92 +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.viewer.wicket.ui.components.layout.fixedcols;
-
-import java.util.List;
-import java.util.Map;
-
-import com.google.common.collect.FluentIterable;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.filter.Filter;
-import org.apache.isis.applib.filter.Filters;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCColumn;
-import org.apache.isis.applib.layout.component.FieldSet;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.Hint;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.ObjectSpecifications;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.viewer.wicket.model.models.EntityModel;
-
-public final class PropUtil {
-
-    private PropUtil() {
-    }
-
-    public static List<String> propertyGroupNames(
-            final EntityModel entityModel,
-            final Hint hint, final FCColumn columnMetaDataIfAny) {
-        final ObjectAdapter adapter = entityModel.getObject();
-        final ObjectSpecification objSpec = adapter.getSpecification();
-
-        final Map<String, List<ObjectAssociation>> associationsByGroup =
-                propertiesByMemberOrder(adapter);
-
-        return columnMetaDataIfAny != null
-                ? FluentIterable
-                .from(columnMetaDataIfAny.getFieldSets())
-                .transform(FieldSet.Util.nameOf())
-                .toList()
-                : ObjectSpecifications.orderByMemberGroups(objSpec, associationsByGroup.keySet(),
-                hint);
-    }
-
-    public static Map<String, List<ObjectAssociation>> propertiesByMemberOrder(final ObjectAdapter adapter) {
-        final List<ObjectAssociation> properties = visibleProperties(adapter);
-        return ObjectAssociation.Util.groupByMemberOrderName(properties);
-    }
-
-    private static List<ObjectAssociation> visibleProperties(final ObjectAdapter adapter) {
-        return visibleProperties(adapter, Filters.<ObjectAssociation>any());
-    }
-
-    private static List<ObjectAssociation> visibleProperties(
-            final ObjectAdapter adapter,
-            final Filter<ObjectAssociation> filter) {
-        final ObjectSpecification objSpec = adapter.getSpecification();
-
-        return objSpec.getAssociations(
-                Contributed.INCLUDED, visiblePropertiesFilter(adapter, filter));
-    }
-
-    @SuppressWarnings("unchecked")
-    private static Filter<ObjectAssociation> visiblePropertiesFilter(
-            final ObjectAdapter adapter,
-            final Filter<ObjectAssociation> filter) {
-        return Filters.and(
-                ObjectAssociation.Filters.PROPERTIES,
-                ObjectAssociation.Filters.dynamicallyVisible(
-                        adapter, InteractionInitiatedBy.USER, Where.OBJECT_FORMS),
-                filter);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/collections/EntityCollectionsPanel.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/collections/EntityCollectionsPanel.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/collections/EntityCollectionsPanel.html
deleted file mode 100644
index 0e03ea9..0000000
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/collections/EntityCollectionsPanel.html
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<html xmlns:wicket="http://wicket.apache.org">
-    <body>
-        <wicket:panel>
-            <div class="entityCollectionsPanel entityCollectionsComponentType">
-                <div wicket:id="collections">
-                    <div wicket:id="collection">
-                         [collection]
-                    </div>
-                </div>
-            </div>
-        </wicket:panel>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/collections/EntityCollectionsPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/collections/EntityCollectionsPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/collections/EntityCollectionsPanel.java
deleted file mode 100644
index 09337dc..0000000
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/collections/EntityCollectionsPanel.java
+++ /dev/null
@@ -1,151 +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.viewer.wicket.ui.components.layout.fixedcols.collections;
-
-import java.util.Comparator;
-import java.util.List;
-
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableList;
-
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.repeater.RepeatingView;
-
-import org.apache.isis.applib.annotation.Where;
-import org.apache.isis.applib.filter.Filter;
-import org.apache.isis.applib.filter.Filters;
-import org.apache.isis.applib.layout.component.CollectionLayoutData;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCColumn;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
-import org.apache.isis.core.metamodel.facets.members.order.MemberOrderFacet;
-import org.apache.isis.core.metamodel.spec.feature.Contributed;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.metamodel.util.DeweyOrderComparator;
-import org.apache.isis.viewer.wicket.model.models.EntityModel;
-import org.apache.isis.viewer.wicket.ui.components.entity.collection.EntityCollectionPanel;
-import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
-
-/**
- * {@link PanelAbstract Panel} representing the properties of an entity, as per
- * the provided {@link EntityModel}.
- */
-public class EntityCollectionsPanel extends PanelAbstract<EntityModel> {
-
-    private static final long serialVersionUID = 1L;
-
-    private static final String ID_ENTITY_COLLECTIONS = "entityCollections";
-    private static final String ID_COLLECTIONS = "collections";
-    private static final String ID_COLLECTION = "collection";
-
-    // view metadata (if any available)
-    private final FCColumn fcColumnIfAny;
-
-    public EntityCollectionsPanel(final String id, final EntityModel entityModel) {
-        super(id, entityModel);
-
-        fcColumnIfAny = (FCColumn) entityModel.getLayoutMetadata();
-
-        buildGui();
-    }
-
-    private void buildGui() {
-        buildEntityPropertiesAndOrCollectionsGui();
-        setOutputMarkupId(true); // so can repaint via ajax
-    }
-
-    private void buildEntityPropertiesAndOrCollectionsGui() {
-        final EntityModel model = getModel();
-        final ObjectAdapter adapter = model.getObject();
-        if (adapter != null) {
-            addCollections();
-        } else {
-            permanentlyHide(ID_ENTITY_COLLECTIONS);
-        }
-    }
-
-    private void addCollections() {
-        final EntityModel entityModel = getModel();
-        final ObjectAdapter adapter = entityModel.getObject();
-
-        final Filter<ObjectAssociation> filter;
-        if (fcColumnIfAny != null) {
-            final ImmutableList<String> collectionIds = FluentIterable
-                    .from(fcColumnIfAny.getCollections())
-                    .transform(CollectionLayoutData.Functions.id())
-                    .toList();
-            filter = new Filter<ObjectAssociation>() {
-                @Override
-                public boolean accept(final ObjectAssociation objectAssociation) {
-                    return collectionIds.contains(objectAssociation.getId());
-                }
-            };
-        } else {
-            filter = Filters.any();
-        }
-
-        final List<ObjectAssociation> associations = visibleCollections(adapter, filter);
-        associations.sort(new Comparator<ObjectAssociation>() {
-            private final DeweyOrderComparator deweyOrderComparator = new DeweyOrderComparator();
-            @Override
-            public int compare(final ObjectAssociation o1, final ObjectAssociation o2) {
-                final MemberOrderFacet o1Facet = o1.getFacet(MemberOrderFacet.class);
-                final MemberOrderFacet o2Facet = o2.getFacet(MemberOrderFacet.class);
-                return o1Facet == null? +1:
-                        o2Facet == null? -1:
-                        deweyOrderComparator.compare(o1Facet.sequence(), o2Facet.sequence());
-            }
-        });
-
-        final RepeatingView collectionRv = new RepeatingView(ID_COLLECTIONS);
-        add(collectionRv);
-
-        for (final ObjectAssociation association : associations) {
-
-            final WebMarkupContainer collectionRvContainer = new WebMarkupContainer(collectionRv.newChildId());
-            collectionRv.add(collectionRvContainer);
-
-            final CollectionLayoutData collectionLayoutData = new CollectionLayoutData(association.getId());
-            final EntityModel entityModelWithCollectionLayoutMetadata =
-                    entityModel.cloneWithLayoutMetadata(collectionLayoutData);
-
-            collectionRvContainer.add(new EntityCollectionPanel(ID_COLLECTION, entityModelWithCollectionLayoutMetadata));
-        }
-    }
-
-    private static List<ObjectAssociation> visibleCollections(
-            final ObjectAdapter adapter,
-            final Filter<ObjectAssociation> filter) {
-        return adapter.getSpecification().getAssociations(
-                Contributed.INCLUDED, visibleCollectionsFilter(adapter, filter));
-    }
-
-    @SuppressWarnings("unchecked")
-    private static Filter<ObjectAssociation> visibleCollectionsFilter(
-            final ObjectAdapter adapter,
-            final Filter<ObjectAssociation> filter) {
-        return Filters.and(
-                ObjectAssociation.Filters.COLLECTIONS,
-                ObjectAssociation.Filters.dynamicallyVisible(
-                        adapter, InteractionInitiatedBy.USER, Where.PARENTED_TABLES),
-                filter);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/collections/EntityCollectionsPanelFactory.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/collections/EntityCollectionsPanelFactory.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/collections/EntityCollectionsPanelFactory.java
deleted file mode 100644
index 797720b..0000000
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/collections/EntityCollectionsPanelFactory.java
+++ /dev/null
@@ -1,49 +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.viewer.wicket.ui.components.layout.fixedcols.collections;
-
-import org.apache.wicket.Component;
-import org.apache.wicket.model.IModel;
-
-import org.apache.isis.viewer.wicket.model.models.EntityModel;
-import org.apache.isis.viewer.wicket.ui.ComponentFactory;
-import org.apache.isis.viewer.wicket.ui.ComponentType;
-import org.apache.isis.viewer.wicket.ui.components.entity.EntityComponentFactoryAbstract;
-
-/**
- * {@link ComponentFactory} for {@link EntityCollectionsPanel}.
- */
-public class EntityCollectionsPanelFactory extends EntityComponentFactoryAbstract {
-
-    private static final long serialVersionUID = 1L;
-
-    public EntityCollectionsPanelFactory() {
-        super(ComponentType.ENTITY_COLLECTIONS, EntityCollectionsPanel.class);
-    }
-
-    @Override
-    public Component createComponent(final String id, final IModel<?> model) {
-        final EntityModel entityModel = (EntityModel) model;
-        return new EntityCollectionsPanel(id, entityModel);
-    }
-}
-
-
-

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/columns/EntityColumn.html
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/columns/EntityColumn.html b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/columns/EntityColumn.html
deleted file mode 100644
index 44e3a23..0000000
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/columns/EntityColumn.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  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.
--->
-<html xmlns:wicket="http://wicket.apache.org">
-    <body>
-        <wicket:panel>
-            <div class="columnMembers">
-                <div class="inputFormTable properties">
-                    <div wicket:id="propertyGroup">[propertyGroup]</div>
-                </div>
-                <div wicket:id="collections"></div>
-            </div>
-        </wicket:panel>
-    </body>
-</html>

http://git-wip-us.apache.org/repos/asf/isis/blob/69ed9c5e/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/columns/EntityColumn.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/columns/EntityColumn.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/columns/EntityColumn.java
deleted file mode 100644
index b790d2f..0000000
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/layout/fixedcols/columns/EntityColumn.java
+++ /dev/null
@@ -1,191 +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.viewer.wicket.ui.components.layout.fixedcols.columns;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-import com.google.common.base.Function;
-import com.google.common.collect.FluentIterable;
-import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Maps;
-
-import org.apache.wicket.MarkupContainer;
-import org.apache.wicket.markup.html.WebMarkupContainer;
-import org.apache.wicket.markup.repeater.RepeatingView;
-
-import org.apache.isis.applib.layout.component.FieldSet;
-import org.apache.isis.applib.layout.component.PropertyLayoutData;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.FCColumn;
-import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.object.membergroups.MemberGroupLayoutFacet;
-import org.apache.isis.core.metamodel.services.grid.fixedcols.applib.Hint;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.ObjectSpecifications;
-import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
-import org.apache.isis.core.runtime.system.DeploymentType;
-import org.apache.isis.core.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.wicket.model.models.EntityModel;
-import org.apache.isis.viewer.wicket.ui.ComponentType;
-import org.apache.isis.viewer.wicket.ui.components.layout.fixedcols.PropUtil;
-import org.apache.isis.viewer.wicket.ui.components.entity.fieldset.PropertyGroup;
-import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
-import org.apache.isis.viewer.wicket.ui.util.Components;
-
-/**
- * Adds properties (in property groups) and collections to a column.
- *
- * <p>
- *     If {@link FCColumn} is present, then only those properties and collections for that
- *     column metadata are rendered.   Otherwise the {@link MemberGroupLayoutFacet} on the
- *     {@link ObjectSpecification} in conjunction with the provided {@link Hint} is
- *     used to filter down to just those properties/collections in the column.
- * </p>
- */
-public class EntityColumn extends PanelAbstract<EntityModel> {
-
-    private static final long serialVersionUID = 1L;
-
-    private static final String ID_PROPERTY_GROUP = "propertyGroup";
-
-
-    // view metadata (populated for EntityTabbedPanel, absent for EntityEditablePanel)
-    private final FCColumn columnMetaDataIfAny;
-
-    // which column to render (populated for EntityEditablePanel, not required and so absent for EntityTabbedPanel)
-    final Hint hint;
-
-    private static Hint hintFrom(final EntityModel entityModel) {
-        final FCColumn fcColumn = (FCColumn) entityModel.getLayoutMetadata();
-        return fcColumn.getHint();
-    }
-
-
-    public EntityColumn(
-            final String id,
-            final EntityModel entityModel) {
-
-        this(id, entityModel, hintFrom(entityModel));
-    }
-
-    public EntityColumn(
-            final String id,
-            final EntityModel entityModel,
-            final Hint hint) {
-
-        super(id, entityModel);
-
-        columnMetaDataIfAny = (FCColumn) entityModel.getLayoutMetadata();
-        this.hint = hint;
-
-        buildGui();
-    }
-
-    private void buildGui() {
-        addPropertiesAndCollections(this, getModel());
-    }
-
-    private void addPropertiesAndCollections(
-            final MarkupContainer col,
-            final EntityModel entityModel) {
-        addPropertiesInColumn(col, entityModel);
-        addCollectionsIfRequired(col, entityModel);
-    }
-
-    private void addPropertiesInColumn(
-            final MarkupContainer markupContainer,
-            final EntityModel entityModel) {
-
-        final ObjectAdapter adapter = entityModel.getObject();
-        final ObjectSpecification objSpec = adapter.getSpecification();
-
-        final Map<String, List<ObjectAssociation>> associationsByGroup = PropUtil.propertiesByMemberOrder(adapter);
-
-        final RepeatingView memberGroupRv = new RepeatingView(ID_PROPERTY_GROUP);
-        markupContainer.add(memberGroupRv);
-
-        final ImmutableMap<String, FieldSet> propertyGroupMetadataByNameIfAny =
-                columnMetaDataIfAny != null
-                    ? Maps.uniqueIndex(columnMetaDataIfAny.getFieldSets(), FieldSet.Util.nameOf())
-                    : null;
-
-        final Collection<String> groupNames =
-                propertyGroupMetadataByNameIfAny != null
-                    ? propertyGroupMetadataByNameIfAny.keySet()
-                    : ObjectSpecifications.orderByMemberGroups(objSpec, associationsByGroup.keySet(), hint);
-
-        for(final String groupName: groupNames) {
-
-
-            final FieldSet fieldSet;
-            if (propertyGroupMetadataByNameIfAny != null) {
-                fieldSet = propertyGroupMetadataByNameIfAny.get(groupName);
-            }
-            else {
-                final List<ObjectAssociation> associationsInGroup = associationsByGroup.get(groupName);
-                fieldSet = new FieldSet(groupName);
-                fieldSet.setProperties(
-                        FluentIterable
-                                .from(associationsInGroup)
-                                .transform(
-                                    new Function<ObjectAssociation, PropertyLayoutData>() {
-                                        @Override
-                                        public PropertyLayoutData apply(final ObjectAssociation assoc) {
-                                            return new PropertyLayoutData(assoc.getId());
-                                        }
-                                    }).toList());
-            }
-
-            if(fieldSet.getProperties().isEmpty()) {
-                continue;
-            }
-
-            final String id = memberGroupRv.newChildId();
-
-            final EntityModel entityModelWithHints = entityModel.cloneWithLayoutMetadata(fieldSet);
-            final WebMarkupContainer memberGroupRvContainer = new PropertyGroup(id, entityModelWithHints);
-
-            memberGroupRv.add(memberGroupRvContainer);
-        }
-    }
-
-    private void addCollectionsIfRequired(
-            final MarkupContainer column,
-            final EntityModel entityModel) {
-
-        if(columnMetaDataIfAny != null) {
-            getComponentFactoryRegistry()
-                    .addOrReplaceComponent(column, "collections", ComponentType.ENTITY_COLLECTIONS, entityModel);
-        } else {
-            Components.permanentlyHide(column, "collections");
-        }
-    }
-
-
-
-    ///////////////////////////////////////////////////////
-    // Dependencies (from context)
-    ///////////////////////////////////////////////////////
-
-    protected DeploymentType getDeploymentType() {
-        return IsisContext.getDeploymentType();
-    }
-
-}