Example usage for org.apache.wicket.request.http.handler RedirectRequestHandler RedirectRequestHandler

List of usage examples for org.apache.wicket.request.http.handler RedirectRequestHandler RedirectRequestHandler

Introduction

In this page you can find the example usage for org.apache.wicket.request.http.handler RedirectRequestHandler RedirectRequestHandler.

Prototype

public RedirectRequestHandler(final String redirectUrl) 

Source Link

Usage

From source file:com.francetelecom.clara.cloud.presentation.login.EmailSupport.java

License:Apache License

private void initComponent() {
    String urlMailSupport = contactUsBean.getMailTo();
    getRequestCycle()//from  www  .  j a  va2s  .c  o m
            .scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler("mailto:" + urlMailSupport));

}

From source file:com.francetelecom.clara.cloud.presentation.login.LoginForgotPage.java

License:Apache License

private void initComponent() {
    String urlForgot = signUpLinks.getForgottenUrl();
    getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler(urlForgot));

}

From source file:com.francetelecom.clara.cloud.presentation.login.LoginForNewUserPage.java

License:Apache License

private void initComponent() {
    String urlForCreate = signUpLinks.getSignupUrl();
    getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler(urlForCreate));

}

From source file:com.gitblit.wicket.GitblitRedirectException.java

License:Apache License

public <C extends Page> GitblitRedirectException(Class<C> pageClass, PageParameters params) {
    super(pageClass, params);
    RequestCycle cycle = RequestCycle.get();
    String absoluteUrl = GitBlitRequestUtils.toAbsoluteUrl(pageClass, params);
    cycle.scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler(absoluteUrl));
}

From source file:com.gitblit.wicket.pages.BasePage.java

License:Apache License

protected void redirectTo(Class<? extends BasePage> pageClass, PageParameters parameters) {
    String absoluteUrl = getCanonicalUrl(pageClass, parameters);
    getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler(absoluteUrl));
}

From source file:com.gitblit.wicket.pages.ComparePage.java

License:Apache License

