public void make() throws RedirectException { if (mOwnIdentity == null) { throw new RedirectException(logIn); } makeBreadcrumbs(); boolean subscribe = mRequest.isPartSet("Subscribe"); boolean unsubscribe = mRequest.isPartSet("Unsubscribe"); if ((subscribe ^ unsubscribe) && mRequest.getMethod().equals("POST")) { String boardName = mRequest.getPartAsStringFailsafe("BoardName", Board.MAX_BOARDNAME_TEXT_LENGTH); try { MessageManager messageManager = mFreetalk.getMessageManager(); if (subscribe) { SubscribedBoard board = messageManager.subscribeToBoard(mOwnIdentity, boardName); HTMLNode successBox = addContentBox(l10n().getString("SelectBoardsPage.SubscriptionSucceededBox.Header")); l10n() .addL10nSubstitution( successBox.addChild("div"), "SelectBoardsPage.SubscriptionSucceededBox.Text", new String[] {"link", "boardname"}, new HTMLNode[] { HTMLNode.link(BoardPage.getURI(board)), HTMLNode.text(board.getName()) }); } else if (unsubscribe) { messageManager.unsubscribeFromBoard(mOwnIdentity, boardName); HTMLNode successBox = addContentBox(l10n().getString("SelectBoardsPage.UnsubscriptionSucceededBox.Header")); l10n() .addL10nSubstitution( successBox.addChild("div"), "SelectBoardsPage.UnsubscriptionSucceededBox.Text", new String[] {"boardname"}, new HTMLNode[] {HTMLNode.text(boardName)}); } } catch (Exception e) { HTMLNode alertBox = addAlertBox( subscribe ? l10n().getString("SelectBoardsPage.SubscribeFailed") : l10n().getString("SelectBoardsPage.UnsubscribeFailed")); alertBox.addChild("div", e.getMessage()); Logger.error(this, subscribe ? "subscribe failed" : "unsubscribe failed", e); } } makeBoardsList(); }