@@ -30,6 +30,7 @@ Push requests to these repositories will be rejected. | |||
#### 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) |
@@ -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(); | |||
} | |||
} |
@@ -30,7 +30,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.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.models.UserModel; | |||
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 @@ public class EditRepositoryPage extends RootSubPage { | |||
// 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 @@ public class EditRepositoryPage extends RootSubPage { | |||
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 @@ public class EditRepositoryPage extends RootSubPage { | |||
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); |
@@ -27,7 +27,6 @@ import org.apache.wicket.PageParameters; | |||
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.RepositoryModel; | |||
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 @@ public class EditTeamPage extends RootSubPage { | |||
// 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 @@ public class EditTeamPage extends RootSubPage { | |||
} | |||
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 @@ public class EditTeamPage extends RootSubPage { | |||
} | |||
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) { | |||
@@ -26,7 +26,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.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.TeamModel; | |||
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 @@ public class EditUserPage extends RootSubPage { | |||
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; |