diff options
author | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-02-02 10:48:44 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahooinc.com> | 2023-02-03 12:23:24 +0100 |
commit | 50fe830ec7cc958b99d6f8a8f9aa696298852ed3 (patch) | |
tree | f6f71c35484946e014181f218c4d0ba280e4f0fb /vespa-athenz/src | |
parent | 1fd2a5d573247b95c9156122ef491a288f74c7f7 (diff) |
Convert to Java record
Diffstat (limited to 'vespa-athenz/src')
4 files changed, 26 insertions, 291 deletions
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/EntityBindingsMapper.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/EntityBindingsMapper.java index 08afdd91542..5e887cc4df4 100644 --- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/EntityBindingsMapper.java +++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/EntityBindingsMapper.java @@ -38,16 +38,16 @@ public class EntityBindingsMapper { public static SignedIdentityDocument toSignedIdentityDocument(SignedIdentityDocumentEntity entity) { return new SignedIdentityDocument( - entity.signature, - entity.signingKeyVersion, - fromDottedString(entity.providerUniqueId), - new AthenzService(entity.providerService), - entity.documentVersion, - entity.configServerHostname, - entity.instanceHostname, - entity.createdAt, - entity.ipAddresses, - IdentityType.fromId(entity.identityType)); + entity.signature(), + entity.signingKeyVersion(), + fromDottedString(entity.providerUniqueId()), + new AthenzService(entity.providerService()), + entity.documentVersion(), + entity.configServerHostname(), + entity.instanceHostname(), + entity.createdAt(), + entity.ipAddresses(), + IdentityType.fromId(entity.identityType())); } public static SignedIdentityDocumentEntity toSignedIdentityDocumentEntity(SignedIdentityDocument model) { diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/SignedIdentityDocument.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/SignedIdentityDocument.java index 81c298efb74..0f941ea5bf0 100644 --- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/SignedIdentityDocument.java +++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/SignedIdentityDocument.java @@ -4,7 +4,6 @@ package com.yahoo.vespa.athenz.identityprovider.api; import com.yahoo.vespa.athenz.api.AthenzService; import java.time.Instant; -import java.util.Objects; import java.util.Set; /** @@ -12,117 +11,10 @@ import java.util.Set; * * @author bjorncs */ -public class SignedIdentityDocument { +public record SignedIdentityDocument(String signature, int signingKeyVersion, VespaUniqueInstanceId providerUniqueId, + AthenzService providerService, int documentVersion, String configServerHostname, + String instanceHostname, Instant createdAt, Set<String> ipAddresses, + IdentityType identityType) { public static final int DEFAULT_DOCUMENT_VERSION = 1; - private final String signature; - private final int signingKeyVersion; - private final VespaUniqueInstanceId providerUniqueId; - private final AthenzService providerService; - private final int documentVersion; - private final String configServerHostname; - private final String instanceHostname; - private final Instant createdAt; - private final Set<String> ipAddresses; - private final IdentityType identityType; - - public SignedIdentityDocument(String signature, - int signingKeyVersion, - VespaUniqueInstanceId providerUniqueId, - AthenzService providerService, - int documentVersion, - String configServerHostname, - String instanceHostname, - Instant createdAt, - Set<String> ipAddresses, - IdentityType identityType) { - this.signature = signature; - this.signingKeyVersion = signingKeyVersion; - this.providerUniqueId = providerUniqueId; - this.providerService = providerService; - this.documentVersion = documentVersion; - this.configServerHostname = configServerHostname; - this.instanceHostname = instanceHostname; - this.createdAt = createdAt; - this.ipAddresses = ipAddresses; - this.identityType = identityType; - } - - public String signature() { - return signature; - } - - public int signingKeyVersion() { - return signingKeyVersion; - } - - public VespaUniqueInstanceId providerUniqueId() { - return providerUniqueId; - } - - public AthenzService providerService() { - return providerService; - } - - public int documentVersion() { - return documentVersion; - } - - public String configServerHostname() { - return configServerHostname; - } - - public String instanceHostname() { - return instanceHostname; - } - - public Instant createdAt() { - return createdAt; - } - - public Set<String> ipAddresses() { - return ipAddresses; - } - - public IdentityType identityType() { - return identityType; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - SignedIdentityDocument that = (SignedIdentityDocument) o; - return signingKeyVersion == that.signingKeyVersion && - documentVersion == that.documentVersion && - Objects.equals(signature, that.signature) && - Objects.equals(providerUniqueId, that.providerUniqueId) && - Objects.equals(providerService, that.providerService) && - Objects.equals(configServerHostname, that.configServerHostname) && - Objects.equals(instanceHostname, that.instanceHostname) && - Objects.equals(createdAt, that.createdAt) && - Objects.equals(ipAddresses, that.ipAddresses) && - identityType == that.identityType; - } - - @Override - public int hashCode() { - return Objects.hash(signature, signingKeyVersion, providerUniqueId, providerService, documentVersion, configServerHostname, instanceHostname, createdAt, ipAddresses, identityType); - } - - @Override - public String toString() { - return "SignedIdentityDocument{" + - "signature='" + signature + '\'' + - ", signingKeyVersion=" + signingKeyVersion + - ", providerUniqueId=" + providerUniqueId + - ", providerService=" + providerService + - ", documentVersion=" + documentVersion + - ", configServerHostname='" + configServerHostname + '\'' + - ", instanceHostname='" + instanceHostname + '\'' + - ", createdAt=" + createdAt + - ", ipAddresses=" + ipAddresses + - ", identityType=" + identityType + - '}'; - } } diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/VespaUniqueInstanceId.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/VespaUniqueInstanceId.java index 97181e44747..e74c929223e 100644 --- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/VespaUniqueInstanceId.java +++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/VespaUniqueInstanceId.java @@ -1,41 +1,13 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.athenz.identityprovider.api; -import java.util.Objects; - /** * Represents the unique instance id as used in Vespa's integration with Athenz Copper Argos * * @author bjorncs */ -public class VespaUniqueInstanceId { - - private final int clusterIndex; - private final String clusterId; - private final String instance; - private final String application; - private final String tenant; - private final String region; - private final String environment; - private final IdentityType type; - - public VespaUniqueInstanceId(int clusterIndex, - String clusterId, - String instance, - String application, - String tenant, - String region, - String environment, - IdentityType type) { - this.clusterIndex = clusterIndex; - this.clusterId = clusterId; - this.instance = instance; - this.application = application; - this.tenant = tenant; - this.region = region; - this.environment = environment; - this.type = type; - } +public record VespaUniqueInstanceId(int clusterIndex, String clusterId, String instance, String application, + String tenant, String region, String environment, IdentityType type) { public static VespaUniqueInstanceId fromDottedString(String instanceId) { @@ -52,68 +24,4 @@ public class VespaUniqueInstanceId { "%d.%s.%s.%s.%s.%s.%s.%s", clusterIndex, clusterId, instance, application, tenant, region, environment, type.id()); } - - public int clusterIndex() { - return clusterIndex; - } - - public String clusterId() { - return clusterId; - } - - public String instance() { - return instance; - } - - public String application() { - return application; - } - - public String tenant() { - return tenant; - } - - public String region() { - return region; - } - - public String environment() { - return environment; - } - - public IdentityType type() { return type; } - - @Override - public String toString() { - return "VespaUniqueInstanceId{" + - "clusterIndex=" + clusterIndex + - ", clusterId='" + clusterId + '\'' + - ", instance='" + instance + '\'' + - ", application='" + application + '\'' + - ", tenant='" + tenant + '\'' + - ", region='" + region + '\'' + - ", environment='" + environment + '\'' + - ", type=" + type + - '}'; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - VespaUniqueInstanceId that = (VespaUniqueInstanceId) o; - return clusterIndex == that.clusterIndex && - Objects.equals(clusterId, that.clusterId) && - Objects.equals(instance, that.instance) && - Objects.equals(application, that.application) && - Objects.equals(tenant, that.tenant) && - Objects.equals(region, that.region) && - Objects.equals(environment, that.environment) && - type == that.type; - } - - @Override - public int hashCode() { - return Objects.hash(clusterIndex, clusterId, instance, application, tenant, region, environment, type); - } } diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/bindings/SignedIdentityDocumentEntity.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/bindings/SignedIdentityDocumentEntity.java index c9448a2d97a..868b41b6689 100644 --- a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/bindings/SignedIdentityDocumentEntity.java +++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/bindings/SignedIdentityDocumentEntity.java @@ -1,89 +1,24 @@ // Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.athenz.identityprovider.api.bindings; -import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; import java.time.Instant; -import java.util.Objects; import java.util.Set; /** * @author bjorncs */ @JsonIgnoreProperties(ignoreUnknown = true) -public class SignedIdentityDocumentEntity { - - @JsonProperty("signature") public final String signature; - @JsonProperty("signing-key-version") public final int signingKeyVersion; - @JsonProperty("provider-unique-id") public final String providerUniqueId; // String representation - @JsonProperty("provider-service") public final String providerService; - @JsonProperty("document-version") public final int documentVersion; - @JsonProperty("configserver-hostname") public final String configServerHostname; - @JsonProperty("instance-hostname") public final String instanceHostname; - @JsonProperty("created-at") public final Instant createdAt; - @JsonProperty("ip-addresses") public final Set<String> ipAddresses; - @JsonProperty("identity-type") public final String identityType; - - @JsonCreator - public SignedIdentityDocumentEntity(@JsonProperty("signature") String signature, - @JsonProperty("signing-key-version") int signingKeyVersion, - @JsonProperty("provider-unique-id") String providerUniqueId, - @JsonProperty("provider-service") String providerService, - @JsonProperty("document-version") int documentVersion, - @JsonProperty("configserver-hostname") String configServerHostname, - @JsonProperty("instance-hostname") String instanceHostname, - @JsonProperty("created-at") Instant createdAt, - @JsonProperty("ip-addresses") Set<String> ipAddresses, - @JsonProperty("identity-type") String identityType) { - this.signature = signature; - this.signingKeyVersion = signingKeyVersion; - this.providerUniqueId = providerUniqueId; - this.providerService = providerService; - this.documentVersion = documentVersion; - this.configServerHostname = configServerHostname; - this.instanceHostname = instanceHostname; - this.createdAt = createdAt; - this.ipAddresses = ipAddresses; - this.identityType = identityType; - } - - @Override - public String toString() { - return "SignedIdentityDocumentEntity{" + - ", signature='" + signature + '\'' + - ", signingKeyVersion=" + signingKeyVersion + - ", providerUniqueId='" + providerUniqueId + '\'' + - ", providerService='" + providerService + '\'' + - ", documentVersion=" + documentVersion + - ", configServerHostname='" + configServerHostname + '\'' + - ", instanceHostname='" + instanceHostname + '\'' + - ", createdAt=" + createdAt + - ", ipAddresses=" + ipAddresses + - ", identityType=" + identityType + - '}'; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - SignedIdentityDocumentEntity that = (SignedIdentityDocumentEntity) o; - return signingKeyVersion == that.signingKeyVersion && - documentVersion == that.documentVersion && - Objects.equals(signature, that.signature) && - Objects.equals(providerUniqueId, that.providerUniqueId) && - Objects.equals(providerService, that.providerService) && - Objects.equals(configServerHostname, that.configServerHostname) && - Objects.equals(instanceHostname, that.instanceHostname) && - Objects.equals(createdAt, that.createdAt) && - Objects.equals(ipAddresses, that.ipAddresses) && - Objects.equals(identityType, that.identityType); - } - - @Override - public int hashCode() { - return Objects.hash(signature, signingKeyVersion, providerUniqueId, providerService, documentVersion, configServerHostname, instanceHostname, createdAt, ipAddresses, identityType); - } +public record SignedIdentityDocumentEntity(@JsonProperty("signature") String signature, + @JsonProperty("signing-key-version") int signingKeyVersion, + @JsonProperty("provider-unique-id") String providerUniqueId, + @JsonProperty("provider-service") String providerService, + @JsonProperty("document-version") int documentVersion, + @JsonProperty("configserver-hostname") String configServerHostname, + @JsonProperty("instance-hostname") String instanceHostname, + @JsonProperty("created-at") Instant createdAt, + @JsonProperty("ip-addresses") Set<String> ipAddresses, + @JsonProperty("identity-type") String identityType) { } |