From 686cf70fffcdf7c6f9450232cb74c74ba4d967db Mon Sep 17 00:00:00 2001 From: JuanfeSanahuja Date: Fri, 27 Oct 2023 16:35:13 +0200 Subject: [PATCH] CLI: TextOutputWriter manage errors #TASK-5166 --- .../app/cli/main/io/TextOutputWriter.java | 38 ++++++++++--------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/io/TextOutputWriter.java b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/io/TextOutputWriter.java index 1b8914bdbf0..a4e75a72794 100644 --- a/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/io/TextOutputWriter.java +++ b/opencga-app/src/main/java/org/opencb/opencga/app/cli/main/io/TextOutputWriter.java @@ -88,22 +88,14 @@ public void print(RestResponse queryResponse) { throw new RuntimeException(e); } - /* // if (queryResponse != null && queryResponse.getType().equals(QueryType.VOID)) { - if (queryResponse.getEvents() != null) { - for (Event event : ((RestResponse)queryResponse.getResponses().get(0)).getEvents()) { - if (StringUtils.isNotEmpty(event.getMessage())) { - if (event.getType().equals(Event.Type.ERROR)) { - PrintUtils.printError(event.getMessage()); - } else { - PrintUtils.printInfo(event.getMessage()); - } - } else { - PrintUtils.printError(event.getMessage()); - } + if (queryResponse != null && queryResponse.getType().equals(QueryType.VOID)) { + if (queryResponse.getResponses() != null && queryResponse.getResponses().size() > 0) { + manageEvents(((RestResponse) queryResponse.getResponses().get(0)).getEvents()); + } else if (queryResponse.getEvents() != null && queryResponse.getEvents().size() > 0) { + manageEvents(queryResponse.getEvents()); } + return; } - // return; - // } if (checkErrors(queryResponse) && queryResponse.allResultsSize() == 0) { return; } @@ -112,11 +104,9 @@ public void print(RestResponse queryResponse) { return; } - ps.print(printMetadata(queryResponse)); -*/ - List queryResultList = queryResponse.getResponses(); + List queryResultList = queryResponse.getResponses(); if (CollectionUtils.isNotEmpty(queryResultList) && ((OpenCGAResult) queryResultList.get(0)) != null && ((OpenCGAResult) queryResultList.get(0)).getNumMatches() > -1 && !isEdition(queryResultList) && isNotAnIdOrMessage(queryResultList)) { @@ -183,6 +173,20 @@ public void print(RestResponse queryResponse) { } } + private void manageEvents(final List events) { + for (Event event : events) { + if (StringUtils.isNotEmpty(event.getMessage())) { + if (event.getType().equals(Event.Type.ERROR)) { + PrintUtils.printError(event.getMessage()); + } else { + PrintUtils.printInfo(event.getMessage()); + } + } else { + PrintUtils.printError(event.getMessage()); + } + } + } + private boolean isNotAnIdOrMessage(List queryResultList) { return !(queryResultList.get(0).getResultType().equals("java.lang.String") && ((OpenCGAResult) queryResultList.get(0)).getNumMatches() == 1);