diff --git a/src/main/java/org/codelibs/fess/action/admin/BoostDocumentRuleAction.java b/src/main/java/org/codelibs/fess/action/admin/BoostDocumentRuleAction.java index dd03b153b..74b246aaf 100644 --- a/src/main/java/org/codelibs/fess/action/admin/BoostDocumentRuleAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/BoostDocumentRuleAction.java @@ -22,13 +22,13 @@ import javax.annotation.Resource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsBoostDocumentRuleAction; import org.codelibs.fess.crud.util.SAStrutsUtil; import org.codelibs.fess.db.exentity.BoostDocumentRule; import org.codelibs.fess.helper.SystemHelper; -import org.codelibs.fess.util.FessBeans; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; import org.seasar.struts.annotation.Execute; import org.seasar.struts.exception.ActionMessagesException; diff --git a/src/main/java/org/codelibs/fess/action/admin/DataCrawlingConfigAction.java b/src/main/java/org/codelibs/fess/action/admin/DataCrawlingConfigAction.java index 350ae0c8f..70a81b966 100644 --- a/src/main/java/org/codelibs/fess/action/admin/DataCrawlingConfigAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/DataCrawlingConfigAction.java @@ -27,6 +27,7 @@ import javax.annotation.Resource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.codelibs.fess.Constants; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsDataCrawlingConfigAction; @@ -39,7 +40,6 @@ import org.codelibs.fess.helper.SystemHelper; import org.codelibs.fess.service.FailureUrlService; import org.codelibs.fess.service.LabelTypeService; import org.codelibs.fess.service.RoleTypeService; -import org.codelibs.fess.util.FessBeans; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; import org.seasar.struts.annotation.Execute; import org.seasar.struts.exception.ActionMessagesException; diff --git a/src/main/java/org/codelibs/fess/action/admin/FileAuthenticationAction.java b/src/main/java/org/codelibs/fess/action/admin/FileAuthenticationAction.java index 9ebb5140a..02162ed91 100644 --- a/src/main/java/org/codelibs/fess/action/admin/FileAuthenticationAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/FileAuthenticationAction.java @@ -28,6 +28,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.codelibs.core.util.StringUtil; import org.codelibs.fess.Constants; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsFileAuthenticationAction; @@ -36,7 +37,6 @@ import org.codelibs.fess.db.exentity.FileAuthentication; import org.codelibs.fess.db.exentity.FileCrawlingConfig; import org.codelibs.fess.helper.SystemHelper; import org.codelibs.fess.service.FileCrawlingConfigService; -import org.codelibs.fess.util.FessBeans; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; import org.seasar.struts.annotation.Execute; import org.seasar.struts.exception.ActionMessagesException; diff --git a/src/main/java/org/codelibs/fess/action/admin/FileCrawlingConfigAction.java b/src/main/java/org/codelibs/fess/action/admin/FileCrawlingConfigAction.java index d4da5154e..8aa6c0b2f 100644 --- a/src/main/java/org/codelibs/fess/action/admin/FileCrawlingConfigAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/FileCrawlingConfigAction.java @@ -23,6 +23,7 @@ import javax.annotation.Resource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsFileCrawlingConfigAction; @@ -34,7 +35,6 @@ import org.codelibs.fess.helper.SystemHelper; import org.codelibs.fess.service.FailureUrlService; import org.codelibs.fess.service.LabelTypeService; import org.codelibs.fess.service.RoleTypeService; -import org.codelibs.fess.util.FessBeans; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; import org.seasar.struts.annotation.Execute; import org.seasar.struts.exception.ActionMessagesException; diff --git a/src/main/java/org/codelibs/fess/action/admin/KeyMatchAction.java b/src/main/java/org/codelibs/fess/action/admin/KeyMatchAction.java index 1e0dd6607..8966078c0 100644 --- a/src/main/java/org/codelibs/fess/action/admin/KeyMatchAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/KeyMatchAction.java @@ -22,6 +22,7 @@ import javax.annotation.Resource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsKeyMatchAction; @@ -29,7 +30,6 @@ import org.codelibs.fess.crud.util.SAStrutsUtil; import org.codelibs.fess.db.exentity.KeyMatch; import org.codelibs.fess.helper.SystemHelper; import org.codelibs.fess.util.ComponentUtil; -import org.codelibs.fess.util.FessBeans; import org.codelibs.sastruts.core.annotation.Token; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; import org.seasar.struts.annotation.Execute; diff --git a/src/main/java/org/codelibs/fess/action/admin/LabelTypeAction.java b/src/main/java/org/codelibs/fess/action/admin/LabelTypeAction.java index 3f95b2d08..0a0baf80d 100644 --- a/src/main/java/org/codelibs/fess/action/admin/LabelTypeAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/LabelTypeAction.java @@ -23,6 +23,7 @@ import javax.annotation.Resource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsLabelTypeAction; @@ -31,7 +32,6 @@ import org.codelibs.fess.db.exentity.LabelType; import org.codelibs.fess.db.exentity.RoleType; import org.codelibs.fess.helper.SystemHelper; import org.codelibs.fess.service.RoleTypeService; -import org.codelibs.fess.util.FessBeans; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; import org.seasar.struts.annotation.Execute; import org.seasar.struts.exception.ActionMessagesException; diff --git a/src/main/java/org/codelibs/fess/action/admin/OverlappingHostAction.java b/src/main/java/org/codelibs/fess/action/admin/OverlappingHostAction.java index 89ee9b510..e7fafe857 100644 --- a/src/main/java/org/codelibs/fess/action/admin/OverlappingHostAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/OverlappingHostAction.java @@ -22,13 +22,13 @@ import javax.annotation.Resource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsOverlappingHostAction; import org.codelibs.fess.crud.util.SAStrutsUtil; import org.codelibs.fess.db.exentity.OverlappingHost; import org.codelibs.fess.helper.SystemHelper; -import org.codelibs.fess.util.FessBeans; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; import org.seasar.struts.annotation.Execute; import org.seasar.struts.exception.ActionMessagesException; diff --git a/src/main/java/org/codelibs/fess/action/admin/PathMappingAction.java b/src/main/java/org/codelibs/fess/action/admin/PathMappingAction.java index afa1fd1a1..b2275884c 100644 --- a/src/main/java/org/codelibs/fess/action/admin/PathMappingAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/PathMappingAction.java @@ -22,6 +22,7 @@ import javax.annotation.Resource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsPathMappingAction; @@ -29,7 +30,6 @@ import org.codelibs.fess.crud.util.SAStrutsUtil; import org.codelibs.fess.db.exentity.PathMapping; import org.codelibs.fess.helper.PathMappingHelper; import org.codelibs.fess.helper.SystemHelper; -import org.codelibs.fess.util.FessBeans; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; import org.seasar.struts.annotation.Execute; import org.seasar.struts.exception.ActionMessagesException; diff --git a/src/main/java/org/codelibs/fess/action/admin/RequestHeaderAction.java b/src/main/java/org/codelibs/fess/action/admin/RequestHeaderAction.java index 82daa99f3..21d502ebb 100644 --- a/src/main/java/org/codelibs/fess/action/admin/RequestHeaderAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/RequestHeaderAction.java @@ -26,6 +26,7 @@ import javax.annotation.Resource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsRequestHeaderAction; @@ -34,7 +35,6 @@ import org.codelibs.fess.db.exentity.RequestHeader; import org.codelibs.fess.db.exentity.WebCrawlingConfig; import org.codelibs.fess.helper.SystemHelper; import org.codelibs.fess.service.WebCrawlingConfigService; -import org.codelibs.fess.util.FessBeans; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; import org.seasar.struts.annotation.Execute; import org.seasar.struts.exception.ActionMessagesException; diff --git a/src/main/java/org/codelibs/fess/action/admin/RoleTypeAction.java b/src/main/java/org/codelibs/fess/action/admin/RoleTypeAction.java index 44c7c7eea..89d711aab 100644 --- a/src/main/java/org/codelibs/fess/action/admin/RoleTypeAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/RoleTypeAction.java @@ -22,13 +22,13 @@ import javax.annotation.Resource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsRoleTypeAction; import org.codelibs.fess.crud.util.SAStrutsUtil; import org.codelibs.fess.db.exentity.RoleType; import org.codelibs.fess.helper.SystemHelper; -import org.codelibs.fess.util.FessBeans; import org.codelibs.sastruts.core.annotation.Token; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; import org.seasar.struts.annotation.Execute; diff --git a/src/main/java/org/codelibs/fess/action/admin/ScheduledJobAction.java b/src/main/java/org/codelibs/fess/action/admin/ScheduledJobAction.java index ec2f46bc3..91fe07e3b 100644 --- a/src/main/java/org/codelibs/fess/action/admin/ScheduledJobAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/ScheduledJobAction.java @@ -24,6 +24,7 @@ import javax.annotation.Resource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.codelibs.fess.Constants; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsScheduledJobAction; @@ -34,7 +35,6 @@ import org.codelibs.fess.helper.JobHelper; import org.codelibs.fess.helper.SystemHelper; import org.codelibs.fess.job.JobExecutor; import org.codelibs.fess.service.RoleTypeService; -import org.codelibs.fess.util.FessBeans; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; import org.seasar.struts.annotation.Execute; import org.seasar.struts.exception.ActionMessagesException; diff --git a/src/main/java/org/codelibs/fess/action/admin/SuggestBadWordAction.java b/src/main/java/org/codelibs/fess/action/admin/SuggestBadWordAction.java index 6924fc123..d9c5c0c98 100644 --- a/src/main/java/org/codelibs/fess/action/admin/SuggestBadWordAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/SuggestBadWordAction.java @@ -37,6 +37,7 @@ import org.apache.commons.logging.LogFactory; import org.codelibs.core.util.DynamicProperties; import org.codelibs.fess.Constants; import org.codelibs.fess.FessSystemException; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsSuggestBadWordAction; @@ -44,7 +45,6 @@ import org.codelibs.fess.crud.util.SAStrutsUtil; import org.codelibs.fess.db.exentity.SuggestBadWord; import org.codelibs.fess.helper.SuggestHelper; import org.codelibs.fess.helper.SystemHelper; -import org.codelibs.fess.util.FessBeans; import org.codelibs.robot.util.StreamUtil; import org.codelibs.sastruts.core.annotation.Token; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; diff --git a/src/main/java/org/codelibs/fess/action/admin/SuggestElevateWordAction.java b/src/main/java/org/codelibs/fess/action/admin/SuggestElevateWordAction.java index a5ff1aa19..27e2f72da 100644 --- a/src/main/java/org/codelibs/fess/action/admin/SuggestElevateWordAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/SuggestElevateWordAction.java @@ -37,6 +37,7 @@ import org.apache.commons.logging.LogFactory; import org.codelibs.core.util.DynamicProperties; import org.codelibs.fess.Constants; import org.codelibs.fess.FessSystemException; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsSuggestElevateWordAction; @@ -44,7 +45,6 @@ import org.codelibs.fess.crud.util.SAStrutsUtil; import org.codelibs.fess.db.exentity.SuggestElevateWord; import org.codelibs.fess.helper.SuggestHelper; import org.codelibs.fess.helper.SystemHelper; -import org.codelibs.fess.util.FessBeans; import org.codelibs.robot.util.StreamUtil; import org.codelibs.sastruts.core.annotation.Token; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; diff --git a/src/main/java/org/codelibs/fess/action/admin/WebAuthenticationAction.java b/src/main/java/org/codelibs/fess/action/admin/WebAuthenticationAction.java index 8756abad9..f1e271799 100644 --- a/src/main/java/org/codelibs/fess/action/admin/WebAuthenticationAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/WebAuthenticationAction.java @@ -28,6 +28,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.codelibs.core.util.StringUtil; import org.codelibs.fess.Constants; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsWebAuthenticationAction; @@ -36,7 +37,6 @@ import org.codelibs.fess.db.exentity.WebAuthentication; import org.codelibs.fess.db.exentity.WebCrawlingConfig; import org.codelibs.fess.helper.SystemHelper; import org.codelibs.fess.service.WebCrawlingConfigService; -import org.codelibs.fess.util.FessBeans; import org.codelibs.sastruts.core.annotation.Token; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; import org.seasar.struts.annotation.Execute; diff --git a/src/main/java/org/codelibs/fess/action/admin/WebCrawlingConfigAction.java b/src/main/java/org/codelibs/fess/action/admin/WebCrawlingConfigAction.java index 51259a587..1a9372af6 100644 --- a/src/main/java/org/codelibs/fess/action/admin/WebCrawlingConfigAction.java +++ b/src/main/java/org/codelibs/fess/action/admin/WebCrawlingConfigAction.java @@ -23,6 +23,7 @@ import javax.annotation.Resource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.crud.CommonConstants; import org.codelibs.fess.crud.CrudMessageException; import org.codelibs.fess.crud.action.admin.BsWebCrawlingConfigAction; @@ -35,7 +36,6 @@ import org.codelibs.fess.helper.SystemHelper; import org.codelibs.fess.service.FailureUrlService; import org.codelibs.fess.service.LabelTypeService; import org.codelibs.fess.service.RoleTypeService; -import org.codelibs.fess.util.FessBeans; import org.codelibs.sastruts.core.exception.SSCActionMessagesException; import org.seasar.struts.annotation.Execute; import org.seasar.struts.exception.ActionMessagesException; diff --git a/src/main/java/org/codelibs/fess/util/FessBeans.java b/src/main/java/org/codelibs/fess/beans/FessBeans.java similarity index 96% rename from src/main/java/org/codelibs/fess/util/FessBeans.java rename to src/main/java/org/codelibs/fess/beans/FessBeans.java index 220aabfd0..52c4c7f6c 100644 --- a/src/main/java/org/codelibs/fess/util/FessBeans.java +++ b/src/main/java/org/codelibs/fess/beans/FessBeans.java @@ -14,7 +14,7 @@ * governing permissions and limitations under the License. */ -package org.codelibs.fess.util; +package org.codelibs.fess.beans; public class FessBeans { protected FessBeans() { diff --git a/src/main/java/org/codelibs/fess/util/FessCopy.java b/src/main/java/org/codelibs/fess/beans/FessCopy.java similarity index 69% rename from src/main/java/org/codelibs/fess/util/FessCopy.java rename to src/main/java/org/codelibs/fess/beans/FessCopy.java index b491a1942..8ab4ca18f 100644 --- a/src/main/java/org/codelibs/fess/util/FessCopy.java +++ b/src/main/java/org/codelibs/fess/beans/FessCopy.java @@ -14,15 +14,25 @@ * governing permissions and limitations under the License. */ -package org.codelibs.fess.util; +package org.codelibs.fess.beans; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import org.codelibs.fess.Constants; +import org.codelibs.fess.beans.converter.LocalDateTimeConverter; +import org.seasar.framework.beans.Converter; +import org.seasar.framework.beans.converter.DateConverter; import org.seasar.framework.beans.util.Copy; +import org.seasar.framework.util.TimestampConversionUtil; public class FessCopy extends Copy { + + protected static final Converter DEFAULT_LOCALDATETIME_CONVERTER = new LocalDateTimeConverter( + TimestampConversionUtil.getPattern(Locale.getDefault())); + public FessCopy(final Object src, final Object dest) { super(src, dest); } @@ -52,8 +62,15 @@ public class FessCopy extends Copy { } public Copy commonColumnDateConverter() { - return dateConverter(Constants.DEFAULT_DATETIME_FORMAT, "createdTime", + return converter(new LocalDateTimeConverter( + Constants.DEFAULT_DATETIME_FORMAT), "createdTime", "updatedTime", "deletedTime"); } + protected Converter findDefaultConverter(Class clazz) { + if (LocalDateTime.class.isAssignableFrom(clazz)) { + return DEFAULT_LOCALDATETIME_CONVERTER; + } + return super.findDefaultConverter(clazz); + } } diff --git a/src/main/java/org/codelibs/fess/beans/converter/LocalDateTimeConverter.java b/src/main/java/org/codelibs/fess/beans/converter/LocalDateTimeConverter.java new file mode 100644 index 000000000..850aef8d8 --- /dev/null +++ b/src/main/java/org/codelibs/fess/beans/converter/LocalDateTimeConverter.java @@ -0,0 +1,37 @@ +package org.codelibs.fess.beans.converter; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +import org.seasar.framework.beans.Converter; +import org.seasar.framework.exception.EmptyRuntimeException; +import org.seasar.framework.util.StringUtil; + +public class LocalDateTimeConverter implements Converter { + + protected String pattern; + + public LocalDateTimeConverter(String pattern) { + if (StringUtil.isEmpty(pattern)) { + throw new EmptyRuntimeException("pattern"); + } + this.pattern = pattern; + } + + public Object getAsObject(String value) { + if (StringUtil.isEmpty(value)) { + return null; + } + return LocalDateTime.parse(value, DateTimeFormatter.ofPattern(pattern)); + } + + public String getAsString(Object value) { + return ((LocalDateTime) value).format(DateTimeFormatter + .ofPattern(pattern)); + } + + public boolean isTarget(Class clazz) { + return clazz == LocalDateTime.class; + } + +} diff --git a/src/main/java/org/codelibs/fess/helper/impl/SearchLogHelperImpl.java b/src/main/java/org/codelibs/fess/helper/impl/SearchLogHelperImpl.java index af5967ac4..a13678044 100644 --- a/src/main/java/org/codelibs/fess/helper/impl/SearchLogHelperImpl.java +++ b/src/main/java/org/codelibs/fess/helper/impl/SearchLogHelperImpl.java @@ -25,6 +25,7 @@ import java.util.Queue; import org.codelibs.core.util.StringUtil; import org.codelibs.fess.Constants; +import org.codelibs.fess.beans.FessBeans; import org.codelibs.fess.db.exbhv.ClickLogBhv; import org.codelibs.fess.db.exbhv.SearchLogBhv; import org.codelibs.fess.db.exbhv.UserInfoBhv; @@ -38,7 +39,6 @@ import org.codelibs.fess.helper.SearchLogHelper; import org.codelibs.fess.service.SearchLogService; import org.codelibs.fess.service.UserInfoService; import org.codelibs.fess.util.ComponentUtil; -import org.codelibs.fess.util.FessBeans; import org.seasar.framework.container.SingletonS2Container; import org.slf4j.Logger; import org.slf4j.LoggerFactory;