aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@oath.com>2018-05-16 14:21:35 +0200
committerBjørn Christian Seime <bjorncs@oath.com>2018-05-16 14:21:35 +0200
commitb053c7a3ad650244d7cf418d51171ff23d233327 (patch)
tree0e405c6c6e414132052ed98ba7d81c13e215c7b7
parentb3816842768464068a0634f5caa6eeae7918818f (diff)
Add mapping from SignedIdentityDocumentEntity to SignedIdentityDocument
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/identityprovider/api/EntityBindingsMapper.java24
1 files changed, 24 insertions, 0 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 e591105eed1..7bedfd9fc54 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
@@ -4,9 +4,12 @@ package com.yahoo.vespa.athenz.identityprovider.api;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.yahoo.vespa.athenz.api.AthenzIdentity;
+import com.yahoo.vespa.athenz.api.AthenzService;
import com.yahoo.vespa.athenz.identityprovider.api.bindings.IdentityDocumentEntity;
import com.yahoo.vespa.athenz.identityprovider.api.bindings.VespaUniqueInstanceIdEntity;
import com.yahoo.vespa.athenz.identityprovider.api.bindings.SignedIdentityDocumentEntity;
+import com.yahoo.vespa.athenz.utils.AthenzIdentities;
/**
* Utility class for mapping objects model types and their Jackson binding versions.
@@ -32,6 +35,27 @@ public class EntityBindingsMapper {
entity.clusterIndex, entity.clusterId, entity.instance, entity.application, entity.tenant, entity.region, entity.environment);
}
+ private static IdentityDocument toIdentityDocument(IdentityDocumentEntity entity) {
+ return new IdentityDocument(
+ toVespaUniqueInstanceId(entity.providerUniqueId),
+ entity.configServerHostname,
+ entity.instanceHostname,
+ entity.createdAt,
+ entity.ipAddresses);
+ }
+
+ public static SignedIdentityDocument toSignedIdentityDocument(SignedIdentityDocumentEntity entity) {
+ return new SignedIdentityDocument(
+ toIdentityDocument(entity.identityDocument),
+ entity.signature,
+ entity.signingKeyVersion,
+ VespaUniqueInstanceId.fromDottedString(entity.providerUniqueId),
+ entity.dnsSuffix,
+ (AthenzService) AthenzIdentities.from(entity.providerService),
+ entity.ztsEndpoint,
+ entity.documentVersion);
+ }
+
public static VespaUniqueInstanceIdEntity toVespaUniqueInstanceIdEntity(VespaUniqueInstanceId model) {
return new VespaUniqueInstanceIdEntity(
model.tenant(), model.application(), model.environment(), model.region(),