From 2ce15d5f6f58af25e3bf345f896aac1f9a3e802b Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Wed, 5 Jul 2017 14:12:20 +0300 Subject: [PATCH] Fix widgets bundle and widget type alias creation. --- .../server/dao/widget/WidgetTypeServiceImpl.java | 6 ++++-- .../server/dao/widget/WidgetsBundleServiceImpl.java | 5 ++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeServiceImpl.java index f533f715bd..b9cd303322 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeServiceImpl.java +++ b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetTypeServiceImpl.java @@ -124,8 +124,10 @@ public class WidgetTypeServiceImpl implements WidgetTypeService { if (widgetsBundle == null) { throw new DataValidationException("Widget type is referencing to non-existent widgets bundle!"); } - - String alias = widgetType.getName().toLowerCase().replaceAll("\\W+", "_"); + String alias = widgetType.getAlias(); + if (alias == null || alias.trim().isEmpty()) { + alias = widgetType.getName().toLowerCase().replaceAll("\\W+", "_"); + } String originalAlias = alias; int c = 1; WidgetType withSameAlias; diff --git a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleServiceImpl.java index de20ff0ada..7e413d8614 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleServiceImpl.java +++ b/dao/src/main/java/org/thingsboard/server/dao/widget/WidgetsBundleServiceImpl.java @@ -169,7 +169,10 @@ public class WidgetsBundleServiceImpl implements WidgetsBundleService { @Override protected void validateCreate(WidgetsBundle widgetsBundle) { - String alias = widgetsBundle.getTitle().toLowerCase().replaceAll("\\W+", "_"); + String alias = widgetsBundle.getAlias(); + if (alias == null || alias.trim().isEmpty()) { + alias = widgetsBundle.getTitle().toLowerCase().replaceAll("\\W+", "_"); + } String originalAlias = alias; int c = 1; WidgetsBundle withSameAlias;