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
28
29
30
31
32
33 public class DefaultSVRLErrorLevelDeterminator implements ISVRLErrorLevelDeterminator
34 {
35 public static final EErrorLevel DEFAULT_ERROR_LEVEL = EErrorLevel.ERROR;
36
37
38
39
40
41
42
43
44 @Nonnull
45 public EErrorLevel getErrorLevelFromFlag (@Nullable final String sFlag)
46 {
47 if (sFlag == null)
48 return DEFAULT_ERROR_LEVEL;
49
50 if (sFlag.equalsIgnoreCase ("warning") || sFlag.equalsIgnoreCase ("warn"))
51 return EErrorLevel.WARN;
52
53 if (sFlag.equalsIgnoreCase ("error") || sFlag.equalsIgnoreCase ("err"))
54 return EErrorLevel.ERROR;
55
56 if (sFlag.equalsIgnoreCase ("fatal") ||
57 sFlag.equalsIgnoreCase ("fatal_error") ||
58 sFlag.equalsIgnoreCase ("fatalerror"))
59 return EErrorLevel.FATAL_ERROR;
60
61 throw new IllegalArgumentException ("Cannot convert the SVRL failed assertion flag '" +
62 sFlag +
63 "' to an error level. Please extend the preceeding list!");
64 }
65
66 @Nonnull
67 public EErrorLevel getErrorLevelFromFailedAssert (@Nonnull final FailedAssert aFailedAssert)
68 {
69 ValueEnforcer.notNull (aFailedAssert, "FailedAssert");
70
71 return getErrorLevelFromFlag (aFailedAssert.getFlag ());
72 }
73
74 @Nonnull
75 public EErrorLevel getErrorLevelFromSuccessfulReport (@Nonnull final SuccessfulReport aSuccessfulReport)
76 {
77 ValueEnforcer.notNull (aSuccessfulReport, "SuccessfulReport");
78
79 return getErrorLevelFromFlag (aSuccessfulReport.getFlag ());
80 }
81 }