public void copyBuddies(Collection<? extends Buddy> buddies) { SsiServiceImpl service = getSsiService(); int parentid = getItem().getId(); List<SsiItem> items = new ArrayList<SsiItem>(); List<Integer> ids = new ArrayList<Integer>(); for (Buddy buddy : buddies) { int id; do { id = service.getUniqueItemId(SsiItem.TYPE_BUDDY, parentid); } while (ids.contains(id)); ids.add(id); BuddyItem item; if (buddy instanceof SimpleBuddy) { SimpleBuddy simpleBuddy = (SimpleBuddy) buddy; item = new BuddyItem(simpleBuddy.getItem()); item.setGroupid(parentid); item.setId(id); } else { item = new BuddyItem( buddy.getScreenname().getFormatted(), parentid, id, buddy.getAlias(), buddy.getBuddyComment(), buddy.getAlertEventMask(), buddy.getAlertActionMask(), buddy.getAlertSound()); } items.add(item.toSsiItem()); } addBuddies(items); }
public void addBuddy(String screenname) { SsiServiceImpl service = getSsiService(); int parentid = getItem().getId(); int id = service.getUniqueItemId(SsiItem.TYPE_BUDDY, parentid); addBuddies(Arrays.asList(new BuddyItem(screenname, parentid, id).toSsiItem())); }