- Sone selectedSone = webInterface.getCore().getLocalSone(soneId, false);
- if (selectedSone != null) {
- setCurrentSone(request.getToadletContext(), selectedSone);
- throw new RedirectException("index.html");
+ Optional<LocalSone> selectedSone = webInterface.getCore().getLocalSone(soneId);
+ if (selectedSone.isPresent()) {
+ setCurrentSone(request.getToadletContext(), selectedSone.get());
+ String target = request.getHttpRequest().getParam("target");
+ if ((target == null) || (target.length() == 0)) {
+ target = "index.html";
+ }
+ throw new RedirectException(target);