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

knowledgepixels / nanodash / 27622721129

16 Jun 2026 01:55PM UTC coverage: 26.963% (+6.3%) from 20.697%
27622721129

Pull #483

github

web-flow
Merge 73a4d0fe1 into 663f14f46
Pull Request #483: Space/resource About pages, ref-aware spaces, and magic query params

1542 of 6717 branches covered (22.96%)

Branch coverage included in aggregate %.

3407 of 11638 relevant lines covered (29.27%)

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

3
import com.knowledgepixels.nanodash.ApiCache;
4
import com.knowledgepixels.nanodash.ViewDisplay;
5
import org.apache.wicket.behavior.AttributeAppender;
6
import com.knowledgepixels.nanodash.domain.AbstractResourceWithProfile;
7
import org.apache.wicket.Component;
8
import org.nanopub.extra.services.ApiResponse;
9
import org.nanopub.extra.services.QueryRef;
10

11
import java.io.Serializable;
12

13
/**
14
 * Builder class for creating QueryResultItemList components.
15
 */
16
public class QueryResultItemListBuilder implements Serializable {
17

18
    private final String markupId;
19
    private final ViewDisplay viewDisplay;
20
    private String contextId = null;
×
21
    private final QueryRef queryRef;
22
    private AbstractResourceWithProfile pageResource = null;
×
23

24
    private QueryResultItemListBuilder(String markupId, QueryRef queryRef, ViewDisplay viewDisplay) {
×
25
        this.markupId = markupId;
×
26
        // Bind session-derived "magic" query parameters here on the request thread
27
        // (ApiCache fetches on background threads where the session is absent).
28
        this.queryRef = com.knowledgepixels.nanodash.MagicQueryParams.augment(queryRef);
×
29
        this.viewDisplay = viewDisplay;
×
30
    }
×
31

32
    public static QueryResultItemListBuilder create(String markupId, QueryRef queryRef, ViewDisplay viewDisplay) {
33
        return new QueryResultItemListBuilder(markupId, queryRef, viewDisplay);
×
34
    }
35

36
    public QueryResultItemListBuilder contextId(String contextId) {
37
        this.contextId = contextId;
×
38
        return this;
×
39
    }
40

41
    public QueryResultItemListBuilder resourceWithProfile(AbstractResourceWithProfile resourceWithProfile) {
42
        return this;
×
43
    }
44

45
    public QueryResultItemListBuilder id(String id) {
46
        return this;
×
47
    }
48

49
    public QueryResultItemListBuilder pageResource(AbstractResourceWithProfile pageResource) {
50
        this.pageResource = pageResource;
×
51
        return this;
×
52
    }
53

54
    public Component build() {
55
        ApiResponse response = ApiCache.retrieveResponseAsync(queryRef);
×
56
        String colClass = " col-" + viewDisplay.getDisplayWidth();
×
57
        if (response != null) {
×
58
            QueryResultItemList result = new QueryResultItemList(markupId, queryRef, response, viewDisplay);
×
59
            result.setContextId(contextId);
×
60
            result.setPageResource(pageResource);
×
61
            result.add(new AttributeAppender("class", colClass));
×
62
            return result;
×
63
        } else {
64
            ApiResultComponent comp = new ApiResultComponent(markupId, queryRef) {
×
65
                @Override
66
                public Component getApiResultComponent(String id, ApiResponse r) {
67
                    QueryResultItemList result = new QueryResultItemList(id, queryRef, r, viewDisplay);
×
68
                    result.setContextId(contextId);
×
69
                    result.setPageResource(pageResource);
×
70
                    return result;
×
71
                }
72
            };
73
            comp.add(new AttributeAppender("class", colClass));
×
74
            return comp;
×
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