Commit ade8590b7f987f39ed40ee29622b565d893f581b
Committed by
GitHub
Merge pull request #4 from ashvayka/feature/TB-50
TB-50: Swagger integration
Showing
25 changed files
with
204 additions
and
81 deletions
... | ... | @@ -21,9 +21,9 @@ |
21 | 21 | <parent> |
22 | 22 | <groupId>org.thingsboard</groupId> |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | - <artifactId>server</artifactId> | |
24 | + <artifactId>thingsboard</artifactId> | |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server</groupId> | |
26 | + <groupId>org.thingsboard</groupId> | |
27 | 27 | <artifactId>application</artifactId> |
28 | 28 | <packaging>jar</packaging> |
29 | 29 | |
... | ... | @@ -47,35 +47,35 @@ |
47 | 47 | <classifier>linux-x86_64</classifier> |
48 | 48 | </dependency> |
49 | 49 | <dependency> |
50 | - <groupId>org.thingsboard.server</groupId> | |
50 | + <groupId>org.thingsboard</groupId> | |
51 | 51 | <artifactId>extensions-api</artifactId> |
52 | 52 | </dependency> |
53 | 53 | <dependency> |
54 | - <groupId>org.thingsboard.server</groupId> | |
54 | + <groupId>org.thingsboard</groupId> | |
55 | 55 | <artifactId>extensions-core</artifactId> |
56 | 56 | </dependency> |
57 | 57 | <dependency> |
58 | - <groupId>org.thingsboard.server.common</groupId> | |
58 | + <groupId>org.thingsboard.common</groupId> | |
59 | 59 | <artifactId>transport</artifactId> |
60 | 60 | </dependency> |
61 | 61 | <dependency> |
62 | - <groupId>org.thingsboard.server.transport</groupId> | |
62 | + <groupId>org.thingsboard.transport</groupId> | |
63 | 63 | <artifactId>http</artifactId> |
64 | 64 | </dependency> |
65 | 65 | <dependency> |
66 | - <groupId>org.thingsboard.server.transport</groupId> | |
66 | + <groupId>org.thingsboard.transport</groupId> | |
67 | 67 | <artifactId>coap</artifactId> |
68 | 68 | </dependency> |
69 | 69 | <dependency> |
70 | - <groupId>org.thingsboard.server.transport</groupId> | |
70 | + <groupId>org.thingsboard.transport</groupId> | |
71 | 71 | <artifactId>mqtt</artifactId> |
72 | 72 | </dependency> |
73 | 73 | <dependency> |
74 | - <groupId>org.thingsboard.server</groupId> | |
74 | + <groupId>org.thingsboard</groupId> | |
75 | 75 | <artifactId>dao</artifactId> |
76 | 76 | </dependency> |
77 | 77 | <dependency> |
78 | - <groupId>org.thingsboard.server</groupId> | |
78 | + <groupId>org.thingsboard</groupId> | |
79 | 79 | <artifactId>dao</artifactId> |
80 | 80 | <type>test-jar</type> |
81 | 81 | <scope>test</scope> |
... | ... | @@ -97,7 +97,7 @@ |
97 | 97 | <scope>test</scope> |
98 | 98 | </dependency> |
99 | 99 | <dependency> |
100 | - <groupId>org.thingsboard.server</groupId> | |
100 | + <groupId>org.thingsboard</groupId> | |
101 | 101 | <artifactId>ui</artifactId> |
102 | 102 | <version>${project.version}</version> |
103 | 103 | <scope>runtime</scope> |
... | ... | @@ -212,6 +212,14 @@ |
212 | 212 | <groupId>io.grpc</groupId> |
213 | 213 | <artifactId>grpc-stub</artifactId> |
214 | 214 | </dependency> |
215 | + <dependency> | |
216 | + <groupId>io.springfox</groupId> | |
217 | + <artifactId>springfox-swagger-ui</artifactId> | |
218 | + </dependency> | |
219 | + <dependency> | |
220 | + <groupId>io.springfox</groupId> | |
221 | + <artifactId>springfox-swagger2</artifactId> | |
222 | + </dependency> | |
215 | 223 | </dependencies> |
216 | 224 | |
217 | 225 | <build> |
... | ... | @@ -325,17 +333,17 @@ |
325 | 333 | <outputDirectory>${project.build.directory}/extensions</outputDirectory> |
326 | 334 | <artifactItems> |
327 | 335 | <artifactItem> |
328 | - <groupId>org.thingsboard.server.extensions</groupId> | |
336 | + <groupId>org.thingsboard.extensions</groupId> | |
329 | 337 | <artifactId>extension-rabbitmq</artifactId> |
330 | 338 | <classifier>extension</classifier> |
331 | 339 | </artifactItem> |
332 | 340 | <artifactItem> |
333 | - <groupId>org.thingsboard.server.extensions</groupId> | |
341 | + <groupId>org.thingsboard.extensions</groupId> | |
334 | 342 | <artifactId>extension-rest-api-call</artifactId> |
335 | 343 | <classifier>extension</classifier> |
336 | 344 | </artifactItem> |
337 | 345 | <artifactItem> |
338 | - <groupId>org.thingsboard.server.extensions</groupId> | |
346 | + <groupId>org.thingsboard.extensions</groupId> | |
339 | 347 | <artifactId>extension-kafka</artifactId> |
340 | 348 | <classifier>extension</classifier> |
341 | 349 | </artifactItem> | ... | ... |
... | ... | @@ -19,11 +19,13 @@ import org.springframework.boot.SpringApplication; |
19 | 19 | import org.springframework.boot.autoconfigure.EnableAutoConfiguration; |
20 | 20 | import org.springframework.boot.autoconfigure.SpringBootApplication; |
21 | 21 | import org.springframework.context.annotation.ComponentScan; |
22 | +import springfox.documentation.swagger2.annotations.EnableSwagger2; | |
22 | 23 | |
23 | 24 | import java.util.Arrays; |
24 | 25 | |
25 | 26 | @EnableAutoConfiguration |
26 | 27 | @SpringBootApplication |
28 | +@EnableSwagger2 | |
27 | 29 | @ComponentScan({"org.thingsboard.server"}) |
28 | 30 | public class ThingsboardServerApplication { |
29 | 31 | ... | ... |
1 | +/** | |
2 | + * Copyright © 2016 The Thingsboard Authors | |
3 | + * | |
4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | + * you may not use this file except in compliance with the License. | |
6 | + * You may obtain a copy of the License at | |
7 | + * | |
8 | + * http://www.apache.org/licenses/LICENSE-2.0 | |
9 | + * | |
10 | + * Unless required by applicable law or agreed to in writing, software | |
11 | + * distributed under the License is distributed on an "AS IS" BASIS, | |
12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | + * See the License for the specific language governing permissions and | |
14 | + * limitations under the License. | |
15 | + */ | |
16 | +package org.thingsboard.server.config; | |
17 | + | |
18 | +import org.springframework.context.annotation.Bean; | |
19 | +import org.springframework.context.annotation.Configuration; | |
20 | +import org.thingsboard.server.common.data.security.Authority; | |
21 | +import springfox.documentation.builders.ApiInfoBuilder; | |
22 | +import springfox.documentation.builders.PathSelectors; | |
23 | +import springfox.documentation.service.*; | |
24 | +import springfox.documentation.spi.DocumentationType; | |
25 | +import springfox.documentation.spi.service.contexts.SecurityContext; | |
26 | +import springfox.documentation.spring.web.plugins.Docket; | |
27 | + | |
28 | +import java.util.List; | |
29 | + | |
30 | +import static com.google.common.collect.Lists.newArrayList; | |
31 | + | |
32 | +@Configuration | |
33 | +public class SwaggerConfiguration { | |
34 | + | |
35 | + @Bean | |
36 | + public Docket thingsboardApi() { | |
37 | + return new Docket(DocumentationType.SWAGGER_2) | |
38 | + .groupName("thingsboard") | |
39 | + .apiInfo(apiInfo()) | |
40 | + .select() | |
41 | + .paths(PathSelectors.any()) | |
42 | + .build() | |
43 | + .securitySchemes(newArrayList(jwtTokenKey())) | |
44 | + .securityContexts(newArrayList(securityContext())); | |
45 | + } | |
46 | + | |
47 | + private ApiKey jwtTokenKey() { | |
48 | + return new ApiKey("X-Authorization", "JWT token", "header"); | |
49 | + } | |
50 | + | |
51 | + private SecurityContext securityContext() { | |
52 | + return SecurityContext.builder() | |
53 | + .securityReferences(defaultAuth()) | |
54 | + .forPaths(PathSelectors.regex("/api.*")) | |
55 | + .build(); | |
56 | + } | |
57 | + | |
58 | + List<SecurityReference> defaultAuth() { | |
59 | + AuthorizationScope[] authorizationScopes = new AuthorizationScope[3]; | |
60 | + authorizationScopes[0] = new AuthorizationScope(Authority.SYS_ADMIN.name(), "System administrator"); | |
61 | + authorizationScopes[1] = new AuthorizationScope(Authority.TENANT_ADMIN.name(), "Tenant administrator"); | |
62 | + authorizationScopes[2] = new AuthorizationScope(Authority.CUSTOMER_USER.name(), "Customer"); | |
63 | + return newArrayList( | |
64 | + new SecurityReference("X-Authorization", authorizationScopes)); | |
65 | + } | |
66 | + | |
67 | + private ApiInfo apiInfo() { | |
68 | + return new ApiInfoBuilder() | |
69 | + .title("Thingsboard REST API") | |
70 | + .description("For instructions how to authorize requests please visit <a href='http://thingsboard.io/docs/rest-auth'>Documentation page</a>") | |
71 | + .contact(new Contact("Thingsboard team", "http://thingsboard.io", "info@thingsboard.io")) | |
72 | + .license("Apache License Version 2.0") | |
73 | + .licenseUrl("https://github.com/thingsboard/thingsboard/blob/master/LICENSE") | |
74 | + .version("2.0") | |
75 | + .build(); | |
76 | + } | |
77 | + | |
78 | +} | ... | ... |
... | ... | @@ -53,10 +53,11 @@ public class ThingsboardSecurityConfiguration extends WebSecurityConfigurerAdapt |
53 | 53 | public static final String JWT_TOKEN_HEADER_PARAM = "X-Authorization"; |
54 | 54 | public static final String JWT_TOKEN_QUERY_PARAM = "token"; |
55 | 55 | |
56 | + public static final String WEBJARS_ENTRY_POINT = "/webjars/**"; | |
56 | 57 | public static final String DEVICE_API_ENTRY_POINT = "/api/v1/**"; |
57 | 58 | public static final String FORM_BASED_LOGIN_ENTRY_POINT = "/api/auth/login"; |
58 | 59 | public static final String TOKEN_REFRESH_ENTRY_POINT = "/api/auth/token"; |
59 | - public static final String[] NON_TOKEN_BASED_AUTH_ENTRY_POINTS = new String[] {"/index.html", "/static/**", "/api/noauth/**"}; | |
60 | + public static final String[] NON_TOKEN_BASED_AUTH_ENTRY_POINTS = new String[] {"/index.html", "/static/**", "/api/noauth/**", "/webjars/**"}; | |
60 | 61 | public static final String TOKEN_BASED_AUTH_ENTRY_POINT = "/api/**"; |
61 | 62 | public static final String WS_TOKEN_BASED_AUTH_ENTRY_POINT = "/api/ws/**"; |
62 | 63 | |
... | ... | @@ -89,7 +90,7 @@ public class ThingsboardSecurityConfiguration extends WebSecurityConfigurerAdapt |
89 | 90 | @Bean |
90 | 91 | protected JwtTokenAuthenticationProcessingFilter buildJwtTokenAuthenticationProcessingFilter() throws Exception { |
91 | 92 | List<String> pathsToSkip = new ArrayList(Arrays.asList(NON_TOKEN_BASED_AUTH_ENTRY_POINTS)); |
92 | - pathsToSkip.addAll(Arrays.asList(WS_TOKEN_BASED_AUTH_ENTRY_POINT, TOKEN_REFRESH_ENTRY_POINT, FORM_BASED_LOGIN_ENTRY_POINT, DEVICE_API_ENTRY_POINT)); | |
93 | + pathsToSkip.addAll(Arrays.asList(WS_TOKEN_BASED_AUTH_ENTRY_POINT, TOKEN_REFRESH_ENTRY_POINT, FORM_BASED_LOGIN_ENTRY_POINT, DEVICE_API_ENTRY_POINT, WEBJARS_ENTRY_POINT)); | |
93 | 94 | SkipPathRequestMatcher matcher = new SkipPathRequestMatcher(pathsToSkip, TOKEN_BASED_AUTH_ENTRY_POINT); |
94 | 95 | JwtTokenAuthenticationProcessingFilter filter |
95 | 96 | = new JwtTokenAuthenticationProcessingFilter(failureHandler, jwtHeaderTokenExtractor, matcher); |
... | ... | @@ -142,6 +143,7 @@ public class ThingsboardSecurityConfiguration extends WebSecurityConfigurerAdapt |
142 | 143 | .sessionCreationPolicy(SessionCreationPolicy.STATELESS) |
143 | 144 | .and() |
144 | 145 | .authorizeRequests() |
146 | + .antMatchers(WEBJARS_ENTRY_POINT).permitAll() // Webjars | |
145 | 147 | .antMatchers(DEVICE_API_ENTRY_POINT).permitAll() // Device HTTP Transport API |
146 | 148 | .antMatchers(FORM_BASED_LOGIN_ENTRY_POINT).permitAll() // Login end-point |
147 | 149 | .antMatchers(TOKEN_REFRESH_ENTRY_POINT).permitAll() // Token refresh end-point | ... | ... |
... | ... | @@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.RequestMapping; |
21 | 21 | @Controller |
22 | 22 | public class WebConfig { |
23 | 23 | |
24 | - @RequestMapping(value = "/{path:^(?!api$)(?!static$)[^\\.]*}/**") | |
24 | + @RequestMapping(value = "/{path:^(?!api$)(?!static$)(?!webjars$)[^\\.]*}/**") | |
25 | 25 | public String redirect() { |
26 | 26 | return "forward:/index.html"; |
27 | 27 | } | ... | ... |
... | ... | @@ -15,6 +15,7 @@ |
15 | 15 | */ |
16 | 16 | package org.thingsboard.server.controller; |
17 | 17 | |
18 | +import io.swagger.annotations.*; | |
18 | 19 | import org.springframework.beans.factory.annotation.Autowired; |
19 | 20 | import org.springframework.security.access.prepost.PreAuthorize; |
20 | 21 | import org.springframework.web.bind.annotation.*; |
... | ... | @@ -45,6 +46,18 @@ public class AdminController extends BaseController { |
45 | 46 | } |
46 | 47 | |
47 | 48 | @PreAuthorize("hasAuthority('SYS_ADMIN')") |
49 | + @ApiOperation( | |
50 | + value = "Save admin settings", notes = "Saves admin settings", | |
51 | + response = AdminSettings.class, | |
52 | + authorizations = { | |
53 | + @Authorization(value = "X-Authorization", scopes = { | |
54 | + @AuthorizationScope(scope = "SYS_ADMIN", description = "") | |
55 | + })}) | |
56 | + @ApiResponses(value = { | |
57 | + @ApiResponse(code = 200, response = AdminSettings.class, message = "Admin settings successfully updated"), | |
58 | + @ApiResponse(code = 400, message = "Invalid admin settings payload supplied"), | |
59 | + @ApiResponse(code = 404, message = "Admin settings not found")} | |
60 | + ) | |
48 | 61 | @RequestMapping(value = "/settings", method = RequestMethod.POST) |
49 | 62 | @ResponseBody |
50 | 63 | public AdminSettings saveAdminSettings(@RequestBody AdminSettings adminSettings) throws ThingsboardException { | ... | ... |
... | ... | @@ -15,6 +15,9 @@ |
15 | 15 | */ |
16 | 16 | package org.thingsboard.server.controller; |
17 | 17 | |
18 | +import io.swagger.annotations.ApiOperation; | |
19 | +import io.swagger.annotations.ApiResponse; | |
20 | +import io.swagger.annotations.ApiResponses; | |
18 | 21 | import org.springframework.http.HttpStatus; |
19 | 22 | import org.springframework.security.access.prepost.PreAuthorize; |
20 | 23 | import org.springframework.web.bind.annotation.*; |
... | ... | @@ -34,6 +37,12 @@ import java.util.List; |
34 | 37 | @RequestMapping("/api") |
35 | 38 | public class RuleController extends BaseController { |
36 | 39 | |
40 | + @ApiOperation(value = "getRuleById", nickname = "Get Rule By ID") | |
41 | + @ApiResponses(value = { | |
42 | + @ApiResponse(code = 200, message = "Success", response = RuleMetaData.class), | |
43 | + @ApiResponse(code = 401, message = "Unauthorized"), | |
44 | + @ApiResponse(code = 403, message = "Forbidden"), | |
45 | + @ApiResponse(code = 404, message = "Not Found")}) | |
37 | 46 | @PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN')") |
38 | 47 | @RequestMapping(value = "/rule/{ruleId}", method = RequestMethod.GET) |
39 | 48 | @ResponseBody | ... | ... |
... | ... | @@ -19,11 +19,11 @@ |
19 | 19 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
20 | 20 | <modelVersion>4.0.0</modelVersion> |
21 | 21 | <parent> |
22 | - <groupId>org.thingsboard.server</groupId> | |
22 | + <groupId>org.thingsboard</groupId> | |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | 24 | <artifactId>common</artifactId> |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server.common</groupId> | |
26 | + <groupId>org.thingsboard.common</groupId> | |
27 | 27 | <artifactId>data</artifactId> |
28 | 28 | <packaging>jar</packaging> |
29 | 29 | ... | ... |
... | ... | @@ -19,11 +19,11 @@ |
19 | 19 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
20 | 20 | <modelVersion>4.0.0</modelVersion> |
21 | 21 | <parent> |
22 | - <groupId>org.thingsboard.server</groupId> | |
22 | + <groupId>org.thingsboard</groupId> | |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | 24 | <artifactId>common</artifactId> |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server.common</groupId> | |
26 | + <groupId>org.thingsboard.common</groupId> | |
27 | 27 | <artifactId>message</artifactId> |
28 | 28 | <packaging>jar</packaging> |
29 | 29 | |
... | ... | @@ -37,7 +37,7 @@ |
37 | 37 | |
38 | 38 | <dependencies> |
39 | 39 | <dependency> |
40 | - <groupId>org.thingsboard.server.common</groupId> | |
40 | + <groupId>org.thingsboard.common</groupId> | |
41 | 41 | <artifactId>data</artifactId> |
42 | 42 | </dependency> |
43 | 43 | <dependency> | ... | ... |
... | ... | @@ -21,9 +21,9 @@ |
21 | 21 | <parent> |
22 | 22 | <groupId>org.thingsboard</groupId> |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | - <artifactId>server</artifactId> | |
24 | + <artifactId>thingsboard</artifactId> | |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server</groupId> | |
26 | + <groupId>org.thingsboard</groupId> | |
27 | 27 | <artifactId>common</artifactId> |
28 | 28 | <packaging>pom</packaging> |
29 | 29 | ... | ... |
... | ... | @@ -19,11 +19,11 @@ |
19 | 19 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
20 | 20 | <modelVersion>4.0.0</modelVersion> |
21 | 21 | <parent> |
22 | - <groupId>org.thingsboard.server</groupId> | |
22 | + <groupId>org.thingsboard</groupId> | |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | 24 | <artifactId>common</artifactId> |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server.common</groupId> | |
26 | + <groupId>org.thingsboard.common</groupId> | |
27 | 27 | <artifactId>transport</artifactId> |
28 | 28 | <packaging>jar</packaging> |
29 | 29 | |
... | ... | @@ -37,11 +37,11 @@ |
37 | 37 | |
38 | 38 | <dependencies> |
39 | 39 | <dependency> |
40 | - <groupId>org.thingsboard.server.common</groupId> | |
40 | + <groupId>org.thingsboard.common</groupId> | |
41 | 41 | <artifactId>data</artifactId> |
42 | 42 | </dependency> |
43 | 43 | <dependency> |
44 | - <groupId>org.thingsboard.server.common</groupId> | |
44 | + <groupId>org.thingsboard.common</groupId> | |
45 | 45 | <artifactId>message</artifactId> |
46 | 46 | </dependency> |
47 | 47 | <dependency> | ... | ... |
... | ... | @@ -21,9 +21,9 @@ |
21 | 21 | <parent> |
22 | 22 | <groupId>org.thingsboard</groupId> |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | - <artifactId>server</artifactId> | |
24 | + <artifactId>thingsboard</artifactId> | |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server</groupId> | |
26 | + <groupId>org.thingsboard</groupId> | |
27 | 27 | <artifactId>dao</artifactId> |
28 | 28 | <packaging>jar</packaging> |
29 | 29 | |
... | ... | @@ -37,7 +37,7 @@ |
37 | 37 | |
38 | 38 | <dependencies> |
39 | 39 | <dependency> |
40 | - <groupId>org.thingsboard.server.common</groupId> | |
40 | + <groupId>org.thingsboard.common</groupId> | |
41 | 41 | <artifactId>data</artifactId> |
42 | 42 | </dependency> |
43 | 43 | <dependency> | ... | ... |
... | ... | @@ -21,9 +21,9 @@ |
21 | 21 | <parent> |
22 | 22 | <groupId>org.thingsboard</groupId> |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | - <artifactId>server</artifactId> | |
24 | + <artifactId>thingsboard</artifactId> | |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server</groupId> | |
26 | + <groupId>org.thingsboard</groupId> | |
27 | 27 | <artifactId>extensions-api</artifactId> |
28 | 28 | <packaging>jar</packaging> |
29 | 29 | |
... | ... | @@ -37,11 +37,11 @@ |
37 | 37 | |
38 | 38 | <dependencies> |
39 | 39 | <dependency> |
40 | - <groupId>org.thingsboard.server.common</groupId> | |
40 | + <groupId>org.thingsboard.common</groupId> | |
41 | 41 | <artifactId>data</artifactId> |
42 | 42 | </dependency> |
43 | 43 | <dependency> |
44 | - <groupId>org.thingsboard.server.common</groupId> | |
44 | + <groupId>org.thingsboard.common</groupId> | |
45 | 45 | <artifactId>message</artifactId> |
46 | 46 | </dependency> |
47 | 47 | <dependency> | ... | ... |
... | ... | @@ -21,9 +21,9 @@ |
21 | 21 | <parent> |
22 | 22 | <groupId>org.thingsboard</groupId> |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | - <artifactId>server</artifactId> | |
24 | + <artifactId>thingsboard</artifactId> | |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server</groupId> | |
26 | + <groupId>org.thingsboard</groupId> | |
27 | 27 | <artifactId>extensions-core</artifactId> |
28 | 28 | <packaging>jar</packaging> |
29 | 29 | |
... | ... | @@ -37,7 +37,7 @@ |
37 | 37 | |
38 | 38 | <dependencies> |
39 | 39 | <dependency> |
40 | - <groupId>org.thingsboard.server</groupId> | |
40 | + <groupId>org.thingsboard</groupId> | |
41 | 41 | <artifactId>extensions-api</artifactId> |
42 | 42 | <scope>provided</scope> |
43 | 43 | </dependency> | ... | ... |
... | ... | @@ -21,11 +21,11 @@ |
21 | 21 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
22 | 22 | <modelVersion>4.0.0</modelVersion> |
23 | 23 | <parent> |
24 | - <groupId>org.thingsboard.server</groupId> | |
24 | + <groupId>org.thingsboard</groupId> | |
25 | 25 | <version>0.0.1-SNAPSHOT</version> |
26 | 26 | <artifactId>extensions</artifactId> |
27 | 27 | </parent> |
28 | - <groupId>org.thingsboard.server.extensions</groupId> | |
28 | + <groupId>org.thingsboard.extensions</groupId> | |
29 | 29 | <artifactId>extension-kafka</artifactId> |
30 | 30 | <packaging>jar</packaging> |
31 | 31 | |
... | ... | @@ -49,12 +49,12 @@ |
49 | 49 | <scope>provided</scope> |
50 | 50 | </dependency> |
51 | 51 | <dependency> |
52 | - <groupId>org.thingsboard.server</groupId> | |
52 | + <groupId>org.thingsboard</groupId> | |
53 | 53 | <artifactId>extensions-api</artifactId> |
54 | 54 | <scope>provided</scope> |
55 | 55 | </dependency> |
56 | 56 | <dependency> |
57 | - <groupId>org.thingsboard.server</groupId> | |
57 | + <groupId>org.thingsboard</groupId> | |
58 | 58 | <artifactId>extensions-core</artifactId> |
59 | 59 | <scope>provided</scope> |
60 | 60 | </dependency> | ... | ... |
... | ... | @@ -19,11 +19,11 @@ |
19 | 19 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
20 | 20 | <modelVersion>4.0.0</modelVersion> |
21 | 21 | <parent> |
22 | - <groupId>org.thingsboard.server</groupId> | |
22 | + <groupId>org.thingsboard</groupId> | |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | 24 | <artifactId>extensions</artifactId> |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server.extensions</groupId> | |
26 | + <groupId>org.thingsboard.extensions</groupId> | |
27 | 27 | <artifactId>extension-rabbitmq</artifactId> |
28 | 28 | <packaging>jar</packaging> |
29 | 29 | |
... | ... | @@ -41,12 +41,12 @@ |
41 | 41 | <artifactId>amqp-client</artifactId> |
42 | 42 | </dependency> |
43 | 43 | <dependency> |
44 | - <groupId>org.thingsboard.server</groupId> | |
44 | + <groupId>org.thingsboard</groupId> | |
45 | 45 | <artifactId>extensions-api</artifactId> |
46 | 46 | <scope>provided</scope> |
47 | 47 | </dependency> |
48 | 48 | <dependency> |
49 | - <groupId>org.thingsboard.server</groupId> | |
49 | + <groupId>org.thingsboard</groupId> | |
50 | 50 | <artifactId>extensions-core</artifactId> |
51 | 51 | <scope>provided</scope> |
52 | 52 | </dependency> | ... | ... |
... | ... | @@ -21,11 +21,11 @@ |
21 | 21 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
22 | 22 | <modelVersion>4.0.0</modelVersion> |
23 | 23 | <parent> |
24 | - <groupId>org.thingsboard.server</groupId> | |
24 | + <groupId>org.thingsboard</groupId> | |
25 | 25 | <version>0.0.1-SNAPSHOT</version> |
26 | 26 | <artifactId>extensions</artifactId> |
27 | 27 | </parent> |
28 | - <groupId>org.thingsboard.server.extensions</groupId> | |
28 | + <groupId>org.thingsboard.extensions</groupId> | |
29 | 29 | <artifactId>extension-rest-api-call</artifactId> |
30 | 30 | <packaging>jar</packaging> |
31 | 31 | |
... | ... | @@ -49,7 +49,7 @@ |
49 | 49 | <scope>provided</scope> |
50 | 50 | </dependency> |
51 | 51 | <dependency> |
52 | - <groupId>org.thingsboard.server</groupId> | |
52 | + <groupId>org.thingsboard</groupId> | |
53 | 53 | <artifactId>extensions-api</artifactId> |
54 | 54 | <scope>provided</scope> |
55 | 55 | </dependency> |
... | ... | @@ -59,7 +59,7 @@ |
59 | 59 | <scope>provided</scope> |
60 | 60 | </dependency> |
61 | 61 | <dependency> |
62 | - <groupId>org.thingsboard.server</groupId> | |
62 | + <groupId>org.thingsboard</groupId> | |
63 | 63 | <artifactId>extensions-core</artifactId> |
64 | 64 | <scope>provided</scope> |
65 | 65 | </dependency> | ... | ... |
... | ... | @@ -21,9 +21,9 @@ |
21 | 21 | <parent> |
22 | 22 | <groupId>org.thingsboard</groupId> |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | - <artifactId>server</artifactId> | |
24 | + <artifactId>thingsboard</artifactId> | |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server</groupId> | |
26 | + <groupId>org.thingsboard</groupId> | |
27 | 27 | <artifactId>extensions</artifactId> |
28 | 28 | <packaging>pom</packaging> |
29 | 29 | ... | ... |
... | ... | @@ -68,6 +68,7 @@ |
68 | 68 | <hazelcast-zookeeper.version>3.6.1</hazelcast-zookeeper.version> |
69 | 69 | <surfire.version>2.19.1</surfire.version> |
70 | 70 | <jar-plugin.version>3.0.2</jar-plugin.version> |
71 | + <springfox-swagger.version>2.6.1</springfox-swagger.version> | |
71 | 72 | </properties> |
72 | 73 | |
73 | 74 | <modules> |
... | ... | @@ -301,70 +302,70 @@ |
301 | 302 | <dependencyManagement> |
302 | 303 | <dependencies> |
303 | 304 | <dependency> |
304 | - <groupId>org.thingsboard.server</groupId> | |
305 | + <groupId>org.thingsboard</groupId> | |
305 | 306 | <artifactId>extensions-api</artifactId> |
306 | 307 | <version>${project.version}</version> |
307 | 308 | </dependency> |
308 | 309 | <dependency> |
309 | - <groupId>org.thingsboard.server</groupId> | |
310 | + <groupId>org.thingsboard</groupId> | |
310 | 311 | <artifactId>extensions-core</artifactId> |
311 | 312 | <version>${project.version}</version> |
312 | 313 | </dependency> |
313 | 314 | <dependency> |
314 | - <groupId>org.thingsboard.server.extensions</groupId> | |
315 | + <groupId>org.thingsboard.extensions</groupId> | |
315 | 316 | <artifactId>extension-rabbitmq</artifactId> |
316 | 317 | <classifier>extension</classifier> |
317 | 318 | <version>${project.version}</version> |
318 | 319 | </dependency> |
319 | 320 | <dependency> |
320 | - <groupId>org.thingsboard.server.extensions</groupId> | |
321 | + <groupId>org.thingsboard.extensions</groupId> | |
321 | 322 | <artifactId>extension-rest-api-call</artifactId> |
322 | 323 | <classifier>extension</classifier> |
323 | 324 | <version>${project.version}</version> |
324 | 325 | </dependency> |
325 | 326 | <dependency> |
326 | - <groupId>org.thingsboard.server.extensions</groupId> | |
327 | + <groupId>org.thingsboard.extensions</groupId> | |
327 | 328 | <artifactId>extension-kafka</artifactId> |
328 | 329 | <classifier>extension</classifier> |
329 | 330 | <version>${project.version}</version> |
330 | 331 | </dependency> |
331 | 332 | <dependency> |
332 | - <groupId>org.thingsboard.server.common</groupId> | |
333 | + <groupId>org.thingsboard.common</groupId> | |
333 | 334 | <artifactId>data</artifactId> |
334 | 335 | <version>${project.version}</version> |
335 | 336 | </dependency> |
336 | 337 | <dependency> |
337 | - <groupId>org.thingsboard.server.common</groupId> | |
338 | + <groupId>org.thingsboard.common</groupId> | |
338 | 339 | <artifactId>message</artifactId> |
339 | 340 | <version>${project.version}</version> |
340 | 341 | </dependency> |
341 | 342 | <dependency> |
342 | - <groupId>org.thingsboard.server.common</groupId> | |
343 | + <groupId>org.thingsboard.common</groupId> | |
343 | 344 | <artifactId>transport</artifactId> |
344 | 345 | <version>${project.version}</version> |
345 | 346 | </dependency> |
346 | 347 | <dependency> |
347 | - <groupId>org.thingsboard.server.transport</groupId> | |
348 | + <groupId>org.thingsboard.transport</groupId> | |
348 | 349 | <artifactId>http</artifactId> |
349 | 350 | <version>${project.version}</version> |
350 | 351 | </dependency> |
351 | 352 | <dependency> |
352 | - <groupId>org.thingsboard.server.transport</groupId> | |
353 | + <groupId>org.thingsboard.transport</groupId> | |
353 | 354 | <artifactId>coap</artifactId> |
354 | 355 | <version>${project.version}</version> |
355 | 356 | </dependency> |
356 | 357 | <dependency> |
357 | - <groupId>org.thingsboard.server.transport</groupId> | |
358 | + <groupId>org.thingsboard.transport</groupId> | |
358 | 359 | <artifactId>mqtt</artifactId> |
359 | 360 | <version>${project.version}</version> |
360 | 361 | </dependency> |
361 | 362 | <dependency> |
362 | - <groupId>org.thingsboard.server</groupId> | |
363 | + <groupId>org.thingsboard</groupId> | |
363 | 364 | <artifactId>dao</artifactId> |
364 | 365 | <version>${project.version}</version> |
365 | 366 | </dependency> |
366 | 367 | <dependency> |
367 | - <groupId>org.thingsboard.server</groupId> | |
368 | + <groupId>org.thingsboard</groupId> | |
368 | 369 | <artifactId>dao</artifactId> |
369 | 370 | <version>${project.version}</version> |
370 | 371 | <type>test-jar</type> |
... | ... | @@ -672,6 +673,16 @@ |
672 | 673 | <artifactId>hazelcast</artifactId> |
673 | 674 | <version>${hazelcast.version}</version> |
674 | 675 | </dependency> |
676 | + <dependency> | |
677 | + <groupId>io.springfox</groupId> | |
678 | + <artifactId>springfox-swagger-ui</artifactId> | |
679 | + <version>${springfox-swagger.version}</version> | |
680 | + </dependency> | |
681 | + <dependency> | |
682 | + <groupId>io.springfox</groupId> | |
683 | + <artifactId>springfox-swagger2</artifactId> | |
684 | + <version>${springfox-swagger.version}</version> | |
685 | + </dependency> | |
675 | 686 | </dependencies> |
676 | 687 | </dependencyManagement> |
677 | 688 | ... | ... |
... | ... | @@ -21,9 +21,9 @@ |
21 | 21 | <parent> |
22 | 22 | <groupId>org.thingsboard</groupId> |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | - <artifactId>server</artifactId> | |
24 | + <artifactId>thingsboard</artifactId> | |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server</groupId> | |
26 | + <groupId>org.thingsboard</groupId> | |
27 | 27 | <artifactId>tools</artifactId> |
28 | 28 | <packaging>jar</packaging> |
29 | 29 | |
... | ... | @@ -37,7 +37,7 @@ |
37 | 37 | |
38 | 38 | <dependencies> |
39 | 39 | <dependency> |
40 | - <groupId>org.thingsboard.server.common</groupId> | |
40 | + <groupId>org.thingsboard.common</groupId> | |
41 | 41 | <artifactId>data</artifactId> |
42 | 42 | </dependency> |
43 | 43 | <dependency> | ... | ... |
... | ... | @@ -19,11 +19,11 @@ |
19 | 19 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
20 | 20 | <modelVersion>4.0.0</modelVersion> |
21 | 21 | <parent> |
22 | - <groupId>org.thingsboard.server</groupId> | |
22 | + <groupId>org.thingsboard</groupId> | |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | 24 | <artifactId>transport</artifactId> |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server.transport</groupId> | |
26 | + <groupId>org.thingsboard.transport</groupId> | |
27 | 27 | <artifactId>coap</artifactId> |
28 | 28 | <packaging>jar</packaging> |
29 | 29 | |
... | ... | @@ -37,7 +37,7 @@ |
37 | 37 | |
38 | 38 | <dependencies> |
39 | 39 | <dependency> |
40 | - <groupId>org.thingsboard.server.common</groupId> | |
40 | + <groupId>org.thingsboard.common</groupId> | |
41 | 41 | <artifactId>transport</artifactId> |
42 | 42 | </dependency> |
43 | 43 | <dependency> | ... | ... |
... | ... | @@ -19,11 +19,11 @@ |
19 | 19 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
20 | 20 | <modelVersion>4.0.0</modelVersion> |
21 | 21 | <parent> |
22 | - <groupId>org.thingsboard.server</groupId> | |
22 | + <groupId>org.thingsboard</groupId> | |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | 24 | <artifactId>transport</artifactId> |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server.transport</groupId> | |
26 | + <groupId>org.thingsboard.transport</groupId> | |
27 | 27 | <artifactId>http</artifactId> |
28 | 28 | <packaging>jar</packaging> |
29 | 29 | |
... | ... | @@ -37,7 +37,7 @@ |
37 | 37 | |
38 | 38 | <dependencies> |
39 | 39 | <dependency> |
40 | - <groupId>org.thingsboard.server.common</groupId> | |
40 | + <groupId>org.thingsboard.common</groupId> | |
41 | 41 | <artifactId>transport</artifactId> |
42 | 42 | </dependency> |
43 | 43 | <dependency> | ... | ... |
... | ... | @@ -19,11 +19,11 @@ |
19 | 19 | xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
20 | 20 | <modelVersion>4.0.0</modelVersion> |
21 | 21 | <parent> |
22 | - <groupId>org.thingsboard.server</groupId> | |
22 | + <groupId>org.thingsboard</groupId> | |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | 24 | <artifactId>transport</artifactId> |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server.transport</groupId> | |
26 | + <groupId>org.thingsboard.transport</groupId> | |
27 | 27 | <artifactId>mqtt</artifactId> |
28 | 28 | <packaging>jar</packaging> |
29 | 29 | |
... | ... | @@ -37,7 +37,7 @@ |
37 | 37 | |
38 | 38 | <dependencies> |
39 | 39 | <dependency> |
40 | - <groupId>org.thingsboard.server.common</groupId> | |
40 | + <groupId>org.thingsboard.common</groupId> | |
41 | 41 | <artifactId>transport</artifactId> |
42 | 42 | </dependency> |
43 | 43 | <dependency> | ... | ... |
... | ... | @@ -21,9 +21,9 @@ |
21 | 21 | <parent> |
22 | 22 | <groupId>org.thingsboard</groupId> |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | - <artifactId>server</artifactId> | |
24 | + <artifactId>thingsboard</artifactId> | |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server</groupId> | |
26 | + <groupId>org.thingsboard</groupId> | |
27 | 27 | <artifactId>transport</artifactId> |
28 | 28 | <packaging>pom</packaging> |
29 | 29 | ... | ... |
... | ... | @@ -21,9 +21,9 @@ |
21 | 21 | <parent> |
22 | 22 | <groupId>org.thingsboard</groupId> |
23 | 23 | <version>0.0.1-SNAPSHOT</version> |
24 | - <artifactId>server</artifactId> | |
24 | + <artifactId>thingsboard</artifactId> | |
25 | 25 | </parent> |
26 | - <groupId>org.thingsboard.server</groupId> | |
26 | + <groupId>org.thingsboard</groupId> | |
27 | 27 | <artifactId>ui</artifactId> |
28 | 28 | <packaging>jar</packaging> |
29 | 29 | ... | ... |