1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package com.helger.schematron.svrl;
18
19 import javax.annotation.Nonnull;
20 import javax.annotation.Nullable;
21
22 import org.oclc.purl.dsdl.svrl.FailedAssert;
23 import org.oclc.purl.dsdl.svrl.SuccessfulReport;
24
25 import com.helger.commons.ValueEnforcer;
26 import com.helger.commons.error.EErrorLevel;
27 import com.helger.commons.error.IErrorLevel;
28
29
30
31
32
33
34 public class DefaultSVRLErrorLevelDeterminator implements ISVRLErrorLevelDeterminator
35 {
36 public static final IErrorLevel DEFAULT_ERROR_LEVEL = EErrorLevel.ERROR;
37
38
39
40
41
42
43
44
45 @Nonnull
46 public IErrorLevel getErrorLevelFromFlag (@Nullable final String sFlag)
47 {
48 if (sFlag == null)
49 return DEFAULT_ERROR_LEVEL;
50
51 if (sFlag.equalsIgnoreCase ("warning") || sFlag.equalsIgnoreCase ("warn"))
52 return EErrorLevel.WARN;
53
54 if (sFlag.equalsIgnoreCase ("error") || sFlag.equalsIgnoreCase ("err"))
55 return EErrorLevel.ERROR;
56
57 if (sFlag.equalsIgnoreCase ("fatal") ||
58 sFlag.equalsIgnoreCase ("fatal_error") ||
59 sFlag.equalsIgnoreCase ("fatalerror"))
60 return EErrorLevel.FATAL_ERROR;
61
62 throw new IllegalArgumentException ("Cannot convert the SVRL failed assertion flag '" +
63 sFlag +
64 "' to an error level. Please extend the preceeding list!");
65 }
66
67 @Nonnull
68 public IErrorLevel getErrorLevelFromFailedAssert (@Nonnull final FailedAssert aFailedAssert)
69 {
70 ValueEnforcer.notNull (aFailedAssert, "FailedAssert");
71
72 return getErrorLevelFromFlag (aFailedAssert.getFlag ());
73 }
74
75 @Nonnull
76 public IErrorLevel getErrorLevelFromSuccessfulReport (@Nonnull final SuccessfulReport aSuccessfulReport)
77 {
78 ValueEnforcer.notNull (aSuccessfulReport, "SuccessfulReport");
79
80 return getErrorLevelFromFlag (aSuccessfulReport.getFlag ());
81 }
82 }