public ComparePage(PageParameters params) {
    super(params);
    Repository r = getRepository();/*from w  w  w  .j  a v  a2  s  .  c om*/
    RepositoryModel repository = getRepositoryModel();

    if (StringUtils.isEmpty(objectId)) {
        // seleciton form
        add(new Label("comparison").setVisible(false));
    } else {
        // active comparison
        Fragment comparison = new Fragment("comparison", "comparisonFragment", ComparePage.this);
        add(comparison);

        RevCommit fromCommit;
        RevCommit toCommit;

        String[] parts = objectId.split("\\.\\.");
        if (parts[0].startsWith("refs/") && parts[1].startsWith("refs/")) {
            // set the ref models
            fromRefId.setObject(parts[0]);
            toRefId.setObject(parts[1]);

            fromCommit = getCommit(r, fromRefId.getObject());
            toCommit = getCommit(r, toRefId.getObject());
        } else {
            // set the id models
            fromCommitId.setObject(parts[0]);
            toCommitId.setObject(parts[1]);

            fromCommit = getCommit(r, fromCommitId.getObject());
            toCommit = getCommit(r, toCommitId.getObject());
        }

        // prepare submodules
        getSubmodules(toCommit);

        final String startId = fromCommit.getId().getName();
        final String endId = toCommit.getId().getName();

        // commit ids
        fromCommitId.setObject(startId);
        toCommitId.setObject(endId);

        final List<String> imageExtensions = app().settings().getStrings(Keys.web.imageExtensions);
        final ImageDiffHandler handler = new ImageDiffHandler(this, repositoryName, fromCommit.getName(),
                toCommit.getName(), imageExtensions);
        final DiffComparator diffComparator = WicketUtils.getDiffComparator(params);
        final int tabLength = app().settings().getInteger(Keys.web.tabLength, 4);
        final DiffOutput diff = DiffUtils.getDiff(r, fromCommit, toCommit, diffComparator, DiffOutputType.HTML,
                handler, tabLength);
        if (handler.getImgDiffCount() > 0) {
            addBottomScript("scripts/imgdiff.js"); // Tiny support script for image diffs
        }

        // add compare diffstat
        int insertions = 0;
        int deletions = 0;
        for (PathChangeModel pcm : diff.stat.paths) {
            insertions += pcm.insertions;
            deletions += pcm.deletions;
        }
        comparison.add(new DiffStatPanel("diffStat", insertions, deletions));

        // compare page links
        //         comparison.add(new BookmarkablePageLink<Void>("patchLink", PatchPage.class,
        //               WicketUtils.newRangeParameter(repositoryName, fromCommitId.toString(), toCommitId.getObject())));

        // display list of commits
        comparison.add(
                new LogPanel("commitList", repositoryName, objectId, r, 0, 0, repository.showRemoteBranches));

        // changed paths list
        comparison.add(new CommitLegendPanel("commitLegend", diff.stat.paths));
        ListDataProvider<PathChangeModel> pathsDp = new ListDataProvider<PathChangeModel>(diff.stat.paths);
        DataView<PathChangeModel> pathsView = new DataView<PathChangeModel>("changedPath", pathsDp) {
            private static final long serialVersionUID = 1L;
            int counter;

            @Override
            public void populateItem(final Item<PathChangeModel> item) {
                final PathChangeModel entry = item.getModelObject();
                Label changeType = new Label("changeType", "");
                WicketUtils.setChangeTypeCssClass(changeType, entry.changeType);
                setChangeTypeTooltip(changeType, entry.changeType);
                item.add(changeType);
                item.add(new DiffStatPanel("diffStat", entry.insertions, entry.deletions, true));

                boolean hasSubmodule = false;
                String submodulePath = null;
                if (entry.isTree()) {
                    // tree
                    item.add(new LinkPanel("pathName", null, entry.path, TreePage.class,
                            WicketUtils.newPathParameter(repositoryName, endId, entry.path)));
                } else if (entry.isSubmodule()) {
                    // submodule
                    String submoduleId = entry.objectId;
                    SubmoduleModel submodule = getSubmodule(entry.path);
                    submodulePath = submodule.gitblitPath;
                    hasSubmodule = submodule.hasSubmodule;

                    // add relative link
                    item.add(new LinkPanel("pathName", "list",
                            entry.path + " @ " + getShortObjectId(submoduleId), "#n" + entry.objectId));
                } else {
                    // add relative link
                    item.add(new LinkPanel("pathName", "list", entry.path, "#n" + entry.objectId));
                }

                // quick links
                if (entry.isSubmodule()) {
                    // submodule
                    item.add(new ExternalLink("patch", "").setEnabled(false));
                    item.add(new BookmarkablePageLink<Void>("view", CommitPage.class,
                            WicketUtils.newObjectParameter(submodulePath, entry.objectId))
                                    .setEnabled(hasSubmodule));
                    item.add(new ExternalLink("raw", "").setEnabled(false));
                    item.add(new ExternalLink("blame", "").setEnabled(false));
                    item.add(new BookmarkablePageLink<Void>("history", HistoryPage.class,
                            WicketUtils.newPathParameter(repositoryName, endId, entry.path))
                                    .setEnabled(!entry.changeType.equals(ChangeType.ADD)));
                } else {
                    // tree or blob
                    item.add(new BookmarkablePageLink<Void>("patch", PatchPage.class,
                            WicketUtils.newBlobDiffParameter(repositoryName, startId, endId, entry.path))
                                    .setEnabled(!entry.changeType.equals(ChangeType.DELETE)));
                    item.add(new BookmarkablePageLink<Void>("view", BlobPage.class,
                            WicketUtils.newPathParameter(repositoryName, endId, entry.path))
                                    .setEnabled(!entry.changeType.equals(ChangeType.DELETE)));
                    String rawUrl = RawServlet.asLink(getContextUrl(), repositoryName, endId, entry.path);
                    item.add(new ExternalLink("raw", rawUrl)
                            .setEnabled(!entry.changeType.equals(ChangeType.DELETE)));
                    item.add(new BookmarkablePageLink<Void>("blame", BlamePage.class,
                            WicketUtils.newPathParameter(repositoryName, endId, entry.path))
                                    .setEnabled(!entry.changeType.equals(ChangeType.ADD)
                                            && !entry.changeType.equals(ChangeType.DELETE)));
                    item.add(new BookmarkablePageLink<Void>("history", HistoryPage.class,
                            WicketUtils.newPathParameter(repositoryName, endId, entry.path))
                                    .setEnabled(!entry.changeType.equals(ChangeType.ADD)));
                }
                WicketUtils.setAlternatingBackground(item, counter);
                counter++;
            }
        };
        comparison.add(pathsView);
        comparison.add(new Label("diffText", diff.content).setEscapeModelStrings(false));
    }

    // set the default DiffComparator
    DiffComparator diffComparator = WicketUtils.getDiffComparator(params);
    ignoreWhitespace.setObject(DiffComparator.IGNORE_WHITESPACE == diffComparator);

    //
    // ref selection form
    //
    SessionlessForm<Void> refsForm = new SessionlessForm<Void>("compareRefsForm", getClass(),
            getPageParameters()) {

        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            String from = ComparePage.this.fromRefId.getObject();
            String to = ComparePage.this.toRefId.getObject();
            boolean ignoreWS = ignoreWhitespace.getObject();

            PageParameters params = WicketUtils.newRangeParameter(repositoryName, from, to);
            if (ignoreWS) {
                params.add("w", 1);
            }

            String absoluteUrl = GitBlitRequestUtils.toAbsoluteUrl(ComparePage.class, params);
            getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler(absoluteUrl));
        }
    };

    List<String> refs = new ArrayList<String>();
    for (RefModel ref : JGitUtils.getLocalBranches(r, true, -1)) {
        refs.add(ref.getName());
    }
    if (repository.showRemoteBranches) {
        for (RefModel ref : JGitUtils.getRemoteBranches(r, true, -1)) {
            refs.add(ref.getName());
        }
    }
    for (RefModel ref : JGitUtils.getTags(r, true, -1)) {
        refs.add(ref.getName());
    }
    refsForm.add(new DropDownChoice<String>("fromRef", fromRefId, refs).setEnabled(refs.size() > 0));
    refsForm.add(new DropDownChoice<String>("toRef", toRefId, refs).setEnabled(refs.size() > 0));
    refsForm.add(new Label("ignoreWhitespaceLabel",
            getString(DiffComparator.IGNORE_WHITESPACE.getTranslationKey())));
    refsForm.add(new CheckBox("ignoreWhitespaceCheckbox", ignoreWhitespace));
    add(refsForm);

    //
    // manual ids form
    //
    SessionlessForm<Void> idsForm = new SessionlessForm<Void>("compareIdsForm", getClass(),
            getPageParameters()) {

        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            String from = ComparePage.this.fromCommitId.getObject();
            String to = ComparePage.this.toCommitId.getObject();
            boolean ignoreWS = ignoreWhitespace.getObject();

            PageParameters params = WicketUtils.newRangeParameter(repositoryName, from, to);
            if (ignoreWS) {
                params.add("w", 1);
            }
            String absoluteUrl = GitBlitRequestUtils.toAbsoluteUrl(ComparePage.class, params);
            getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler(absoluteUrl));
        }
    };

    TextField<String> fromIdField = new TextField<String>("fromId", fromCommitId);
    WicketUtils.setInputPlaceholder(fromIdField, getString("gb.from") + "...");
    idsForm.add(fromIdField);

    TextField<String> toIdField = new TextField<String>("toId", toCommitId);
    WicketUtils.setInputPlaceholder(toIdField, getString("gb.to") + "...");
    idsForm.add(toIdField);
    idsForm.add(new Label("ignoreWhitespaceLabel",
            getString(DiffComparator.IGNORE_WHITESPACE.getTranslationKey())));
    idsForm.add(new CheckBox("ignoreWhitespaceCheckbox", ignoreWhitespace));
    add(idsForm);

    r.close();
}

