aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2016-12-12 17:47:55 +0300
committerGravatar Vitaly Takmazov2016-12-12 17:47:55 +0300
commit1702d4f5e4eace80a1323e520b004a08497e3309 (patch)
treeef94261fc72008fd47f20a0842981de7bdecc85c
parentcf5d3c5a78ae5be2209bb0d0d91ce1eaf0296c04 (diff)
juick-ws: drop status servlet
-rw-r--r--juick-ws/build.gradle11
-rw-r--r--juick-ws/package.json31
-rw-r--r--juick-ws/src/main/java/com/juick/ws/configuration/WebsocketInitializer.java2
-rw-r--r--juick-ws/src/main/java/com/juick/ws/configuration/WebsocketMvcConfiguration.java51
-rw-r--r--juick-ws/src/main/java/com/juick/ws/controllers/StatusController.java32
-rw-r--r--juick-ws/src/main/static/scripts.js46
-rw-r--r--juick-ws/src/main/static/style.css2
-rw-r--r--juick-ws/src/main/webapp/WEB-INF/templates/index.html15
-rw-r--r--juick-ws/webpack.config.js29
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