thingsboard-aplcache

Merge pull request #11 from thingsboard/feature/cloud Separate

12/14/2016 1:07:07 PM

Details

diff --git a/application/build.gradle b/application/build.gradle
index 8074ea1..ce8b10f 100644
--- a/application/build.gradle
+++ b/application/build.gradle
@@ -49,7 +49,7 @@ ospackage {
     from(mainJar) {
         // Strip the version from the jar filename
         rename { String fileName ->
-            fileName.replace("-${project.version}", "")
+            "${pkgName}.jar"
         }
         fileMode 0500
         into "bin"
diff --git a/application/pom.xml b/application/pom.xml
index 268f699..0c53121 100644
--- a/application/pom.xml
+++ b/application/pom.xml
@@ -379,6 +379,7 @@
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
                 <configuration>
+                    <classifier>boot</classifier>
                     <layout>ZIP</layout>
                     <executable>true</executable>
                     <excludeDevtools>true</excludeDevtools>
@@ -408,7 +409,7 @@
                     <args>
                         <arg>-PprojectBuildDir=${project.build.directory}</arg>
                         <arg>-PprojectVersion=${project.version}</arg>
-                        <arg>-PmainJar=${project.build.directory}/${project.build.finalName}.${project.packaging}</arg>
+                        <arg>-PmainJar=${project.build.directory}/${project.build.finalName}-boot.${project.packaging}</arg>
                         <arg>-PpkgName=${pkg.name}</arg>
                         <arg>-PpkgInstallFolder=${pkg.installFolder}</arg>
                         <arg>-PpkgLogFolder=${pkg.logFolder}</arg>
diff --git a/application/src/main/java/org/thingsboard/server/config/ThingsboardMessageConfiguration.java b/application/src/main/java/org/thingsboard/server/config/ThingsboardMessageConfiguration.java
index 99bec5b..f1ef6e1 100644
--- a/application/src/main/java/org/thingsboard/server/config/ThingsboardMessageConfiguration.java
+++ b/application/src/main/java/org/thingsboard/server/config/ThingsboardMessageConfiguration.java
@@ -18,12 +18,14 @@ package org.thingsboard.server.config;
 import org.springframework.context.MessageSource;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
 import org.springframework.context.support.ResourceBundleMessageSource;
 
 @Configuration
 public class ThingsboardMessageConfiguration {
 
     @Bean
+    @Primary
     public MessageSource messageSource() {
         ResourceBundleMessageSource messageSource = new ResourceBundleMessageSource();
         messageSource.setBasename("i18n/messages");
diff --git a/application/src/main/java/org/thingsboard/server/controller/WidgetsBundleController.java b/application/src/main/java/org/thingsboard/server/controller/WidgetsBundleController.java
index e06962b..6d0f110 100644
--- a/application/src/main/java/org/thingsboard/server/controller/WidgetsBundleController.java
+++ b/application/src/main/java/org/thingsboard/server/controller/WidgetsBundleController.java
@@ -33,7 +33,7 @@ import java.util.List;
 @RequestMapping("/api")
 public class WidgetsBundleController extends BaseController {
 
-    @PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN')")
+    @PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN', 'CUSTOMER_USER')")
     @RequestMapping(value = "/widgetsBundle/{widgetsBundleId}", method = RequestMethod.GET)
     @ResponseBody
     public WidgetsBundle getWidgetsBundleById(@PathVariable("widgetsBundleId") String strWidgetsBundleId) throws ThingsboardException {
@@ -76,7 +76,7 @@ public class WidgetsBundleController extends BaseController {
         }
     }
 
-    @PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN')")
+    @PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN', 'CUSTOMER_USER')")
     @RequestMapping(value = "/widgetsBundles", params = { "limit" }, method = RequestMethod.GET)
     @ResponseBody
     public TextPageData<WidgetsBundle> getWidgetsBundles(
@@ -97,7 +97,7 @@ public class WidgetsBundleController extends BaseController {
         }
     }
 
-    @PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN')")
+    @PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN', 'CUSTOMER_USER')")
     @RequestMapping(value = "/widgetsBundles", method = RequestMethod.GET)
     @ResponseBody
     public List<WidgetsBundle> getWidgetsBundles() throws ThingsboardException {
diff --git a/application/src/main/java/org/thingsboard/server/service/mail/DefaultMailService.java b/application/src/main/java/org/thingsboard/server/service/mail/DefaultMailService.java
index b11517c..70949d2 100644
--- a/application/src/main/java/org/thingsboard/server/service/mail/DefaultMailService.java
+++ b/application/src/main/java/org/thingsboard/server/service/mail/DefaultMailService.java
@@ -26,6 +26,7 @@ import javax.mail.internet.MimeMessage;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.velocity.app.VelocityEngine;
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.thingsboard.server.exception.ThingsboardErrorCode;
 import org.thingsboard.server.exception.ThingsboardException;
 import org.thingsboard.server.common.data.AdminSettings;
@@ -50,6 +51,7 @@ public class DefaultMailService implements MailService {
     private MessageSource messages;
     
     @Autowired
+    @Qualifier("velocityEngine")
     private VelocityEngine engine;
     
     private JavaMailSenderImpl mailSender;
@@ -101,6 +103,11 @@ public class DefaultMailService implements MailService {
             throw new IncorrectParameterException(String.format("Invalid smtp port value: %s", strPort));
         }
     }
+
+    @Override
+    public void sendEmail(String email, String subject, String message) throws ThingsboardException {
+        sendMail(mailSender, mailFrom, email, subject, message);
+    }
     
     @Override
     public void sendTestMail(JsonNode jsonConfig, String email) throws ThingsboardException {
diff --git a/application/src/main/java/org/thingsboard/server/service/mail/MailService.java b/application/src/main/java/org/thingsboard/server/service/mail/MailService.java
index e135253..9e44058 100644
--- a/application/src/main/java/org/thingsboard/server/service/mail/MailService.java
+++ b/application/src/main/java/org/thingsboard/server/service/mail/MailService.java
@@ -22,6 +22,8 @@ import com.fasterxml.jackson.databind.JsonNode;
 public interface MailService {
 
     void updateMailConfiguration();
+
+    void sendEmail(String email, String subject, String message) throws ThingsboardException;
     
     void sendTestMail(JsonNode config, String email) throws ThingsboardException;
     
diff --git a/dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java
index 17784d1..a3ab6bd 100644
--- a/dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java
+++ b/dao/src/main/java/org/thingsboard/server/dao/user/UserServiceImpl.java
@@ -156,7 +156,7 @@ public class UserServiceImpl implements UserService {
         UserCredentialsEntity userCredentialsEntity = userCredentialsDao.findByUserId(userEntity.getId());
         UserCredentials userCredentials = getData(userCredentialsEntity);
         if (!userCredentials.isEnabled()) {
-            throw new IncorrectParameterException("Unable to reset password for unactive user");
+            throw new IncorrectParameterException("Unable to reset password for inactive user");
         }
         userCredentials.setResetToken(RandomStringUtils.randomAlphanumeric(30));
         return saveUserCredentials(userCredentials);