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 2014/11/18 22:54:42 UTC

isis git commit: ISIS-954: prevent menu items from being duplicated on the application menu bar.

Repository: isis
Updated Branches:
  refs/heads/master 0a17eb4a0 -> 2f24674c4


ISIS-954: prevent menu items from being duplicated on the application menu bar.


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

Branch: refs/heads/master
Commit: 2f24674c4b20d1ddfa7598fc2d288cfddb8fb44c
Parents: 0a17eb4
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Tue Nov 18 22:48:07 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Tue Nov 18 22:48:07 2014 +0100

----------------------------------------------------------------------
 .../appactions/cssmenu/AppActionsCssMenuFactory.java  | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/2f24674c/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuFactory.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuFactory.java b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuFactory.java
index 3d9e8ba..0c27eee 100644
--- a/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuFactory.java
+++ b/component/viewer/wicket/ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/appactions/cssmenu/AppActionsCssMenuFactory.java
@@ -21,20 +21,22 @@ package org.apache.isis.viewer.wicket.ui.components.appactions.cssmenu;
 
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import com.google.common.base.Strings;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
 import org.apache.wicket.Component;
 import org.apache.wicket.model.IModel;
 import org.apache.isis.applib.filter.Filters;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
-import org.apache.isis.core.metamodel.facets.members.order.MemberOrderFacet;
+import org.apache.isis.core.metamodel.facets.actions.notinservicemenu.NotInServiceMenuFacet;
 import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
+import org.apache.isis.core.metamodel.facets.members.order.MemberOrderFacet;
 import org.apache.isis.core.metamodel.spec.ActionType;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.feature.Contributed;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
-import org.apache.isis.core.metamodel.facets.actions.notinservicemenu.NotInServiceMenuFacet;
 import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
 import org.apache.isis.viewer.wicket.model.models.ApplicationActionsModel;
 import org.apache.isis.viewer.wicket.ui.ComponentFactory;
@@ -105,7 +107,7 @@ public class AppActionsCssMenuFactory extends ComponentFactoryAbstract {
             collateServiceActions(serviceAdapter, ActionType.PROTOTYPE, serviceActions);
         }
         
-        final List<String> serviceNamesInOrder = serviceNamesInOrder(serviceAdapters, serviceActions);
+        final Set<String> serviceNamesInOrder = serviceNamesInOrder(serviceAdapters, serviceActions);
         final Map<String, List<LogicalServiceAction>> serviceActionsByName = groupByServiceName(serviceActions);
         
         // prune any service names that have no service actions
@@ -118,7 +120,7 @@ public class AppActionsCssMenuFactory extends ComponentFactoryAbstract {
      * Builds a hierarchy of {@link CssMenuItem}s, following the provided map of {@link LogicalServiceAction}s (keyed by their service Name).
      */
     private List<CssMenuItem> buildMenuItems(
-            final List<String> serviceNamesInOrder,
+            final Set<String> serviceNamesInOrder,
             final Map<String, List<LogicalServiceAction>> serviceActionsByName,
             final CssMenuBuilder.CssMenuContext cssMenuContext) {
         
@@ -177,9 +179,9 @@ public class AppActionsCssMenuFactory extends ComponentFactoryAbstract {
      * The unique service names, as they appear in order of the provided List of {@link LogicalServiceAction}s.
      * @param serviceAdapters 
      */
-    private List<String> serviceNamesInOrder(
+    private Set<String> serviceNamesInOrder(
             final List<ObjectAdapter> serviceAdapters, final List<LogicalServiceAction> serviceActions) {
-        final List<String> serviceNameOrder = Lists.newArrayList();
+        final Set<String> serviceNameOrder = Sets.newLinkedHashSet();
 
         // first, order as defined in isis.properties
         for (ObjectAdapter serviceAdapter : serviceAdapters) {