James Moger
2012-03-05 6fa6abf07be67bba86e9781a4028c4b3863b50f7
Replace ChoiceRenderer with StringChoiceRenderer (issue-71)
1 files added
4 files modified
76 ■■■■ changed files
docs/04_releases.mkd 1 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/StringChoiceRenderer.java 43 ●●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/EditRepositoryPage.java 12 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/EditTeamPage.java 14 ●●●● patch | view | raw | blame | history
src/com/gitblit/wicket/pages/EditUserPage.java 6 ●●●● patch | view | raw | blame | history
docs/04_releases.mkd
@@ -30,6 +30,7 @@
#### fixes 
- Uppercase repositories not selectable in edit palettes (issue 71)
- Activity page now displays all local branches (issue 65)
- Fixed (harmless) nullpointer on pushing to an empty repository (issue 69)
- Fixed possible nullpointer from the servlet container on startup (issue 67)
src/com/gitblit/wicket/StringChoiceRenderer.java
New file
@@ -0,0 +1,43 @@
/*
 * Copyright 2012 gitblit.com.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.gitblit.wicket;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
/**
 * Choice renderer for a palette or list of string values.  This renderer
 * controls the id value of each option such that palettes are case insensitive.
 *
 * @author James Moger
 *
 */
public class StringChoiceRenderer extends ChoiceRenderer<String> {
    private static final long serialVersionUID = 1L;
    public StringChoiceRenderer() {
        super("", "");
    }
    /**
     * @see org.apache.wicket.markup.html.form.IChoiceRenderer#getIdValue(java.lang.Object, int)
     */
    @Override
    public String getIdValue(String object, int index)
    {
        return object.toLowerCase();
    }
}
src/com/gitblit/wicket/pages/EditRepositoryPage.java
@@ -30,7 +30,6 @@
import org.apache.wicket.extensions.markup.html.form.palette.Palette;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.IChoiceRenderer;
@@ -51,6 +50,7 @@
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.StringChoiceRenderer;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.panels.BulletListPanel;
@@ -104,18 +104,18 @@
        // users palette
        final Palette<String> usersPalette = new Palette<String>("users", new ListModel<String>(
                repositoryUsers), new CollectionModel<String>(GitBlit.self().getAllUsernames()),
                new ChoiceRenderer<String>("", ""), 10, false);
                new StringChoiceRenderer(), 10, false);
        // teams palette
        final Palette<String> teamsPalette = new Palette<String>("teams", new ListModel<String>(
                repositoryTeams), new CollectionModel<String>(GitBlit.self().getAllTeamnames()),
                new ChoiceRenderer<String>("", ""), 5, false);
                new StringChoiceRenderer(), 5, false);
        // federation sets palette
        List<String> sets = GitBlit.getStrings(Keys.federation.sets);
        final Palette<String> federationSetsPalette = new Palette<String>("federationSets",
                new ListModel<String>(federationSets), new CollectionModel<String>(sets),
                new ChoiceRenderer<String>("", ""), 5, false);
                new StringChoiceRenderer(), 5, false);
        // pre-receive palette
        if (!ArrayUtils.isEmpty(repositoryModel.preReceiveScripts)) {
@@ -124,7 +124,7 @@
        final Palette<String> preReceivePalette = new Palette<String>("preReceiveScripts",
                new ListModel<String>(preReceiveScripts), new CollectionModel<String>(GitBlit
                        .self().getPreReceiveScriptsUnused(repositoryModel)),
                new ChoiceRenderer<String>("", ""), 12, true);
                new StringChoiceRenderer(), 12, true);
        // post-receive palette
        if (!ArrayUtils.isEmpty(repositoryModel.postReceiveScripts)) {
@@ -133,7 +133,7 @@
        final Palette<String> postReceivePalette = new Palette<String>("postReceiveScripts",
                new ListModel<String>(postReceiveScripts), new CollectionModel<String>(GitBlit
                        .self().getPostReceiveScriptsUnused(repositoryModel)),
                new ChoiceRenderer<String>("", ""), 12, true);
                new StringChoiceRenderer(), 12, true);
        CompoundPropertyModel<RepositoryModel> model = new CompoundPropertyModel<RepositoryModel>(
                repositoryModel);
