Browse Source

add LocalDateTimeConverter

Shinsuke Sugaya 10 years ago
parent
commit
12a1bbbf2b
19 changed files with 73 additions and 19 deletions
  1. 1 1
      src/main/java/org/codelibs/fess/action/admin/BoostDocumentRuleAction.java
  2. 1 1
      src/main/java/org/codelibs/fess/action/admin/DataCrawlingConfigAction.java
  3. 1 1
      src/main/java/org/codelibs/fess/action/admin/FileAuthenticationAction.java
  4. 1 1
      src/main/java/org/codelibs/fess/action/admin/FileCrawlingConfigAction.java
  5. 1 1
      src/main/java/org/codelibs/fess/action/admin/KeyMatchAction.java
  6. 1 1
      src/main/java/org/codelibs/fess/action/admin/LabelTypeAction.java
  7. 1 1
      src/main/java/org/codelibs/fess/action/admin/OverlappingHostAction.java
  8. 1 1
      src/main/java/org/codelibs/fess/action/admin/PathMappingAction.java
  9. 1 1
      src/main/java/org/codelibs/fess/action/admin/RequestHeaderAction.java
  10. 1 1
      src/main/java/org/codelibs/fess/action/admin/RoleTypeAction.java
  11. 1 1
      src/main/java/org/codelibs/fess/action/admin/ScheduledJobAction.java
  12. 1 1
      src/main/java/org/codelibs/fess/action/admin/SuggestBadWordAction.java
  13. 1 1
      src/main/java/org/codelibs/fess/action/admin/SuggestElevateWordAction.java
  14. 1 1
      src/main/java/org/codelibs/fess/action/admin/WebAuthenticationAction.java
  15. 1 1
      src/main/java/org/codelibs/fess/action/admin/WebCrawlingConfigAction.java
  16. 1 1
      src/main/java/org/codelibs/fess/beans/FessBeans.java
  17. 19 2
      src/main/java/org/codelibs/fess/beans/FessCopy.java
  18. 37 0
      src/main/java/org/codelibs/fess/beans/converter/LocalDateTimeConverter.java
  19. 1 1
      src/main/java/org/codelibs/fess/helper/impl/SearchLogHelperImpl.java

+ 1 - 1
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;

+ 1 - 1
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;

+ 1 - 1
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;

+ 1 - 1
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;

+ 1 - 1
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;

+ 1 - 1
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;

+ 1 - 1
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;

+ 1 - 1
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;

+ 1 - 1
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;

+ 1 - 1
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;

+ 1 - 1
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;

+ 1 - 1
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;

+ 1 - 1
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;

+ 1 - 1
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;

+ 1 - 1
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;

+ 1 - 1
src/main/java/org/codelibs/fess/util/FessBeans.java → 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() {

+ 19 - 2
src/main/java/org/codelibs/fess/util/FessCopy.java → 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);
+    }
 }

+ 37 - 0
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;
+    }
+
+}

+ 1 - 1
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;