aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2018-02-08 22:06:08 +0300
committerGravatar Vitaly Takmazov2018-02-08 22:06:08 +0300
commit7414f1034d32c249294a081f1e176a9266fc92ac (patch)
treec780ea6f8a4a4d4db22147b1eea151317765abce /juick-server/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java
parentc97d1475dc0faa0e791257ca6c6a8561df2ffa90 (diff)
reorganize project structure
Diffstat (limited to 'juick-server/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java')
-rw-r--r--juick-server/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java135
1 files changed, 0 insertions, 135 deletions
diff --git a/juick-server/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java b/juick-server/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java
deleted file mode 100644
index ea59ac52..00000000
--- a/juick-server/src/main/java/com/juick/api/configuration/ApiAppConfiguration.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (C) 2008-2017, Juick
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-package com.juick.api.configuration;
-
-import com.juick.api.ApiServer;
-import com.juick.api.WebsocketManager;
-import com.juick.server.component.JuickServerComponent;
-import com.juick.server.component.JuickServerReconnectManager;
-import com.juick.server.configuration.BaseWebConfiguration;
-import com.juick.service.UserService;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.*;
-import org.springframework.core.Ordered;
-import org.springframework.scheduling.annotation.EnableAsync;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
-import org.springframework.web.servlet.config.annotation.EnableWebMvc;
-import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
-import org.springframework.web.socket.client.WebSocketConnectionManager;
-import org.springframework.web.socket.client.standard.StandardWebSocketClient;
-import org.springframework.web.socket.config.annotation.EnableWebSocket;
-import org.springframework.web.socket.config.annotation.ServletWebSocketHandlerRegistry;
-import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
-import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;
-import org.springframework.web.socket.server.standard.ServletServerContainerFactoryBean;
-import org.springframework.web.util.UriComponentsBuilder;
-import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.service.ApiInfo;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
-
-import javax.annotation.Nonnull;
-import javax.inject.Inject;
-import java.util.Collections;
-
-/**
- * Created by aalexeev on 11/12/16.
- */
-@Configuration
-@EnableAsync
-@EnableWebMvc
-@EnableSwagger2
-@EnableScheduling
-@EnableWebSocket
-@PropertySource("classpath:juick.conf")
-@ComponentScan(basePackages = "com.juick")
-public class ApiAppConfiguration extends BaseWebConfiguration implements WebSocketConfigurer {
- @Inject
- UserService userService;
- @Value("${api_user:juick}")
- private String serviceUser;
- @Value("${websocket_url:ws://localhost:8080/ws/}")
- private String baseUri;
- @Lazy
- @Bean
- public JuickServerComponent juickServerComponent() {
- return new JuickServerComponent();
- }
- @Lazy
- @Bean
- public JuickServerReconnectManager juickServerReconnectManager() {
- return new JuickServerReconnectManager();
- }
- @Bean
- public WebSocketConnectionManager connectionManager() {
- String websocketURI = UriComponentsBuilder.fromUriString(baseUri)
- .queryParam("hash", userService.getHashByUID(userService.getUIDbyName(serviceUser))).build().toUriString();
- return new WebSocketConnectionManager(client(), juickServerComponent(), websocketURI);
- }
- @Bean
- public StandardWebSocketClient client() {
- return new StandardWebSocketClient();
- }
- @Bean
- public ApiServer apiServer() {
- return new ApiServer();
- }
- @Bean
- public Docket api() {
- return new Docket(DocumentationType.SWAGGER_2)
- .select()
- .apis(RequestHandlerSelectors.any())
- .paths(PathSelectors.any()).build().apiInfo(new ApiInfo("Juick API", "Juick REST API Documentation",
- "2.0", "https://juick.com/help/tos", null,
- "AGPLv3", "https://www.gnu.org/licenses/agpl-3.0.html", Collections.emptyList()));
- }
- @Override
- public void addResourceHandlers(ResourceHandlerRegistry registry) {
- registry.addResourceHandler("/swagger-ui.html")
- .addResourceLocations("classpath:/META-INF/resources/");
-
- registry.addResourceHandler("/webjars/**")
- .addResourceLocations("classpath:/META-INF/resources/webjars/");
- }
- @Bean
- public WebsocketManager wsHandler() {
- return new WebsocketManager();
- }
-
- @Override
- public void registerWebSocketHandlers(@Nonnull WebSocketHandlerRegistry registry) {
- //((ServletWebSocketHandlerRegistry) registry).setOrder(Ordered.LOWEST_PRECEDENCE);
- registry.addHandler(wsHandler(), "/ws/**").setAllowedOrigins("*");
- }
-
- @Bean
- public ServletServerContainerFactoryBean createWebSocketContainer() {
- ServletServerContainerFactoryBean container = new ServletServerContainerFactoryBean();
- container.setMaxTextMessageBufferSize(8192);
- container.setMaxBinaryMessageBufferSize(8192);
- return container;
- }
- @Override
- public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
- configurer.enable();
- }
-
-}