aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2023-02-02 10:48:44 +0100
committerBjørn Christian Seime <bjorncs@yahooinc.com>2023-02-03 12:23:24 +0100
commit50fe830ec7cc958b99d6f8a8f9aa696298852ed3 (patch)
treef6f71c35484946e014181f218c4d0ba280e4f0fb
parent1fd2a5d573247b95c9156122ef491a288f74c7f7 (diff)
Convert to Java record
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/EntityBindingsMapper.java20
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/SignedIdentityDocument.java116
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/VespaUniqueInstanceId.java96
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/bindings/SignedIdentityDocumentEntity.java85
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) {
}