Korrekturen an der Verwaltungsoberfläche für PublicPersonProfile

git-svn-id: https://svn.libreccm.org/ccm/trunk@1086 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2011-09-01 15:41:59 +00:00
parent 2d4708a679
commit 4c07fd2cb5
1 changed files with 28 additions and 2 deletions

View File

@ -26,8 +26,12 @@ import com.arsdigita.cms.util.LanguageUtil;
import com.arsdigita.globalization.GlobalizedMessage; import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.util.Pair; import com.arsdigita.util.Pair;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -152,12 +156,25 @@ public class PublicPersonalProfileNavItemsAddForm
navItemMap.put(navItems.getNavItem().getKey(), navItems. navItemMap.put(navItems.getNavItem().getKey(), navItems.
getNavItem()); getNavItem());
} }
final List<PublicPersonalProfileNavItem> navItemsList =
new ArrayList<PublicPersonalProfileNavItem>(navItemMap.
values());
final int numberOfKeys = navItemMap.size(); final int numberOfKeys = navItemMap.size();
PublicPersonalProfileNavItem item; PublicPersonalProfileNavItem item;
if (selected == null) { if (selected == null) {
item = new PublicPersonalProfileNavItem(); item = new PublicPersonalProfileNavItem();
item.setId(new BigDecimal(navItems.size() + 1)); Collections.sort(navItemsList,
new Comparator<PublicPersonalProfileNavItem>() {
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 { } else {
item = selected; item = selected;
} }
@ -173,7 +190,16 @@ public class PublicPersonalProfileNavItemsAddForm
navItemMap.get((String) data.get( navItemMap.get((String) data.get(
PublicPersonalProfileNavItem.KEY)); PublicPersonalProfileNavItem.KEY));
if (navItem == null) { if (navItem == null) {
item.setOrder(numberOfKeys + 1); Collections.sort(navItemsList,
new Comparator<PublicPersonalProfileNavItem>() {
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 { } else {
item.setOrder(navItem.getOrder()); item.setOrder(navItem.getOrder());
} }