diff --git a/application/pom.xml b/application/pom.xml
index d75ece112b..9d099acf55 100644
--- a/application/pom.xml
+++ b/application/pom.xml
@@ -21,9 +21,9 @@
org.thingsboard
0.0.1-SNAPSHOT
- server
+ thingsboard
- org.thingsboard.server
+ org.thingsboard
application
jar
@@ -47,35 +47,35 @@
linux-x86_64
- org.thingsboard.server
+ org.thingsboard
extensions-api
- org.thingsboard.server
+ org.thingsboard
extensions-core
- org.thingsboard.server.common
+ org.thingsboard.common
transport
- org.thingsboard.server.transport
+ org.thingsboard.transport
http
- org.thingsboard.server.transport
+ org.thingsboard.transport
coap
- org.thingsboard.server.transport
+ org.thingsboard.transport
mqtt
- org.thingsboard.server
+ org.thingsboard
dao
- org.thingsboard.server
+ org.thingsboard
dao
test-jar
test
@@ -97,7 +97,7 @@
test
- org.thingsboard.server
+ org.thingsboard
ui
${project.version}
runtime
@@ -212,6 +212,14 @@
io.grpc
grpc-stub
+
+ io.springfox
+ springfox-swagger-ui
+
+
+ io.springfox
+ springfox-swagger2
+
@@ -325,17 +333,17 @@
${project.build.directory}/extensions
- org.thingsboard.server.extensions
+ org.thingsboard.extensions
extension-rabbitmq
extension
- org.thingsboard.server.extensions
+ org.thingsboard.extensions
extension-rest-api-call
extension
- org.thingsboard.server.extensions
+ org.thingsboard.extensions
extension-kafka
extension
diff --git a/application/src/main/java/org/thingsboard/server/ThingsboardServerApplication.java b/application/src/main/java/org/thingsboard/server/ThingsboardServerApplication.java
index f082824ab7..9f1bce3a71 100644
--- a/application/src/main/java/org/thingsboard/server/ThingsboardServerApplication.java
+++ b/application/src/main/java/org/thingsboard/server/ThingsboardServerApplication.java
@@ -19,11 +19,13 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.Arrays;
@EnableAutoConfiguration
@SpringBootApplication
+@EnableSwagger2
@ComponentScan({"org.thingsboard.server"})
public class ThingsboardServerApplication {
diff --git a/application/src/main/java/org/thingsboard/server/config/SwaggerConfiguration.java b/application/src/main/java/org/thingsboard/server/config/SwaggerConfiguration.java
new file mode 100644
index 0000000000..59e97b751d
--- /dev/null
+++ b/application/src/main/java/org/thingsboard/server/config/SwaggerConfiguration.java
@@ -0,0 +1,78 @@
+/**
+ * Copyright © 2016 The Thingsboard Authors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.thingsboard.server.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.thingsboard.server.common.data.security.Authority;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.service.*;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spi.service.contexts.SecurityContext;
+import springfox.documentation.spring.web.plugins.Docket;
+
+import java.util.List;
+
+import static com.google.common.collect.Lists.newArrayList;
+
+@Configuration
+public class SwaggerConfiguration {
+
+ @Bean
+ public Docket thingsboardApi() {
+ return new Docket(DocumentationType.SWAGGER_2)
+ .groupName("thingsboard")
+ .apiInfo(apiInfo())
+ .select()
+ .paths(PathSelectors.any())
+ .build()
+ .securitySchemes(newArrayList(jwtTokenKey()))
+ .securityContexts(newArrayList(securityContext()));
+ }
+
+ private ApiKey jwtTokenKey() {
+ return new ApiKey("X-Authorization", "JWT token", "header");
+ }
+
+ private SecurityContext securityContext() {
+ return SecurityContext.builder()
+ .securityReferences(defaultAuth())
+ .forPaths(PathSelectors.regex("/api.*"))
+ .build();
+ }
+
+ List defaultAuth() {
+ AuthorizationScope[] authorizationScopes = new AuthorizationScope[3];
+ authorizationScopes[0] = new AuthorizationScope(Authority.SYS_ADMIN.name(), "System administrator");
+ authorizationScopes[1] = new AuthorizationScope(Authority.TENANT_ADMIN.name(), "Tenant administrator");
+ authorizationScopes[2] = new AuthorizationScope(Authority.CUSTOMER_USER.name(), "Customer");
+ return newArrayList(
+ new SecurityReference("X-Authorization", authorizationScopes));
+ }
+
+ private ApiInfo apiInfo() {
+ return new ApiInfoBuilder()
+ .title("Thingsboard REST API")
+ .description("For instructions how to authorize requests please visit Documentation page")
+ .contact(new Contact("Thingsboard team", "http://thingsboard.io", "info@thingsboard.io"))
+ .license("Apache License Version 2.0")
+ .licenseUrl("https://github.com/thingsboard/thingsboard/blob/master/LICENSE")
+ .version("2.0")
+ .build();
+ }
+
+}
diff --git a/application/src/main/java/org/thingsboard/server/config/ThingsboardSecurityConfiguration.java b/application/src/main/java/org/thingsboard/server/config/ThingsboardSecurityConfiguration.java
index ec6ca81367..7ae4604c22 100644
--- a/application/src/main/java/org/thingsboard/server/config/ThingsboardSecurityConfiguration.java
+++ b/application/src/main/java/org/thingsboard/server/config/ThingsboardSecurityConfiguration.java
@@ -53,10 +53,11 @@ public class ThingsboardSecurityConfiguration extends WebSecurityConfigurerAdapt
public static final String JWT_TOKEN_HEADER_PARAM = "X-Authorization";
public static final String JWT_TOKEN_QUERY_PARAM = "token";
+ public static final String WEBJARS_ENTRY_POINT = "/webjars/**";
public static final String DEVICE_API_ENTRY_POINT = "/api/v1/**";
public static final String FORM_BASED_LOGIN_ENTRY_POINT = "/api/auth/login";
public static final String TOKEN_REFRESH_ENTRY_POINT = "/api/auth/token";
- public static final String[] NON_TOKEN_BASED_AUTH_ENTRY_POINTS = new String[] {"/index.html", "/static/**", "/api/noauth/**"};
+ public static final String[] NON_TOKEN_BASED_AUTH_ENTRY_POINTS = new String[] {"/index.html", "/static/**", "/api/noauth/**", "/webjars/**"};
public static final String TOKEN_BASED_AUTH_ENTRY_POINT = "/api/**";
public static final String WS_TOKEN_BASED_AUTH_ENTRY_POINT = "/api/ws/**";
@@ -89,7 +90,7 @@ public class ThingsboardSecurityConfiguration extends WebSecurityConfigurerAdapt
@Bean
protected JwtTokenAuthenticationProcessingFilter buildJwtTokenAuthenticationProcessingFilter() throws Exception {
List pathsToSkip = new ArrayList(Arrays.asList(NON_TOKEN_BASED_AUTH_ENTRY_POINTS));
- pathsToSkip.addAll(Arrays.asList(WS_TOKEN_BASED_AUTH_ENTRY_POINT, TOKEN_REFRESH_ENTRY_POINT, FORM_BASED_LOGIN_ENTRY_POINT, DEVICE_API_ENTRY_POINT));
+ 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));
SkipPathRequestMatcher matcher = new SkipPathRequestMatcher(pathsToSkip, TOKEN_BASED_AUTH_ENTRY_POINT);
JwtTokenAuthenticationProcessingFilter filter
= new JwtTokenAuthenticationProcessingFilter(failureHandler, jwtHeaderTokenExtractor, matcher);
@@ -142,6 +143,7 @@ public class ThingsboardSecurityConfiguration extends WebSecurityConfigurerAdapt
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.authorizeRequests()
+ .antMatchers(WEBJARS_ENTRY_POINT).permitAll() // Webjars
.antMatchers(DEVICE_API_ENTRY_POINT).permitAll() // Device HTTP Transport API
.antMatchers(FORM_BASED_LOGIN_ENTRY_POINT).permitAll() // Login end-point
.antMatchers(TOKEN_REFRESH_ENTRY_POINT).permitAll() // Token refresh end-point
diff --git a/application/src/main/java/org/thingsboard/server/config/WebConfig.java b/application/src/main/java/org/thingsboard/server/config/WebConfig.java
index 3a2234a2fb..02d8cfc2a8 100644
--- a/application/src/main/java/org/thingsboard/server/config/WebConfig.java
+++ b/application/src/main/java/org/thingsboard/server/config/WebConfig.java
@@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class WebConfig {
- @RequestMapping(value = "/{path:^(?!api$)(?!static$)[^\\.]*}/**")
+ @RequestMapping(value = "/{path:^(?!api$)(?!static$)(?!webjars$)[^\\.]*}/**")
public String redirect() {
return "forward:/index.html";
}
diff --git a/application/src/main/java/org/thingsboard/server/controller/AdminController.java b/application/src/main/java/org/thingsboard/server/controller/AdminController.java
index cace783099..e97885d1c5 100644
--- a/application/src/main/java/org/thingsboard/server/controller/AdminController.java
+++ b/application/src/main/java/org/thingsboard/server/controller/AdminController.java
@@ -15,6 +15,7 @@
*/
package org.thingsboard.server.controller;
+import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -45,6 +46,18 @@ public class AdminController extends BaseController {
}
@PreAuthorize("hasAuthority('SYS_ADMIN')")
+ @ApiOperation(
+ value = "Save admin settings", notes = "Saves admin settings",
+ response = AdminSettings.class,
+ authorizations = {
+ @Authorization(value = "X-Authorization", scopes = {
+ @AuthorizationScope(scope = "SYS_ADMIN", description = "")
+ })})
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, response = AdminSettings.class, message = "Admin settings successfully updated"),
+ @ApiResponse(code = 400, message = "Invalid admin settings payload supplied"),
+ @ApiResponse(code = 404, message = "Admin settings not found")}
+ )
@RequestMapping(value = "/settings", method = RequestMethod.POST)
@ResponseBody
public AdminSettings saveAdminSettings(@RequestBody AdminSettings adminSettings) throws ThingsboardException {
diff --git a/application/src/main/java/org/thingsboard/server/controller/RuleController.java b/application/src/main/java/org/thingsboard/server/controller/RuleController.java
index 3c04619529..a21f5dcd29 100644
--- a/application/src/main/java/org/thingsboard/server/controller/RuleController.java
+++ b/application/src/main/java/org/thingsboard/server/controller/RuleController.java
@@ -15,6 +15,9 @@
*/
package org.thingsboard.server.controller;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
import org.springframework.http.HttpStatus;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -34,6 +37,12 @@ import java.util.List;
@RequestMapping("/api")
public class RuleController extends BaseController {
+ @ApiOperation(value = "getRuleById", nickname = "Get Rule By ID")
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Success", response = RuleMetaData.class),
+ @ApiResponse(code = 401, message = "Unauthorized"),
+ @ApiResponse(code = 403, message = "Forbidden"),
+ @ApiResponse(code = 404, message = "Not Found")})
@PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN')")
@RequestMapping(value = "/rule/{ruleId}", method = RequestMethod.GET)
@ResponseBody
diff --git a/common/data/pom.xml b/common/data/pom.xml
index b458ef1e37..08de1a46f8 100644
--- a/common/data/pom.xml
+++ b/common/data/pom.xml
@@ -19,11 +19,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- org.thingsboard.server
+ org.thingsboard
0.0.1-SNAPSHOT
common
- org.thingsboard.server.common
+ org.thingsboard.common
data
jar
diff --git a/common/message/pom.xml b/common/message/pom.xml
index be1492813a..5d433d1667 100644
--- a/common/message/pom.xml
+++ b/common/message/pom.xml
@@ -19,11 +19,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- org.thingsboard.server
+ org.thingsboard
0.0.1-SNAPSHOT
common
- org.thingsboard.server.common
+ org.thingsboard.common
message
jar
@@ -37,7 +37,7 @@
- org.thingsboard.server.common
+ org.thingsboard.common
data
diff --git a/common/pom.xml b/common/pom.xml
index 97ff8ab62b..7a21a46e28 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -21,9 +21,9 @@
org.thingsboard
0.0.1-SNAPSHOT
- server
+ thingsboard
- org.thingsboard.server
+ org.thingsboard
common
pom
diff --git a/common/transport/pom.xml b/common/transport/pom.xml
index e57d3d790a..198d1e7ef5 100644
--- a/common/transport/pom.xml
+++ b/common/transport/pom.xml
@@ -19,11 +19,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- org.thingsboard.server
+ org.thingsboard
0.0.1-SNAPSHOT
common
- org.thingsboard.server.common
+ org.thingsboard.common
transport
jar
@@ -37,11 +37,11 @@
- org.thingsboard.server.common
+ org.thingsboard.common
data
- org.thingsboard.server.common
+ org.thingsboard.common
message
diff --git a/dao/pom.xml b/dao/pom.xml
index f9f0d56454..2a2aa83783 100644
--- a/dao/pom.xml
+++ b/dao/pom.xml
@@ -21,9 +21,9 @@
org.thingsboard
0.0.1-SNAPSHOT
- server
+ thingsboard
- org.thingsboard.server
+ org.thingsboard
dao
jar
@@ -37,7 +37,7 @@
- org.thingsboard.server.common
+ org.thingsboard.common
data
diff --git a/extensions-api/pom.xml b/extensions-api/pom.xml
index 4af3de3372..c8b9ede80b 100644
--- a/extensions-api/pom.xml
+++ b/extensions-api/pom.xml
@@ -21,9 +21,9 @@
org.thingsboard
0.0.1-SNAPSHOT
- server
+ thingsboard
- org.thingsboard.server
+ org.thingsboard
extensions-api
jar
@@ -37,11 +37,11 @@
- org.thingsboard.server.common
+ org.thingsboard.common
data
- org.thingsboard.server.common
+ org.thingsboard.common
message
diff --git a/extensions-core/pom.xml b/extensions-core/pom.xml
index b2e2d183c0..61b2833391 100644
--- a/extensions-core/pom.xml
+++ b/extensions-core/pom.xml
@@ -21,9 +21,9 @@
org.thingsboard
0.0.1-SNAPSHOT
- server
+ thingsboard
- org.thingsboard.server
+ org.thingsboard
extensions-core
jar
@@ -37,7 +37,7 @@
- org.thingsboard.server
+ org.thingsboard
extensions-api
provided
diff --git a/extensions/extension-kafka/pom.xml b/extensions/extension-kafka/pom.xml
index 23a5e4bbbc..27132c2bd4 100644
--- a/extensions/extension-kafka/pom.xml
+++ b/extensions/extension-kafka/pom.xml
@@ -21,11 +21,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- org.thingsboard.server
+ org.thingsboard
0.0.1-SNAPSHOT
extensions
- org.thingsboard.server.extensions
+ org.thingsboard.extensions
extension-kafka
jar
@@ -49,12 +49,12 @@
provided
- org.thingsboard.server
+ org.thingsboard
extensions-api
provided
- org.thingsboard.server
+ org.thingsboard
extensions-core
provided
diff --git a/extensions/extension-rabbitmq/pom.xml b/extensions/extension-rabbitmq/pom.xml
index f2456c5c5e..4f8ea38c8d 100644
--- a/extensions/extension-rabbitmq/pom.xml
+++ b/extensions/extension-rabbitmq/pom.xml
@@ -19,11 +19,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- org.thingsboard.server
+ org.thingsboard
0.0.1-SNAPSHOT
extensions
- org.thingsboard.server.extensions
+ org.thingsboard.extensions
extension-rabbitmq
jar
@@ -41,12 +41,12 @@
amqp-client
- org.thingsboard.server
+ org.thingsboard
extensions-api
provided
- org.thingsboard.server
+ org.thingsboard
extensions-core
provided
diff --git a/extensions/extension-rest-api-call/pom.xml b/extensions/extension-rest-api-call/pom.xml
index 175d7362ea..0214197e5c 100644
--- a/extensions/extension-rest-api-call/pom.xml
+++ b/extensions/extension-rest-api-call/pom.xml
@@ -21,11 +21,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- org.thingsboard.server
+ org.thingsboard
0.0.1-SNAPSHOT
extensions
- org.thingsboard.server.extensions
+ org.thingsboard.extensions
extension-rest-api-call
jar
@@ -49,7 +49,7 @@
provided
- org.thingsboard.server
+ org.thingsboard
extensions-api
provided
@@ -59,7 +59,7 @@
provided
- org.thingsboard.server
+ org.thingsboard
extensions-core
provided
diff --git a/extensions/pom.xml b/extensions/pom.xml
index 8609ea7c23..1fcc5d973e 100644
--- a/extensions/pom.xml
+++ b/extensions/pom.xml
@@ -21,9 +21,9 @@
org.thingsboard
0.0.1-SNAPSHOT
- server
+ thingsboard
- org.thingsboard.server
+ org.thingsboard
extensions
pom
diff --git a/pom.xml b/pom.xml
index 488de00932..bd1faaea6b 100755
--- a/pom.xml
+++ b/pom.xml
@@ -68,6 +68,7 @@
3.6.1
2.19.1
3.0.2
+ 2.6.1
@@ -301,70 +302,70 @@
- org.thingsboard.server
+ org.thingsboard
extensions-api
${project.version}
- org.thingsboard.server
+ org.thingsboard
extensions-core
${project.version}
- org.thingsboard.server.extensions
+ org.thingsboard.extensions
extension-rabbitmq
extension
${project.version}
- org.thingsboard.server.extensions
+ org.thingsboard.extensions
extension-rest-api-call
extension
${project.version}
- org.thingsboard.server.extensions
+ org.thingsboard.extensions
extension-kafka
extension
${project.version}
- org.thingsboard.server.common
+ org.thingsboard.common
data
${project.version}
- org.thingsboard.server.common
+ org.thingsboard.common
message
${project.version}
- org.thingsboard.server.common
+ org.thingsboard.common
transport
${project.version}
- org.thingsboard.server.transport
+ org.thingsboard.transport
http
${project.version}
- org.thingsboard.server.transport
+ org.thingsboard.transport
coap
${project.version}
- org.thingsboard.server.transport
+ org.thingsboard.transport
mqtt
${project.version}
- org.thingsboard.server
+ org.thingsboard
dao
${project.version}
- org.thingsboard.server
+ org.thingsboard
dao
${project.version}
test-jar
@@ -672,6 +673,16 @@
hazelcast
${hazelcast.version}
+
+ io.springfox
+ springfox-swagger-ui
+ ${springfox-swagger.version}
+
+
+ io.springfox
+ springfox-swagger2
+ ${springfox-swagger.version}
+
diff --git a/tools/pom.xml b/tools/pom.xml
index f022ac50ef..0eb68df8da 100644
--- a/tools/pom.xml
+++ b/tools/pom.xml
@@ -21,9 +21,9 @@
org.thingsboard
0.0.1-SNAPSHOT
- server
+ thingsboard
- org.thingsboard.server
+ org.thingsboard
tools
jar
@@ -37,7 +37,7 @@
- org.thingsboard.server.common
+ org.thingsboard.common
data
diff --git a/transport/coap/pom.xml b/transport/coap/pom.xml
index 6ddf64bd9a..6634165a17 100644
--- a/transport/coap/pom.xml
+++ b/transport/coap/pom.xml
@@ -19,11 +19,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- org.thingsboard.server
+ org.thingsboard
0.0.1-SNAPSHOT
transport
- org.thingsboard.server.transport
+ org.thingsboard.transport
coap
jar
@@ -37,7 +37,7 @@
- org.thingsboard.server.common
+ org.thingsboard.common
transport
diff --git a/transport/http/pom.xml b/transport/http/pom.xml
index 665a152657..a13d26f36e 100644
--- a/transport/http/pom.xml
+++ b/transport/http/pom.xml
@@ -19,11 +19,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- org.thingsboard.server
+ org.thingsboard
0.0.1-SNAPSHOT
transport
- org.thingsboard.server.transport
+ org.thingsboard.transport
http
jar
@@ -37,7 +37,7 @@
- org.thingsboard.server.common
+ org.thingsboard.common
transport
diff --git a/transport/mqtt/pom.xml b/transport/mqtt/pom.xml
index 045bb1f3b9..3941544700 100644
--- a/transport/mqtt/pom.xml
+++ b/transport/mqtt/pom.xml
@@ -19,11 +19,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- org.thingsboard.server
+ org.thingsboard
0.0.1-SNAPSHOT
transport
- org.thingsboard.server.transport
+ org.thingsboard.transport
mqtt
jar
@@ -37,7 +37,7 @@
- org.thingsboard.server.common
+ org.thingsboard.common
transport
diff --git a/transport/pom.xml b/transport/pom.xml
index 4675cdf300..328ab6dbb3 100644
--- a/transport/pom.xml
+++ b/transport/pom.xml
@@ -21,9 +21,9 @@
org.thingsboard
0.0.1-SNAPSHOT
- server
+ thingsboard
- org.thingsboard.server
+ org.thingsboard
transport
pom
diff --git a/ui/pom.xml b/ui/pom.xml
index c9e4c686a6..e7911ff903 100644
--- a/ui/pom.xml
+++ b/ui/pom.xml
@@ -21,9 +21,9 @@
org.thingsboard
0.0.1-SNAPSHOT
- server
+ thingsboard
- org.thingsboard.server
+ org.thingsboard
ui
jar