diff options
Diffstat (limited to 'a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/repository/PolicyType.java')
-rw-r--r-- | a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/repository/PolicyType.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/repository/PolicyType.java b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/repository/PolicyType.java index 3a5bdd95..14c9f580 100644 --- a/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/repository/PolicyType.java +++ b/a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/repository/PolicyType.java @@ -62,6 +62,18 @@ public class PolicyType { throw new ServiceException("Syntax error in " + version, HttpStatus.BAD_REQUEST); } } + + public int compareTo(Version other) { + if (major != other.major) + return major - other.major; + if (minor != other.minor) + return minor - other.minor; + return patch - other.patch; + } + + public boolean isCompatibleWith(Version other) { + return (major == other.major && minor >= other.minor); + } } @Getter @@ -98,4 +110,12 @@ public class PolicyType { return TypeId.ofString(getId()); } + public Version getVersion() { + try { + return Version.ofString(getTypeId().getVersion()); + } catch (ServiceException e) { + return new Version(0, 0, 0); + } + } + } |