From source file:com.gitblit.wicket.panels.BranchesPanel.java

License:Apache License

private Link<Void> createDeleteBranchLink(final RepositoryModel repositoryModel, final RefModel entry) {
    Link<Void> deleteLink = new Link<Void>("deleteBranch") {
        private static final long serialVersionUID = 1L;

        @Override//from w w  w  .j  a va  2  s .c  o m
        public void onClick() {
            Repository r = app().repositories().getRepository(repositoryModel.name);
            if (r == null) {
                if (app().repositories().isCollectingGarbage(repositoryModel.name)) {
                    error(MessageFormat.format(getString("gb.busyCollectingGarbage"), repositoryModel.name));
                } else {
                    error(MessageFormat.format("Failed to find repository {0}", repositoryModel.name));
                }
                return;
            }
            final String branch = entry.getName();
            Ref ref = null;
            try {
                ref = r.findRef(branch);
                if (ref == null && !branch.startsWith(Constants.R_HEADS)) {
                    ref = r.findRef(Constants.R_HEADS + branch);
                }
            } catch (IOException e) {
            }
            if (ref != null) {
                boolean success = JGitUtils.deleteBranchRef(r, ref.getName());
                if (success) {
                    // clear commit cache
                    CommitCache.instance().clear(repositoryModel.name, branch);

                    // optionally update reflog
                    if (RefLogUtils.hasRefLogBranch(r)) {
                        UserModel user = GitBlitWebSession.get().getUser();
                        RefLogUtils.deleteRef(user, r, ref);
                    }
                }

                if (success) {
                    info(MessageFormat.format("Branch \"{0}\" deleted", branch));
                } else {
                    error(MessageFormat.format("Failed to delete branch \"{0}\"", branch));
                }
            }
            r.close();

            // redirect to the owning page
            PageParameters params = WicketUtils.newRepositoryParameter(repositoryModel.name);
            String absoluteUrl = GitBlitRequestUtils.toAbsoluteUrl(getPage().getClass(), params);
            getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler(absoluteUrl));
        }
    };

    deleteLink.add(new JavascriptEventConfirmation("click",
            MessageFormat.format("Delete branch \"{0}\"?", entry.displayName)));
    return deleteLink;
}

