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

knowledgepixels / nanodash / 18164905628

01 Oct 2025 02:08PM UTC coverage: 13.682% (-0.06%) from 13.745%
18164905628

push

github

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

446 of 4102 branches covered (10.87%)

Branch coverage included in aggregate %.

1147 of 7541 relevant lines covered (15.21%)

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

3
import org.apache.wicket.markup.html.WebMarkupContainer;
4
import org.apache.wicket.markup.html.basic.Label;
5
import org.apache.wicket.markup.html.panel.Panel;
6
import org.apache.wicket.markup.repeater.Item;
7
import org.apache.wicket.markup.repeater.data.DataView;
8
import org.apache.wicket.markup.repeater.data.ListDataProvider;
9
import org.eclipse.rdf4j.model.IRI;
10
import org.nanopub.extra.services.QueryRef;
11

12
import com.google.common.collect.ArrayListMultimap;
13
import com.google.common.collect.Multimap;
14
import com.knowledgepixels.nanodash.GrlcQuery;
15
import com.knowledgepixels.nanodash.Space;
16
import com.knowledgepixels.nanodash.User;
17

18
public class ViewList extends Panel {
19

20
    public ViewList(String markupId, Space space) {
21
        super(markupId);
×
22

23
        add(new DataView<GrlcQuery>("views", new ListDataProvider<GrlcQuery>(space.getViews())) {
×
24

25
            @Override
26
            protected void populateItem(Item<GrlcQuery> item) {
27
                GrlcQuery query = item.getModelObject();
×
28
                Multimap<String, String> queryRefParams = ArrayListMultimap.create();
×
29
                for (String p : query.getPlaceholdersList()) {
×
30
                    String paramName = QueryParamField.getParamName(p);
×
31
                    if (paramName.equals("space")) {
×
32
                        queryRefParams.put("space", space.getId());
×
33
                        if (QueryParamField.isMultiPlaceholder(p)) {
×
34
                            for (String altId : space.getAltIDs()) {
×
35
                                queryRefParams.put("space", altId);
×
36
                            }
×
37
                        }
38
                    } else if (paramName.equals("memberHash") || QueryParamField.isMultiPlaceholder(p)) {
×
39
                        for (IRI memberIri : space.getMembers()) {
×
40
                            for (String memberHash : User.getUserData().getPubkeyhashes(memberIri, true)) {
×
41
                                queryRefParams.put("memberHash", memberHash);
×
42
                            }
×
43
                        }
×
44
                    } else if (!QueryParamField.isOptional(p)) {
×
45
                        item.add(new Label("view", "<span class=\"negative\">Error: Query has non-optional parameter.</span>").setEscapeModelStrings(false));
×
46
                        return;
×
47
                    }
48
                }
×
49
                QueryRef queryRef = new QueryRef(query.getQueryId(), queryRefParams);
×
50
                item.add(QueryResultTable.createComponent("view", queryRef, false));
×
51
            }
×
52

53
        });
54

55
        add(new WebMarkupContainer("emptynotice").setVisible(space.getViews().isEmpty()));
×
56
    }
×
57

58

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