credentialType now is of the interface type
This commit is contained in:
parent
cc33dd4068
commit
bf3f93e59e
@ -23,7 +23,7 @@ public class Assertion extends Credential {
|
|||||||
|
|
||||||
final Assertion.Type assertionType;
|
final Assertion.Type assertionType;
|
||||||
|
|
||||||
protected Assertion(Resource resource, JsonNode data, String jwt, Map<String, SchemaKey> schemas) {
|
protected Assertion(Resource resource, JsonNode data, String jwt, Map<CredentialEnum, SchemaKey> schemas) {
|
||||||
super(ID, resource, data, jwt, schemas);
|
super(ID, resource, data, jwt, schemas);
|
||||||
|
|
||||||
JsonNode typeNode = jsonData.get("type");
|
JsonNode typeNode = jsonData.get("type");
|
||||||
@ -31,8 +31,8 @@ public class Assertion extends Credential {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getCredentialType() {
|
public CredentialEnum getCredentialType() {
|
||||||
return assertionType.toString();
|
return assertionType;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -48,7 +48,7 @@ public class Assertion extends Credential {
|
|||||||
.toString();
|
.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Map<Assertion.Type, SchemaKey> schemas = new ImmutableMap.Builder<Assertion.Type, SchemaKey>()
|
private static final Map<CredentialEnum, SchemaKey> schemas = new ImmutableMap.Builder<CredentialEnum, SchemaKey>()
|
||||||
.put(Type.Assertion, Catalog.OB_21_ASSERTION_JSON)
|
.put(Type.Assertion, Catalog.OB_21_ASSERTION_JSON)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
@ -58,10 +58,7 @@ public class Assertion extends Credential {
|
|||||||
public Assertion build() {
|
public Assertion build() {
|
||||||
// transform key of schemas map to string because the type of the key in the base map is generic
|
// transform key of schemas map to string because the type of the key in the base map is generic
|
||||||
// and our specific key is an Enum
|
// and our specific key is an Enum
|
||||||
return new Assertion(getResource(), getJsonData(), getJwt(),
|
return new Assertion(getResource(), getJsonData(), getJwt(), schemas);
|
||||||
schemas.entrySet().stream().collect(Collectors.toMap(
|
|
||||||
entry -> entry.getKey().toString(),
|
|
||||||
entry -> entry.getValue())));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
package org.oneedtech.inspect.vc;
|
package org.oneedtech.inspect.vc;
|
||||||
|
|
||||||
import static org.oneedtech.inspect.util.code.Defensives.*;
|
import static org.oneedtech.inspect.util.code.Defensives.checkNotNull;
|
||||||
import static org.oneedtech.inspect.util.resource.ResourceType.*;
|
import static org.oneedtech.inspect.util.code.Defensives.checkTrue;
|
||||||
|
import static org.oneedtech.inspect.util.resource.ResourceType.JSON;
|
||||||
|
import static org.oneedtech.inspect.util.resource.ResourceType.JWT;
|
||||||
|
import static org.oneedtech.inspect.util.resource.ResourceType.PNG;
|
||||||
|
import static org.oneedtech.inspect.util.resource.ResourceType.SVG;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -13,7 +17,6 @@ import org.oneedtech.inspect.util.resource.Resource;
|
|||||||
import org.oneedtech.inspect.util.resource.ResourceType;
|
import org.oneedtech.inspect.util.resource.ResourceType;
|
||||||
|
|
||||||
import com.fasterxml.jackson.databind.JsonNode;
|
import com.fasterxml.jackson.databind.JsonNode;
|
||||||
import com.fasterxml.jackson.databind.node.ArrayNode;
|
|
||||||
import com.google.common.base.MoreObjects;
|
import com.google.common.base.MoreObjects;
|
||||||
|
|
||||||
|
|
||||||
@ -26,9 +29,9 @@ public abstract class Credential extends GeneratedObject {
|
|||||||
final Resource resource;
|
final Resource resource;
|
||||||
final JsonNode jsonData;
|
final JsonNode jsonData;
|
||||||
final String jwt;
|
final String jwt;
|
||||||
final Map<String, SchemaKey> schemas;
|
final Map<CredentialEnum, SchemaKey> schemas;
|
||||||
|
|
||||||
protected Credential(String id, Resource resource, JsonNode data, String jwt, Map<String, SchemaKey> schemas) {
|
protected Credential(String id, Resource resource, JsonNode data, String jwt, Map<CredentialEnum, SchemaKey> schemas) {
|
||||||
super(id, GeneratedObject.Type.INTERNAL);
|
super(id, GeneratedObject.Type.INTERNAL);
|
||||||
this.resource = checkNotNull(resource);
|
this.resource = checkNotNull(resource);
|
||||||
this.jsonData = checkNotNull(data);
|
this.jsonData = checkNotNull(data);
|
||||||
@ -57,7 +60,7 @@ public abstract class Credential extends GeneratedObject {
|
|||||||
return Optional.ofNullable(schemas.get(getCredentialType()));
|
return Optional.ofNullable(schemas.get(getCredentialType()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract String getCredentialType();
|
public abstract CredentialEnum getCredentialType();
|
||||||
|
|
||||||
public abstract List<String> getContext();
|
public abstract List<String> getContext();
|
||||||
|
|
||||||
|
@ -28,15 +28,15 @@ import com.google.common.collect.ImmutableMap;
|
|||||||
public class VerifiableCredential extends Credential {
|
public class VerifiableCredential extends Credential {
|
||||||
final VerifiableCredential.Type credentialType;
|
final VerifiableCredential.Type credentialType;
|
||||||
|
|
||||||
protected VerifiableCredential(Resource resource, JsonNode data, String jwt, Map<String, SchemaKey> schemas) {
|
protected VerifiableCredential(Resource resource, JsonNode data, String jwt, Map<CredentialEnum, SchemaKey> schemas) {
|
||||||
super(ID, resource, data, jwt, schemas);
|
super(ID, resource, data, jwt, schemas);
|
||||||
|
|
||||||
JsonNode typeNode = jsonData.get("type");
|
JsonNode typeNode = jsonData.get("type");
|
||||||
this.credentialType = VerifiableCredential.Type.valueOf(typeNode);
|
this.credentialType = VerifiableCredential.Type.valueOf(typeNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getCredentialType() {
|
public CredentialEnum getCredentialType() {
|
||||||
return credentialType.toString();
|
return credentialType;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -52,7 +52,7 @@ public class VerifiableCredential extends Credential {
|
|||||||
return jwt == null ? ProofType.EMBEDDED : ProofType.EXTERNAL;
|
return jwt == null ? ProofType.EMBEDDED : ProofType.EXTERNAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final Map<VerifiableCredential.Type, SchemaKey> schemas = new ImmutableMap.Builder<VerifiableCredential.Type, SchemaKey>()
|
private static final Map<CredentialEnum, SchemaKey> schemas = new ImmutableMap.Builder<CredentialEnum, SchemaKey>()
|
||||||
.put(AchievementCredential, Catalog.OB_30_ACHIEVEMENTCREDENTIAL_JSON)
|
.put(AchievementCredential, Catalog.OB_30_ACHIEVEMENTCREDENTIAL_JSON)
|
||||||
.put(ClrCredential, Catalog.CLR_20_CLRCREDENTIAL_JSON)
|
.put(ClrCredential, Catalog.CLR_20_CLRCREDENTIAL_JSON)
|
||||||
.put(VerifiablePresentation, Catalog.CLR_20_CLRCREDENTIAL_JSON)
|
.put(VerifiablePresentation, Catalog.CLR_20_CLRCREDENTIAL_JSON)
|
||||||
@ -133,12 +133,7 @@ public class VerifiableCredential extends Credential {
|
|||||||
public static class Builder extends Credential.Builder<VerifiableCredential> {
|
public static class Builder extends Credential.Builder<VerifiableCredential> {
|
||||||
@Override
|
@Override
|
||||||
public VerifiableCredential build() {
|
public VerifiableCredential build() {
|
||||||
// transform key of schemas map to string because the type of the key in the base map is generic
|
return new VerifiableCredential(getResource(), getJsonData(), getJwt(), schemas);
|
||||||
// and our specific key is an Enum
|
|
||||||
return new VerifiableCredential(getResource(), getJsonData(), getJwt(),
|
|
||||||
schemas.entrySet().stream().collect(Collectors.toMap(
|
|
||||||
entry -> entry.getKey().toString(),
|
|
||||||
entry -> entry.getValue())));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user