From source file:com.gitblit.wicket.panels.CommentPanel.java

License:Apache License

@Override
protected void onInitialize() {
    super.onInitialize();

    Form<String> form = new Form<String>("editorForm");
    add(form);/* www . j a  v  a 2  s . com*/

    form.add(new AjaxButton("submit", new Model<String>(getString("gb.comment")), form) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit(AjaxRequestTarget target) {
            String txt = markdownEditor.getText();
            if (change == null) {
                // new comment
                Change newComment = new Change(user.username);
                newComment.comment(txt);
                if (!ticket.isWatching(user.username)) {
                    newComment.watch(user.username);
                }
                RepositoryModel repository = app().repositories().getRepositoryModel(ticket.repository);
                TicketModel updatedTicket = app().tickets().updateTicket(repository, ticket.number, newComment);
                if (updatedTicket != null) {
                    app().tickets().createNotifier().sendMailing(updatedTicket);
                    redirectTo(pageClass,
                            WicketUtils.newObjectParameter(updatedTicket.repository, "" + ticket.number));
                } else {
                    error("Failed to add comment!");
                }
            } else {
                // TODO update comment
            }
        }

        /**
         * Steal from BasePage to realize redirection.
         * 
         * @see BasePage
         * @author krulls@GitHub; ECG Leipzig GmbH, Germany, 2015
         * 
         * @param pageClass
         * @param parameters
         * @return
         */
        private void redirectTo(Class<? extends BasePage> pageClass, PageParameters parameters) {
            String absoluteUrl = GitBlitRequestUtils.toAbsoluteUrl(pageClass, parameters);
            getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler(absoluteUrl));
        }

    }.setVisible(ticket != null && ticket.number > 0));

    final IModel<String> markdownPreviewModel = Model.of();
    markdownPreview = new Label("markdownPreview", markdownPreviewModel);
    markdownPreview.setEscapeModelStrings(false);
    markdownPreview.setOutputMarkupId(true);
    add(markdownPreview);

    markdownEditor = new MarkdownTextArea("markdownEditor", markdownPreviewModel, markdownPreview);
    markdownEditor.setRepository(repositoryName);
    WicketUtils.setInputPlaceholder(markdownEditor, getString("gb.leaveComment"));
    add(markdownEditor);
}

From source file:com.gitblit.wicket.panels.TicketSearchForm.java

License:Apache License

@Override
public void onSubmit() {
    String searchString = searchBoxModel.getObject();
    if (StringUtils.isEmpty(searchString)) {
        // redirect to self to avoid wicket page update bug
        String absoluteUrl = getAbsoluteUrl();
        getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler(absoluteUrl));
        return;//ww w.ja  va2  s  . c om
    }

    // use an absolute url to workaround Wicket-Tomcat problems with
    // mounted url parameters (issue-111)
    PageParameters params = WicketUtils.newRepositoryParameter(repositoryName);
    params.add("s", searchString);
    String absoluteUrl = getAbsoluteUrl(pageClass, params);
    getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler(absoluteUrl));
}

From source file:com.userweave.application.ModuleConfigurationContainer.java

License:Open Source License

private void displayFinishedPage() {
    testUI.replaceWith(getFinishedUI());
    String finishedPageUrl = getActiveConfiguration().getStudy().getFinishedPageUrl();
    if (finishedPageUrl != null) {
        getRequestCycle().scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler(finishedPageUrl));
    } else/*from   w ww.ja v a2  s.c o  m*/
        getRequestCycle()
                .scheduleRequestHandlerAfterCurrent(new RedirectRequestHandler(Study.DEFAULT_FINISHED_URL));
}