src/com/gitblit/wicket/pages/EditTeamPage.java
@@ -27,7 +27,6 @@
import org.apache.wicket.behavior.SimpleAttributeModifier;
import org.apache.wicket.extensions.markup.html.form.palette.Palette;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.model.CompoundPropertyModel;
@@ -43,6 +42,7 @@
import com.gitblit.models.TeamModel;
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.RequiresAdminRole;
import com.gitblit.wicket.StringChoiceRenderer;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.panels.BulletListPanel;
@@ -97,12 +97,12 @@
        // repositories palette
        final Palette<String> repositories = new Palette<String>("repositories",
                new ListModel<String>(new ArrayList<String>(teamModel.repositories)),
                new CollectionModel<String>(repos), new ChoiceRenderer<String>("", ""), 10, false);
                new CollectionModel<String>(repos), new StringChoiceRenderer(), 10, false);
        // users palette
        final Palette<String> users = new Palette<String>("users", new ListModel<String>(
                new ArrayList<String>(teamUsers)), new CollectionModel<String>(GitBlit.self()
                .getAllUsernames()), new ChoiceRenderer<String>("", ""), 10, false);
                .getAllUsernames()), new StringChoiceRenderer(), 10, false);
        // pre-receive palette
        if (teamModel.preReceiveScripts != null) {
@@ -110,8 +110,8 @@
        }
        final Palette<String> preReceivePalette = new Palette<String>("preReceiveScripts",
                new ListModel<String>(preReceiveScripts), new CollectionModel<String>(GitBlit
                        .self().getPreReceiveScriptsUnused(null)), new ChoiceRenderer<String>("",
                        ""), 12, true);
                        .self().getPreReceiveScriptsUnused(null)), new StringChoiceRenderer(),
                        12, true);
        // post-receive palette
        if (teamModel.postReceiveScripts != null) {
@@ -119,8 +119,8 @@
        }
        final Palette<String> postReceivePalette = new Palette<String>("postReceiveScripts",
                new ListModel<String>(postReceiveScripts), new CollectionModel<String>(GitBlit
                        .self().getPostReceiveScriptsUnused(null)), new ChoiceRenderer<String>("",
                        ""), 12, true);
                        .self().getPostReceiveScriptsUnused(null)), new StringChoiceRenderer(),
                                12, true);
        Form<TeamModel> form = new Form<TeamModel>("editForm", model) {
src/com/gitblit/wicket/pages/EditUserPage.java
@@ -26,7 +26,6 @@
import org.apache.wicket.extensions.markup.html.form.palette.Palette;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.PasswordTextField;
import org.apache.wicket.markup.html.form.TextField;
@@ -44,6 +43,7 @@
import com.gitblit.models.UserModel;
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.RequiresAdminRole;
import com.gitblit.wicket.StringChoiceRenderer;
import com.gitblit.wicket.WicketUtils;
@RequiresAdminRole
@@ -94,10 +94,10 @@
        final String oldName = userModel.username;
        final Palette<String> repositories = new Palette<String>("repositories",
                new ListModel<String>(new ArrayList<String>(userModel.repositories)),
                new CollectionModel<String>(repos), new ChoiceRenderer<String>("", ""), 10, false);
                new CollectionModel<String>(repos), new StringChoiceRenderer(), 10, false);
        final Palette<String> teams = new Palette<String>("teams", new ListModel<String>(
                new ArrayList<String>(userTeams)), new CollectionModel<String>(GitBlit.self()
                .getAllTeamnames()), new ChoiceRenderer<String>("", ""), 10, false);
                .getAllTeamnames()), new StringChoiceRenderer(), 10, false);
        Form<UserModel> form = new Form<UserModel>("editForm", model) {
            private static final long serialVersionUID = 1L;