Moved getContext to CredentialEnum

This commit is contained in:
Xavi Aracil 2022-11-25 13:56:19 +01:00
parent c88f776552
commit 2560281420
3 changed files with 16 additions and 17 deletions

View File

@ -35,11 +35,6 @@ public class Assertion extends Credential {
return assertionType; return assertionType;
} }
@Override
public List<String> getContext() {
return List.of("https://w3id.org/openbadges/v2");
}
@Override @Override
public String toString() { public String toString() {
return MoreObjects.toStringHelper(this) return MoreObjects.toStringHelper(this)
@ -97,6 +92,11 @@ public class Assertion extends Credential {
public List<String> getAllowedTypeValues() { public List<String> getAllowedTypeValues() {
return allowedTypeValues; return allowedTypeValues;
} }
@Override
public List<String> getContextUris() {
return List.of("https://w3id.org/openbadges/v2") ;
}
} }
public static final String ID = Assertion.class.getCanonicalName(); public static final String ID = Assertion.class.getCanonicalName();

View File

@ -62,8 +62,6 @@ public abstract class Credential extends GeneratedObject {
public abstract CredentialEnum getCredentialType(); public abstract CredentialEnum getCredentialType();
public abstract List<String> getContext();
@Override @Override
public String toString() { public String toString() {
return MoreObjects.toStringHelper(this) return MoreObjects.toStringHelper(this)
@ -80,6 +78,7 @@ public abstract class Credential extends GeneratedObject {
public interface CredentialEnum { public interface CredentialEnum {
List<String> getRequiredTypeValues(); List<String> getRequiredTypeValues();
List<String> getAllowedTypeValues(); List<String> getAllowedTypeValues();
List<String> getContextUris();
} }
public abstract static class Builder<B extends Credential> { public abstract static class Builder<B extends Credential> {

View File

@ -39,15 +39,6 @@ public class VerifiableCredential extends Credential {
return credentialType; return credentialType;
} }
@Override
public List<String> getContext() {
return values.get(values.keySet()
.stream()
.filter(s->s.contains(credentialType))
.findFirst()
.orElseThrow(()-> new IllegalArgumentException(credentialType.name() + " not recognized")));
}
public ProofType getProofType() { public ProofType getProofType() {
return jwt == null ? ProofType.EMBEDDED : ProofType.EXTERNAL; return jwt == null ? ProofType.EMBEDDED : ProofType.EXTERNAL;
} }
@ -59,7 +50,7 @@ public class VerifiableCredential extends Credential {
.put(EndorsementCredential, Catalog.OB_30_ENDORSEMENTCREDENTIAL_JSON) .put(EndorsementCredential, Catalog.OB_30_ENDORSEMENTCREDENTIAL_JSON)
.build(); .build();
private static final Map<Set<VerifiableCredential.Type>, List<String>> values = new ImmutableMap.Builder<Set<VerifiableCredential.Type>, List<String>>() private static final Map<Set<VerifiableCredential.Type>, List<String>> contextMap = new ImmutableMap.Builder<Set<VerifiableCredential.Type>, List<String>>()
.put(Set.of(Type.OpenBadgeCredential, AchievementCredential, EndorsementCredential), .put(Set.of(Type.OpenBadgeCredential, AchievementCredential, EndorsementCredential),
List.of("https://www.w3.org/2018/credentials/v1", List.of("https://www.w3.org/2018/credentials/v1",
//"https://purl.imsglobal.org/spec/ob/v3p0/context.json")) //dev legacy //"https://purl.imsglobal.org/spec/ob/v3p0/context.json")) //dev legacy
@ -115,6 +106,15 @@ public class VerifiableCredential extends Credential {
public List<String> getAllowedTypeValues() { public List<String> getAllowedTypeValues() {
return allowedTypeValues; return allowedTypeValues;
} }
@Override
public List<String> getContextUris() {
return contextMap.get(contextMap.keySet()
.stream()
.filter(s->s.contains(this))
.findFirst()
.orElseThrow(()-> new IllegalArgumentException(this.name() + " not recognized")));
}
} }
public enum ProofType { public enum ProofType {