From 0ac33ed8e9f9bce22a22352f45affd7cbf2cb8a0 Mon Sep 17 00:00:00 2001 From: Viacheslav Rudkovskyi Date: Fri, 16 May 2025 18:03:45 +0300 Subject: [PATCH 1/3] add DiscountType --- .../netlicensing/domain/vo/DiscountType.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 NetLicensingClient/src/main/java/com/labs64/netlicensing/domain/vo/DiscountType.java diff --git a/NetLicensingClient/src/main/java/com/labs64/netlicensing/domain/vo/DiscountType.java b/NetLicensingClient/src/main/java/com/labs64/netlicensing/domain/vo/DiscountType.java new file mode 100644 index 0000000..51bbb5b --- /dev/null +++ b/NetLicensingClient/src/main/java/com/labs64/netlicensing/domain/vo/DiscountType.java @@ -0,0 +1,18 @@ +package com.labs64.netlicensing.domain.vo; + +public enum DiscountType { + FIX, + + PERCENT; + + public static DiscountType parseString(final String discountType) { + if (discountType != null) { + for (final DiscountType type : DiscountType.values()) { + if (discountType.equalsIgnoreCase(type.name())) { + return type; + } + } + } + return null; + } +} From 28e3667ee199c49312e336f7d192d305839a9f9e Mon Sep 17 00:00:00 2001 From: Viacheslav Rudkovskyi Date: Tue, 3 Jun 2025 13:37:59 +0300 Subject: [PATCH 2/3] add IllegalArgumentException to DiscountType enum --- .../java/com/labs64/netlicensing/domain/vo/DiscountType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NetLicensingClient/src/main/java/com/labs64/netlicensing/domain/vo/DiscountType.java b/NetLicensingClient/src/main/java/com/labs64/netlicensing/domain/vo/DiscountType.java index 51bbb5b..252eebf 100644 --- a/NetLicensingClient/src/main/java/com/labs64/netlicensing/domain/vo/DiscountType.java +++ b/NetLicensingClient/src/main/java/com/labs64/netlicensing/domain/vo/DiscountType.java @@ -13,6 +13,6 @@ public static DiscountType parseString(final String discountType) { } } } - return null; + throw new IllegalArgumentException(discountType); } } From 7a73f2190ad567983104a2445fa9f4500b325b98 Mon Sep 17 00:00:00 2001 From: Viacheslav Rudkovskyi Date: Tue, 3 Jun 2025 16:36:47 +0300 Subject: [PATCH 3/3] rename parseString to parseValue add parseValueSafe --- .../labs64/netlicensing/domain/vo/DiscountType.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/NetLicensingClient/src/main/java/com/labs64/netlicensing/domain/vo/DiscountType.java b/NetLicensingClient/src/main/java/com/labs64/netlicensing/domain/vo/DiscountType.java index 252eebf..8abdfbd 100644 --- a/NetLicensingClient/src/main/java/com/labs64/netlicensing/domain/vo/DiscountType.java +++ b/NetLicensingClient/src/main/java/com/labs64/netlicensing/domain/vo/DiscountType.java @@ -5,7 +5,7 @@ public enum DiscountType { PERCENT; - public static DiscountType parseString(final String discountType) { + public static DiscountType parseValue(final String discountType) { if (discountType != null) { for (final DiscountType type : DiscountType.values()) { if (discountType.equalsIgnoreCase(type.name())) { @@ -15,4 +15,12 @@ public static DiscountType parseString(final String discountType) { } throw new IllegalArgumentException(discountType); } + + public static DiscountType parseValueSafe(final String discountType) { + try { + return parseValue(discountType); + } catch (final IllegalArgumentException e) { + return null; + } + } }