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} * 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 MapscriptMap = 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 @@ -