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

knowledgepixels / nanodash / 20264440287

16 Dec 2025 10:18AM UTC coverage: 15.358% (-0.1%) from 15.457%
20264440287

push

github

tkuhn
feat: Make use of template-version=latest in more places

593 of 4976 branches covered (11.92%)

Branch coverage included in aggregate %.

1571 of 9114 relevant lines covered (17.24%)

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

3
import com.knowledgepixels.nanodash.*;
4
import com.knowledgepixels.nanodash.page.PublishPage;
5
import com.knowledgepixels.nanodash.page.UserPage;
6
import org.apache.commons.lang3.tuple.Pair;
7
import org.apache.wicket.markup.html.panel.Panel;
8
import org.apache.wicket.markup.repeater.Item;
9
import org.apache.wicket.markup.repeater.data.DataView;
10
import org.apache.wicket.markup.repeater.data.ListDataProvider;
11
import org.apache.wicket.request.mapper.parameter.PageParameters;
12
import org.eclipse.rdf4j.model.IRI;
13

14
import java.util.ArrayList;
15
import java.util.List;
16

17
public class SpaceUserList extends Panel {
18

19
    public SpaceUserList(String markupId, Space space) {
20
        super(markupId);
×
21

22
        List<Pair<SpaceMemberRole, List<Pair<IRI, String>>>> userLists = new ArrayList<>();
×
23
        for (SpaceMemberRoleRef r : space.getRoles()) {
×
24
            // list of pairs of userId + nanopubId:
25
            List<Pair<IRI, String>> userList = new ArrayList<>();
×
26
            for (IRI userId : space.getUsers()) {
×
27
                for (SpaceMemberRoleRef p : space.getMemberRoles(userId)) {
×
28
                    if (p.getRole().equals(r.getRole())) {
×
29
                        userList.add(Pair.of(userId, p.getNanopubUri()));
×
30
                        break;
×
31
                    }
32
                }
×
33
            }
×
34
            userLists.add(Pair.of(r.getRole(), userList));
×
35
        }
×
36

37
        add(new DataView<Pair<SpaceMemberRole, List<Pair<IRI, String>>>>("user-lists", new ListDataProvider<>(userLists)) {
×
38
            @Override
39
            protected void populateItem(Item<Pair<SpaceMemberRole, List<Pair<IRI, String>>>> item) {
40
                SpaceMemberRole role = item.getModelObject().getLeft();
×
41
                ItemListPanel<Pair<IRI, String>> panel = new ItemListPanel<>(
×
42
                        "user-list",
43
                        role.getTitle(),
×
44
                        item.getModelObject().getRight(),
×
45
                        // FIXME add the source nanopublication
46
                        m -> new ItemListElement("item", UserPage.class, new PageParameters().add("id", m.getLeft()), User.getShortDisplayName(m.getLeft()), null, Utils.getAsNanopub(m.getRight()))).setProfiledResource(space);
×
47
                if (role.getRoleAssignmentTemplate() != null) {
×
48
                    if (!role.isAdminRole() || SpaceMemberRole.isCurrentUserAdmin(space)) {
×
49
                        panel.addButton("+", PublishPage.class, new PageParameters()
×
50
                                .set("template", role.getRoleAssignmentTemplate().getId())
×
51
                                .set("param_space", space.getId())
×
52
                                .set("refresh-upon-publish", space.getId())
×
53
                                .set("template-version", "latest")
×
54
                        );
55
                    }
56
                }
57
                item.add(panel);
×
58
            }
×
59
        });
60
    }
×
61

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