summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2014-09-08 14:25:59 -0600
committerJames Moger <james.moger@gitblit.com>2014-09-08 14:25:59 -0600
commit39bdc8fb91021fbc2f24ddf43b44f0150050a37c (patch)
tree9c0595cb890dcf216deff41960ce842a0e777eea
parentf8b50c278f097a7532ec33fc935fd8e02df0f3ab (diff)
parentbf68143bda275e31dd22ee2268621bb0e0541a72 (diff)
downloadgitblit-39bdc8fb91021fbc2f24ddf43b44f0150050a37c.tar.gz
gitblit-39bdc8fb91021fbc2f24ddf43b44f0150050a37c.zip
Merged #171 "Fix potential NPE in TicketListPanel due to missing repository"
-rw-r--r--src/main/java/com/gitblit/wicket/panels/TicketListPanel.java28
1 files changed, 19 insertions, 9 deletions
diff --git a/src/main/java/com/gitblit/wicket/panels/TicketListPanel.java b/src/main/java/com/gitblit/wicket/panels/TicketListPanel.java
index 1ca483ce..c7079c85 100644
--- a/src/main/java/com/gitblit/wicket/panels/TicketListPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/TicketListPanel.java
@@ -64,11 +64,10 @@ public class TicketListPanel extends BasePanel {
@Override
protected void populateItem(Item<QueryResult> item) {
final QueryResult ticket = item.getModelObject();
- final RepositoryModel repository = app().repositories().getRepositoryModel(ticket.repository);
if (showSwatch) {
// set repository color
- String color = StringUtils.getColor(StringUtils.stripDotGit(repository.name));
+ String color = StringUtils.getColor(StringUtils.stripDotGit(ticket.repository));
WicketUtils.setCssStyle(item, MessageFormat.format("border-left: 2px solid {0};", color));
}
@@ -121,13 +120,24 @@ public class TicketListPanel extends BasePanel {
@Override
public void populateItem(final Item<String> labelItem) {
- BugtraqProcessor btp = new BugtraqProcessor(app().settings());
- Repository db = app().repositories().getRepository(repository.name);
- String content = btp.processText(db, repository.name, labelItem.getModelObject());
- db.close();
- Label label = new Label("label", content);
- label.setEscapeModelStrings(false);
- TicketLabel tLabel = app().tickets().getLabel(repository, labelItem.getModelObject());
+ RepositoryModel repository = app().repositories().getRepositoryModel(ticket.repository);
+ Label label;
+ TicketLabel tLabel;
+ if (repository == null) {
+ label = new Label("label", labelItem.getModelObject());
+ tLabel = new TicketLabel(labelItem.getModelObject());
+ } else {
+ Repository db = app().repositories().getRepository(repository.name);
+ BugtraqProcessor btp = new BugtraqProcessor(app().settings());
+ String content = btp.processText(db, repository.name, labelItem.getModelObject());
+ db.close();
+
+ label = new Label("label", content);
+ label.setEscapeModelStrings(false);
+
+ tLabel = app().tickets().getLabel(repository, labelItem.getModelObject());
+ }
+
String background = MessageFormat.format("background-color:{0};", tLabel.color);
label.add(new SimpleAttributeModifier("style", background));
labelItem.add(label);