diff options
author | Morten Tokle <mortent@verizonmedia.com> | 2022-02-02 22:59:27 +0100 |
---|---|---|
committer | Morten Tokle <mortent@verizonmedia.com> | 2022-02-04 08:17:33 +0100 |
commit | 79fc46bf80ef3538ec46587e21089cbda288f875 (patch) | |
tree | a6a0a2daf513590ef81ff161fa05ff9724830908 /vespa-athenz/src/main/java/com/yahoo | |
parent | f85257c7cac1c230d56671bb979ee590c99680f1 (diff) |
Read policy from resource name
Diffstat (limited to 'vespa-athenz/src/main/java/com/yahoo')
-rw-r--r-- | vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/PolicyEntity.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/PolicyEntity.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/PolicyEntity.java index 4be82daee43..84d522ee85d 100644 --- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/PolicyEntity.java +++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/client/zms/bindings/PolicyEntity.java @@ -6,12 +6,15 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; /** * @author olaa */ @JsonIgnoreProperties(ignoreUnknown = true) public class PolicyEntity { + private static final Pattern namePattern = Pattern.compile("^(?<domain>[^:]+):policy\\.(?<name>.*)$"); @JsonInclude(JsonInclude.Include.NON_EMPTY) private final List<AssertionEntity> assertions; @@ -19,10 +22,17 @@ public class PolicyEntity { public PolicyEntity(@JsonProperty("name") String name, @JsonProperty("assertions") List<AssertionEntity> assertions) { - this.name = name; + this.name = nameFromResourceString(name); this.assertions = assertions; } + private static String nameFromResourceString(String resource) { + Matcher matcher = namePattern.matcher(resource); + if (!matcher.matches()) + throw new IllegalArgumentException("Could not find policy name from resource string: " + resource); + return matcher.group("name"); + } + public String getName() { return name; } |