|
@@ -29,6 +29,7 @@ import java.nio.file.Files;
|
|
import java.nio.file.Path;
|
|
import java.nio.file.Path;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
+import java.util.Calendar;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.LinkedHashMap;
|
|
import java.util.LinkedHashMap;
|
|
@@ -36,6 +37,7 @@ import java.util.List;
|
|
import java.util.Locale;
|
|
import java.util.Locale;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.Properties;
|
|
import java.util.Properties;
|
|
|
|
+import java.util.TimeZone;
|
|
import java.util.UUID;
|
|
import java.util.UUID;
|
|
import java.util.concurrent.ExecutionException;
|
|
import java.util.concurrent.ExecutionException;
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
@@ -107,11 +109,19 @@ public class SystemHelper {
|
|
|
|
|
|
protected String productVersion;
|
|
protected String productVersion;
|
|
|
|
|
|
|
|
+ protected long eolTime;
|
|
|
|
+
|
|
@PostConstruct
|
|
@PostConstruct
|
|
public void init() {
|
|
public void init() {
|
|
if (logger.isDebugEnabled()) {
|
|
if (logger.isDebugEnabled()) {
|
|
logger.debug("Initialize {}", this.getClass().getSimpleName());
|
|
logger.debug("Initialize {}", this.getClass().getSimpleName());
|
|
}
|
|
}
|
|
|
|
+ final Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
|
|
|
|
+ cal.set(2021, 6 - 1, 2);
|
|
|
|
+ eolTime = cal.getTimeInMillis();
|
|
|
|
+ if (isEoled()) {
|
|
|
|
+ logger.error("Your system is out of service. See https://fess.codelibs.org/eol.html");
|
|
|
|
+ }
|
|
updateSystemProperties();
|
|
updateSystemProperties();
|
|
final FessConfig fessConfig = ComponentUtil.getFessConfig();
|
|
final FessConfig fessConfig = ComponentUtil.getFessConfig();
|
|
filterPathEncoding = fessConfig.getPathEncoding();
|
|
filterPathEncoding = fessConfig.getPathEncoding();
|
|
@@ -398,10 +408,20 @@ public class SystemHelper {
|
|
public void setupAdminHtmlData(final TypicalAction action, final ActionRuntime runtime) {
|
|
public void setupAdminHtmlData(final TypicalAction action, final ActionRuntime runtime) {
|
|
runtime.registerData("developmentMode", ComponentUtil.getFessEsClient().isEmbedded());
|
|
runtime.registerData("developmentMode", ComponentUtil.getFessEsClient().isEmbedded());
|
|
final FessConfig fessConfig = ComponentUtil.getFessConfig();
|
|
final FessConfig fessConfig = ComponentUtil.getFessConfig();
|
|
- final String url = fessConfig.getOnlineHelpInstallation();
|
|
|
|
- runtime.registerData("installationLink", getHelpUrl(url));
|
|
|
|
|
|
+ final String installationLink = fessConfig.getOnlineHelpInstallation();
|
|
|
|
+ runtime.registerData("installationLink", getHelpUrl(installationLink));
|
|
runtime.registerData("storageEnabled",
|
|
runtime.registerData("storageEnabled",
|
|
StringUtil.isNotBlank(fessConfig.getStorageEndpoint()) && StringUtil.isNotBlank(fessConfig.getStorageBucket()));
|
|
StringUtil.isNotBlank(fessConfig.getStorageEndpoint()) && StringUtil.isNotBlank(fessConfig.getStorageBucket()));
|
|
|
|
+ final boolean eoled = isEoled();
|
|
|
|
+ runtime.registerData("eoled", eoled);
|
|
|
|
+ if (eoled) {
|
|
|
|
+ final String eolLink = fessConfig.getOnlineHelpEol();
|
|
|
|
+ runtime.registerData("eolLink", getHelpUrl(eolLink));
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ protected boolean isEoled() {
|
|
|
|
+ return getCurrentTimeAsLong() > eolTime;
|
|
}
|
|
}
|
|
|
|
|
|
public String getSearchRoleByUser(final String name) {
|
|
public String getSearchRoleByUser(final String name) {
|