diff options
-rw-r--r-- | juick-ws/build.gradle | 11 | ||||
-rw-r--r-- | juick-ws/package.json | 31 | ||||
-rw-r--r-- | juick-ws/src/main/java/com/juick/ws/configuration/WebsocketInitializer.java | 2 | ||||
-rw-r--r-- | juick-ws/src/main/java/com/juick/ws/configuration/WebsocketMvcConfiguration.java | 51 | ||||
-rw-r--r-- | juick-ws/src/main/java/com/juick/ws/controllers/StatusController.java | 32 | ||||
-rw-r--r-- | juick-ws/src/main/static/scripts.js | 46 | ||||
-rw-r--r-- | juick-ws/src/main/static/style.css | 2 | ||||
-rw-r--r-- | juick-ws/src/main/webapp/WEB-INF/templates/index.html | 15 | ||||
-rw-r--r-- | juick-ws/webpack.config.js | 29 |
9 files changed, 1 insertions, 218 deletions
diff --git a/juick-ws/build.gradle b/juick-ws/build.gradle index 4012e295..7551d409 100644 --- a/juick-ws/build.gradle +++ b/juick-ws/build.gradle @@ -1,11 +1,3 @@ -plugins { - id "com.moowork.node" version "1.0.0" -} - -task compileFrontend(type: NpmTask) { - args = ['run', 'compile'] -} - apply plugin: 'java' apply plugin: 'war' apply plugin: 'org.akhikhl.gretty' @@ -16,12 +8,9 @@ dependencies { compile "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:${rootProject.jacksonVersion}" compile "org.springframework:spring-webmvc:${rootProject.springFrameworkVersion}" compile "org.springframework:spring-websocket:${rootProject.springFrameworkVersion}" - compile 'com.mitchellbosecke:pebble-spring4:2.3.0' providedRuntime 'mysql:mysql-connector-java:5.1.40' } -compileFrontend.dependsOn 'npmInstall' -war.dependsOn 'compileFrontend' compileJava.options.encoding = 'UTF-8' gretty { diff --git a/juick-ws/package.json b/juick-ws/package.json deleted file mode 100644 index 8603f8d0..00000000 --- a/juick-ws/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "juick", - "version": "1.0.0", - "private": true, - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "compile": "webpack --colors -p" - }, - "repository": { - "type": "git", - "url": "https://github.com/juick/juick.git" - }, - "license": "AGPLv3", - "devDependencies": { - "autoprefixer": "^6.3.7", - "css-loader": "^0.23.1", - "extract-text-webpack-plugin": "^1.0.1", - "globby": "^4.1.0", - "postcss-import": "^8.1.2", - "postcss-loader": "^0.9.1", - "precss": "^1.4.0", - "style-loader": "^0.13.1", - "uglify-loader": "^1.3.0", - "webpack": "^1.13.1" - }, - "dependencies": { - "normalize.css": "^4.2.0", - "terminal": "https://github.com/juick/terminal.git", - "whatwg-fetch": "^1.0.0" - } -} diff --git a/juick-ws/src/main/java/com/juick/ws/configuration/WebsocketInitializer.java b/juick-ws/src/main/java/com/juick/ws/configuration/WebsocketInitializer.java index bbbcc6a4..6feea4c7 100644 --- a/juick-ws/src/main/java/com/juick/ws/configuration/WebsocketInitializer.java +++ b/juick-ws/src/main/java/com/juick/ws/configuration/WebsocketInitializer.java @@ -33,6 +33,6 @@ public class WebsocketInitializer extends AbstractAnnotationConfigDispatcherServ @Override protected String getServletName() { - return "Web socket dispather servlet"; + return "Web socket dispatcher servlet"; } } diff --git a/juick-ws/src/main/java/com/juick/ws/configuration/WebsocketMvcConfiguration.java b/juick-ws/src/main/java/com/juick/ws/configuration/WebsocketMvcConfiguration.java index fc373359..a6a988d7 100644 --- a/juick-ws/src/main/java/com/juick/ws/configuration/WebsocketMvcConfiguration.java +++ b/juick-ws/src/main/java/com/juick/ws/configuration/WebsocketMvcConfiguration.java @@ -2,22 +2,13 @@ package com.juick.ws.configuration; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.datatype.jdk8.Jdk8Module; -import com.mitchellbosecke.pebble.PebbleEngine; -import com.mitchellbosecke.pebble.loader.Loader; -import com.mitchellbosecke.pebble.loader.ServletLoader; -import com.mitchellbosecke.pebble.spring4.PebbleViewResolver; -import com.mitchellbosecke.pebble.spring4.extension.SpringExtension; -import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; -import org.springframework.web.servlet.ViewResolver; -import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; -import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping; import java.util.List; @@ -28,48 +19,6 @@ import java.util.List; @ComponentScan(basePackages = {"com.juick.ws.controllers"}) @PropertySource("classpath:juick.conf") public class WebsocketMvcConfiguration extends WebMvcConfigurationSupport { - - @Bean - public Loader templateLoader() { - return new ServletLoader(getServletContext()); - } - - @Bean - public SpringExtension springExtension() { - return new SpringExtension(); - } - - @Bean - public PebbleEngine pebbleEngine() { - return new PebbleEngine.Builder() - .loader(this.templateLoader()) - .extension(springExtension()) - .build(); - } - - @Bean - public ViewResolver viewResolver() { - PebbleViewResolver viewResolver = new PebbleViewResolver(); - viewResolver.setPrefix("/WEB-INF/templates/"); - viewResolver.setSuffix(".html"); - viewResolver.setPebbleEngine(pebbleEngine()); - return viewResolver; - } - - @Override - public RequestMappingHandlerMapping requestMappingHandlerMapping() { - RequestMappingHandlerMapping mapping = super.requestMappingHandlerMapping(); - mapping.setUseSuffixPatternMatch(false); - return mapping; - } - - @Override - protected void addResourceHandlers(ResourceHandlerRegistry registry) { - registry.setOrder(0); - registry.addResourceHandler("/scripts.js").addResourceLocations("/"); - registry.addResourceHandler("/style.css").addResourceLocations("/"); - } - @Override protected void configureMessageConverters(List<HttpMessageConverter<?>> converters) { Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder() diff --git a/juick-ws/src/main/java/com/juick/ws/controllers/StatusController.java b/juick-ws/src/main/java/com/juick/ws/controllers/StatusController.java deleted file mode 100644 index 926e6995..00000000 --- a/juick-ws/src/main/java/com/juick/ws/controllers/StatusController.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.juick.ws.controllers; - -import com.juick.ws.WebsocketComponent; -import com.juick.ws.XMPPConnection; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.ResponseBody; -import org.springframework.web.servlet.ModelAndView; - -import javax.inject.Inject; - -/** - * Created by vitalyster on 19.07.2016. - */ -@Controller -@ResponseBody -public class StatusController { - @Inject - WebsocketComponent wsHandler; - @Inject - XMPPConnection ws; - - @RequestMapping(method = RequestMethod.GET, headers = {"Connection!=Upgrade", "Connection!=upgrade"}, value = "/") - public ModelAndView status() { - ModelAndView modelAndView = new ModelAndView(); - modelAndView.addObject("clients", wsHandler.getClients().size()); - modelAndView.setViewName("index"); - return modelAndView; - } - -} diff --git a/juick-ws/src/main/static/scripts.js b/juick-ws/src/main/static/scripts.js deleted file mode 100644 index 3a7e4a5f..00000000 --- a/juick-ws/src/main/static/scripts.js +++ /dev/null @@ -1,46 +0,0 @@ -var Terminal = require('terminal'); -require('whatwg-fetch'); - -function ready(fn) { - if (document.readyState != 'loading') { - fn(); - } else { - document.addEventListener('DOMContentLoaded', fn); - } -} - -function refreshStatus() { - setTimeout(function() { - fetch("/api/status") - .then(function(response) { - return response.text(); - }).then(function(body) { - status.textContent = JSON.parse(body).status; - refreshStatus(); - }) - }, 5000); -} - -function keepalive(ws) { - setTimeout(function() { - ws.send(" "); - keepalive(); - }, 60000); -} - -ready(function() { - var ws = new WebSocket('wss://ws.juick.com/'); - var term = new Terminal('terminal', {}, {}); - var status = document.querySelector("#status"); - ws.onopen = function() { - term.output("<br/>connected"); - }; - ws.onclose = function() { - term.output("<br/>disconnected"); - } - ws.onmessage = function(msg) { - term.output("<br/>" + JSON.stringify(JSON.parse(msg.data), null, 2)); - } - refreshStatus(); - keepalive(ws); -})
\ No newline at end of file diff --git a/juick-ws/src/main/static/style.css b/juick-ws/src/main/static/style.css deleted file mode 100644 index ee5ec6b7..00000000 --- a/juick-ws/src/main/static/style.css +++ /dev/null @@ -1,2 +0,0 @@ -@import "normalize.css"; -@import "terminal";
\ No newline at end of file diff --git a/juick-ws/src/main/webapp/WEB-INF/templates/index.html b/juick-ws/src/main/webapp/WEB-INF/templates/index.html deleted file mode 100644 index 92090c8e..00000000 --- a/juick-ws/src/main/webapp/WEB-INF/templates/index.html +++ /dev/null @@ -1,15 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="UTF-8"> - <title>Status</title> - <link rel="icon" href="//i.juick.com/favicon.png"/> - <link rel="stylesheet" media="all" href="/style.css" /> - <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Inconsolata" /> -</head> -<body> -<p id="status"></p> -<div id="terminal"></div> -<script type="text/javascript" src="/scripts.js"></script> -</body> -</html>
\ No newline at end of file diff --git a/juick-ws/webpack.config.js b/juick-ws/webpack.config.js deleted file mode 100644 index e6d33a06..00000000 --- a/juick-ws/webpack.config.js +++ /dev/null @@ -1,29 +0,0 @@ -var webpack = require("webpack"); -var globby = require("globby"); -var precss = require('precss'); -var autoprefixer = require('autoprefixer'); -var ExtractTextPlugin = require("extract-text-webpack-plugin") -module.exports = { - entry: { - "scripts" : globby.sync([ - __dirname + "/src/main/static/*.*" - ]) - }, - output: { - path: __dirname + "/src/main/webapp", - filename: "[name].js" - }, - module: { - loaders: [ - { test: /\.css$/, loader: ExtractTextPlugin.extract("style-loader", "css-loader!postcss-loader") } - ] - }, - plugins: [ - new ExtractTextPlugin("style.css", { - allChunks: true - }) - ], - postcss: function() { - return [require("postcss-import")({ addDependencyTo: webpack, path: ['node_modules'] }), precss({'import': {disable: true}}), autoprefixer]; - } -}
\ No newline at end of file |