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

knowledgepixels / nanodash / 17545896063

08 Sep 2025 09:16AM UTC coverage: 11.975% (+0.003%) from 11.972%
17545896063

push

github

tkuhn
Sort user list

334 of 3876 branches covered (8.62%)

Branch coverage included in aggregate %.

961 of 6938 relevant lines covered (13.85%)

0.61 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
src/main/java/com/knowledgepixels/nanodash/page/UserListPage.java
1
package com.knowledgepixels.nanodash.page;
2

3
import java.util.HashMap;
4
import java.util.List;
5

6
import org.apache.wicket.Component;
7
import org.apache.wicket.markup.html.link.ExternalLink;
8
import org.apache.wicket.request.mapper.parameter.PageParameters;
9
import org.eclipse.rdf4j.model.IRI;
10
import org.nanopub.extra.services.ApiResponse;
11

12
import com.knowledgepixels.nanodash.ApiCache;
13
import com.knowledgepixels.nanodash.User;
14
import com.knowledgepixels.nanodash.component.ApiResultComponent;
15
import com.knowledgepixels.nanodash.component.TitleBar;
16
import com.knowledgepixels.nanodash.component.UserList;
17

18
/**
19
 * Page that lists all users and groups.
20
 */
21
public class UserListPage extends NanodashPage {
22

23
    private static final long serialVersionUID = 1L;
24

25
    /**
26
     * The mount path for this page.
27
     */
28
    public static final String MOUNT_PATH = "/userlist";
29

30
    /**
31
     * {@inheritDoc}
32
     */
33
    @Override
34
    public String getMountPath() {
35
        return MOUNT_PATH;
×
36
    }
37

38
    /**
39
     * Constructor for the user list page.
40
     *
41
     * @param parameters the page parameters
42
     */
43
    public UserListPage(final PageParameters parameters) {
44
        super(parameters);
×
45

46
        add(new TitleBar("titlebar", this, "users"));
×
47

48
//                final List<Group> groupList = new ArrayList<Group>(Group.getGroups());
49
//                add(new DataView<Group>("groups", new ListDataProvider<Group>(groupList)) {
50
//
51
//                        private static final long serialVersionUID = 1L;
52
//
53
//                        @Override
54
//                        protected void populateItem(Item<Group> item) {
55
//                                Group g = item.getModelObject();
56
//                                PageParameters params = new PageParameters();
57
//                                params.add("id", g.getIri());
58
//                                BookmarkablePageLink<Void> l = new BookmarkablePageLink<Void>("grouplink", GroupPage.class, params);
59
//                                l.add(new Label("linktext", g.getName()));
60
//                                item.add(l);
61
//                        }
62
//
63
//                });
64

65
        final HashMap<String, String> noParams = new HashMap<>();
×
66

67
        final String uQueryName = "get-top-creators-last30d";
×
68
        ApiResponse rResponse = ApiCache.retrieveResponse(uQueryName, noParams);
×
69
        if (rResponse != null) {
×
70
            add(new UserList("topcreators", rResponse, "userid", false));
×
71
        } else {
72
            add(new ApiResultComponent("topcreators", uQueryName, noParams) {
×
73

74
                private static final long serialVersionUID = 1L;
75

76
                @Override
77
                public Component getApiResultComponent(String markupId, ApiResponse response) {
78
                    return new UserList(markupId, response, "userid", false);
×
79
                }
80
            });
81
        }
82

83
        final String aQueryName = "get-top-authors";
×
84
        ApiResponse aResponse = ApiCache.retrieveResponse(aQueryName, noParams);
×
85
        if (aResponse != null) {
×
86
            add(new UserList("topauthors", aResponse, "author", false));
×
87
        } else {
88
            add(new ApiResultComponent("topauthors", aQueryName, noParams) {
×
89

90
                private static final long serialVersionUID = 1L;
91

92
                @Override
93
                public Component getApiResultComponent(String markupId, ApiResponse response) {
94
                    return new UserList(markupId, response, "author", false);
×
95
                }
96
            });
97
        }
98

99
        final List<IRI> userList = User.getUsers(true);
×
100

101
        add(new UserList("approved-users", userList, true));
×
102
        add(new UserList("other-users", User.getUsers(false), true));
×
103

104
        add(new ExternalLink("approve", PublishPage.MOUNT_PATH + "?template=http://purl.org/np/RA6TVVSnZChEwyxjvFDNAujk1i8sSPnQx60ZQjldtiDkw&template-version=latest", "approve somebody else"));
×
105
        //add(new ExternalLink("newgroup", PublishPage.MOUNT_PATH + "?template=http://purl.org/np/RAJz6w5cvlsFGkCDtWOUXt2VwEQ3tVGtPdy3atPj_DUhk&template-version=latest", "new group"));
106
    }
×
107

108
    /**
109
     * {@inheritDoc}
110
     */
111
    @Override
112
    protected boolean hasAutoRefreshEnabled() {
113
        return true;
×
114
    }
115

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