• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

knowledgepixels / nanodash / 17375037963

01 Sep 2025 10:33AM UTC coverage: 11.982% (-0.04%) from 12.02%
17375037963

push

github

tkuhn
Merge branch 'master' of github.com:knowledgepixels/nanodash

330 of 3846 branches covered (8.58%)

Branch coverage included in aggregate %.

949 of 6828 relevant lines covered (13.9%)

0.61 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
src/main/java/com/knowledgepixels/nanodash/component/ProjectList.java
1
package com.knowledgepixels.nanodash.component;
2

3
import java.util.HashMap;
4

5
import org.apache.wicket.Component;
6
import org.apache.wicket.MarkupContainer;
7
import org.apache.wicket.markup.html.basic.Label;
8
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
9
import org.apache.wicket.markup.html.panel.Panel;
10
import org.apache.wicket.markup.repeater.Item;
11
import org.apache.wicket.markup.repeater.data.DataView;
12
import org.apache.wicket.markup.repeater.data.ListDataProvider;
13
import org.apache.wicket.request.mapper.parameter.PageParameters;
14
import org.nanopub.extra.services.ApiResponse;
15

16
import com.knowledgepixels.nanodash.ApiCache;
17
import com.knowledgepixels.nanodash.Project;
18
import com.knowledgepixels.nanodash.page.ProjectPage;
19

20
/**
21
 * A component that displays a list of projects.
22
 * Each project is represented as a link to its corresponding page.
23
 */
24
public class ProjectList extends Panel {
25

26
    private static final long serialVersionUID = 1L;
27

28
    public static MarkupContainer getListContainer(String markupId) {
29
        final HashMap<String, String> noParams = new HashMap<>();
×
30
        final String queryName = "get-projects";
×
31
        ApiResponse qResponse = ApiCache.retrieveResponse(queryName, noParams);
×
32
        if (qResponse != null) {
×
33
            return new ProjectList(markupId, qResponse);
×
34
        } else {
35
            return new ApiResultComponent(markupId, queryName, noParams) {
×
36

37
                private static final long serialVersionUID = 1L;
38

39
                @Override
40
                public Component getApiResultComponent(String markupId, ApiResponse response) {
41
                    return new ProjectList(markupId, response);
×
42
                }
43
            };
44

45
        }
46
    }
47

48
    /**
49
     * Constructor for ProjectList.
50
     *
51
     * @param id   the Wicket component ID
52
     * @param resp the ApiResponse containing project data
53
     */
54
    public ProjectList(String id, ApiResponse resp) {
55
        super(id);
×
56
        Project.refresh(resp);
×
57
        add(new DataView<Project>("projectlist", new ListDataProvider<Project>(Project.getProjectList())) {
×
58

59
            private static final long serialVersionUID = 1L;
60

61
            @Override
62
            protected void populateItem(Item<Project> item) {
63
                Project p = item.getModelObject();
×
64
                PageParameters params = new PageParameters();
×
65
                params.add("id", p.getId());
×
66
                BookmarkablePageLink<Void> l = new BookmarkablePageLink<Void>("projectlink", ProjectPage.class, params);
×
67
                l.add(new Label("linktext", p.getLabel()));
×
68
                item.add(l);
×
69
            }
×
70

71
        });
72
    }
×
73

74
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc