diff --git a/commons/common-util/src/main/java/com/schbrain/common/util/StreamUtils.java b/commons/common-util/src/main/java/com/schbrain/common/util/StreamUtils.java index 533f0389ad71bd5b5162ddedda0a0da947f062cb..b80ce58fb43aa0bb8d166d642b089f5c4ba98489 100644 --- a/commons/common-util/src/main/java/com/schbrain/common/util/StreamUtils.java +++ b/commons/common-util/src/main/java/com/schbrain/common/util/StreamUtils.java @@ -158,11 +158,15 @@ public class StreamUtils { } public static String join(Iterable data, String delimiter) { - return join(data, delimiter, Objects::toString); + return join(data, delimiter, Objects::toString, any -> true); } - public static String join(Iterable data, String delimiter, Function toStringFunction) { - return from(data).map(toStringFunction).collect(joining(delimiter)); + public static String join(Iterable data, String delimiter, Predicate predicate) { + return join(data, delimiter, Objects::toString, predicate); + } + + public static String join(Iterable data, String delimiter, Function toStringFunction, Predicate predicate) { + return from(data).map(toStringFunction).filter(predicate).collect(joining(delimiter)); } public static List split(String data) { diff --git a/commons/web-common/src/main/java/com/schbrain/common/web/exception/DefaultExceptionTranslator.java b/commons/web-common/src/main/java/com/schbrain/common/web/exception/DefaultExceptionTranslator.java index 932b7a683877ed3f3685d0ba33a443f44449a85e..4eac2de3291359d90f943e724442f79fe2a8b983 100644 --- a/commons/web-common/src/main/java/com/schbrain/common/web/exception/DefaultExceptionTranslator.java +++ b/commons/web-common/src/main/java/com/schbrain/common/web/exception/DefaultExceptionTranslator.java @@ -12,11 +12,7 @@ import org.springframework.core.Ordered; */ public class DefaultExceptionTranslator implements ExceptionTranslator> { - private final boolean isProduction; - - public DefaultExceptionTranslator() { - this.isProduction = EnvUtils.isProduction(); - } + private final boolean isProduction = EnvUtils.isProduction(); @Override public ResponseDTO translate(Throwable throwable, int code, int action, String message) { diff --git a/commons/web-common/src/main/java/com/schbrain/common/web/support/signature/AbstractSignatureValidationInterceptor.java b/commons/web-common/src/main/java/com/schbrain/common/web/support/signature/AbstractSignatureValidationInterceptor.java index 216646b27a00b045f3bd819c3b0131d92e92aa25..8605b14e77a0ae4f2e5486f1f0dbce76d9f90ad6 100644 --- a/commons/web-common/src/main/java/com/schbrain/common/web/support/signature/AbstractSignatureValidationInterceptor.java +++ b/commons/web-common/src/main/java/com/schbrain/common/web/support/signature/AbstractSignatureValidationInterceptor.java @@ -1,7 +1,7 @@ package com.schbrain.common.web.support.signature; import cn.hutool.crypto.digest.DigestUtil; -import com.google.common.base.Joiner; +import com.schbrain.common.util.StreamUtils; import com.schbrain.common.web.support.BaseHandlerInterceptor; import org.apache.commons.lang3.StringUtils; import org.springframework.web.method.HandlerMethod; @@ -9,6 +9,7 @@ import org.springframework.web.util.ContentCachingRequestWrapper; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.List; import java.util.Objects; import static cn.hutool.core.text.StrPool.UNDERLINE; @@ -17,8 +18,6 @@ import static org.springframework.web.util.WebUtils.getNativeRequest; public abstract class AbstractSignatureValidationInterceptor extends BaseHandlerInterceptor { - private static final Joiner JOINER = Joiner.on(UNDERLINE).skipNulls(); - private static final String SCH_APP_KEY = "Sch-App-Key"; private static final String SCH_TIMESTAMP = "Sch-Timestamp"; private static final String SCH_SIGNATURE = "Sch-Signature"; @@ -69,7 +68,7 @@ public abstract class AbstractSignatureValidationInterceptor