aboutsummaryrefslogtreecommitdiff
path: root/juick-spring-www/src/main/java/com/juick/www/HelpService.java
diff options
context:
space:
mode:
authorGravatar Alexander Alexeev2016-12-12 16:55:47 +0700
committerGravatar Vitaly Takmazov2016-12-12 22:49:47 +0300
commit02979491ee071371bdbcc1e6ed813ffd44b5834b (patch)
treecb63c3faf3aa6dbe24b924293789ba4566f67e03 /juick-spring-www/src/main/java/com/juick/www/HelpService.java
parent3ec05784c84a71782f945020799c547ac97ed5f7 (diff)
help fixes: redirect to index page if help page is not found
Diffstat (limited to 'juick-spring-www/src/main/java/com/juick/www/HelpService.java')
-rw-r--r--juick-spring-www/src/main/java/com/juick/www/HelpService.java26
1 files changed, 11 insertions, 15 deletions
diff --git a/juick-spring-www/src/main/java/com/juick/www/HelpService.java b/juick-spring-www/src/main/java/com/juick/www/HelpService.java
index f6e9d352..8ece4cfb 100644
--- a/juick-spring-www/src/main/java/com/juick/www/HelpService.java
+++ b/juick-spring-www/src/main/java/com/juick/www/HelpService.java
@@ -1,13 +1,12 @@
package com.juick.www;
+import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.cache.annotation.Cacheable;
-import org.springframework.core.io.ClassPathResource;
import java.io.IOException;
+import java.io.InputStream;
import java.nio.charset.StandardCharsets;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
import java.util.regex.Pattern;
/**
@@ -27,26 +26,23 @@ public class HelpService {
@Cacheable("help")
public String getHelp(final String page, final String lang) {
- if (canPage(page) && canLang(lang)) {
- try {
- Path file = Paths.get(helpPath, lang, page);
- String path = file.toString();
- file = Paths.get(new ClassPathResource(path).getURI());
-
- if (Files.isReadable(file))
- return new String(Files.readAllBytes(file), StandardCharsets.UTF_8);
+ if (canBePage(page) && canBeLang(lang)) {
+ String path = StringUtils.joinWith("/", helpPath, lang, page);
+
+ try (InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(path)) {
+ if (is != null)
+ return IOUtils.toString(is, StandardCharsets.UTF_8);
} catch (IOException e) {
}
}
-
return null;
}
- public boolean canPage(final String anything) {
+ public boolean canBePage(final String anything) {
return anything != null && PAGE_PATTERN.matcher(anything).matches();
}
- public boolean canLang(final String anything) {
+ public boolean canBeLang(final String anything) {
return anything != null && LANG_PATTERN.matcher(anything).matches();
}
}