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:34 UTC

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

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