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) {