aboutsummaryrefslogtreecommitdiff
path: root/juick-server-web/src/main/java/com/juick/server/component
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2018-03-16 10:46:23 +0300
committerGravatar Vitaly Takmazov2018-03-16 10:46:23 +0300
commit9ef168a03b75aeca0c2f7dda9ce87d4014c703a9 (patch)
tree8ace0ada0f576d97592f8bc84803a2dcf3e7a244 /juick-server-web/src/main/java/com/juick/server/component
parent7cadae166b103182d7d1daaafe602cd8fb145c53 (diff)
merge common projects
Diffstat (limited to 'juick-server-web/src/main/java/com/juick/server/component')
-rw-r--r--juick-server-web/src/main/java/com/juick/server/component/DisconnectedEvent.java14
-rw-r--r--juick-server-web/src/main/java/com/juick/server/component/JuickServerComponent.java71
-rw-r--r--juick-server-web/src/main/java/com/juick/server/component/JuickServerReconnectManager.java22
-rw-r--r--juick-server-web/src/main/java/com/juick/server/component/MessageEvent.java22
-rw-r--r--juick-server-web/src/main/java/com/juick/server/component/UserUpdatedEvent.java23
5 files changed, 0 insertions, 152 deletions
diff --git a/juick-server-web/src/main/java/com/juick/server/component/DisconnectedEvent.java b/juick-server-web/src/main/java/com/juick/server/component/DisconnectedEvent.java
deleted file mode 100644
index 9da6d7a9..00000000
--- a/juick-server-web/src/main/java/com/juick/server/component/DisconnectedEvent.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.juick.server.component;
-
-import org.springframework.context.ApplicationEvent;
-
-public class DisconnectedEvent extends ApplicationEvent {
- /**
- * Create a new ApplicationEvent.
- *
- * @param source the object on which the event initially occurred (never {@code null})
- */
- public DisconnectedEvent(Object source) {
- super(source);
- }
-}
diff --git a/juick-server-web/src/main/java/com/juick/server/component/JuickServerComponent.java b/juick-server-web/src/main/java/com/juick/server/component/JuickServerComponent.java
deleted file mode 100644
index 792f446f..00000000
--- a/juick-server-web/src/main/java/com/juick/server/component/JuickServerComponent.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.juick.server.component;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.ApplicationEventPublisher;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.web.socket.CloseStatus;
-import org.springframework.web.socket.PingMessage;
-import org.springframework.web.socket.TextMessage;
-import org.springframework.web.socket.WebSocketSession;
-import org.springframework.web.socket.handler.TextWebSocketHandler;
-
-import javax.annotation.PostConstruct;
-import javax.annotation.PreDestroy;
-import javax.inject.Inject;
-import java.io.IOException;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-public class JuickServerComponent extends TextWebSocketHandler {
- private static Logger logger = LoggerFactory.getLogger(JuickServerComponent.class);
- @Inject
- private ApplicationEventPublisher applicationEventPublisher;
- @Inject
- private ObjectMapper jsonMapper;
-
- private WebSocketSession session;
- private final AtomicBoolean closeFlag = new AtomicBoolean(false);
-
- @PostConstruct
- public void init() {
- closeFlag.set(false);
- }
- @Override
- public void afterConnectionEstablished(WebSocketSession session) throws Exception {
- logger.info("WebSocket connected");
- this.session = session;
- }
-
- @Override
- public void afterConnectionClosed(WebSocketSession session, CloseStatus status) throws Exception {
- logger.info("WebSocket disconnected with code {}: {}", status.getCode(), status.getReason());
- applicationEventPublisher.publishEvent(new DisconnectedEvent(this));
- }
-
- @Override
- protected void handleTextMessage(WebSocketSession session, TextMessage text) throws Exception {
- com.juick.Message jmsg = jsonMapper.readValue(text.asBytes(), com.juick.Message.class);
-
- if (logger.isInfoEnabled()) // prevent writeValueAsString execution if logger disabled
- logger.info("got jmsg: {}", jsonMapper.writeValueAsString(jmsg));
- if (!closeFlag.get()) {
- applicationEventPublisher.publishEvent(new MessageEvent(this, jmsg));
- }
- }
-
- @Scheduled(fixedRate = 30000, initialDelay = 30000)
- public void ping() throws IOException {
- if (session != null && session.isOpen()) {
- logger.debug("Sending WebSocket ping");
- session.sendMessage(new PingMessage());
- } else if (!closeFlag.get()) {
- applicationEventPublisher.publishEvent(new DisconnectedEvent(this));
- }
- }
- @PreDestroy
- public void close() {
- closeFlag.set(true);
- }
-
-}
diff --git a/juick-server-web/src/main/java/com/juick/server/component/JuickServerReconnectManager.java b/juick-server-web/src/main/java/com/juick/server/component/JuickServerReconnectManager.java
deleted file mode 100644
index a662e4fb..00000000
--- a/juick-server-web/src/main/java/com/juick/server/component/JuickServerReconnectManager.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.juick.server.component;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.context.ApplicationListener;
-import org.springframework.stereotype.Component;
-import org.springframework.web.socket.client.WebSocketConnectionManager;
-
-import javax.inject.Inject;
-
-@Component
-public class JuickServerReconnectManager implements ApplicationListener<DisconnectedEvent> {
- private static Logger logger = LoggerFactory.getLogger(JuickServerReconnectManager.class);
- @Inject
- private WebSocketConnectionManager webSocketConnectionManager;
- @Override
- public void onApplicationEvent(DisconnectedEvent event) {
- logger.info("retrying...");
- webSocketConnectionManager.stop();
- webSocketConnectionManager.start();
- }
-}
diff --git a/juick-server-web/src/main/java/com/juick/server/component/MessageEvent.java b/juick-server-web/src/main/java/com/juick/server/component/MessageEvent.java
deleted file mode 100644
index 048de6a6..00000000
--- a/juick-server-web/src/main/java/com/juick/server/component/MessageEvent.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.juick.server.component;
-
-import com.juick.Message;
-import org.springframework.context.ApplicationEvent;
-
-public class MessageEvent extends ApplicationEvent {
- private Message message;
- /**
- * Create a new ApplicationEvent.
- *
- * @param source the object on which the event initially occurred (never {@code null})
- * @param message app message
- */
- public MessageEvent(Object source, Message message) {
- super(source);
- this.message = message;
- }
-
- public Message getMessage() {
- return message;
- }
-}
diff --git a/juick-server-web/src/main/java/com/juick/server/component/UserUpdatedEvent.java b/juick-server-web/src/main/java/com/juick/server/component/UserUpdatedEvent.java
deleted file mode 100644
index 059aeefd..00000000
--- a/juick-server-web/src/main/java/com/juick/server/component/UserUpdatedEvent.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.juick.server.component;
-
-import com.juick.User;
-import org.springframework.context.ApplicationEvent;
-import org.springframework.lang.NonNull;
-
-public class UserUpdatedEvent extends ApplicationEvent {
- private User user;
- /**
- * Generated when user is updated (avatar changed, etc).
- *
- * @param source the object on which the event initially occurred (never {@code null})
- * @param user updated user
- */
- public UserUpdatedEvent(@NonNull Object source, User user) {
- super(source);
- this.user = user;
- }
-
- public User getUser() {
- return user;
- }
-}