use of com.mercedesbenz.sechub.developertools.admin.export.Row 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();
}
}
Aggregations