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

knowledgepixels / nanodash / 17700776486

13 Sep 2025 07:00PM UTC coverage: 13.736% (-0.04%) from 13.777%
17700776486

push

github

tkuhn
feat(Spaces): Improve Spaces pages

433 of 3986 branches covered (10.86%)

Branch coverage included in aggregate %.

1112 of 7262 relevant lines covered (15.31%)

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

3
import java.util.Arrays;
4

5
import org.apache.wicket.request.mapper.parameter.PageParameters;
6

7
import com.knowledgepixels.nanodash.Project;
8
import com.knowledgepixels.nanodash.QueryRef;
9
import com.knowledgepixels.nanodash.Space;
10
import com.knowledgepixels.nanodash.component.ItemListElement;
11
import com.knowledgepixels.nanodash.component.ItemListPanel;
12
import com.knowledgepixels.nanodash.component.TitleBar;
13
import com.knowledgepixels.nanodash.connector.ConnectorConfig;
14
import com.knowledgepixels.nanodash.connector.GenOverviewPage;
15

16
/**
17
 * A page that lists all available connectors.
18
 */
19
public class SpaceListPage extends NanodashPage {
20

21
    /**
22
     * The mount path for this page.
23
     */
24
    public static final String MOUNT_PATH = "/spaces";
25

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

34
    private static final String[] journals = new String[]{"ios/ds", "pensoft/bdj", "pensoft/rio"};
×
35

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

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

46
        addSpacePanel("Group");
×
47
        addSpacePanel("Project");
×
48
        addSpacePanel("Program");
×
49
        addSpacePanel("Initiative");
×
50
        addSpacePanel("Community");
×
51
        addSpacePanel("Event");
×
52

53
        add(new ItemListPanel<Project>(
×
54
                "legacy-projects",
55
                "Legacy Projects",
56
                new QueryRef("get-projects"),
57
                (apiResponse) -> { Project.refresh(apiResponse); return Project.getProjectList(); },
×
58
                (project) -> {
59
                    return new ItemListElement("item", ProjectPage.class, new PageParameters().add("id", project.getId()), project.getLabel());
×
60
                }
61
            ).setDescription("These legacy project pages will be migrated into the Spaces above:"));
×
62

63
        add(new ItemListPanel<String>(
×
64
                "journals",
65
                "Journals",
66
                Arrays.asList(journals),
×
67
                (journalId) -> {
68
                    String journalName = ConnectorConfig.get(journalId).getJournalName();
×
69
                    return new ItemListElement("item", GenOverviewPage.class, new PageParameters().add("journal", journalId), journalName);
×
70
                }
71
            ));
72
    }
×
73

74
    private void addSpacePanel(String type) {
75
        String typePl = type + "s";
×
76
        typePl = typePl.replaceFirst("ys$", "ies");
×
77
        add(new ItemListPanel<Space>(
×
78
            typePl.toLowerCase(),
×
79
            typePl,
80
            new QueryRef("get-spaces"),
81
            (apiResponse) -> { Space.refresh(apiResponse); return Space.getSpaceList("https://w3id.org/kpxl/gen/terms/" + type); },
×
82
            (space) -> {
83
                return new ItemListElement("item", SpacePage.class, new PageParameters().add("id", space.getId()), space.getLabel());
×
84
            }
85
        ).addButton("new...",
×
86
                PublishPage.class,
87
                new PageParameters()
88
                    .add("template", "https://w3id.org/np/RA7dQfmndqKmooQ4PlHyQsAql9i2tg_8GLHf_dqtxsGEQ")
×
89
                    .add("param_type", "https://w3id.org/kpxl/gen/terms/" + type)
×
90
                    .add("template-version", "latest")
×
91
                    .add("postpub-redirect-url", MOUNT_PATH)
×
92
            )
93
        );
94
    }
×
95

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