Skip to content

Commit

Permalink
get it to compile
Browse files Browse the repository at this point in the history
  • Loading branch information
mkleene committed Jul 23, 2024
1 parent f61e646 commit 5e04c5e
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 6 deletions.
2 changes: 1 addition & 1 deletion sdk/src/main/java/io/opentdf/platform/sdk/Manifest.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ static public class KeyAccess {
public String url;
public String protocol;
public String wrappedKey;
public Object policyBinding;
public PolicyBinding policyBinding;
public String encryptedMetadata;
public String kid;
}
Expand Down
20 changes: 15 additions & 5 deletions sdk/src/main/java/io/opentdf/platform/sdk/TDF.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import com.nimbusds.jose.*;
import com.nimbusds.jose.crypto.MACVerifier;
import com.nimbusds.jose.crypto.RSASSAVerifier;
Expand All @@ -26,6 +30,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.reflect.Type;
import java.nio.channels.SeekableByteChannel;
import java.nio.charset.StandardCharsets;
import java.security.*;
Expand Down Expand Up @@ -69,21 +74,26 @@ public TDF() {

private static final SecureRandom sRandom = new SecureRandom();

public class PolicyBindingDeserializer implements JsonDeserializer<Object> {
public static class PolicyBindingDeserializer implements JsonDeserializer<Object> {
@Override
public Object deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
if (json.isJsonObject()) {
return context.deserialize(json, PolicyBinding.class);
return context.deserialize(json, Manifest.PolicyBinding.class);
} else if (json.isJsonPrimitive() && json.getAsJsonPrimitive().isString()) {
return json.getAsString();
} else {
throw new JsonParseException("Unexpected type for policyBinding");
}
}
}
private static final Gson gson = new GsonBuilder();
gson.registerTypeAdapter(Object.class, new PolicyBindingDeserializer());
gson.create();

private static final Gson gson;

static {
gson = new GsonBuilder()
.registerTypeAdapter(Object.class, new PolicyBindingDeserializer())
.create();
}

public static class DataSizeNotSupported extends RuntimeException {
public DataSizeNotSupported(String errorMessage) {
Expand Down

0 comments on commit 5e04c5e

Please sign in to comment.