summaryrefslogtreecommitdiffstats
path: root/jtosca/src/main/java/org/openecomp/sdc/toscaparser/api/common/ExceptionCollector.java
diff options
context:
space:
mode:
Diffstat (limited to 'jtosca/src/main/java/org/openecomp/sdc/toscaparser/api/common/ExceptionCollector.java')
-rw-r--r--jtosca/src/main/java/org/openecomp/sdc/toscaparser/api/common/ExceptionCollector.java64
1 files changed, 54 insertions, 10 deletions
diff --git a/jtosca/src/main/java/org/openecomp/sdc/toscaparser/api/common/ExceptionCollector.java b/jtosca/src/main/java/org/openecomp/sdc/toscaparser/api/common/ExceptionCollector.java
index 07dabf8..b810e87 100644
--- a/jtosca/src/main/java/org/openecomp/sdc/toscaparser/api/common/ExceptionCollector.java
+++ b/jtosca/src/main/java/org/openecomp/sdc/toscaparser/api/common/ExceptionCollector.java
@@ -1,6 +1,7 @@
package org.openecomp.sdc.toscaparser.api.common;
import java.util.ArrayList;
+import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,13 +14,15 @@ public class ExceptionCollector {
//private static boolean isCollecting = false;
private static ArrayList<String> exceptionStrings = new ArrayList<>();
- private static ArrayList<String> traceStrings = new ArrayList<>();
+ private static ArrayList<String> exceptionTraceStrings = new ArrayList<>();
+ private static ArrayList<String> warningStrings = new ArrayList<>();
+ private static ArrayList<String> warningTraceStrings = new ArrayList<>();
private static boolean bWantTrace = true;
/*public static void start() {
if(exceptionStrings == null) {
exceptionStrings = new ArrayList<String>();
- traceStrings = new ArrayList<String>();
+ exceptionTraceStrings = new ArrayList<String>();
}
isCollecting = true;
}*/
@@ -30,7 +33,9 @@ public class ExceptionCollector {
public static void clear() {
exceptionStrings = new ArrayList<>();
- traceStrings = new ArrayList<>();
+ exceptionTraceStrings = new ArrayList<>();
+ warningStrings = new ArrayList<>();
+ warningTraceStrings = new ArrayList<>();
}
public static void appendException(String strExc) { // throws Exception {
@@ -50,28 +55,67 @@ public class ExceptionCollector {
sb.append(String.format(" %s(%s:%d)%s",ste[i].getClassName(),ste[i].getFileName(),
ste[i].getLineNumber(),i==ste.length-1?" ":"\n"));
}
- traceStrings.add(sb.toString());
+ exceptionTraceStrings.add(sb.toString());
}
}
+
+ public static void appendWarning(String strExc) { // throws Exception {
- public static ArrayList<String> getExceptionReport() {
+ /*if(!isCollecting) {
+ // throw new Exception("Can't append exception " + strExc);
+ log.error("ExceptionCollector - appendException - Can't append exception {}", strExc);
+ }*/
+
+ if(!warningStrings.contains(strExc)) {
+ warningStrings.add(strExc);
+ // get stack trace
+ StackTraceElement[] ste = Thread.currentThread().getStackTrace();
+ StringBuilder sb = new StringBuilder();
+ // skip the last 2 (getStackTrace and this)
+ for(int i=2; i<ste.length; i++) {
+ sb.append(String.format(" %s(%s:%d)%s",ste[i].getClassName(),ste[i].getFileName(),
+ ste[i].getLineNumber(),i==ste.length-1?" ":"\n"));
+ }
+ warningTraceStrings.add(sb.toString());
+ }
+ }
+
+ public static List<String> getCriticalsReport() {
+
+ List<String> res = new ArrayList<>();
if(exceptionStrings.size() > 0) {
- ArrayList<String> report = new ArrayList<>();
for(int i=0; i<exceptionStrings.size(); i++) {
- report.add(exceptionStrings.get(i));
+ res.add(exceptionStrings.get(i));
+ if(bWantTrace) {
+ res.add(exceptionTraceStrings.get(i));
+ }
+ }
+ }
+ return res;
+ }
+
+ public static List<String> getWarningsReport() {
+
+ List<String> res = new ArrayList<>();
+ if(warningStrings.size() > 0) {
+ for(int i=0; i<warningStrings.size(); i++) {
+ res.add(warningStrings.get(i));
if(bWantTrace) {
- report.add(traceStrings.get(i));
+ res.add(warningTraceStrings.get(i));
}
}
- return report;
}
- return new ArrayList<>();
+ return res;
}
public static int errorsCaught() {
return exceptionStrings.size();
}
+ public static int warningsCaught() {
+ return warningStrings.size();
+ }
+
public static void setWantTrace(boolean b) {
bWantTrace = b;
}