Browse Source

Merge branch 'master' of https://github.com/thingsboard/thingsboard into UITests_AssetsProfiles

pull/7934/head
Seraphym-Tuhai 3 years ago
parent
commit
74772dbe37
  1. 16
      application/src/main/java/org/thingsboard/server/service/stats/DefaultRuleEngineStatisticsService.java
  2. 4
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNode.java
  3. 2
      rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNode.java
  4. 2
      ui-ngx/src/app/modules/home/pages/admin/send-test-sms-dialog.component.html
  5. 2
      ui-ngx/src/app/modules/home/pages/security/authentication-dialog/sms-auth-dialog.component.html
  6. 2
      ui-ngx/src/app/shared/components/contact.component.html
  7. 4
      ui-ngx/src/app/shared/components/phone-input.component.html
  8. 3
      ui-ngx/src/app/shared/components/phone-input.component.ts

16
application/src/main/java/org/thingsboard/server/service/stats/DefaultRuleEngineStatisticsService.java

@ -78,8 +78,8 @@ public class DefaultRuleEngineStatisticsService implements RuleEngineStatisticsS
public void reportQueueStats(long ts, TbRuleEngineConsumerStats ruleEngineStats) {
String queueName = ruleEngineStats.getQueueName();
ruleEngineStats.getTenantStats().forEach((id, stats) -> {
TenantId tenantId = TenantId.fromUUID(id);
try {
TenantId tenantId = TenantId.fromUUID(id);
AssetId serviceAssetId = getServiceAssetId(tenantId, queueName);
if (stats.getTotalMsgCounter().get() > 0) {
List<TsKvEntry> tsList = stats.getCounters().entrySet().stream()
@ -89,19 +89,19 @@ public class DefaultRuleEngineStatisticsService implements RuleEngineStatisticsS
tsService.saveAndNotifyInternal(tenantId, serviceAssetId, tsList, CALLBACK);
}
}
} catch (DataValidationException e) {
if (!e.getMessage().equalsIgnoreCase("Asset is referencing to non-existent tenant!")) {
throw e;
} catch (Exception e) {
if (!"Asset is referencing to non-existent tenant!".equalsIgnoreCase(e.getMessage())) {
log.debug("[{}] Failed to store the statistics", id, e);
}
}
});
ruleEngineStats.getTenantExceptions().forEach((tenantId, e) -> {
TsKvEntry tsKv = new BasicTsKvEntry(e.getTs(), new JsonDataEntry("ruleEngineException", e.toJsonString()));
try {
TsKvEntry tsKv = new BasicTsKvEntry(e.getTs(), new JsonDataEntry("ruleEngineException", e.toJsonString()));
tsService.saveAndNotifyInternal(tenantId, getServiceAssetId(tenantId, queueName), Collections.singletonList(tsKv), CALLBACK);
} catch (DataValidationException e2) {
if (!e2.getMessage().equalsIgnoreCase("Asset is referencing to non-existent tenant!")) {
throw e2;
} catch (Exception e2) {
if (!"Asset is referencing to non-existent tenant!".equalsIgnoreCase(e2.getMessage())) {
log.debug("[{}] Failed to store the statistics", tenantId, e2);
}
}
});

4
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/metadata/TbFetchDeviceCredentialsNode.java

@ -47,9 +47,7 @@ import java.util.concurrent.ExecutionException;
"to the message data. If originator type is not <b>DEVICE</b> or rule node failed to get device credentials " +
"- send Message via <code>Failure</code> chain, otherwise <code>Success</code> chain is used.",
uiResources = {"static/rulenode/rulenode-core-config.js"},
configDirective = "tbEnrichmentNodeFetchDeviceCredentialsConfig",
icon = "functions"
)
configDirective = "tbEnrichmentNodeFetchDeviceCredentialsConfig")
public class TbFetchDeviceCredentialsNode implements TbNode {
private static final String CREDENTIALS = "credentials";

2
rule-engine/rule-engine-components/src/main/java/org/thingsboard/rule/engine/transform/TbSplitArrayMsgNode.java

@ -36,7 +36,7 @@ import java.util.concurrent.ExecutionException;
@Slf4j
@RuleNode(
type = ComponentType.EXTERNAL,
type = ComponentType.TRANSFORMATION,
name = "split array msg",
configClazz = EmptyNodeConfiguration.class,
nodeDescription = "Split array message into several msgs",

2
ui-ngx/src/app/modules/home/pages/admin/send-test-sms-dialog.component.html

@ -33,7 +33,7 @@
<tb-phone-input required
formControlName="numberTo"
[enableFlagsSelect]="false"
[label]="'admin.number-to'">
label="{{ 'admin.number-to' | translate }}">
</tb-phone-input>
<mat-form-field class="mat-block">
<mat-label translate>admin.sms-message</mat-label>

2
ui-ngx/src/app/modules/home/pages/security/authentication-dialog/sms-auth-dialog.component.html

@ -40,7 +40,7 @@
<tb-phone-input fxFlex
formControlName="phone"
[floatLabel]="'never'"
[placeholder]="'security.2fa.dialog.sms-step-label'">
placeholder="{{ 'security.2fa.dialog.sms-step-label' | translate }}">
</tb-phone-input>
<button mat-raised-button
type="submit"

2
ui-ngx/src/app/shared/components/contact.component.html

@ -56,7 +56,7 @@
<input matInput formControlName="address2">
</mat-form-field>
<tb-phone-input [required]="false"
[label]="'contact.phone'"
label="{{ 'contact.phone' | translate }}"
[enableFlagsSelect]="true"
formControlName="phone">
</tb-phone-input>

4
ui-ngx/src/app/shared/components/phone-input.component.html

@ -29,12 +29,12 @@
</mat-select>
</div>
<mat-form-field class="phone-input" [appearance]="appearance" [floatLabel]="floatLabel">
<mat-label>{{ label | translate }}</mat-label>
<mat-label>{{ label }}</mat-label>
<input
formControlName="phoneNumber"
type="tel"
matInput
placeholder="{{ placeholder | translate }}"
placeholder="{{ placeholder }}"
(focus)="focus()"
autocomplete="off"
[required]="required">

3
ui-ngx/src/app/shared/components/phone-input.component.ts

@ -75,7 +75,7 @@ export class PhoneInputComponent implements OnInit, ControlValueAccessor, Valida
placeholder;
@Input()
label = 'phone-input.phone-input-label';
label = this.translate.instant('phone-input.phone-input-label');
get showFlagSelect(): boolean {
return this.enableFlagsSelect && !this.isLegacy;
@ -274,6 +274,7 @@ export class PhoneInputComponent implements OnInit, ControlValueAccessor, Valida
if (phoneNumber.value === '+' || phoneNumber.value === this.countryCallingCode) {
this.propagateChange(null);
} else if (phoneNumber.valid) {
this.modelValue = phoneNumber.value;
if (parsedPhoneNumber) {
this.updateModelValueInFormat(parsedPhoneNumber);
}

Loading…
Cancel
Save