This is an automated email from the ASF dual-hosted git repository.

gabor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/parquet-mr.git


The following commit(s) were added to refs/heads/master by this push:
     new 709fce1  PARQUET-2038: Upgrade Jackson version used in parquet 
encryption. (#898)
709fce1 is described below

commit 709fce1b72ef894febb1722d746f085b3d1050f8
Author: andersonm-ibm <[email protected]>
AuthorDate: Tue May 4 15:43:50 2021 +0300

    PARQUET-2038: Upgrade Jackson version used in parquet encryption. (#898)
---
 .../parquet/crypto/keytools/HadoopFSKeyMaterialStore.java     | 11 ++++++-----
 .../java/org/apache/parquet/crypto/keytools/KeyMaterial.java  |  4 ++--
 .../java/org/apache/parquet/crypto/keytools/KeyMetadata.java  |  4 ++--
 .../apache/parquet/crypto/keytools/LocalWrapKmsClient.java    |  4 ++--
 .../apache/parquet/crypto/keytools/samples/VaultClient.java   |  4 ++--
 5 files changed, 14 insertions(+), 13 deletions(-)

diff --git 
a/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/HadoopFSKeyMaterialStore.java
 
b/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/HadoopFSKeyMaterialStore.java
index c569911..3026ab9 100644
--- 
a/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/HadoopFSKeyMaterialStore.java
+++ 
b/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/HadoopFSKeyMaterialStore.java
@@ -24,12 +24,13 @@ import org.apache.hadoop.fs.FSDataOutputStream;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.parquet.crypto.ParquetCryptoRuntimeException;
-import org.codehaus.jackson.JsonNode;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.core.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
 
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.io.OutputStream;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
@@ -75,7 +76,7 @@ public class HadoopFSKeyMaterialStore implements 
FileKeyMaterialStore {
   private void loadKeyMaterialMap() {
     try (FSDataInputStream keyMaterialStream = 
hadoopFileSystem.open(keyMaterialFile)) {
       JsonNode keyMaterialJson = objectMapper.readTree(keyMaterialStream);
-      keyMaterialMap = objectMapper.readValue(keyMaterialJson,
+      keyMaterialMap = objectMapper.readValue(keyMaterialJson.traverse(),
         new TypeReference<Map<String, String>>() { });
     } catch (FileNotFoundException e) {
       throw new ParquetCryptoRuntimeException("External key material not found 
at " + keyMaterialFile, e);
@@ -87,7 +88,7 @@ public class HadoopFSKeyMaterialStore implements 
FileKeyMaterialStore {
   @Override
   public void saveMaterial() throws ParquetCryptoRuntimeException {
     try (FSDataOutputStream keyMaterialStream = 
hadoopFileSystem.create(keyMaterialFile)) {
-      objectMapper.writeValue(keyMaterialStream, keyMaterialMap);
+      objectMapper.writeValue((OutputStream) keyMaterialStream, 
keyMaterialMap);
     } catch (IOException e) {
       throw new ParquetCryptoRuntimeException("Failed to save key material in 
" + keyMaterialFile, e);
     }
diff --git 
a/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/KeyMaterial.java
 
b/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/KeyMaterial.java
index 3d49ff4..8be7365 100644
--- 
a/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/KeyMaterial.java
+++ 
b/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/KeyMaterial.java
@@ -25,8 +25,8 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.parquet.crypto.ParquetCryptoRuntimeException;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.core.type.TypeReference;
 
 /**
  * KeyMaterial class represents the "key material", keeping the information 
that allows readers to recover an encryption key (see 
diff --git 
a/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/KeyMetadata.java
 
b/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/KeyMetadata.java
index f75fe7e..6ecc0d7 100644
--- 
a/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/KeyMetadata.java
+++ 
b/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/KeyMetadata.java
@@ -26,8 +26,8 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.parquet.crypto.ParquetCryptoRuntimeException;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.core.type.TypeReference;
 
 /**
  * Parquet encryption specification defines "key metadata" as an arbitrary 
byte array, generated by file writers for each encryption key, 
diff --git 
a/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/LocalWrapKmsClient.java
 
b/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/LocalWrapKmsClient.java
index 921a2db..b696f81 100644
--- 
a/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/LocalWrapKmsClient.java
+++ 
b/parquet-hadoop/src/main/java/org/apache/parquet/crypto/keytools/LocalWrapKmsClient.java
@@ -22,8 +22,8 @@ package org.apache.parquet.crypto.keytools;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.parquet.crypto.KeyAccessDeniedException;
 import org.apache.parquet.crypto.ParquetCryptoRuntimeException;
-import org.codehaus.jackson.map.ObjectMapper;
-import org.codehaus.jackson.type.TypeReference;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.core.type.TypeReference;
 
 import java.io.IOException;
 import java.io.StringReader;
diff --git 
a/parquet-hadoop/src/test/java/org/apache/parquet/crypto/keytools/samples/VaultClient.java
 
b/parquet-hadoop/src/test/java/org/apache/parquet/crypto/keytools/samples/VaultClient.java
index 9eb9c51..75876a6 100755
--- 
a/parquet-hadoop/src/test/java/org/apache/parquet/crypto/keytools/samples/VaultClient.java
+++ 
b/parquet-hadoop/src/test/java/org/apache/parquet/crypto/keytools/samples/VaultClient.java
@@ -30,7 +30,7 @@ import org.apache.parquet.crypto.KeyAccessDeniedException;
 import org.apache.parquet.crypto.ParquetCryptoRuntimeException;
 import org.apache.parquet.crypto.keytools.KeyToolkit;
 import org.apache.parquet.crypto.keytools.KmsClient;
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -171,7 +171,7 @@ public class VaultClient implements KmsClient {
   private static String parseReturn(String response, String searchKey) {
     String matchingValue;
     try {
-      matchingValue = 
objectMapper.readTree(response).findValue(searchKey).getTextValue();
+      matchingValue = 
objectMapper.readTree(response).findValue(searchKey).textValue();
     } catch (IOException e) {
       throw new ParquetCryptoRuntimeException("Failed to parse vault response. 
" + searchKey + " not found."  + response, e);
     }

Reply via email to