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

knowledgepixels / nanodash / 17837235071

18 Sep 2025 05:58PM UTC coverage: 13.87%. Remained the same
17837235071

push

github

tkuhn
chore: Remove serialVersionUIDs

443 of 4022 branches covered (11.01%)

Branch coverage included in aggregate %.

1133 of 7341 relevant lines covered (15.43%)

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

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

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

11
import com.knowledgepixels.nanodash.QueryRef;
12
import com.knowledgepixels.nanodash.User;
13
import com.knowledgepixels.nanodash.Utils;
14
import com.knowledgepixels.nanodash.component.ItemListElement;
15
import com.knowledgepixels.nanodash.component.ItemListPanel;
16
import com.knowledgepixels.nanodash.component.TitleBar;
17

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

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

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

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

44
        add(new TitleBar("titlebar", this, "users"));
×
45

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

61
        add(new ItemListPanel<IRI>(
×
62
                "topcreators",
63
                "Most Active Nanopublishers Last Month",
64
                new QueryRef("get-top-creators-last30d"),
65
                (apiResponse) -> {
66
                    List<IRI> users = new ArrayList<>();
×
67
                    for (ApiResponseEntry e : apiResponse.getData()) {
×
68
                        users.add(Utils.vf.createIRI(e.get("userid")));
×
69
                    }
×
70
                    return users;
×
71
                },
72
                (userIri) -> {
73
                    return new ItemListElement("item", UserPage.class, new PageParameters().add("id", userIri), User.getShortDisplayName(userIri));
×
74
                }
75
            ));
76

77
        add(new ItemListPanel<IRI>(
×
78
                "latestusers",
79
                "Latest New Users",
80
                new QueryRef("get-latest-users"),
81
                (apiResponse) -> {
82
                    List<IRI> users = new ArrayList<>();
×
83
                    for (ApiResponseEntry e : apiResponse.getData()) {
×
84
                        users.add(Utils.vf.createIRI(e.get("user")));
×
85
                    }
×
86
                    return users;
×
87
                },
88
                (userIri) -> {
89
                    return new ItemListElement("item", UserPage.class, new PageParameters().add("id", userIri), User.getShortDisplayName(userIri));
×
90
                }
91
            ));
92

93
        add(new ItemListPanel<IRI>(
×
94
                "approved-users",
95
                "Approved Users",
96
                User.getUsers(true),
×
97
                (userIri) -> {
98
                    return new ItemListElement("item", UserPage.class, new PageParameters().add("id", userIri), User.getShortDisplayName(userIri));
×
99
                }
100
            ));
101

102
        add(new ItemListPanel<IRI>(
×
103
                "other-users",
104
                "Non-Approved Users",
105
                User.getUsers(false),
×
106
                (userIri) -> {
107
                    return new ItemListElement("item", UserPage.class, new PageParameters().add("id", userIri), User.getShortDisplayName(userIri));
×
108
                }
109
            ));
110

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

115
    /**
116
     * {@inheritDoc}
117
     */
118
    @Override
119
    protected boolean hasAutoRefreshEnabled() {
120
        return true;
×
121
    }
122

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