From 659746451555c5ab3e6591a330da508e53a81cdf Mon Sep 17 00:00:00 2001 From: curry772 Date: Fri, 3 Jul 2026 09:01:40 +0900 Subject: [PATCH] =?UTF-8?q?=EC=95=94=EB=B3=B5=ED=98=B8=ED=99=94=20JacksonU?= =?UTF-8?q?til=20=EC=82=AC=EC=9A=A9=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../filter/DouzoneEncFieldOutCryptoFilter.java | 5 +++-- .../impl/filter/EncFieldOutCryptoFilter.java | 5 +++-- .../filter/DouzoneEncFieldInCryptoFilter.java | 6 +++--- .../dynamic/filter/EncFieldInCryptoFilter.java | 14 +++++++------- .../http/dynamic/filter/HSMKeyCryptoFilter.java | 9 ++++++--- 5 files changed, 22 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/eactive/eai/custom/adapter/http/client/impl/filter/DouzoneEncFieldOutCryptoFilter.java b/src/main/java/com/eactive/eai/custom/adapter/http/client/impl/filter/DouzoneEncFieldOutCryptoFilter.java index 7a141ae..78581df 100644 --- a/src/main/java/com/eactive/eai/custom/adapter/http/client/impl/filter/DouzoneEncFieldOutCryptoFilter.java +++ b/src/main/java/com/eactive/eai/custom/adapter/http/client/impl/filter/DouzoneEncFieldOutCryptoFilter.java @@ -5,6 +5,7 @@ import java.util.Properties; import com.eactive.eai.adapter.http.client.impl.HttpClient5AdapterServiceRest; import com.eactive.eai.adapter.http.client.impl.filter.OutCryptoFilter; import com.eactive.eai.adapter.http.dynamic.filter.InCryptoFilter; +import com.eactive.eai.common.util.JacksonUtil; import com.eactive.eai.util.JsonPathUtil; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -28,7 +29,7 @@ public class DouzoneEncFieldOutCryptoFilter extends EncFieldOutCryptoFilter { throws Exception { String headerGroupName = prop.getProperty(HttpClient5AdapterServiceRest.HEADER_GROUP); - JsonNode root = JsonPathUtil.toTree(message); + JsonNode root = JacksonUtil.readTree(message); ObjectNode rootObjectNode = (ObjectNode) root; JsonNode header = rootObjectNode.get(headerGroupName); rootObjectNode.remove(headerGroupName); @@ -41,7 +42,7 @@ public class DouzoneEncFieldOutCryptoFilter extends EncFieldOutCryptoFilter { Object enc = filter.doPreFilter(adptGrpName, adptName, prop, rootObjectNode, setProp(tempProp)); - ObjectNode encJson = (ObjectNode)JsonPathUtil.toTree(enc); + ObjectNode encJson = (ObjectNode)JacksonUtil.readTree(enc); encJson.set(headerGroupName, header); return encJson; diff --git a/src/main/java/com/eactive/eai/custom/adapter/http/client/impl/filter/EncFieldOutCryptoFilter.java b/src/main/java/com/eactive/eai/custom/adapter/http/client/impl/filter/EncFieldOutCryptoFilter.java index cd2c833..5a4c431 100644 --- a/src/main/java/com/eactive/eai/custom/adapter/http/client/impl/filter/EncFieldOutCryptoFilter.java +++ b/src/main/java/com/eactive/eai/custom/adapter/http/client/impl/filter/EncFieldOutCryptoFilter.java @@ -5,6 +5,7 @@ import java.util.Properties; import com.eactive.eai.adapter.http.client.impl.HttpClient5AdapterServiceRest; import com.eactive.eai.adapter.http.client.impl.filter.HttpClientAdapterFilter; import com.eactive.eai.adapter.http.client.impl.filter.OutCryptoFilter; +import com.eactive.eai.common.util.JacksonUtil; import com.eactive.eai.util.JsonPathUtil; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -26,14 +27,14 @@ public class EncFieldOutCryptoFilter implements HttpClientAdapterFilter { throws Exception { String headerGroupName = prop.getProperty(HttpClient5AdapterServiceRest.HEADER_GROUP); - JsonNode root = JsonPathUtil.toTree(message); + JsonNode root = JacksonUtil.readTree(message); ObjectNode rootObjectNode = (ObjectNode) root; JsonNode header = rootObjectNode.get(headerGroupName); rootObjectNode.remove(headerGroupName); Object enc = filter.doPreFilter(adptGrpName, adptName, prop, rootObjectNode, setProp(tempProp)); - ObjectNode encJson = (ObjectNode)JsonPathUtil.toTree(enc); + ObjectNode encJson = (ObjectNode)JacksonUtil.readTree(enc); encJson.set(headerGroupName, header); return encJson; diff --git a/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/DouzoneEncFieldInCryptoFilter.java b/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/DouzoneEncFieldInCryptoFilter.java index 787d7d8..f71481e 100644 --- a/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/DouzoneEncFieldInCryptoFilter.java +++ b/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/DouzoneEncFieldInCryptoFilter.java @@ -12,7 +12,7 @@ import com.eactive.eai.adapter.http.dynamic.filter.FilterCryptoException; import com.eactive.eai.adapter.http.dynamic.filter.HttpAdapterFilter; import com.eactive.eai.adapter.http.dynamic.filter.InCryptoFilter; import com.eactive.eai.adapter.service.DJBApiAdapterService; -import com.eactive.eai.util.JsonPathUtil; +import com.eactive.eai.common.util.JacksonUtil; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; @@ -66,7 +66,7 @@ public class DouzoneEncFieldInCryptoFilter implements HttpAdapterFilter { try { setContext(prop); - JsonNode root = JsonPathUtil.toTree(resultMessage); + JsonNode root = JacksonUtil.readTree(resultMessage); ObjectNode rootObjectNode = (ObjectNode) root; String headerGroupName = prop.getProperty(DJBApiAdapterService.HEADER_GROUP); JsonNode header = null; @@ -76,7 +76,7 @@ public class DouzoneEncFieldInCryptoFilter implements HttpAdapterFilter { } Object enc = filter.doPostFilter(adptGrpName, adptName, rootObjectNode, setProp(prop), request, response); - ObjectNode encJson = (ObjectNode)JsonPathUtil.toTree(enc); + ObjectNode encJson = (ObjectNode)JacksonUtil.readTree(enc); if(header != null) encJson.set(headerGroupName, header); diff --git a/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/EncFieldInCryptoFilter.java b/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/EncFieldInCryptoFilter.java index 212db12..2e84caa 100644 --- a/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/EncFieldInCryptoFilter.java +++ b/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/EncFieldInCryptoFilter.java @@ -7,13 +7,13 @@ import javax.servlet.http.HttpServletResponse; import org.springframework.http.HttpStatus; -import com.eactive.eai.adapter.http.dynamic.filter.InCryptoFilter; -import com.eactive.eai.adapter.service.DJBApiAdapterService; -import com.eactive.eai.util.JsonPathUtil; -import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.node.ObjectNode; import com.eactive.eai.adapter.http.dynamic.filter.FilterCryptoException; import com.eactive.eai.adapter.http.dynamic.filter.HttpAdapterFilter; +import com.eactive.eai.adapter.http.dynamic.filter.InCryptoFilter; +import com.eactive.eai.adapter.service.DJBApiAdapterService; +import com.eactive.eai.common.util.JacksonUtil; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.node.ObjectNode; /** * InCryptoFilter를 멤버변수로 관리하는 HttpAdapterFilter 구현체. @@ -35,7 +35,7 @@ public class EncFieldInCryptoFilter implements HttpAdapterFilter { public Object doPostFilter(String adptGrpName, String adptName, Object resultMessage, Properties prop, HttpServletRequest request, HttpServletResponse response) throws Exception { try { - JsonNode root = JsonPathUtil.toTree(resultMessage); + JsonNode root = JacksonUtil.readTree(resultMessage); ObjectNode rootObjectNode = (ObjectNode) root; String headerGroupName = prop.getProperty(DJBApiAdapterService.HEADER_GROUP); JsonNode header = null; @@ -45,7 +45,7 @@ public class EncFieldInCryptoFilter implements HttpAdapterFilter { } Object enc = filter.doPostFilter(adptGrpName, adptName, rootObjectNode, setProp(prop), request, response); - ObjectNode encJson = (ObjectNode)JsonPathUtil.toTree(enc); + ObjectNode encJson = (ObjectNode)JacksonUtil.readTree(enc); if(header != null) encJson.set(headerGroupName, header); diff --git a/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/HSMKeyCryptoFilter.java b/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/HSMKeyCryptoFilter.java index 2557440..521b4fe 100644 --- a/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/HSMKeyCryptoFilter.java +++ b/src/main/java/com/eactive/eai/custom/adapter/http/dynamic/filter/HSMKeyCryptoFilter.java @@ -36,11 +36,15 @@ public class HSMKeyCryptoFilter implements HttpAdapterFilter { jsonStr = (String) message; } else if (message instanceof JSONObject) { jsonStr = ((JSONObject) message).toJSONString(); + } else if (message instanceof ObjectNode) { + rootNode = (ObjectNode) message; } else { return message; } - rootNode = (ObjectNode)OBJECT_MAPPER.readTree(jsonStr); + if (rootNode == null) + rootNode = (ObjectNode) OBJECT_MAPPER.readTree(jsonStr); + JsonNode hsmKeyAlias = rootNode.get("hsmKeyAlias"); if (hsmKeyAlias != null) { String hsmKeyAliasValue = hsmKeyAlias.textValue(); @@ -60,8 +64,7 @@ public class HSMKeyCryptoFilter implements HttpAdapterFilter { } } } - String jsonString = OBJECT_MAPPER.writeValueAsString(rootNode); - return jsonString; + return rootNode; } catch (Exception e) { throw new FilterException("HSM key 가져오기 실패", ERROR_PRE_FAIL, HttpStatus.INTERNAL_SERVER_ERROR.value(), e);