- public static Deviation.Deviate parseDeviateFromString(final String deviate) {
-
- // Yang constants should be lowercase so we have throw if value does not
- // suit this
- String deviateUpper = deviate.toUpperCase();
- Preconditions.checkArgument(!Objects.equals(deviate, deviateUpper),
- "String %s is not valid deviate argument", deviate);
-
- // but Java enum is uppercase so we cannot use lowercase here
- try {
- return Deviation.Deviate.valueOf(deviateUpper);
- } catch (IllegalArgumentException e) {
- throw new IllegalArgumentException(String.format("String %s is not valid deviate argument", deviate), e);
- }
+ public static Deviation.Deviate parseDeviateFromString(final String deviateKeyword) {
+ return Preconditions.checkNotNull(KEYWORD_TO_DEVIATE_MAP.get(deviateKeyword),
+ "String '%s' is not valid deviate argument", deviateKeyword);