Skip to content

Commit 3dbc34c

Browse files
committed
Fix VC as part of VP.
Signed-off-by: Markus Sabadello <[email protected]>
1 parent 256bb55 commit 3dbc34c

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

src/main/java/com/danubetech/verifiablecredentials/VerifiablePresentation.java

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.io.IOException;
44
import java.util.ArrayList;
55
import java.util.LinkedHashMap;
6+
import java.util.List;
67

78
import com.danubetech.verifiablecredentials.jwt.JwtVerifiableCredential;
89
import com.fasterxml.jackson.core.JsonGenerationException;
@@ -78,8 +79,8 @@ public static VerifiablePresentation fromVerifiableCredential(VerifiableCredenti
7879
ArrayList<String> typeList = new ArrayList<String> ();
7980
typeList.add(JSONLD_TYPE_VERIFIABLE_PRESENTATION);
8081

81-
ArrayList<String> verifiableCredentialList = new ArrayList<String> ();
82-
verifiableCredentialList.add(verifiableCredential.toJsonString());
82+
ArrayList<Object> verifiableCredentialList = new ArrayList<Object> ();
83+
verifiableCredentialList.add(verifiableCredential.getJsonLdObject());
8384

8485
jsonLdObject = new LinkedHashMap<String, Object> ();
8586
jsonLdObject.put(JsonLdConsts.CONTEXT, contextList);
@@ -120,6 +121,28 @@ public static VerifiablePresentation fromJwtVerifiableCredential(JwtVerifiableCr
120121
return fromJwtVerifiableCredential(jwtVerifiableCredential, true);
121122
}
122123

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+
123146
public LinkedHashMap<String, Object> getJsonLdObject() {
124147

125148
return this.jsonLdObject;

0 commit comments

Comments
 (0)