diff options
author | James Moger <james.moger@gitblit.com> | 2014-09-08 14:25:59 -0600 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2014-09-08 14:25:59 -0600 |
commit | 39bdc8fb91021fbc2f24ddf43b44f0150050a37c (patch) | |
tree | 9c0595cb890dcf216deff41960ce842a0e777eea | |
parent | f8b50c278f097a7532ec33fc935fd8e02df0f3ab (diff) | |
parent | bf68143bda275e31dd22ee2268621bb0e0541a72 (diff) | |
download | gitblit-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.java | 28 |
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); |