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

knowledgepixels / nanodash / 21671287408

04 Feb 2026 12:22PM UTC coverage: 14.244% (+0.8%) from 13.446%
21671287408

push

github

ashleycaselli
fix(QueryResultNanopubSet): remove unnecessary class attribute from markup

581 of 5240 branches covered (11.09%)

Branch coverage included in aggregate %.

1522 of 9524 relevant lines covered (15.98%)

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

3
import com.knowledgepixels.nanodash.NanodashSession;
4
import com.knowledgepixels.nanodash.QueryResult;
5
import com.knowledgepixels.nanodash.ViewDisplay;
6
import com.knowledgepixels.nanodash.page.ExplorePage;
7
import org.apache.wicket.AttributeModifier;
8
import org.apache.wicket.ajax.AjaxRequestTarget;
9
import org.apache.wicket.ajax.markup.html.AjaxLink;
10
import org.apache.wicket.behavior.AttributeAppender;
11
import org.apache.wicket.markup.html.basic.Label;
12
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
13
import org.apache.wicket.request.mapper.parameter.PageParameters;
14
import org.nanopub.extra.services.ApiResponse;
15
import org.nanopub.extra.services.QueryRef;
16
import org.slf4j.Logger;
17
import org.slf4j.LoggerFactory;
18

19
/**
20
 * Component for displaying query results in a list format.
21
 */
22
public class QueryResultNanopubSet extends QueryResult {
23

24
    private static final Logger logger = LoggerFactory.getLogger(QueryResultNanopubSet.class);
×
25

26
    /**
27
     * Constructor for QueryResultList.
28
     *
29
     * @param markupId    the markup ID
30
     * @param queryRef    the query reference
31
     * @param response    the API response
32
     * @param viewDisplay the view display
33
     */
34
    QueryResultNanopubSet(String markupId, QueryRef queryRef, ApiResponse response, ViewDisplay viewDisplay) {
35
        super(markupId, queryRef, response, viewDisplay);
×
36

37
        logger.info("Rendering {} with '{}' mode.", this.getClass().getName(), NanodashSession.get().getNanopubResultsViewMode().getValue());
×
38
        add(new AjaxLink<>("listEnabler") {
×
39
            @Override
40
            public void onClick(AjaxRequestTarget target) {
41
                NanodashSession.get().setNanopubResultsViewMode(NanopubResults.ViewMode.LIST);
×
42
                logger.info("ListEnabler -- Switched to '{}' mode", NanodashSession.get().getNanopubResultsViewMode().getValue());
×
43
            }
×
44
        });
45

46
        add(new AjaxLink<>("gridEnabler") {
×
47
            @Override
48
            public void onClick(AjaxRequestTarget target) {
49
                NanodashSession.get().setNanopubResultsViewMode(NanopubResults.ViewMode.GRID);
×
50
                logger.info("GridEnabler -- Switched to '{}' mode", NanodashSession.get().getNanopubResultsViewMode().getValue());
×
51
            }
×
52
        });
53

54
        String titleLabel = grlcQuery.getLabel();
×
55
        if (viewDisplay.getView().getTitle() != null) {
×
56
            titleLabel = viewDisplay.getView().getTitle();
×
57
        }
58
        add(new Label("title", titleLabel));
×
59
        add(AttributeModifier.remove("class"));
×
60
        setOutputMarkupId(true);
×
61
    }
×
62

63
    @Override
64
    protected void populateComponent() {
65
        logger.info("Populating the component with nanopub results.");
×
66
        NanopubResults nanopubResults = NanopubResults.fromApiResponse("nanopubs", response, 10);
×
67
        nanopubResults.add(AttributeAppender.append("class", NanodashSession.get().getNanopubResultsViewMode().getValue()));
×
68
        add(nanopubResults);
×
69

70
        if (viewDisplay.getNanopubId() != null) {
×
71
            add(new BookmarkablePageLink<Void>("np", ExplorePage.class, new PageParameters().set("id", viewDisplay.getNanopubId())));
×
72
        } else {
73
            add(new Label("np").setVisible(false));
×
74
        }
75
    }
×
76

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