From c4a250db08d2ae7382415aa78b89a307545d9bc6 Mon Sep 17 00:00:00 2001 From: curry772 Date: Wed, 13 May 2026 16:09:22 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20HttpAdapterFilterFactoryKjb=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0=20=EB=B0=8F=20HttpAdapterFilterFactory=20?= =?UTF-8?q?=ED=86=B5=ED=95=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - HttpAdapterFilterFactoryKjb 삭제 - HttpAdapterFilterFactory에 HMAC_SHA256, REFLECTALLHEADER 케이스 추가 - classForName() 헬퍼로 basePackage / customBasePackage 순차 탐색 적용 - HttpAdapterServiceSupport 임포트를 HttpAdapterFilterFactory로 교체 Co-Authored-By: Claude Sonnet 4.6 --- .../dynamic/HttpAdapterServiceSupport.java | 8 +-- .../filter/HttpAdapterFilterFactory.java | 34 ++++++--- .../filter/HttpAdapterFilterFactoryKjb.java | 71 ------------------- 3 files changed, 28 insertions(+), 85 deletions(-) delete mode 100644 src/main/java/com/eactive/eai/adapter/http/dynamic/filter/HttpAdapterFilterFactoryKjb.java diff --git a/src/main/java/com/eactive/eai/adapter/http/dynamic/HttpAdapterServiceSupport.java b/src/main/java/com/eactive/eai/adapter/http/dynamic/HttpAdapterServiceSupport.java index 6f68fe1..4788cbb 100644 --- a/src/main/java/com/eactive/eai/adapter/http/dynamic/HttpAdapterServiceSupport.java +++ b/src/main/java/com/eactive/eai/adapter/http/dynamic/HttpAdapterServiceSupport.java @@ -13,7 +13,7 @@ import com.eactive.eai.adapter.RequestDispatcher; import com.eactive.eai.adapter.http.HttpStatusException; import com.eactive.eai.adapter.http.client.HttpClientAdapterServiceKey; import com.eactive.eai.adapter.http.dynamic.filter.HttpAdapterFilter; -import com.eactive.eai.adapter.http.dynamic.filter.HttpAdapterFilterFactoryKjb; +import com.eactive.eai.adapter.http.dynamic.filter.HttpAdapterFilterFactory; import com.eactive.eai.adapter.http.dynamic.filter.HttpAdapterFilterType; import com.eactive.eai.adapter.http.dynamic.filter.JwtAuthException; import com.eactive.eai.common.util.Logger; @@ -85,7 +85,7 @@ public abstract class HttpAdapterServiceSupport implements HttpAdapterService, H if (!"HTC".equals(group.getType())) { String allowIp = prop.getProperty(ALLOW_IP,""); if (StringUtils.isNotBlank(allowIp)) { - HttpAdapterFilter adapterFilter = HttpAdapterFilterFactoryKjb.createFilter(HttpAdapterFilterType.ADAPTERALLOWIPLISTFILTER.toString()); + HttpAdapterFilter adapterFilter = HttpAdapterFilterFactory.createFilter(HttpAdapterFilterType.ADAPTERALLOWIPLISTFILTER.toString()); if (adapterFilter != null) { message = adapterFilter.doPreFilter(adptGrpName, adptName, message, prop, request, response); } @@ -103,7 +103,7 @@ public abstract class HttpAdapterServiceSupport implements HttpAdapterService, H continue; } - HttpAdapterFilter adapterFilter = HttpAdapterFilterFactoryKjb.createFilter(filterName.trim()); + HttpAdapterFilter adapterFilter = HttpAdapterFilterFactory.createFilter(filterName.trim()); if (adapterFilter != null) { message = adapterFilter.doPreFilter(adptGrpName, adptName, message, prop, request, response); } else { @@ -126,7 +126,7 @@ public abstract class HttpAdapterServiceSupport implements HttpAdapterService, H continue; } - HttpAdapterFilter adapterFilter = HttpAdapterFilterFactoryKjb.createFilter(filterName.trim()); + HttpAdapterFilter adapterFilter = HttpAdapterFilterFactory.createFilter(filterName.trim()); if (adapterFilter != null) { resultMessage = adapterFilter.doPostFilter(adptGrpName, adptName, resultMessage, prop, request, response); diff --git a/src/main/java/com/eactive/eai/adapter/http/dynamic/filter/HttpAdapterFilterFactory.java b/src/main/java/com/eactive/eai/adapter/http/dynamic/filter/HttpAdapterFilterFactory.java index 0f1837b..572d234 100644 --- a/src/main/java/com/eactive/eai/adapter/http/dynamic/filter/HttpAdapterFilterFactory.java +++ b/src/main/java/com/eactive/eai/adapter/http/dynamic/filter/HttpAdapterFilterFactory.java @@ -6,13 +6,10 @@ import com.eactive.eai.common.util.Logger; public class HttpAdapterFilterFactory { static Logger logger = Logger.getLogger(Logger.LOGGER_ADAPTER); + static String basePackage = "com.eactive.eai.adapter.http.dynamic.filter"; + static String customBasePackage = "com.eactive.eai.custom.adapter.http.dynamic.filter"; static private ConcurrentHashMap h = new ConcurrentHashMap(); - public HttpAdapterFilterFactory() { - super(); - } - - @SuppressWarnings("rawtypes") public static HttpAdapterFilter createFilter(String type) { if (h.containsKey(type)) { return (HttpAdapterFilter) h.get(type); @@ -32,12 +29,19 @@ public class HttpAdapterFilterFactory { case ADAPTERALLOWIPLISTFILTER: filter = new AdapterAllowIPListFilter(); break; + case HMAC_SHA256: + filter = new HmacSha256VerifyFilterKjb(); + break; + case REFLECTALLHEADER: + filter = new ReflectAllHeaderFilter(); + break; default: - try { - Class cl = Class.forName(type); - filter = (HttpAdapterFilter) cl.newInstance(); - } catch (Exception e) { - logger.error("Cannot create a HttpAdapterFilter. - {}", type); + filter = classForName(type); + if (filter == null) { + filter = classForName(basePackage + "." + type); + } + if (filter == null) { + filter = classForName(customBasePackage + "." + type); } break; } @@ -49,4 +53,14 @@ public class HttpAdapterFilterFactory { return null; } } + + private static HttpAdapterFilter classForName(String type) { + try { + Class cl = Class.forName(type); + return (HttpAdapterFilter) cl.newInstance(); + } catch (ClassNotFoundException | IllegalAccessException | InstantiationException e) { + logger.error("Cannot create a HttpAdapterFilter. - {}", type); + return null; + } + } } diff --git a/src/main/java/com/eactive/eai/adapter/http/dynamic/filter/HttpAdapterFilterFactoryKjb.java b/src/main/java/com/eactive/eai/adapter/http/dynamic/filter/HttpAdapterFilterFactoryKjb.java deleted file mode 100644 index dc5c770..0000000 --- a/src/main/java/com/eactive/eai/adapter/http/dynamic/filter/HttpAdapterFilterFactoryKjb.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.eactive.eai.adapter.http.dynamic.filter; - -import java.util.concurrent.ConcurrentHashMap; - -import com.eactive.eai.common.util.Logger; - -public class HttpAdapterFilterFactoryKjb extends HttpAdapterFilterFactory { - static Logger logger = Logger.getLogger(Logger.LOGGER_ADAPTER); - static String basePackage = "com.eactive.eai.adapter.http.dynamic.filter"; - static String customBasePackage = "com.eactive.eai.custom.adapter.http.dynamic.filter"; - static private ConcurrentHashMap h = new ConcurrentHashMap(); - - public HttpAdapterFilterFactoryKjb() { - super(); - } - - @SuppressWarnings("rawtypes") - public static HttpAdapterFilter createFilter(String type) { - if (h.containsKey(type)) { - return (HttpAdapterFilter) h.get(type); - } - - HttpAdapterFilter filter = null; - switch (HttpAdapterFilterType.getValue(type)) { - case APIAUTHFILTER: - filter = new ApiAuthFilter(); - break; - case JWTAUTHFILTER: - filter = new JwtAuthFilter(); - break; - case IPWHITELISTFILTER: - filter = new IpWhiteListFilter(); - break; - case ADAPTERALLOWIPLISTFILTER: - filter = new AdapterAllowIPListFilter(); - break; - case HMAC_SHA256: - filter = new HmacSha256VerifyFilterKjb(); - break; - case REFLECTALLHEADER: - filter = new ReflectAllHeaderFilter(); - break; - default: - filter = classForName(type); - if (filter == null) { - filter = classForName(basePackage + "." + type); - } - if (filter == null) { - filter = classForName(customBasePackage + "." + type); - } - break; - } - - if (filter != null) { - h.put(type, filter); - return filter; - } else { - return null; - } - } - - private static HttpAdapterFilter classForName(String type) { - try { - Class cl = Class.forName(type); - return (HttpAdapterFilter) cl.newInstance(); - } catch (ClassNotFoundException | IllegalAccessException | InstantiationException e) { - logger.error("Cannot create a HttpAdapterFilter. - {}", type); - return null; - } - } -}