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

knowledgepixels / nanodash / 18314058366

07 Oct 2025 01:20PM UTC coverage: 13.943% (+0.5%) from 13.489%
18314058366

push

github

tkuhn
feat(Spaces): Support for roleAssignmentTemplate in Space member roles

454 of 4182 branches covered (10.86%)

Branch coverage included in aggregate %.

1202 of 7695 relevant lines covered (15.62%)

0.7 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 java.util.ArrayList;
4
import java.util.List;
5

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 com.knowledgepixels.nanodash.Space;
15
import com.knowledgepixels.nanodash.SpaceMemberRole;
16
import com.knowledgepixels.nanodash.User;
17
import com.knowledgepixels.nanodash.page.PublishPage;
18
import com.knowledgepixels.nanodash.page.UserPage;
19

20
public class SpaceUserList extends Panel {
21

22
    public SpaceUserList(String markupId, Space space) {
23
        super(markupId);
×
24

25
        List<Pair<SpaceMemberRole, List<IRI>>> userLists = new ArrayList<>();
×
26
        for (SpaceMemberRole r : space.getRoles()) {
×
27
            List<IRI> userList = new ArrayList<>();
×
28
            for (IRI userId : space.getUsers()) {
×
29
                if (space.getMemberRoles(userId).contains(r)) userList.add(userId);
×
30
            }
×
31
            userLists.add(Pair.of(r, userList));
×
32
        }
×
33

34
        add(new DataView<Pair<SpaceMemberRole, List<IRI>>>("user-lists", new ListDataProvider<>(userLists)) {
×
35
            @Override
36
            protected void populateItem(Item<Pair<SpaceMemberRole, List<IRI>>> item) {
37
                SpaceMemberRole role = item.getModelObject().getLeft();
×
38
                ItemListPanel<IRI> panel = new ItemListPanel<>(
×
39
                       "user-list",
40
                       role.getTitle(),
×
41
                       item.getModelObject().getRight(),
×
42
                       m -> {
43
                           return new ItemListElement("item", UserPage.class, new PageParameters().add("id", m), User.getShortDisplayName(m));
×
44
                       });
45
                if (role.getRoleAssignmentTemplate() != null) {
×
46
                    if (!role.isAdminRole() || SpaceMemberRole.isCurrentUserAdmin(space)) {
×
47
                        panel.addButton("+", PublishPage.class, new PageParameters()
×
48
                                .add("template", role.getRoleAssignmentTemplate().getId())
×
49
                                .add("param_space", space.getId())
×
50
                            );
51
                    }
52
                }
53
                item.add(panel);
×
54
            }
×
55
        });
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