]> source.dussan.org Git - gitblit.git/commitdiff
Fix potential NPE in TicketListPanel due to missing repository 71/171/1
authorJames Moger <james.moger@gitblit.com>
Mon, 8 Sep 2014 20:15:30 +0000 (16:15 -0400)
committerJames Moger <james.moger@gitblit.com>
Mon, 8 Sep 2014 20:15:30 +0000 (16:15 -0400)
src/main/java/com/gitblit/wicket/panels/TicketListPanel.java

index 1ca483ceb6de51cb382600f764d555a729a00dec..c7079c859bb6887436a70ebcef23284de756187c 100644 (file)
@@ -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);