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

knowledgepixels / nanodash / 17675472756

12 Sep 2025 01:10PM UTC coverage: 13.79% (+0.05%) from 13.739%
17675472756

push

github

tkuhn
test: Fix GrlcQueryTest

433 of 3980 branches covered (10.88%)

Branch coverage included in aggregate %.

1112 of 7224 relevant lines covered (15.39%)

0.68 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/QueryList.java
1
package com.knowledgepixels.nanodash.component;
2

3
import java.util.ArrayList;
4
import java.util.List;
5

6
import org.apache.wicket.ajax.markup.html.navigation.paging.AjaxPagingNavigator;
7
import org.apache.wicket.extensions.markup.html.repeater.data.table.NavigatorLabel;
8
import org.apache.wicket.markup.html.WebMarkupContainer;
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.nanopub.extra.services.ApiResponse;
14
import org.nanopub.extra.services.ApiResponseEntry;
15
import org.slf4j.Logger;
16
import org.slf4j.LoggerFactory;
17

18
import com.knowledgepixels.nanodash.GrlcQuery;
19

20
/**
21
 * A component that displays a list of queries.
22
 * Each query is linked to its corresponding QueryPage.
23
 */
24
public class QueryList extends Panel {
25

26
    private static final long serialVersionUID = 1L;
27
    private static final Logger logger = LoggerFactory.getLogger(QueryList.class);
×
28

29
    /**
30
     * Constructor for QueryList.
31
     *
32
     * @param id   the component ID
33
     * @param resp the API response containing query data
34
     */
35
    public QueryList(String id, ApiResponse resp) {
36
        super(id);
×
37
        setOutputMarkupId(true);
×
38

39
        List<GrlcQuery> queries = new ArrayList<>();
×
40
        for (ApiResponseEntry e : resp.getData()) {
×
41
            try {
42
                queries.add(GrlcQuery.get(e.get("np")));
×
43
            } catch (Exception ex) {
×
44
                logger.error("Error processing query nanopub: {}", ex.getMessage());
×
45
            }
×
46
        }
×
47

48
        DataView<GrlcQuery> dataView = new DataView<>("querylist", new ListDataProvider<GrlcQuery>(queries)) {
×
49

50
            @Override
51
            protected void populateItem(Item<GrlcQuery> item) {
52
                item.add(new QueryItem("queryitem", item.getModelObject()));
×
53
            }
×
54

55
        };
56
        dataView.setItemsPerPage(10);
×
57
        dataView.setOutputMarkupId(true);
×
58
        add(dataView);
×
59

60
        WebMarkupContainer navigation = new WebMarkupContainer("navigation");
×
61
        navigation.add(new NavigatorLabel("navigatorLabel", dataView));
×
62
        AjaxPagingNavigator pagingNavigator = new AjaxPagingNavigator("navigator", dataView);
×
63
        navigation.setVisible(dataView.getPageCount() > 1);
×
64
        navigation.add(pagingNavigator);
×
65
        add(navigation);
×
66
    }
×
67

68
}
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