|
3 | 3 | import java.io.IOException; |
4 | 4 | import java.util.ArrayList; |
5 | 5 | import java.util.LinkedHashMap; |
| 6 | +import java.util.List; |
6 | 7 |
|
7 | 8 | import com.danubetech.verifiablecredentials.jwt.JwtVerifiableCredential; |
8 | 9 | import com.fasterxml.jackson.core.JsonGenerationException; |
@@ -78,8 +79,8 @@ public static VerifiablePresentation fromVerifiableCredential(VerifiableCredenti |
78 | 79 | ArrayList<String> typeList = new ArrayList<String> (); |
79 | 80 | typeList.add(JSONLD_TYPE_VERIFIABLE_PRESENTATION); |
80 | 81 |
|
81 | | - ArrayList<String> verifiableCredentialList = new ArrayList<String> (); |
82 | | - verifiableCredentialList.add(verifiableCredential.toJsonString()); |
| 82 | + ArrayList<Object> verifiableCredentialList = new ArrayList<Object> (); |
| 83 | + verifiableCredentialList.add(verifiableCredential.getJsonLdObject()); |
83 | 84 |
|
84 | 85 | jsonLdObject = new LinkedHashMap<String, Object> (); |
85 | 86 | jsonLdObject.put(JsonLdConsts.CONTEXT, contextList); |
@@ -120,6 +121,28 @@ public static VerifiablePresentation fromJwtVerifiableCredential(JwtVerifiableCr |
120 | 121 | return fromJwtVerifiableCredential(jwtVerifiableCredential, true); |
121 | 122 | } |
122 | 123 |
|
| 124 | + public VerifiableCredential getVerifiableCredential() { |
| 125 | + |
| 126 | + Object verifiableCredentialObject = this.getJsonLdObject().get(JSONLD_TERM_VERIFIABLE_CREDENTIAL); |
| 127 | + |
| 128 | + LinkedHashMap<String, Object> jsonLdObject = null; |
| 129 | + |
| 130 | + if (verifiableCredentialObject instanceof LinkedHashMap) { |
| 131 | + |
| 132 | + jsonLdObject = (LinkedHashMap<String, Object>) verifiableCredentialObject; |
| 133 | + } else if (verifiableCredentialObject instanceof List) { |
| 134 | + |
| 135 | + List<?> verifiableCredentialList = (List<?>) verifiableCredentialObject; |
| 136 | + |
| 137 | + if (verifiableCredentialList.size() == 1) { |
| 138 | + |
| 139 | + jsonLdObject = (LinkedHashMap<String, Object>) verifiableCredentialList.get(0); |
| 140 | + } |
| 141 | + } |
| 142 | + |
| 143 | + return jsonLdObject == null ? null : VerifiableCredential.fromJsonLdObject(jsonLdObject); |
| 144 | + } |
| 145 | + |
123 | 146 | public LinkedHashMap<String, Object> getJsonLdObject() { |
124 | 147 |
|
125 | 148 | return this.jsonLdObject; |
|
0 commit comments