aboutsummaryrefslogtreecommitdiff
path: root/juick-www/src/main/java/com/juick/www/configuration/WwwAppConfiguration.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-www/src/main/java/com/juick/www/configuration/WwwAppConfiguration.java')
-rw-r--r--juick-www/src/main/java/com/juick/www/configuration/WwwAppConfiguration.java22
1 files changed, 19 insertions, 3 deletions
diff --git a/juick-www/src/main/java/com/juick/www/configuration/WwwAppConfiguration.java b/juick-www/src/main/java/com/juick/www/configuration/WwwAppConfiguration.java
index 2cf1faed..a5bc3f73 100644
--- a/juick-www/src/main/java/com/juick/www/configuration/WwwAppConfiguration.java
+++ b/juick-www/src/main/java/com/juick/www/configuration/WwwAppConfiguration.java
@@ -1,13 +1,16 @@
package com.juick.www.configuration;
import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
import com.juick.service.TagService;
import com.juick.service.UserService;
import com.juick.www.HelpService;
-import com.juick.www.controllers.PageTemplates;
import com.juick.www.WebApp;
+import com.juick.www.controllers.PageTemplates;
+import org.apache.commons.io.IOUtils;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.caffeine.CaffeineCacheManager;
import org.springframework.context.annotation.Bean;
@@ -17,6 +20,9 @@ import org.springframework.core.env.Environment;
import javax.annotation.Resource;
import javax.inject.Inject;
+import java.io.IOException;
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
/**
* Created by aalexeev on 11/22/16.
@@ -31,10 +37,20 @@ public class WwwAppConfiguration {
private UserService userService;
@Inject
private TagService tagService;
+ @Inject
+ private ObjectMapper jsonMapper;
+ @Value("#{servletContext.contextPath}")
+ private String servletContextPath;
@Bean
- public WebApp webApp() {
- return new WebApp(env, templates(), userService, tagService);
+ public WebApp webApp() throws IOException {
+ WebApp app = new WebApp();
+ String manifestString = IOUtils.toString(getClass().getClassLoader().getResourceAsStream("manifest.json"), StandardCharsets.UTF_8);
+ HashMap<String, String> manifest = jsonMapper.readValue(manifestString,
+ new TypeReference<HashMap<String, String>>() {});
+ app.setScriptsUrl(manifest.get("scripts.js"));
+ app.setStyleUrl(manifest.get("style.css"));
+ return app;
}
@Bean
public PageTemplates templates() {