Search in sources :

Example 1 with Grid

use of com.mercedesbenz.sechub.developertools.admin.export.Grid in project sechub by mercedes-benz.

the class CreateOverviewCSVExportAction method execute.

@Override
public void execute(ActionEvent e) {
    Row title = Row.builder().add("Project").add("Owner").add("Users").add("whitelists").add("information").build();
    Grid grid = new Grid(title);
    List<String> projectIds = loadProjectIds();
    List<String> allUsers = loadUserIds();
    List<String> signupUsers = loadSignupUserIds();
    int projectsDone = 0;
    for (String projectId : projectIds) {
        outputAsTextOnSuccess("Loading project :" + projectId + " ->" + projectsDone + "/" + projectIds.size());
        String data = getContext().getAdministration().fetchProjectInfo(projectId);
        TestJSONHelper jsonHelper = TestJSONHelper.get();
        JsonNode tree = jsonHelper.readTree(data);
        JsonNode usersNode = tree.get("users");
        JsonNode ownerNode = tree.get("owner");
        JsonNode whiteListsNode = tree.get("whiteList");
        StringBuilder userListSb = createCommaSeparatedListOfEntries(usersNode, allUsers);
        StringBuilder whiteListSb = createCommaSeparatedListOfEntries(whiteListsNode);
        Row row = Row.builder().add(projectId).add(ownerNode.asText()).add(userListSb.toString()).add(whiteListSb.toString()).add("").build();
        grid.add(row);
        projectsDone++;
    }
    /* add unrelated users in pseudo - project */
    Row row1 = Row.builder().add("<NO PROJECT>").add("<NO OWNER>").add(allUsers.toString()).add("").add("Inside SecHub registered, but not assigned to any project!").build();
    grid.add(row1);
    /* add signup users in pseudo - project */
    for (String signupUser : signupUsers) {
        Row row2 = Row.builder().add("<WAITING SIGNUP>").add("<NO OWNER>").add(signupUser).add("").add("Waiting for signup").build();
        grid.add(row2);
    }
    try {
        Path tempFile = Files.createTempFile("sechub_devtools_adminui_export", ".csv");
        try (BufferedWriter buffer = Files.newBufferedWriter(tempFile)) {
            buffer.write(grid.toCSVString());
            outputAsTextOnSuccess("written CSV data to " + tempFile.toAbsolutePath().toFile().getAbsolutePath());
        }
    } catch (IOException e2) {
        outputAsTextOnSuccess("FAILED");
        e2.printStackTrace();
    }
}
Also used : Path(java.nio.file.Path) Grid(com.mercedesbenz.sechub.developertools.admin.export.Grid) TestJSONHelper(com.mercedesbenz.sechub.integrationtest.internal.TestJSONHelper) JsonNode(com.fasterxml.jackson.databind.JsonNode) Row(com.mercedesbenz.sechub.developertools.admin.export.Row) IOException(java.io.IOException) BufferedWriter(java.io.BufferedWriter)

Aggregations

JsonNode (com.fasterxml.jackson.databind.JsonNode)1 Grid (com.mercedesbenz.sechub.developertools.admin.export.Grid)1 Row (com.mercedesbenz.sechub.developertools.admin.export.Row)1 TestJSONHelper (com.mercedesbenz.sechub.integrationtest.internal.TestJSONHelper)1 BufferedWriter (java.io.BufferedWriter)1 IOException (java.io.IOException)1 Path (java.nio.file.Path)1