[gatein-commits] gatein SVN: r5726 - exo/portal/branches/3.1.x/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Jan 11 04:48:08 EST 2011
Author: ndkhoiits
Date: 2011-01-11 04:48:07 -0500 (Tue, 11 Jan 2011)
New Revision: 5726
Modified:
exo/portal/branches/3.1.x/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/UIPageNavigationForm.java
Log:
EXOGTN-235 Don't update priority for group navigation after change on menu item
Modified: exo/portal/branches/3.1.x/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/UIPageNavigationForm.java
===================================================================
--- exo/portal/branches/3.1.x/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/UIPageNavigationForm.java 2011-01-11 09:13:59 UTC (rev 5725)
+++ exo/portal/branches/3.1.x/webui/portal/src/main/java/org/exoplatform/portal/webui/navigation/UIPageNavigationForm.java 2011-01-11 09:48:07 UTC (rev 5726)
@@ -42,6 +42,8 @@
import org.exoplatform.webui.form.UIFormStringInput;
import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
/*
@@ -158,60 +160,48 @@
}
WebuiRequestContext pcontext = event.getRequestContext();
-
- // if edit navigation
- if (pageNav != null)
- {
- uiForm.invokeSetBindingBean(pageNav);
- UIFormSelectBox uiSelectBox = uiForm.findComponentById("priority");
- int priority = Integer.parseInt(uiSelectBox.getValue());
- pageNav.setPriority(priority);
-
- // update navigation
- dataService.save(pageNav);
-
- UIPopupWindow uiPopup = uiForm.getParent();
- uiPopup.setShow(false);
- UIComponent opener = uiPopup.getParent();
- pcontext.addUIComponentToUpdateByAjax(opener);
- return;
- }
-
- // if add navigation
- pageNav = new PageNavigation();
- // set properties for navigation
uiForm.invokeSetBindingBean(pageNav);
- UIFormStringInput uiOwnerId = uiForm.findComponentById("ownerId");
- UIFormStringInput uiOwnerType = uiForm.findComponentById("ownerType");
UIFormSelectBox uiSelectBox = uiForm.findComponentById("priority");
int priority = Integer.parseInt(uiSelectBox.getValue());
pageNav.setPriority(priority);
- pageNav.setModifiable(true);
- pageNav.setOwnerId(uiOwnerId.getValue());
- pageNav.setOwnerType(uiOwnerType.getValue());
- //UIPortalApplication uiPortalApp = uiForm.getAncestorOfType(UIPortalApplication.class);
- UIPortalApplication uiPortalApp = Util.getUIPortal().getAncestorOfType(UIPortalApplication.class);
- // ensure this navigation is not exist
- if (dataService.getPageNavigation(pageNav.getOwnerType(), pageNav.getOwnerId()) != null)
- {
- uiPortalApp.addMessage(new ApplicationMessage("UIPageNavigationForm.msg.existPageNavigation",
- new String[]{pageNav.getOwnerId()}));;
- return;
- }
+ // update navigation
+ dataService.save(pageNav);
- // create navigation for group
- dataService.create(pageNav);
+ pageNav = dataService.getPageNavigation(pageNav.getOwnerType(), pageNav.getOwnerId());
- // close popup window, update popup window
+ UIPortalApplication uiPortalApp = Util.getUIPortalApplication();
+ updateNavPriority(uiPortalApp.getNavigations(), pageNav);
+
+ uiPortalApp.localizeNavigations();
+
UIPopupWindow uiPopup = uiForm.getParent();
uiPopup.setShow(false);
UIComponent opener = uiPopup.getParent();
+ UIWorkingWorkspace uiWorkingWS =
+ Util.getUIPortal().getAncestorOfType(UIPortalApplication.class).getChild(UIWorkingWorkspace.class);
+ uiWorkingWS.updatePortletsByName("UserToolbarGroupPortlet");
pcontext.addUIComponentToUpdateByAjax(opener);
+ }
+
+ private void updateNavPriority(List<PageNavigation> navs, PageNavigation nav)
+ {
+ for (int i = 0; i < navs.size(); i++)
+ {
+ if (navs.get(i).getId() == nav.getId())
+ {
+ navs.set(i, nav);
+ break;
+ }
+ }
- UIWorkingWorkspace uiWorkingWS = uiPortalApp.getChild(UIWorkingWorkspace.class);
- uiWorkingWS.updatePortletsByName("GroupNavigationPortlet");
-
+ Collections.sort(navs, new Comparator<PageNavigation>()
+ {
+ public int compare(PageNavigation nav1, PageNavigation nav2)
+ {
+ return nav1.getPriority() - nav2.getPriority();
+ }
+ });
}
}
More information about the gatein-commits
mailing list