diff --git a/src/main/config/h2/fess.ddl b/src/main/config/h2/fess.ddl index 1058cc1c5..233606272 100644 --- a/src/main/config/h2/fess.ddl +++ b/src/main/config/h2/fess.ddl @@ -189,7 +189,7 @@ CREATE TABLE CRAWLING_SESSION( ID IDENTITY NOT NULL PRIMARY KEY, SESSION_ID VARCHAR(20) NOT NULL, NAME VARCHAR(20), - EXPIRED_TIME TIMESTAMP NOT NULL, + EXPIRED_TIME TIMESTAMP, CREATED_TIME TIMESTAMP NOT NULL ); diff --git a/src/main/config/mysql/fess.ddl b/src/main/config/mysql/fess.ddl index 0350d6d23..d43a9dce2 100644 --- a/src/main/config/mysql/fess.ddl +++ b/src/main/config/mysql/fess.ddl @@ -189,7 +189,7 @@ CREATE TABLE CRAWLING_SESSION( ID BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, SESSION_ID VARCHAR(20) NOT NULL, NAME VARCHAR(20), - EXPIRED_TIME TIMESTAMP NOT NULL, + EXPIRED_TIME TIMESTAMP, CREATED_TIME TIMESTAMP NOT NULL ); diff --git a/src/main/config/oracle/fess.ddl b/src/main/config/oracle/fess.ddl index adc11ba33..cf7a443d1 100644 --- a/src/main/config/oracle/fess.ddl +++ b/src/main/config/oracle/fess.ddl @@ -210,7 +210,7 @@ CREATE TABLE "CRAWLING_SESSION"( "ID" NUMBER(18,0) NOT NULL, "SESSION_ID" VARCHAR2(20) NOT NULL, "NAME" VARCHAR2(20), - "EXPIRED_TIME" TIMESTAMP NOT NULL, + "EXPIRED_TIME" TIMESTAMP, "CREATED_TIME" TIMESTAMP NOT NULL, CONSTRAINT "CRAWLING_SESSION_PK" PRIMARY KEY ("ID") ENABLE diff --git a/src/main/java/jp/sf/fess/crud/form/admin/BsCrawlingSessionForm.java b/src/main/java/jp/sf/fess/crud/form/admin/BsCrawlingSessionForm.java index f0dd71bf9..fffb29bc6 100644 --- a/src/main/java/jp/sf/fess/crud/form/admin/BsCrawlingSessionForm.java +++ b/src/main/java/jp/sf/fess/crud/form/admin/BsCrawlingSessionForm.java @@ -49,7 +49,6 @@ public abstract class BsCrawlingSessionForm { @Maxbytelength(maxbytelength = 20) public String name; - @Required(target = "confirmfromupdate,update,delete") @DateType public String expiredTime; diff --git a/src/main/java/jp/sf/fess/crud/pager/BsCrawlingSessionPager.java b/src/main/java/jp/sf/fess/crud/pager/BsCrawlingSessionPager.java index 2be956975..511799819 100644 --- a/src/main/java/jp/sf/fess/crud/pager/BsCrawlingSessionPager.java +++ b/src/main/java/jp/sf/fess/crud/pager/BsCrawlingSessionPager.java @@ -44,8 +44,6 @@ public abstract class BsCrawlingSessionPager implements Serializable { public String sessionId; - public String expiredTime; - public String createdTime; public void clear() { @@ -54,7 +52,6 @@ public abstract class BsCrawlingSessionPager implements Serializable { id = null; sessionId = null; - expiredTime = null; createdTime = null; } diff --git a/src/main/java/jp/sf/fess/db/bsentity/BsCrawlingSession.java b/src/main/java/jp/sf/fess/db/bsentity/BsCrawlingSession.java index 29ef7b5c7..3860d70b2 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/BsCrawlingSession.java +++ b/src/main/java/jp/sf/fess/db/bsentity/BsCrawlingSession.java @@ -98,7 +98,7 @@ public abstract class BsCrawlingSession implements Entity, Serializable, /** NAME: {IX, VARCHAR(20)} */ protected String _name; - /** EXPIRED_TIME: {IX+, NotNull, TIMESTAMP(23, 10)} */ + /** EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)} */ protected java.sql.Timestamp _expiredTime; /** CREATED_TIME: {NotNull, TIMESTAMP(23, 10)} */ @@ -415,16 +415,16 @@ public abstract class BsCrawlingSession implements Entity, Serializable, } /** - * [get] EXPIRED_TIME: {IX+, NotNull, TIMESTAMP(23, 10)}
- * @return The value of the column 'EXPIRED_TIME'. (basically NotNull if selected: for the constraint) + * [get] EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)}
+ * @return The value of the column 'EXPIRED_TIME'. (NullAllowed even if selected: for no constraint) */ public java.sql.Timestamp getExpiredTime() { return _expiredTime; } /** - * [set] EXPIRED_TIME: {IX+, NotNull, TIMESTAMP(23, 10)}
- * @param expiredTime The value of the column 'EXPIRED_TIME'. (basically NotNull if update: for the constraint) + * [set] EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)}
+ * @param expiredTime The value of the column 'EXPIRED_TIME'. (NullAllowed: null update allowed for no constraint) */ public void setExpiredTime(final java.sql.Timestamp expiredTime) { __modifiedProperties.addPropertyName("expiredTime"); diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/BrowserTypeDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/BrowserTypeDbm.java index 55417b80f..81318b5e0 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/BrowserTypeDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/BrowserTypeDbm.java @@ -258,7 +258,7 @@ public class BrowserTypeDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_BCC7793D_976C_4F0E_B085_6992A88EB95C", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_EBDC25E9_E237_4A91_ADD3_FA6F8CA7AB23", false, null, null, diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/ClickLogDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/ClickLogDbm.java index 1811f5010..6ec1d7417 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/ClickLogDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/ClickLogDbm.java @@ -167,7 +167,7 @@ public class ClickLogDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_A9F51FCE_9080_4AB1_9B9E_F4EF1627F6BC", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_8853B179_F4EC_48B8_B723_8B61F13419D4", false, null, null, null, null, null); protected final ColumnInfo _columnSearchId = cci("SEARCH_ID", "SEARCH_ID", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/CrawlingSessionDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/CrawlingSessionDbm.java index 588d116b7..d5c6f46a3 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/CrawlingSessionDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/CrawlingSessionDbm.java @@ -180,7 +180,7 @@ public class CrawlingSessionDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_DE97C640_5BFE_435C_8103_F926207130A2", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_1A4E45FC_6AD7_4BDF_A764_207DD200D40E", false, null, null, null, "crawlingSessionInfoList", null); protected final ColumnInfo _columnSessionId = cci("SESSION_ID", @@ -192,7 +192,7 @@ public class CrawlingSessionDbm extends AbstractDBMeta { false, null, null, null, null, null); protected final ColumnInfo _columnExpiredTime = cci("EXPIRED_TIME", - "EXPIRED_TIME", null, null, true, "expiredTime", + "EXPIRED_TIME", null, null, false, "expiredTime", java.sql.Timestamp.class, false, false, "TIMESTAMP", 23, 10, null, false, null, null, null, null, null); diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/CrawlingSessionInfoDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/CrawlingSessionInfoDbm.java index fced2468c..92d264b3c 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/CrawlingSessionInfoDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/CrawlingSessionInfoDbm.java @@ -180,7 +180,7 @@ public class CrawlingSessionInfoDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_77A46931_0518_4608_A4C4_0D2DAA5BBB00", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_C4E8F6CF_7747_4C35_820B_0A2E3DF42FB4", false, null, null, null, null, null); protected final ColumnInfo _columnCrawlingSessionId = cci( diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataConfigToBrowserTypeMappingDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataConfigToBrowserTypeMappingDbm.java index ca8c49bff..043b2110a 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataConfigToBrowserTypeMappingDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataConfigToBrowserTypeMappingDbm.java @@ -154,7 +154,7 @@ public class DataConfigToBrowserTypeMappingDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_1C6E611A_4D4E_4011_AF00_0230FA502323", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_2B76FBE0_224F_4AD1_85FD_41B4C9AEDC31", false, null, null, null, null, null); protected final ColumnInfo _columnDataConfigId = cci("DATA_CONFIG_ID", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataConfigToLabelTypeMappingDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataConfigToLabelTypeMappingDbm.java index 086a7788f..39765d20b 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataConfigToLabelTypeMappingDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataConfigToLabelTypeMappingDbm.java @@ -154,7 +154,7 @@ public class DataConfigToLabelTypeMappingDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_E5BBDBF9_A553_4F6E_A210_93E93FCEC3B9", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_DC8C6B08_CE09_4FA8_9584_365B3ABDD21E", false, null, null, null, null, null); protected final ColumnInfo _columnDataConfigId = cci("DATA_CONFIG_ID", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataConfigToRoleTypeMappingDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataConfigToRoleTypeMappingDbm.java index 531f2bfe1..e42da93a8 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataConfigToRoleTypeMappingDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataConfigToRoleTypeMappingDbm.java @@ -154,7 +154,7 @@ public class DataConfigToRoleTypeMappingDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_F2A9899C_72C8_444A_9BD2_58044B13143B", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_5D1DDC67_A01C_4D73_9966_2486CC81B2CC", false, null, null, null, null, null); protected final ColumnInfo _columnDataConfigId = cci("DATA_CONFIG_ID", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataCrawlingConfigDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataCrawlingConfigDbm.java index f04255590..51d9cf266 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataCrawlingConfigDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/DataCrawlingConfigDbm.java @@ -310,7 +310,7 @@ public class DataCrawlingConfigDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_7B3BF39C_5D9F_4776_9789_EF2051BF07FC", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_CB77D9E9_35C6_4617_884E_D73D1D655F32", false, null, null, diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FailureUrlDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FailureUrlDbm.java index 87245fa8a..a16b6f1f7 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FailureUrlDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FailureUrlDbm.java @@ -232,7 +232,7 @@ public class FailureUrlDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_A515E1CD_6561_45F0_A877_3ADC11B158C7", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_6F44BF79_8635_4FF9_A6E6_A1F2D36263E8", false, null, null, null, null, null); protected final ColumnInfo _columnUrl = cci("URL", "URL", null, null, true, diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FavoriteLogDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FavoriteLogDbm.java index 62f177804..5aa1d69b5 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FavoriteLogDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FavoriteLogDbm.java @@ -167,7 +167,7 @@ public class FavoriteLogDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_8093F0D4_36C4_4C66_8D8B_F486835CCBD4", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_781CB0AD_8431_4352_A1D6_A35937B0FA17", false, null, null, null, null, null); protected final ColumnInfo _columnUserId = cci("USER_ID", "USER_ID", null, diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileAuthenticationDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileAuthenticationDbm.java index 49605a53a..5a21af7ea 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileAuthenticationDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileAuthenticationDbm.java @@ -310,7 +310,7 @@ public class FileAuthenticationDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_5FB15A15_F9B9_4214_B082_C30C68D34672", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_2699B42A_0BB3_41FF_BFB5_AF81A30D0A01", false, null, null, null, null, null); protected final ColumnInfo _columnHostname = cci("HOSTNAME", "HOSTNAME", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileConfigToBrowserTypeMappingDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileConfigToBrowserTypeMappingDbm.java index a5992484f..61e303ff2 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileConfigToBrowserTypeMappingDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileConfigToBrowserTypeMappingDbm.java @@ -154,7 +154,7 @@ public class FileConfigToBrowserTypeMappingDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_F3AD73A5_3429_439A_A897_8AA60BA7F92F", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_C8E02221_2BEB_4A3C_9661_552840233488", false, null, null, null, null, null); protected final ColumnInfo _columnFileConfigId = cci("FILE_CONFIG_ID", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileConfigToLabelTypeMappingDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileConfigToLabelTypeMappingDbm.java index 38efd72bd..f97cfc1be 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileConfigToLabelTypeMappingDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileConfigToLabelTypeMappingDbm.java @@ -154,7 +154,7 @@ public class FileConfigToLabelTypeMappingDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_F1D8E692_B51F_4B33_8D60_C3417ABAF9A9", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_40ED136E_748E_4BC7_961D_76CD3645AFE9", false, null, null, null, null, null); protected final ColumnInfo _columnFileConfigId = cci("FILE_CONFIG_ID", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileConfigToRoleTypeMappingDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileConfigToRoleTypeMappingDbm.java index 9b43cf467..1849c2d9b 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileConfigToRoleTypeMappingDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileConfigToRoleTypeMappingDbm.java @@ -154,7 +154,7 @@ public class FileConfigToRoleTypeMappingDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_C44040B3_CBD2_4B83_86FF_9B675CE04B35", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_C52ED1DA_CF0B_49EE_B9F7_9CCC5FD334E9", false, null, null, null, null, null); protected final ColumnInfo _columnFileConfigId = cci("FILE_CONFIG_ID", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileCrawlingConfigDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileCrawlingConfigDbm.java index 46394fe39..33c2861e2 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileCrawlingConfigDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/FileCrawlingConfigDbm.java @@ -401,7 +401,7 @@ public class FileCrawlingConfigDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_C2495BF5_5986_4ADF_82C0_5AFA214CE90F", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_50C8436F_B31A_41CB_A67E_77A1CEDD7E46", false, null, null, diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/JobLogDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/JobLogDbm.java index d25d840f5..a7d1d3e61 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/JobLogDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/JobLogDbm.java @@ -231,7 +231,7 @@ public class JobLogDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_351DD2BA_9924_4D3F_B06F_8C6656BDA0FB", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_A597AD31_D6B7_44D4_8A2C_D6B301347DAF", false, null, null, null, null, null); protected final ColumnInfo _columnJobName = cci("JOB_NAME", "JOB_NAME", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/LabelTypeDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/LabelTypeDbm.java index cb355517c..2f802ebb4 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/LabelTypeDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/LabelTypeDbm.java @@ -284,7 +284,7 @@ public class LabelTypeDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_A289E3B8_DC4C_4CC2_92F5_DE9F0C2152DF", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_8A7FB6C6_8549_42D5_8CA2_EC01B2BB8993", false, null, null, diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/LabelTypeToRoleTypeMappingDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/LabelTypeToRoleTypeMappingDbm.java index 1196466d9..800740761 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/LabelTypeToRoleTypeMappingDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/LabelTypeToRoleTypeMappingDbm.java @@ -154,7 +154,7 @@ public class LabelTypeToRoleTypeMappingDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_DB871F90_8CE1_4D87_8CD9_3800DEE6B969", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_6C6CC5C9_4C99_4A34_B3FC_2D02022B9405", false, null, null, null, null, null); protected final ColumnInfo _columnLabelTypeId = cci("LABEL_TYPE_ID", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/OverlappingHostDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/OverlappingHostDbm.java index 4cd0bc7ba..03b519866 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/OverlappingHostDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/OverlappingHostDbm.java @@ -257,7 +257,7 @@ public class OverlappingHostDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_95778B85_9099_4451_9EA9_12A1E4F5C32C", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_52ADF097_4702_4C36_A0AA_CD34C439E98C", false, null, null, null, null, null); protected final ColumnInfo _columnRegularName = cci("REGULAR_NAME", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/PathMappingDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/PathMappingDbm.java index 80cf29511..f8da82f6b 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/PathMappingDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/PathMappingDbm.java @@ -271,7 +271,7 @@ public class PathMappingDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_349291E0_7C94_4183_8713_9C0B5B13AC61", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_7B1E2705_018B_4143_B47F_BD2917F734C1", false, null, null, null, null, null); protected final ColumnInfo _columnRegex = cci("REGEX", "REGEX", null, null, diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/RequestHeaderDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/RequestHeaderDbm.java index 68e66ea91..1cfaffd9a 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/RequestHeaderDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/RequestHeaderDbm.java @@ -258,7 +258,7 @@ public class RequestHeaderDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_8254C113_A678_4537_B6F5_BF2876260FF0", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_976724F3_86F3_49E4_8A47_4FAC5AA8F709", false, null, null, null, null, null); protected final ColumnInfo _columnName = cci("NAME", "NAME", null, null, diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/RoleTypeDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/RoleTypeDbm.java index 69f82c859..284e8129f 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/RoleTypeDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/RoleTypeDbm.java @@ -258,7 +258,7 @@ public class RoleTypeDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_EAF14782_C98A_49ED_9557_3CF828C82347", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_1375DF17_88DE_425C_B243_92C84C2C1875", false, null, null, diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/ScheduledJobDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/ScheduledJobDbm.java index 984a9bf21..685bdfe01 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/ScheduledJobDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/ScheduledJobDbm.java @@ -335,7 +335,7 @@ public class ScheduledJobDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_DE6BB1F9_9750_40AE_A9B6_72DBBB66E240", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_2338A94D_9157_4C50_A309_977F2624EA0A", false, null, null, null, null, null); protected final ColumnInfo _columnName = cci("NAME", "NAME", null, null, diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/SearchFieldLogDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/SearchFieldLogDbm.java index ec9b70986..87f4faf25 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/SearchFieldLogDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/SearchFieldLogDbm.java @@ -167,7 +167,7 @@ public class SearchFieldLogDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_70BB7CA0_550F_4EBD_8E4F_68BF81F61FAB", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_C9C19A0F_6FA1_475C_934F_32C60D6B6B72", false, null, null, null, null, null); protected final ColumnInfo _columnSearchId = cci("SEARCH_ID", "SEARCH_ID", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/SearchLogDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/SearchLogDbm.java index eb54e26cd..c9b608a34 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/SearchLogDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/SearchLogDbm.java @@ -286,7 +286,7 @@ public class SearchLogDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_72E440DA_72EE_4806_A0C2_BB7C52933D22", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_8D6385B7_786D_45E2_AA41_D5FA8C17BBF9", false, null, null, null, "clickLogList,searchFieldLogList", null); protected final ColumnInfo _columnSearchWord = cci("SEARCH_WORD", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/UserInfoDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/UserInfoDbm.java index 4188b279f..7e176780e 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/UserInfoDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/UserInfoDbm.java @@ -167,7 +167,7 @@ public class UserInfoDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_F3916986_FD37_457F_BDF6_7EC7846FA2ED", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_22D09B91_FB6F_43EF_A2E5_739802A53FC1", false, null, null, null, "favoriteLogList,searchLogList", null); protected final ColumnInfo _columnCode = cci("CODE", "CODE", null, null, diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebAuthenticationDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebAuthenticationDbm.java index 070ac7d09..ce936aed2 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebAuthenticationDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebAuthenticationDbm.java @@ -323,7 +323,7 @@ public class WebAuthenticationDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_C887871E_7E3A_4F11_9FEF_3365211EB6A7", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_B7ED1035_3C63_4922_B4CF_C02B104FA82E", false, null, null, null, null, null); protected final ColumnInfo _columnHostname = cci("HOSTNAME", "HOSTNAME", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebConfigToBrowserTypeMappingDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebConfigToBrowserTypeMappingDbm.java index 447c8173d..3f1a15cc8 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebConfigToBrowserTypeMappingDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebConfigToBrowserTypeMappingDbm.java @@ -154,7 +154,7 @@ public class WebConfigToBrowserTypeMappingDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_6C07DF1E_714C_4196_BCDB_49A66B981945", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_710C901B_F4B7_42F7_B97F_3CB64A6939D9", false, null, null, null, null, null); protected final ColumnInfo _columnWebConfigId = cci("WEB_CONFIG_ID", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebConfigToLabelTypeMappingDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebConfigToLabelTypeMappingDbm.java index 8e1673803..345836e85 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebConfigToLabelTypeMappingDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebConfigToLabelTypeMappingDbm.java @@ -154,7 +154,7 @@ public class WebConfigToLabelTypeMappingDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_BB87A716_AC08_48F0_8AEC_182F704F99CD", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_A101C255_F997_4DC4_8949_453E3E4A9051", false, null, null, null, null, null); protected final ColumnInfo _columnWebConfigId = cci("WEB_CONFIG_ID", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebConfigToRoleTypeMappingDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebConfigToRoleTypeMappingDbm.java index 93a75efd1..6ed0469f5 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebConfigToRoleTypeMappingDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebConfigToRoleTypeMappingDbm.java @@ -154,7 +154,7 @@ public class WebConfigToRoleTypeMappingDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_8F6B2529_7C9F_4E3C_8CCB_FB72E32BDD9B", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_EA1A7409_A1D1_4BE4_BFFC_B03DFEB227DB", false, null, null, null, null, null); protected final ColumnInfo _columnWebConfigId = cci("WEB_CONFIG_ID", diff --git a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebCrawlingConfigDbm.java b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebCrawlingConfigDbm.java index a66620319..f5ab6f4c4 100644 --- a/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebCrawlingConfigDbm.java +++ b/src/main/java/jp/sf/fess/db/bsentity/dbmeta/WebCrawlingConfigDbm.java @@ -414,7 +414,7 @@ public class WebCrawlingConfigDbm extends AbstractDBMeta { "BIGINT", 19, 0, - "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_05B91638_28D1_4204_BE8E_55C7BEAFE3E3", + "NEXT VALUE FOR PUBLIC.SYSTEM_SEQUENCE_A2A25811_03ED_49AF_9DA3_3BF45CE3AED3", false, null, null, diff --git a/src/main/java/jp/sf/fess/db/cbean/bs/BsCrawlingSessionCB.java b/src/main/java/jp/sf/fess/db/cbean/bs/BsCrawlingSessionCB.java index d2d5f93d5..cce324866 100644 --- a/src/main/java/jp/sf/fess/db/cbean/bs/BsCrawlingSessionCB.java +++ b/src/main/java/jp/sf/fess/db/cbean/bs/BsCrawlingSessionCB.java @@ -378,7 +378,7 @@ public class BsCrawlingSessionCB extends AbstractConditionBean { } /** - * EXPIRED_TIME: {IX+, NotNull, TIMESTAMP(23, 10)} + * EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)} * @return The information object of specified column. (NotNull) */ public HpSpecifiedColumn columnExpiredTime() { diff --git a/src/main/java/jp/sf/fess/db/cbean/cq/bs/AbstractBsCrawlingSessionCQ.java b/src/main/java/jp/sf/fess/db/cbean/cq/bs/AbstractBsCrawlingSessionCQ.java index fe9eb01bc..7f557e79a 100644 --- a/src/main/java/jp/sf/fess/db/cbean/cq/bs/AbstractBsCrawlingSessionCQ.java +++ b/src/main/java/jp/sf/fess/db/cbean/cq/bs/AbstractBsCrawlingSessionCQ.java @@ -653,7 +653,7 @@ public abstract class AbstractBsCrawlingSessionCQ extends /** * Equal(=). And NullIgnored, OnlyOnceRegistered.
- * EXPIRED_TIME: {IX+, NotNull, TIMESTAMP(23, 10)} + * EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)} * @param expiredTime The value of expiredTime as equal. (NullAllowed: if null, no condition) */ public void setExpiredTime_Equal(final java.sql.Timestamp expiredTime) { @@ -662,7 +662,7 @@ public abstract class AbstractBsCrawlingSessionCQ extends /** * GreaterThan(>). And NullIgnored, OnlyOnceRegistered.
- * EXPIRED_TIME: {IX+, NotNull, TIMESTAMP(23, 10)} + * EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)} * @param expiredTime The value of expiredTime as greaterThan. (NullAllowed: if null, no condition) */ public void setExpiredTime_GreaterThan(final java.sql.Timestamp expiredTime) { @@ -671,7 +671,7 @@ public abstract class AbstractBsCrawlingSessionCQ extends /** * LessThan(<). And NullIgnored, OnlyOnceRegistered.
- * EXPIRED_TIME: {IX+, NotNull, TIMESTAMP(23, 10)} + * EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)} * @param expiredTime The value of expiredTime as lessThan. (NullAllowed: if null, no condition) */ public void setExpiredTime_LessThan(final java.sql.Timestamp expiredTime) { @@ -680,7 +680,7 @@ public abstract class AbstractBsCrawlingSessionCQ extends /** * GreaterEqual(>=). And NullIgnored, OnlyOnceRegistered.
- * EXPIRED_TIME: {IX+, NotNull, TIMESTAMP(23, 10)} + * EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)} * @param expiredTime The value of expiredTime as greaterEqual. (NullAllowed: if null, no condition) */ public void setExpiredTime_GreaterEqual(final java.sql.Timestamp expiredTime) { @@ -689,7 +689,7 @@ public abstract class AbstractBsCrawlingSessionCQ extends /** * LessEqual(<=). And NullIgnored, OnlyOnceRegistered.
- * EXPIRED_TIME: {IX+, NotNull, TIMESTAMP(23, 10)} + * EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)} * @param expiredTime The value of expiredTime as lessEqual. (NullAllowed: if null, no condition) */ public void setExpiredTime_LessEqual(final java.sql.Timestamp expiredTime) { @@ -699,7 +699,7 @@ public abstract class AbstractBsCrawlingSessionCQ extends /** * FromTo with various options. (versatile) {(default) fromDatetime <= column <= toDatetime}
* And NullIgnored, OnlyOnceRegistered.
- * EXPIRED_TIME: {IX+, NotNull, TIMESTAMP(23, 10)} + * EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)} *
e.g. setExpiredTime_FromTo(fromDate, toDate, new FromToOption().compareAsDate());
* @param fromDatetime The from-datetime(yyyy/MM/dd HH:mm:ss.SSS) of expiredTime. (NullAllowed: if null, no from-condition) * @param toDatetime The to-datetime(yyyy/MM/dd HH:mm:ss.SSS) of expiredTime. (NullAllowed: if null, no to-condition) @@ -717,7 +717,7 @@ public abstract class AbstractBsCrawlingSessionCQ extends /** * DateFromTo. (Date means yyyy/MM/dd) {fromDate <= column < toDate + 1 day}
* And NullIgnored, OnlyOnceRegistered.
- * EXPIRED_TIME: {IX+, NotNull, TIMESTAMP(23, 10)} + * EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)} *
      * e.g. from:{2007/04/10 08:24:53} to:{2007/04/16 14:36:29}
      *  column >= '2007/04/10 00:00:00' and column < '2007/04/17 00:00:00'
@@ -731,6 +731,22 @@ public abstract class AbstractBsCrawlingSessionCQ extends
                 new FromToOption().compareAsDate());
     }
 
+    /**
+     * IsNull {is null}. And OnlyOnceRegistered. 
+ * EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)} + */ + public void setExpiredTime_IsNull() { + regExpiredTime(CK_ISN, DOBJ); + } + + /** + * IsNotNull {is not null}. And OnlyOnceRegistered.
+ * EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)} + */ + public void setExpiredTime_IsNotNull() { + regExpiredTime(CK_ISNN, DOBJ); + } + protected void regExpiredTime(final ConditionKey k, final Object v) { regQ(k, v, getCValueExpiredTime(), "EXPIRED_TIME"); } diff --git a/src/main/java/jp/sf/fess/db/cbean/cq/bs/BsCrawlingSessionCQ.java b/src/main/java/jp/sf/fess/db/cbean/cq/bs/BsCrawlingSessionCQ.java index 3fc9fbab1..b64788113 100644 --- a/src/main/java/jp/sf/fess/db/cbean/cq/bs/BsCrawlingSessionCQ.java +++ b/src/main/java/jp/sf/fess/db/cbean/cq/bs/BsCrawlingSessionCQ.java @@ -349,7 +349,7 @@ public class BsCrawlingSessionCQ extends AbstractBsCrawlingSessionCQ { /** * Add order-by as ascend.
- * EXPIRED_TIME: {IX+, NotNull, TIMESTAMP(23, 10)} + * EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)} * @return this. (NotNull) */ public BsCrawlingSessionCQ addOrderBy_ExpiredTime_Asc() { @@ -359,7 +359,7 @@ public class BsCrawlingSessionCQ extends AbstractBsCrawlingSessionCQ { /** * Add order-by as descend.
- * EXPIRED_TIME: {IX+, NotNull, TIMESTAMP(23, 10)} + * EXPIRED_TIME: {IX+, TIMESTAMP(23, 10)} * @return this. (NotNull) */ public BsCrawlingSessionCQ addOrderBy_ExpiredTime_Desc() { diff --git a/src/main/java/jp/sf/fess/ds/impl/AbstractDataStoreImpl.java b/src/main/java/jp/sf/fess/ds/impl/AbstractDataStoreImpl.java index 56158ebc1..f2f5e867b 100644 --- a/src/main/java/jp/sf/fess/ds/impl/AbstractDataStoreImpl.java +++ b/src/main/java/jp/sf/fess/ds/impl/AbstractDataStoreImpl.java @@ -17,6 +17,7 @@ package jp.sf.fess.ds.impl; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -25,8 +26,11 @@ import jp.sf.fess.Constants; import jp.sf.fess.db.exentity.DataCrawlingConfig; import jp.sf.fess.ds.DataStore; import jp.sf.fess.ds.IndexUpdateCallback; +import jp.sf.fess.helper.CrawlingSessionHelper; +import jp.sf.fess.taglib.FessFunctions; import jp.sf.fess.util.ParameterUtil; +import org.seasar.framework.container.SingletonS2Container; import org.seasar.framework.util.OgnlUtil; import org.seasar.framework.util.StringUtil; import org.slf4j.Logger; @@ -54,12 +58,20 @@ public abstract class AbstractDataStoreImpl implements DataStore { .getHandlerParameter()); final Map scriptMap = ParameterUtil.parse(config .getHandlerScript()); + final CrawlingSessionHelper crawlingSessionHelper = SingletonS2Container + .getComponent("crawlingSessionHelper"); + final Date documentExpires = crawlingSessionHelper.getDocumentExpires(); initParamMap.putAll(paramMap); paramMap = initParamMap; // default values final Map defaultDataMap = new HashMap(); + // expires + if (documentExpires != null) { + defaultDataMap.put(crawlingSessionHelper.getExpiresField(), + FessFunctions.formatDate(documentExpires)); + } // segment defaultDataMap.put("segment", initParamMap.get(Constants.SESSION_ID)); // tstamp diff --git a/src/main/java/jp/sf/fess/exec/Crawler.java b/src/main/java/jp/sf/fess/exec/Crawler.java index 74d4655c8..81bf5a2f6 100644 --- a/src/main/java/jp/sf/fess/exec/Crawler.java +++ b/src/main/java/jp/sf/fess/exec/Crawler.java @@ -27,7 +27,6 @@ import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Set; import javax.annotation.Resource; import javax.servlet.ServletContext; @@ -47,6 +46,7 @@ import jp.sf.fess.helper.WebFsIndexHelper; import jp.sf.fess.screenshot.ScreenShotManager; import jp.sf.fess.service.CrawlingSessionService; import jp.sf.fess.service.PathMappingService; +import jp.sf.fess.taglib.FessFunctions; import jp.sf.fess.util.ResourceUtil; import org.codelibs.core.CoreLibConstants; @@ -140,6 +140,9 @@ public class Crawler implements Serializable { @Option(name = "-o", aliases = "--operation", metaVar = "operation", usage = "Opration when crawlwer is finised") protected String operation; + @Option(name = "-e", aliases = "--expires", metaVar = "expires", usage = "Expires for documents") + protected String expires; + protected Options() { // noghing } @@ -286,8 +289,13 @@ public class Crawler implements Serializable { try { crawlingSessionHelper.store(options.sessionId); - final String dayForCleanupStr = crawlerProperties.getProperty( - Constants.DAY_FOR_CLEANUP_PROPERTY, "1"); + final String dayForCleanupStr; + if (StringUtil.isNotBlank(options.expires)) { + dayForCleanupStr = options.expires; + } else { + dayForCleanupStr = crawlerProperties.getProperty( + Constants.DAY_FOR_CLEANUP_PROPERTY, "1"); + } int dayForCleanup = -1; try { dayForCleanup = Integer.parseInt(dayForCleanupStr); @@ -466,19 +474,11 @@ public class Crawler implements Serializable { // clean up try { - final Set expiredSessionIdSet = crawlingSessionHelper - .getExpiredSessionIdSet(); - for (final String expiredSessionId : expiredSessionIdSet) { - if (logger.isInfoEnabled()) { - logger.info("Deleted segment:" + expiredSessionId - + " in " + updateSolrGroup.getGroupName()); - } - updateSolrGroup - .deleteByQuery("segment:" + expiredSessionId); - if (screenShotManager != null) { - screenShotManager.delete(expiredSessionId); - } - } + updateSolrGroup.deleteByQuery(crawlingSessionHelper + .getExpiresField() + + ":[* TO " + + FessFunctions.formatDate(new Date()) + + "] NOT segment:" + options.sessionId); } catch (final Exception e) { if (logger.isWarnEnabled()) { logger.warn("Could not delete expired sessions in " diff --git a/src/main/java/jp/sf/fess/helper/CrawlingSessionHelper.java b/src/main/java/jp/sf/fess/helper/CrawlingSessionHelper.java index a28736f23..49365d1f3 100644 --- a/src/main/java/jp/sf/fess/helper/CrawlingSessionHelper.java +++ b/src/main/java/jp/sf/fess/helper/CrawlingSessionHelper.java @@ -51,14 +51,14 @@ public class CrawlingSessionHelper implements Serializable { private static final long serialVersionUID = 1L; - public int defaultExpiredDays = 365; - - public int expiredMinutesByZeroDay = 1; - protected Map infoMap; protected Set expiredSessionIdSet = new HashSet(); + protected Date documentExpires; + + protected String expiresField = "expires_dt"; + protected CrawlingSessionService getCrawlingSessionService() { return SingletonS2Container.getComponent(CrawlingSessionService.class); } @@ -90,8 +90,6 @@ public class CrawlingSessionHelper implements Serializable { sessionId); if (crawlingSession == null) { crawlingSession = new CrawlingSession(sessionId); - crawlingSession - .setExpiredTime(getExpiredTimestamp(defaultExpiredDays)); try { getCrawlingSessionService().store(crawlingSession); } catch (final Exception e) { @@ -135,11 +133,10 @@ public class CrawlingSessionHelper implements Serializable { } else { crawlingSession.setName(Constants.CRAWLING_SESSION_SYSTEM_NAME); } - if (dayForCleanup < 0) { - crawlingSession - .setExpiredTime(getExpiredTimestamp(defaultExpiredDays)); - } else { - crawlingSession.setExpiredTime(getExpiredTimestamp(dayForCleanup)); + if (dayForCleanup >= 0) { + final Timestamp expires = getExpiredTimestamp(dayForCleanup); + crawlingSession.setExpiredTime(expires); + documentExpires = expires; } try { getCrawlingSessionService().store(crawlingSession); @@ -149,13 +146,12 @@ public class CrawlingSessionHelper implements Serializable { } + public Date getDocumentExpires() { + return documentExpires; + } + protected Timestamp getExpiredTimestamp(final int days) { - if (days > 0) { - return new Timestamp(DateUtils.addDays(new Date(), days).getTime()); - } else { - return new Timestamp(DateUtils.addMinutes(new Date(), - expiredMinutesByZeroDay).getTime()); - } + return new Timestamp(DateUtils.addDays(new Date(), days).getTime()); } public Map getInfoMap(final String sessionId) { @@ -171,7 +167,9 @@ public class CrawlingSessionHelper implements Serializable { public String generateId(final Map dataMap) { final String url = (String) dataMap.get("url"); + @SuppressWarnings("unchecked") final List browserTypeList = (List) dataMap.get("type"); + @SuppressWarnings("unchecked") final List roleTypeList = (List) dataMap.get("role"); return generateId(url, browserTypeList, roleTypeList); } @@ -235,4 +233,12 @@ public class CrawlingSessionHelper implements Serializable { return value.replace('"', ' '); } + public String getExpiresField() { + return expiresField; + } + + public void setExpiresField(final String expiresField) { + this.expiresField = expiresField; + } + } diff --git a/src/main/java/jp/sf/fess/helper/SystemHelper.java b/src/main/java/jp/sf/fess/helper/SystemHelper.java index cba29bde8..97c5a05d2 100644 --- a/src/main/java/jp/sf/fess/helper/SystemHelper.java +++ b/src/main/java/jp/sf/fess/helper/SystemHelper.java @@ -178,7 +178,8 @@ public class SystemHelper implements Serializable { public void executeCrawler(final String sessionId, final String[] webConfigIds, final String[] fileConfigIds, - final String[] dataConfigIds, final String operation) { + final String[] dataConfigIds, final String operation, + final int documentExpires) { final List crawlerCmdList = new ArrayList(); final String cpSeparator = SystemUtils.IS_OS_WINDOWS ? ";" : ":"; final ServletContext servletContext = SingletonS2Container @@ -262,6 +263,10 @@ public class SystemHelper implements Serializable { crawlerCmdList.add("-o"); crawlerCmdList.add(operation); } + if (documentExpires >= -1) { + crawlerCmdList.add("-e"); + crawlerCmdList.add(Integer.toString(documentExpires)); + } final File baseDir = new File(servletContext.getRealPath("/")); diff --git a/src/main/java/jp/sf/fess/job/CrawlJob.java b/src/main/java/jp/sf/fess/job/CrawlJob.java index f7f1ee16c..c5ab7b048 100644 --- a/src/main/java/jp/sf/fess/job/CrawlJob.java +++ b/src/main/java/jp/sf/fess/job/CrawlJob.java @@ -34,6 +34,8 @@ public class CrawlJob { private static final Logger logger = LoggerFactory .getLogger(CrawlJob.class); + protected int documentExpires = -2; + public String execute(final JobExecutor jobExecutor) { return execute(jobExecutor, null, null, null, Constants.COMMIT); } @@ -103,7 +105,7 @@ public class CrawlJob { crawlingSessionHelper.store(sessionId); SingletonS2Container.getComponent(SystemHelper.class) .executeCrawler(sessionId, webConfigIds, fileConfigIds, - dataConfigIds, operation); + dataConfigIds, operation, documentExpires); } catch (final FessSystemException e) { throw e; } catch (final Exception e) { @@ -114,4 +116,12 @@ public class CrawlJob { } + public int getDocumentExpires() { + return documentExpires; + } + + public void setDocumentExpires(final int documentExpires) { + this.documentExpires = documentExpires; + } + } diff --git a/src/main/java/jp/sf/fess/service/CrawlingSessionService.java b/src/main/java/jp/sf/fess/service/CrawlingSessionService.java index 2643171ea..5a75a3657 100644 --- a/src/main/java/jp/sf/fess/service/CrawlingSessionService.java +++ b/src/main/java/jp/sf/fess/service/CrawlingSessionService.java @@ -79,9 +79,6 @@ public class CrawlingSessionService extends BsCrawlingSessionService implements throw new FessSystemException("Crawling Session is null."); } final Timestamp now = new Timestamp(System.currentTimeMillis()); - if (crawlingSession.getExpiredTime() == null) { - crawlingSession.setExpiredTime(now); - } if (crawlingSession.getCreatedTime() == null) { crawlingSession.setCreatedTime(now); } diff --git a/src/main/java/jp/sf/fess/transformer/AbstractFessFileTransformer.java b/src/main/java/jp/sf/fess/transformer/AbstractFessFileTransformer.java index 7e0a932ea..0975b7928 100644 --- a/src/main/java/jp/sf/fess/transformer/AbstractFessFileTransformer.java +++ b/src/main/java/jp/sf/fess/transformer/AbstractFessFileTransformer.java @@ -21,6 +21,7 @@ import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.ArrayList; import java.util.Collections; +import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -168,6 +169,7 @@ public abstract class AbstractFessFileTransformer extends .getComponent("crawlingSessionHelper"); final String sessionId = crawlingSessionHelper .getCanonicalSessionId(responseData.getSessionId()); + final Date documentExpires = crawlingSessionHelper.getDocumentExpires(); final PathMappingHelper pathMappingHelper = SingletonS2Container .getComponent("pathMappingHelper"); final String url = pathMappingHelper.replaceUrl(sessionId, @@ -180,6 +182,11 @@ public abstract class AbstractFessFileTransformer extends Constants.USE_ACL_AS_ROLE, Constants.FALSE).equals( Constants.TRUE); + // expires + if (documentExpires != null) { + putResultDataBody(dataMap, crawlingSessionHelper.getExpiresField(), + FessFunctions.formatDate(documentExpires)); + } // segment putResultDataBody(dataMap, "segment", sessionId); // content diff --git a/src/main/java/jp/sf/fess/transformer/FessXpathTransformer.java b/src/main/java/jp/sf/fess/transformer/FessXpathTransformer.java index b2536e49b..82ad9d9a2 100644 --- a/src/main/java/jp/sf/fess/transformer/FessXpathTransformer.java +++ b/src/main/java/jp/sf/fess/transformer/FessXpathTransformer.java @@ -27,6 +27,7 @@ import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -208,11 +209,17 @@ public class FessXpathTransformer extends AbstractFessXpathTransformer { .getComponent("crawlingSessionHelper"); final String sessionId = crawlingSessionHelper .getCanonicalSessionId(responseData.getSessionId()); + final Date documentExpires = crawlingSessionHelper.getDocumentExpires(); final PathMappingHelper pathMappingHelper = SingletonS2Container .getComponent("pathMappingHelper"); final String url = pathMappingHelper.replaceUrl(sessionId, responseData.getUrl()); + // expires + if (documentExpires != null) { + putResultDataBody(dataMap, crawlingSessionHelper.getExpiresField(), + FessFunctions.formatDate(documentExpires)); + } // title // content putResultDataBody(dataMap, "content", diff --git a/src/main/resources/fess.dicon b/src/main/resources/fess.dicon index 4fe0618a6..0bc305787 100644 --- a/src/main/resources/fess.dicon +++ b/src/main/resources/fess.dicon @@ -141,9 +141,6 @@ -