James Moger
2014-09-08 39bdc8fb91021fbc2f24ddf43b44f0150050a37c
Merged #171 "Fix potential NPE in TicketListPanel due to missing repository"
1 files modified
28 ■■■■■ changed files
src/main/java/com/gitblit/wicket/panels/TicketListPanel.java 28 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/panels/TicketListPanel.java
@@ -64,11 +64,10 @@
            @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 @@
                    @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);