From 4c07fd2cb5490c7bb45486e86646cc1d415484c6 Mon Sep 17 00:00:00 2001 From: jensp Date: Thu, 1 Sep 2011 15:41:59 +0000 Subject: [PATCH] =?UTF-8?q?Korrekturen=20an=20der=20Verwaltungsoberfl?= =?UTF-8?q?=C3=A4che=20f=C3=BCr=20PublicPersonProfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://svn.libreccm.org/ccm/trunk@1086 8810af33-2d31-482b-a856-94f89814c4df --- .../PublicPersonalProfileNavItemsAddForm.java | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/ui/PublicPersonalProfileNavItemsAddForm.java b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/ui/PublicPersonalProfileNavItemsAddForm.java index e0615ec07..ae5e24acc 100644 --- a/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/ui/PublicPersonalProfileNavItemsAddForm.java +++ b/ccm-cms-publicpersonalprofile/src/com/arsdigita/cms/publicpersonalprofile/ui/PublicPersonalProfileNavItemsAddForm.java @@ -26,8 +26,12 @@ import com.arsdigita.cms.util.LanguageUtil; import com.arsdigita.globalization.GlobalizedMessage; import com.arsdigita.util.Pair; import java.math.BigDecimal; +import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; import java.util.HashMap; +import java.util.List; import java.util.Map; /** @@ -152,12 +156,25 @@ public class PublicPersonalProfileNavItemsAddForm navItemMap.put(navItems.getNavItem().getKey(), navItems. getNavItem()); } + final List navItemsList = + new ArrayList(navItemMap. + values()); + final int numberOfKeys = navItemMap.size(); PublicPersonalProfileNavItem item; if (selected == null) { item = new PublicPersonalProfileNavItem(); - item.setId(new BigDecimal(navItems.size() + 1)); + Collections.sort(navItemsList, + new Comparator() { + + public int compare(final PublicPersonalProfileNavItem item1, + final PublicPersonalProfileNavItem item2) { + return item1.getId().compareTo(item2.getId()); + } + }); + item.setId(navItemsList.get(navItemsList.size() - 1).getId().add( + BigDecimal.ONE)); } else { item = selected; } @@ -173,7 +190,16 @@ public class PublicPersonalProfileNavItemsAddForm navItemMap.get((String) data.get( PublicPersonalProfileNavItem.KEY)); if (navItem == null) { - item.setOrder(numberOfKeys + 1); + Collections.sort(navItemsList, + new Comparator() { + + public int compare(final PublicPersonalProfileNavItem item1, + final PublicPersonalProfileNavItem item2) { + return item1.getOrder().compareTo(item2.getOrder()); + } + }); + item.setOrder(navItemsList.get(navItemsList.size() - 1).getOrder() + + 1); } else { item.setOrder(navItem.getOrder()); }