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 2015/11/06 08:16:29 UTC

[01/11] isis git commit: ISIS-1151: Added defaultViewFacet to CollectionLayout

Repository: isis
Updated Branches:
  refs/heads/master 24388d7fe -> a18450ea0


ISIS-1151: Added defaultViewFacet to CollectionLayout


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

Branch: refs/heads/master
Commit: 7c8ff73d0e85e0be990476fc765da8d579e1f93e
Parents: da077bc
Author: Sander Ginn <sa...@Sanders-MacBook-Pro.local>
Authored: Wed Oct 28 15:35:04 2015 +0100
Committer: Sander Ginn <sa...@Sanders-MacBook-Pro.local>
Committed: Wed Nov 4 10:18:28 2015 +0100

----------------------------------------------------------------------
 .../apache/isis/applib/annotation/CollectionLayout.java  |  6 ++++++
 .../collections/layout/CollectionLayoutFacetFactory.java | 11 +++++++++++
 2 files changed, 17 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/7c8ff73d/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
index 369fb3d..76119dc 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
@@ -48,6 +48,12 @@ public @interface CollectionLayout {
      */
     String describedAs() default "";
 
+    // //////////////////////////////////////
+
+    /**
+     * Indicates which view is used
+     */
+    String defaultView() default "table";
 
     // //////////////////////////////////////
 

http://git-wip-us.apache.org/repos/asf/isis/blob/7c8ff73d/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
index 3447fe6..7367664 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/layout/CollectionLayoutFacetFactory.java
@@ -30,6 +30,9 @@ import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
 import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
 import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
+import org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet;
+import org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacetForCollectionLayoutAnnotation;
+import org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacetOnCollectionFromLayoutProperties;
 import org.apache.isis.core.metamodel.facets.collections.sortedby.SortedByFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
 import org.apache.isis.core.metamodel.facets.members.render.RenderFacet;
@@ -79,6 +82,14 @@ public class CollectionLayoutFacetFactory extends FacetFactoryAbstract implement
         FacetUtil.addFacet(hiddenFacet);
 
 
+        // defaultView
+        DefaultViewFacet defaultViewFacet = DefaultViewFacetOnCollectionFromLayoutProperties.create(properties, holder);
+        if(defaultViewFacet == null) {
+            defaultViewFacet = DefaultViewFacetForCollectionLayoutAnnotation.create(collectionLayout, holder);
+        }
+        FacetUtil.addFacet(defaultViewFacet);
+        
+
         // named
         NamedFacet namedFacet = NamedFacetOnCollectionFromLayoutProperties.create(properties, holder);
         if(namedFacet == null) {


[11/11] isis git commit: Merge branch 'ISIS-1151_pr-35'

Posted by da...@apache.org.
Merge branch 'ISIS-1151_pr-35'


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

Branch: refs/heads/master
Commit: a18450ea0db5a96691b56b2bfef78eecde872a7f
Parents: bbc580d 14b861c
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Nov 6 07:14:51 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Nov 6 07:14:51 2015 +0000

----------------------------------------------------------------------
 ...rg_annotations_manpage-CollectionLayout.adoc |  9 +++
 ...ns_manpage-CollectionLayout_defaultView.adoc | 43 +++++++++++
 ...ns_manpage-CollectionLayout_describedAs.adoc |  5 +-
 ...tations_manpage-CollectionLayout_render.adoc |  2 +
 .../applib/annotation/CollectionLayout.java     | 14 ++++
 .../defaultview/DefaultViewFacet.java           | 26 +++++++
 .../defaultview/DefaultViewFacetAbstract.java   | 35 +++++++++
 ...tViewFacetForCollectionLayoutAnnotation.java | 41 +++++++++++
 ...ewFacetOnCollectionFromLayoutProperties.java | 46 ++++++++++++
 .../layout/CollectionLayoutFacetFactory.java    | 11 +++
 .../CollectionLayoutFacetRepr.java              |  1 +
 .../layoutmetadata/DefaultViewFacetRepr.java    | 24 +++++++
 .../json/LayoutMetadataReaderFromJson.java      | 10 +++
 .../selector/CollectionSelectorHelper.java      | 75 ++++++++++++++------
 14 files changed, 320 insertions(+), 22 deletions(-)
----------------------------------------------------------------------



[07/11] isis git commit: Merge branch 'ISIS-1151' of https://github.com/Ginns/isis into ISIS-1151_pr-35

Posted by da...@apache.org.
Merge branch 'ISIS-1151' of https://github.com/Ginns/isis into ISIS-1151_pr-35


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

Branch: refs/heads/master
Commit: 21297a72272bbb8c163b57acfc433831dc37dd5d
Parents: bbc580d 6839d18
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Nov 6 06:05:28 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Nov 6 06:05:28 2015 +0000

----------------------------------------------------------------------
 .../applib/annotation/CollectionLayout.java     |  6 ++
 .../defaultview/DefaultViewFacet.java           | 26 +++++++
 .../defaultview/DefaultViewFacetAbstract.java   | 35 ++++++++++
 ...tViewFacetForCollectionLayoutAnnotation.java | 41 +++++++++++
 ...ewFacetOnCollectionFromLayoutProperties.java | 46 ++++++++++++
 .../layout/CollectionLayoutFacetFactory.java    | 11 +++
 .../CollectionLayoutFacetRepr.java              |  1 +
 .../layoutmetadata/DefaultViewFacetRepr.java    | 24 +++++++
 .../json/LayoutMetadataReaderFromJson.java      | 10 +++
 .../selector/CollectionSelectorHelper.java      | 73 ++++++++++++++------
 10 files changed, 253 insertions(+), 20 deletions(-)
----------------------------------------------------------------------



[03/11] isis git commit: ISIS-1151: Updated JSON reader with default view data

Posted by da...@apache.org.
ISIS-1151: Updated JSON reader with default view data


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

Branch: refs/heads/master
Commit: 9aaeed05ac4de714fad97bf6864b3766bbb7bc73
Parents: 7c8ff73
Author: Sander Ginn <sa...@Sanders-MacBook-Pro.local>
Authored: Wed Oct 28 16:01:22 2015 +0100
Committer: Sander Ginn <sa...@Sanders-MacBook-Pro.local>
Committed: Wed Nov 4 10:18:29 2015 +0100

----------------------------------------------------------------------
 .../CollectionLayoutFacetRepr.java              |  1 +
 .../layoutmetadata/DefaultViewFacetRepr.java    | 24 ++++++++++++++++++++
 .../json/LayoutMetadataReaderFromJson.java      | 10 ++++++++
 3 files changed, 35 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/9aaeed05/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CollectionLayoutFacetRepr.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CollectionLayoutFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CollectionLayoutFacetRepr.java
index a350351..645662c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CollectionLayoutFacetRepr.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/CollectionLayoutFacetRepr.java
@@ -24,6 +24,7 @@ public class CollectionLayoutFacetRepr {
 
     public String cssClass;
     public String describedAs;
+    public String defaultView;
     public Where hidden;
     public String named;
     public boolean namedEscaped = true;

http://git-wip-us.apache.org/repos/asf/isis/blob/9aaeed05/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java
new file mode 100644
index 0000000..af2b51e
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java
@@ -0,0 +1,24 @@
+/*
+ *
+ *  Copyright 2012-2015 Eurocommercial Properties NV
+ *
+ *
+ *  Licensed 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.layoutmetadata;
+
+public class DefaultViewFacetRepr {
+    public String value;
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/9aaeed05/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java
index 4f8f2fa..e2946b7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJson.java
@@ -47,6 +47,7 @@ import org.apache.isis.core.commons.lang.ClassExtensions;
 import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
 import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
+import org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet;
 import org.apache.isis.core.metamodel.facets.members.cssclass.CssClassFacet;
 import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
 import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacetAbstractImpl;
@@ -63,6 +64,7 @@ import org.apache.isis.core.metamodel.layoutmetadata.CollectionLayoutFacetRepr;
 import org.apache.isis.core.metamodel.layoutmetadata.ColumnRepr;
 import org.apache.isis.core.metamodel.layoutmetadata.CssClassFaFacetRepr;
 import org.apache.isis.core.metamodel.layoutmetadata.CssClassFacetRepr;
+import org.apache.isis.core.metamodel.layoutmetadata.DefaultViewFacetRepr;
 import org.apache.isis.core.metamodel.layoutmetadata.DescribedAsFacetRepr;
 import org.apache.isis.core.metamodel.layoutmetadata.DisabledFacetRepr;
 import org.apache.isis.core.metamodel.layoutmetadata.HiddenFacetRepr;
@@ -228,6 +230,9 @@ public class LayoutMetadataReaderFromJson implements LayoutMetadataReader2 {
                 if(collectionLayout.describedAs != null) {
                     props.setProperty("member." + memberName + ".collectionLayout.describedAs", collectionLayout.describedAs);
                 }
+                if(collectionLayout.defaultView != null) {
+                    props.setProperty("member." + memberName + ".collectionLayout.defaultView", collectionLayout.defaultView);
+                }
                 if(collectionLayout.hidden != null) {
                     props.setProperty("member." + memberName + ".collectionLayout.hidden", ""+collectionLayout.hidden);
                 }
@@ -550,6 +555,11 @@ public class LayoutMetadataReaderFromJson implements LayoutMetadataReader2 {
             describedAsFacetRepr.value = describedAsFacet.value();
             memberRepr.describedAs = describedAsFacetRepr;
         }
+        final DefaultViewFacet defaultViewFacet = assoc.getFacet(DefaultViewFacet.class);
+        if(defaultViewFacet != null && !defaultViewFacet.isNoop() && !Strings.isNullOrEmpty(defaultViewFacet.value())) {
+            final DefaultViewFacetRepr defaultViewFacetRepr = new DefaultViewFacetRepr();
+            defaultViewFacetRepr.value = describedAsFacet.value();
+        }
         final NamedFacet namedFacet = assoc.getFacet(NamedFacet.class);
         if(namedFacet != null && !namedFacet.isNoop()) {
             final NamedFacetRepr namedFacetRepr = new NamedFacetRepr();


[10/11] isis git commit: ISIS-1151: Adding some Javadoc. Also ignore case when searching for component to match specified default view.

Posted by da...@apache.org.
ISIS-1151: Adding some Javadoc.  Also ignore case when searching for component to match specified default view.


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

Branch: refs/heads/master
Commit: 14b861c9cf4bac609fcb22572d4a700e67669870
Parents: 2bbf6a7
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Nov 6 06:56:18 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Nov 6 06:56:18 2015 +0000

----------------------------------------------------------------------
 .../apache/isis/applib/annotation/CollectionLayout.java | 12 ++++++++++--
 .../collection/selector/CollectionSelectorHelper.java   |  4 +++-
 2 files changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/14b861c9/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
----------------------------------------------------------------------
diff --git a/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java b/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
index 76119dc..8216c66 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/annotation/CollectionLayout.java
@@ -51,9 +51,17 @@ public @interface CollectionLayout {
     // //////////////////////////////////////
 
     /**
-     * Indicates which view is used
+     * Indicates which view is used by default to render the collection.
+     *
+     * <p>
+     *     The only view available within the core framework is &quot;table&quot;.  However, other views can be added
+     *     as extensions.  Examples are those provided by the (non-ASF) <a href="isisaddons.org">Isis addons</a>, eg
+     *     &quot;<a href="https://github.com/isisaddons/isis-wicket-excel">excel</a>&quot;,
+     *     &quot;<a href="https://github.com/isisaddons/isis-wicket-fullcalendar2">calendar</a>&quot; and
+     *     &quot;<a href="https://github.com/isisaddons/isis-wicket-gmap3">map</a>&quot;.
+     * </p>
      */
-    String defaultView() default "table";
+    String defaultView() default "";
 
     // //////////////////////////////////////
 

http://git-wip-us.apache.org/repos/asf/isis/blob/14b861c9/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
index b35663e..9267389 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
@@ -111,7 +111,9 @@ public class CollectionSelectorHelper implements Serializable {
         if (hasDefaultViewFacet(model)) {
             DefaultViewFacet defaultViewFacet = model.getCollectionMemento().getCollection().getFacet(DefaultViewFacet.class);
             for (int i = 0; i < componentFactories.size(); i++) {
-                if (componentFactories.get(i).getName().equals(defaultViewFacet.value())) {
+                final String componentName = componentFactories.get(i).getName();
+                final String viewName = defaultViewFacet.value();
+                if (componentName.equalsIgnoreCase(viewName)) {
                     return i;
                 }
             }


[06/11] isis git commit: ISIS-1226: improving the breadcrumb panel's handling of deleted objects (automatically ignore any deleted object)

Posted by da...@apache.org.
ISIS-1226: improving the breadcrumb panel's handling of deleted objects (automatically ignore any deleted object)


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

Branch: refs/heads/master
Commit: bbc580d8cdf49425afb28e5693656c432c895d06
Parents: 4920140
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Nov 6 06:02:23 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Nov 6 06:02:23 2015 +0000

----------------------------------------------------------------------
 .../widgets/breadcrumbs/BreadcrumbPanel.java      | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/bbc580d8/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
index 7ba1cd7..84b16c6 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/breadcrumbs/BreadcrumbPanel.java
@@ -19,6 +19,10 @@ package org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs;
 import java.util.Collection;
 import java.util.List;
 
+import com.google.common.base.Predicate;
+import com.google.common.collect.Iterables;
+import com.google.common.collect.Lists;
+
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormComponentUpdatingBehavior;
 import org.apache.wicket.model.IModel;
@@ -28,6 +32,7 @@ import org.wicketstuff.select2.Response;
 import org.wicketstuff.select2.Select2Choice;
 import org.wicketstuff.select2.Settings;
 import org.wicketstuff.select2.TextChoiceProvider;
+
 import org.apache.isis.core.commons.authentication.MessageBroker;
 import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.viewer.wicket.model.mementos.PageParameterNames;
@@ -77,8 +82,17 @@ public class BreadcrumbPanel extends PanelAbstract<IModel<Void>> {
 
             @Override
             public void query(String term, int page, Response<EntityModel> response) {
-                final List<EntityModel> list = breadcrumbModel.getList();
-                response.addAll(list);
+                final List<EntityModel> breadCrumbList = Lists.newArrayList(breadcrumbModel.getList());
+                final List<EntityModel> checkedList = Lists.newArrayList(
+                        Iterables.filter(breadCrumbList, new Predicate<EntityModel>() {
+                            @Override
+                            public boolean apply(final EntityModel input) {
+                                final Object id = getId(input);
+                                return id != null;
+                            }
+                        })
+                );
+                response.addAll(checkedList);
             }
 
             @Override


[02/11] isis git commit: ISIS-1151: Added DefaultView facets to set a default view for collections

Posted by da...@apache.org.
ISIS-1151: Added DefaultView facets to set a default view for collections


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

Branch: refs/heads/master
Commit: da077bc851dcebdd6dea010c2f600bedb61bf613
Parents: 271ae4b
Author: Sander Ginn <sa...@Sanders-MacBook-Pro.local>
Authored: Wed Oct 28 13:52:12 2015 +0100
Committer: Sander Ginn <sa...@Sanders-MacBook-Pro.local>
Committed: Wed Nov 4 10:18:28 2015 +0100

----------------------------------------------------------------------
 .../defaultview/DefaultViewFacet.java           | 26 +++++++++++
 .../defaultview/DefaultViewFacetAbstract.java   | 35 +++++++++++++++
 ...tViewFacetForCollectionLayoutAnnotation.java | 41 +++++++++++++++++
 ...ewFacetOnCollectionFromLayoutProperties.java | 46 ++++++++++++++++++++
 4 files changed, 148 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/da077bc8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacet.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacet.java
new file mode 100644
index 0000000..9174275
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacet.java
@@ -0,0 +1,26 @@
+/*
+ *
+ *  Copyright 2012-2015 Eurocommercial Properties NV
+ *
+ *
+ *  Licensed 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.collection.defaultview;
+
+import org.apache.isis.core.metamodel.facets.SingleStringValueFacet;
+
+public interface DefaultViewFacet extends SingleStringValueFacet {
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/da077bc8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetAbstract.java
new file mode 100644
index 0000000..c2548f3
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetAbstract.java
@@ -0,0 +1,35 @@
+/*
+ *
+ *  Copyright 2012-2015 Eurocommercial Properties NV
+ *
+ *
+ *  Licensed 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.collection.defaultview;
+
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.SingleStringValueFacetAbstract;
+
+public class DefaultViewFacetAbstract extends SingleStringValueFacetAbstract implements DefaultViewFacet {
+
+    public static Class<? extends Facet> type() {
+        return DefaultViewFacet.class;
+    }
+
+    public DefaultViewFacetAbstract(final String value, final FacetHolder holder) {
+        super(type(), holder, value);
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/da077bc8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetForCollectionLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetForCollectionLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetForCollectionLayoutAnnotation.java
new file mode 100644
index 0000000..a9f174d
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetForCollectionLayoutAnnotation.java
@@ -0,0 +1,41 @@
+/*
+ *
+ *  Copyright 2012-2015 Eurocommercial Properties NV
+ *
+ *
+ *  Licensed 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.collection.defaultview;
+
+import com.google.common.base.Strings;
+
+import org.apache.isis.applib.annotation.CollectionLayout;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+
+public class DefaultViewFacetForCollectionLayoutAnnotation extends DefaultViewFacetAbstract {
+
+    private DefaultViewFacetForCollectionLayoutAnnotation(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.defaultView());
+        return defaultView != null ? new DefaultViewFacetForCollectionLayoutAnnotation(defaultView, holder) : null;
+    }
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/da077bc8/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetOnCollectionFromLayoutProperties.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetOnCollectionFromLayoutProperties.java
new file mode 100644
index 0000000..03ab346
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetOnCollectionFromLayoutProperties.java
@@ -0,0 +1,46 @@
+/*
+ *
+ *  Copyright 2012-2015 Eurocommercial Properties NV
+ *
+ *
+ *  Licensed 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.collection.defaultview;
+
+import java.util.Properties;
+
+import com.google.common.base.Strings;
+
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+
+public class DefaultViewFacetOnCollectionFromLayoutProperties extends DefaultViewFacetAbstract {
+
+    private DefaultViewFacetOnCollectionFromLayoutProperties(String defaultView, FacetHolder holder) {
+        super(defaultView, holder);
+    }
+
+    public static DefaultViewFacet create(Properties properties, FacetHolder holder) {
+        final String defaultView = defaultView(properties);
+        return defaultView != null ? new DefaultViewFacetOnCollectionFromLayoutProperties(defaultView, holder) : null;
+    }
+
+    public static String defaultView(Properties properties) {
+        if (properties == null) {
+            return null;
+        }
+
+        return Strings.emptyToNull(properties.getProperty("defaultView"));
+    }
+}


[08/11] isis git commit: ISIS-1151: fixing copyright notices

Posted by da...@apache.org.
ISIS-1151: fixing copyright notices


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

Branch: refs/heads/master
Commit: d38cc1f947183d7c301477bfc541bb6f46d89bd3
Parents: 21297a7
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Nov 6 06:10:58 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Nov 6 06:10:58 2015 +0000

----------------------------------------------------------------------
 .../collection/defaultview/DefaultViewFacet.java          | 10 +++++-----
 .../collection/defaultview/DefaultViewFacetAbstract.java  | 10 +++++-----
 .../DefaultViewFacetForCollectionLayoutAnnotation.java    | 10 +++++-----
 .../DefaultViewFacetOnCollectionFromLayoutProperties.java | 10 +++++-----
 .../metamodel/layoutmetadata/DefaultViewFacetRepr.java    | 10 +++++-----
 5 files changed, 25 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/d38cc1f9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacet.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacet.java
index 9174275..e149c0c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacet.java
@@ -1,9 +1,9 @@
 /*
- *
- *  Copyright 2012-2015 Eurocommercial Properties NV
- *
- *
- *  Licensed under the Apache License, Version 2.0 (the
+ *  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://git-wip-us.apache.org/repos/asf/isis/blob/d38cc1f9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetAbstract.java
index c2548f3..11385c7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetAbstract.java
@@ -1,9 +1,9 @@
 /*
- *
- *  Copyright 2012-2015 Eurocommercial Properties NV
- *
- *
- *  Licensed under the Apache License, Version 2.0 (the
+ *  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://git-wip-us.apache.org/repos/asf/isis/blob/d38cc1f9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetForCollectionLayoutAnnotation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetForCollectionLayoutAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetForCollectionLayoutAnnotation.java
index a9f174d..437ab37 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetForCollectionLayoutAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetForCollectionLayoutAnnotation.java
@@ -1,9 +1,9 @@
 /*
- *
- *  Copyright 2012-2015 Eurocommercial Properties NV
- *
- *
- *  Licensed under the Apache License, Version 2.0 (the
+ *  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://git-wip-us.apache.org/repos/asf/isis/blob/d38cc1f9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetOnCollectionFromLayoutProperties.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetOnCollectionFromLayoutProperties.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetOnCollectionFromLayoutProperties.java
index 03ab346..2926798 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetOnCollectionFromLayoutProperties.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/collections/collection/defaultview/DefaultViewFacetOnCollectionFromLayoutProperties.java
@@ -1,9 +1,9 @@
 /*
- *
- *  Copyright 2012-2015 Eurocommercial Properties NV
- *
- *
- *  Licensed under the Apache License, Version 2.0 (the
+ *  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://git-wip-us.apache.org/repos/asf/isis/blob/d38cc1f9/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java
index af2b51e..e904b00 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/layoutmetadata/DefaultViewFacetRepr.java
@@ -1,9 +1,9 @@
 /*
- *
- *  Copyright 2012-2015 Eurocommercial Properties NV
- *
- *
- *  Licensed under the Apache License, Version 2.0 (the
+ *  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
  *


[09/11] isis git commit: ISIS-1151: slight change to behaviour - have 'defaultView' take precedence over 'render'.

Posted by da...@apache.org.
ISIS-1151: slight change to behaviour - have 'defaultView' take precedence over 'render'.

Also updating the reference guide.


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

Branch: refs/heads/master
Commit: 2bbf6a72c444c01c25575e24fffeaa60ca81b1e2
Parents: d38cc1f
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Nov 6 06:44:31 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Nov 6 06:44:31 2015 +0000

----------------------------------------------------------------------
 ...rg_annotations_manpage-CollectionLayout.adoc |  9 ++++
 ...ns_manpage-CollectionLayout_defaultView.adoc | 43 ++++++++++++++++++++
 ...ns_manpage-CollectionLayout_describedAs.adoc |  5 ++-
 ...tations_manpage-CollectionLayout_render.adoc |  2 +
 .../selector/CollectionSelectorHelper.java      | 10 ++---
 5 files changed, 62 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/2bbf6a72/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout.adoc b/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout.adoc
index 1b46556..2e9699f 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout.adoc
@@ -24,6 +24,14 @@ The table below summarizes the annotation's attributes.
 |the css class that a collection should have, to allow more targetted styling in xref:rg.adoc#_rg_runtime_application-specific_application-css[`application.css`]
 
 
+|xref:rg.adoc#_rg_annotations_manpage-CollectionLayout_defaultView[`defaultView()`]
+|`table`, `excel`, `calendar`, `map`, ...
+|Which view is selected by default, if multiple views are available.
+
+See (non-ASF) link:http://isisaddons.org[Isis Addons] for further views.
+
+
+
 |xref:rg.adoc#_rg_annotations_manpage-CollectionLayout_describedAs[`describedAs()`]
 |String.
 |description of this collection, eg to be rendered in a tooltip.
@@ -114,6 +122,7 @@ so that boilerplate-busting tools such as link:https://projectlombok.org/[Projec
 
 
 include::_rg_annotations_manpage-CollectionLayout_cssClass.adoc[leveloffset=+1]
+include::_rg_annotations_manpage-CollectionLayout_defaultView.adoc[leveloffset=+1]
 include::_rg_annotations_manpage-CollectionLayout_describedAs.adoc[leveloffset=+1]
 include::_rg_annotations_manpage-CollectionLayout_hidden.adoc[leveloffset=+1]
 include::_rg_annotations_manpage-CollectionLayout_named.adoc[leveloffset=+1]

http://git-wip-us.apache.org/repos/asf/isis/blob/2bbf6a72/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout_defaultView.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout_defaultView.adoc b/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout_defaultView.adoc
new file mode 100644
index 0000000..359a33e
--- /dev/null
+++ b/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout_defaultView.adoc
@@ -0,0 +1,43 @@
+[[_rg_annotations_manpage-CollectionLayout_defaultView]]
+= `defaultView()`
+:Notice: 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.
+:_basedir: ../
+:_imagesdir: images/
+
+
+The xref:ug.adoc#_ug_wicket-viewer[Wicket viewer] allows additional views to be configured to render collections of objects; at the time of writing thesee include the (non-ASF) (non-ASF) link:http://isisaddons.org[Isis Addons]' (non-ASF) http://github.com/isisaddons/isis-wicket-excel[excel] view, the http://github.com/isisaddons/isis-wicket-fullcalendar2[fullcalendar2] view, and the http://github.com/isisaddons/isis-wicket-gmap3[gmap3] view.  If the objects to be rendered have the correct "shape", then the appropriate view will be made available.  For example, objects with a date can be rendered using `calendar`; objects with locations can be rendered using `map`.
+
+The `defaultView()` attribute is used to select which of these views should be used by default for a given collection.
+
+
+For example:
+
+[source,java]
+----
+public class BusRoute {
+    @CollectionLayout(
+        defaultView="map"
+    )
+    public SortedSet<BusStop> getStops() { ... }
+    ...
+}
+----
+
+
+As an alternative to using the annotation, the dynamic xref:rg.adoc#_rg_object-layout_dynamic[`.layout.json`]
+can be used instead, eg:
+
+[source,javascript]
+----
+"dependencies": {
+    "collectionLayout": {
+        "defaultView": "map"
+    }
+}
+----
+
+[NOTE]
+====
+This attribute takes precedence over any value for the xref:rg.adoc#_rg_annotations_manpage-CollectionLayout_render[`@CollectionLayout#render()`] attribute.  For example, if the
+`defaultView` attribute is defined to "table", then the table will be show even if `render` is set to `LAZILY`.
+====

http://git-wip-us.apache.org/repos/asf/isis/blob/2bbf6a72/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout_describedAs.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout_describedAs.adoc b/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout_describedAs.adoc
index 68cafeb..467ac5a 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout_describedAs.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout_describedAs.adoc
@@ -16,8 +16,9 @@ For example:
 ----
 public class ToDoItem {
     @CollectionLayout(
-        describedAs="Other todo items that must be completed before this one")
-    public SortedSet<ToDoItem getDependencies() { ... }
+        describedAs="Other todo items that must be completed before this one"
+    )
+    public SortedSet<ToDoItem> getDependencies() { ... }
     ...
 }
 ----

http://git-wip-us.apache.org/repos/asf/isis/blob/2bbf6a72/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout_render.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout_render.adoc b/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout_render.adoc
index 6d85f2c..b3298b5 100644
--- a/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout_render.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/_rg_annotations_manpage-CollectionLayout_render.adoc
@@ -36,5 +36,7 @@ can be used instead, eg:
 [NOTE]
 ====
 Note that xref:ug.adoc#_ug_how-tos_contributed-members[contributed collections] (which, under the covers are just action invocations against a domain service) are always rendered eagerly.
+
+Also, if a xref:rg.adoc#_rg_annotations_manpage-CollectionLayout_defaultView[`@CollectionLayout#defaultView()`] attribute has been specified then that will take precedence over the value of the `render()` attribute.
 ====
 

http://git-wip-us.apache.org/repos/asf/isis/blob/2bbf6a72/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
index 6380e6b..b35663e 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
@@ -108,17 +108,17 @@ public class CollectionSelectorHelper implements Serializable {
      * otherwise first factory.
      */
     private int determineInitialFactory() {
-        if (!hasRenderEagerlyFacet(model)) {
+        if (hasDefaultViewFacet(model)) {
+            DefaultViewFacet defaultViewFacet = model.getCollectionMemento().getCollection().getFacet(DefaultViewFacet.class);
             for (int i = 0; i < componentFactories.size(); i++) {
-                if (componentFactories.get(i) instanceof CollectionContentsAsUnresolvedPanelFactory) {
+                if (componentFactories.get(i).getName().equals(defaultViewFacet.value())) {
                     return i;
                 }
             }
         }
-        if (hasDefaultViewFacet(model)) {
-            DefaultViewFacet defaultViewFacet = model.getCollectionMemento().getCollection().getFacet(DefaultViewFacet.class);
+        if (!hasRenderEagerlyFacet(model)) {
             for (int i = 0; i < componentFactories.size(); i++) {
-                if (componentFactories.get(i).getName().equals(defaultViewFacet.value())) {
+                if (componentFactories.get(i) instanceof CollectionContentsAsUnresolvedPanelFactory) {
                     return i;
                 }
             }


[05/11] isis git commit: ISIS-1195: reinstating parts of the ug.adoc that were accidentally commented out in previous commit.

Posted by da...@apache.org.
ISIS-1195: reinstating parts of the ug.adoc that were accidentally commented out in previous commit.


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

Branch: refs/heads/master
Commit: 49201404dd5718e0e4de33c8f8bfca65f21e5dc9
Parents: 24388d7
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Nov 6 06:00:39 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Nov 6 06:00:39 2015 +0000

----------------------------------------------------------------------
 .../src/main/asciidoc/guides/ug.adoc              | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/49201404/adocs/documentation/src/main/asciidoc/guides/ug.adoc
----------------------------------------------------------------------
diff --git a/adocs/documentation/src/main/asciidoc/guides/ug.adoc b/adocs/documentation/src/main/asciidoc/guides/ug.adoc
index 4d1f4dc..b597529 100644
--- a/adocs/documentation/src/main/asciidoc/guides/ug.adoc
+++ b/adocs/documentation/src/main/asciidoc/guides/ug.adoc
@@ -21,19 +21,19 @@ The users' guide is _not_ intended as a reference manual; for that see the *xref
 
 
 include::_ug_core-concepts.adoc[leveloffset=+1]
-//include::_ug_getting-started.adoc[leveloffset=+1]
+include::_ug_getting-started.adoc[leveloffset=+1]
 
 include::_ug_how-tos.adoc[leveloffset=+1]
 include::_ug_more-advanced.adoc[leveloffset=+1]
 
-//include::_ug_wicket-viewer.adoc[leveloffset=+1]
-//include::_ug_restfulobjects-viewer.adoc[leveloffset=+1]
-//include::_ug_security.adoc[leveloffset=+1]
+include::_ug_wicket-viewer.adoc[leveloffset=+1]
+include::_ug_restfulobjects-viewer.adoc[leveloffset=+1]
+include::_ug_security.adoc[leveloffset=+1]
 
-//include::_ug_testing.adoc[leveloffset=+1]
-//include::_ug_deployment.adoc[leveloffset=+1]
-//include::_ug_headless-access.adoc[leveloffset=+1]
-//include::_ug_extending.adoc[leveloffset=+1]
-//include::_ug_troubleshooting.adoc[leveloffset=+1]
+include::_ug_testing.adoc[leveloffset=+1]
+include::_ug_deployment.adoc[leveloffset=+1]
+include::_ug_headless-access.adoc[leveloffset=+1]
+include::_ug_extending.adoc[leveloffset=+1]
+include::_ug_troubleshooting.adoc[leveloffset=+1]
 
 


[04/11] isis git commit: ISIS-1151: a default view can now be set

Posted by da...@apache.org.
ISIS-1151: a default view can now be set


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

Branch: refs/heads/master
Commit: 6839d1887c6c8d459415836acd0246ea22ecc045
Parents: 9aaeed0
Author: Sander Ginn <sa...@Sanders-MacBook-Pro.local>
Authored: Wed Nov 4 16:24:04 2015 +0100
Committer: Sander Ginn <sa...@Sanders-MacBook-Pro.local>
Committed: Wed Nov 4 16:24:04 2015 +0100

----------------------------------------------------------------------
 .../selector/CollectionSelectorHelper.java      | 73 ++++++++++++++------
 1 file changed, 53 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/6839d188/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
----------------------------------------------------------------------
diff --git a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
index a600923..6380e6b 100644
--- a/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
+++ b/core/viewer-wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/collection/selector/CollectionSelectorHelper.java
@@ -21,12 +21,16 @@ package org.apache.isis.viewer.wicket.ui.components.collection.selector;
 
 import java.io.Serializable;
 import java.util.List;
+
 import com.google.common.base.Predicate;
 import com.google.common.collect.Collections2;
 import com.google.common.collect.Lists;
+
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
+
 import org.apache.isis.applib.annotation.Render;
+import org.apache.isis.core.metamodel.facets.collections.collection.defaultview.DefaultViewFacet;
 import org.apache.isis.core.metamodel.facets.members.render.RenderFacet;
 import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.viewer.wicket.model.hints.UiHintContainer;
@@ -73,15 +77,15 @@ public class CollectionSelectorHelper implements Serializable {
     public int honourViewHintElseDefault(final Component component) {
         // honour hints ...
         final UiHintContainer hintContainer = getUiHintContainer(component);
-        if(hintContainer != null) {
+        if (hintContainer != null) {
             String viewStr = hintContainer.getHint(component, UIHINT_EVENT_VIEW_KEY);
-            if(viewStr != null) {
+            if (viewStr != null) {
                 try {
                     int view = Integer.parseInt(viewStr);
-                    if(view >= 0 && view < componentFactories.size()) {
+                    if (view >= 0 && view < componentFactories.size()) {
                         return view;
                     }
-                } catch(NumberFormatException ex) {
+                } catch (NumberFormatException ex) {
                     // ignore
                 }
             }
@@ -89,8 +93,8 @@ public class CollectionSelectorHelper implements Serializable {
 
         // ... else default
         int initialFactory = determineInitialFactory();
-        if(hintContainer != null) {
-            hintContainer.setHint(component, UIHINT_EVENT_VIEW_KEY, ""+initialFactory);
+        if (hintContainer != null) {
+            hintContainer.setHint(component, UIHINT_EVENT_VIEW_KEY, "" + initialFactory);
             // don't broadcast (no AjaxRequestTarget, still configuring initial setup)
         }
         return initialFactory;
@@ -104,15 +108,24 @@ public class CollectionSelectorHelper implements Serializable {
      * otherwise first factory.
      */
     private int determineInitialFactory() {
-        if(!hasRenderEagerlyFacet(model)) {
-            for(int i=0; i<componentFactories.size(); i++) {
-                if(componentFactories.get(i) instanceof CollectionContentsAsUnresolvedPanelFactory) {
+        if (!hasRenderEagerlyFacet(model)) {
+            for (int i = 0; i < componentFactories.size(); i++) {
+                if (componentFactories.get(i) instanceof CollectionContentsAsUnresolvedPanelFactory) {
+                    return i;
+                }
+            }
+        }
+        if (hasDefaultViewFacet(model)) {
+            DefaultViewFacet defaultViewFacet = model.getCollectionMemento().getCollection().getFacet(DefaultViewFacet.class);
+            for (int i = 0; i < componentFactories.size(); i++) {
+                if (componentFactories.get(i).getName().equals(defaultViewFacet.value())) {
                     return i;
                 }
             }
         }
+
         int ajaxTableIdx = findAjaxTable(componentFactories);
-        if(ajaxTableIdx>=0) {
+        if (ajaxTableIdx >= 0) {
             return ajaxTableIdx;
         }
         return 0;
@@ -124,7 +137,7 @@ public class CollectionSelectorHelper implements Serializable {
 
     static List<ComponentFactory> orderAjaxTableToEnd(List<ComponentFactory> componentFactories) {
         int ajaxTableIdx = findAjaxTable(componentFactories);
-        if(ajaxTableIdx>=0) {
+        if (ajaxTableIdx >= 0) {
             List<ComponentFactory> orderedFactories = Lists.newArrayList(componentFactories);
             ComponentFactory ajaxTableFactory = orderedFactories.remove(ajaxTableIdx);
             orderedFactories.add(ajaxTableFactory);
@@ -135,26 +148,21 @@ public class CollectionSelectorHelper implements Serializable {
     }
 
     private static int findAjaxTable(List<ComponentFactory> componentFactories) {
-        for(int i=0; i<componentFactories.size(); i++) {
-            if(componentFactories.get(i) instanceof CollectionContentsAsAjaxTablePanelFactory) {
+        for (int i = 0; i < componentFactories.size(); i++) {
+            if (componentFactories.get(i) instanceof CollectionContentsAsAjaxTablePanelFactory) {
                 return i;
             }
         }
         return -1;
     }
 
-
     private static UiHintContainer getUiHintContainer(final Component component) {
         return UiHintContainer.Util.hintContainerOf(component, EntityModel.class);
     }
 
-
     private static boolean hasRenderEagerlyFacet(IModel<?> model) {
-        if(!(model instanceof EntityCollectionModel)) {
-            return false;
-        }
-        final EntityCollectionModel entityCollectionModel = (EntityCollectionModel) model;
-        if(!entityCollectionModel.isParented()) {
+        final EntityCollectionModel entityCollectionModel = toEntityCollectionModel(model);
+        if (entityCollectionModel == null) {
             return false;
         }
 
@@ -164,6 +172,31 @@ public class CollectionSelectorHelper implements Serializable {
         return renderFacet != null && renderFacet.value() == Render.Type.EAGERLY;
     }
 
+    private static boolean hasDefaultViewFacet(IModel<?> model) {
+        final EntityCollectionModel entityCollectionModel = toEntityCollectionModel(model);
+        if (entityCollectionModel == null) {
+            return false;
+        }
+
+        final OneToManyAssociation collection =
+                entityCollectionModel.getCollectionMemento().getCollection();
+        DefaultViewFacet defaultViewFacet = collection.getFacet(DefaultViewFacet.class);
+        return defaultViewFacet != null;
+    }
+
+    private static EntityCollectionModel toEntityCollectionModel(IModel<?> model) {
+        if (!(model instanceof EntityCollectionModel)) {
+            return null;
+        }
+
+        final EntityCollectionModel entityCollectionModel = (EntityCollectionModel) model;
+        if (!entityCollectionModel.isParented()) {
+            return null;
+        }
+
+        return entityCollectionModel;
+    }
+
     //endregion
 
 }