summaryrefslogtreecommitdiffstats
path: root/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/pig/VespaStorage.java
diff options
context:
space:
mode:
Diffstat (limited to 'vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/pig/VespaStorage.java')
-rw-r--r--vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/pig/VespaStorage.java25
1 files changed, 6 insertions, 19 deletions
diff --git a/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/pig/VespaStorage.java b/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/pig/VespaStorage.java
index 96a95351bb5..a564dfac25d 100644
--- a/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/pig/VespaStorage.java
+++ b/vespa-hadoop/src/main/java/com/yahoo/vespa/hadoop/pig/VespaStorage.java
@@ -1,6 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hadoop.pig;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.yahoo.vespa.hadoop.mapreduce.VespaOutputFormat;
import com.yahoo.vespa.hadoop.mapreduce.util.TupleTools;
import com.yahoo.vespa.hadoop.mapreduce.util.VespaConfiguration;
@@ -165,27 +166,13 @@ public class VespaStorage extends StoreFunc {
return VespaDocumentOperation.create(operation, docId, fields, properties, schema);
}
-
- public static String base64Serialize(Object o) throws IOException {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- try (ObjectOutputStream oos = new ObjectOutputStream(baos)) {
- oos.writeObject(o);
- }
- return Base64.getEncoder().encodeToString(baos.toByteArray());
+ public static String base64Serialize(ResourceSchema resourceSchema) throws IOException {
+ byte[] bytes = new ObjectMapper().writeValueAsBytes(resourceSchema);
+ return Base64.getEncoder().encodeToString(bytes);
}
-
- @SuppressWarnings("unchecked")
- public static <T extends Serializable> T base64Deserialize(String s) throws IOException {
- Object ret;
+ public static ResourceSchema base64Deserialize(String s) throws IOException {
byte[] data = Base64.getDecoder().decode(s);
- ByteArrayInputStream bais = new ByteArrayInputStream(data);
- try (ObjectInputStream ois = new ObjectInputStream(bais)) {
- ret = ois.readObject();
- } catch (ClassNotFoundException e) {
- throw new IOException(e);
- }
- return (T) ret;
+ return new ObjectMapper().readValue(data, ResourceSchema.class);
}
-
}