- String soneId = request.getHttpRequest().getPartAsStringFailsafe("sone", 44);
- String returnPage = request.getHttpRequest().getPartAsStringFailsafe("returnPage", 64);
- Sone currentSone = getCurrentSone(request.getToadletContext());
- Sone sone = webInterface.core().getSone(soneId);
- if (!sone.equals(currentSone)) {
- currentSone.addFriend(sone);
- webInterface.core().saveSone(currentSone);
+ String returnPage = request.getHttpRequest().getPartAsStringFailsafe("returnPage", 256);
+ Sone currentSone = getCurrentSone(request.getToadletContext()).get();
+ String soneIds = request.getHttpRequest().getPartAsStringFailsafe("sone", 1200);
+ for (String soneId : soneIds.split("[ ,]+")) {
+ Optional<Sone> sone = webInterface.getCore().getSone(soneId);
+ if (sone.isPresent()) {
+ webInterface.getCore().followSone(currentSone, soneId);
+ webInterface.getCore().markSoneKnown(sone.get());
+ }