Lwm2m: front: refactoring n number validators
This commit is contained in:
parent
e6a3ee2725
commit
e6d4e91e25
@ -20,6 +20,7 @@ import com.google.gson.JsonArray;
|
|||||||
import com.google.gson.JsonElement;
|
import com.google.gson.JsonElement;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.eclipse.leshan.core.Link;
|
||||||
import org.eclipse.leshan.core.model.ResourceModel;
|
import org.eclipse.leshan.core.model.ResourceModel;
|
||||||
import org.eclipse.leshan.core.node.LwM2mMultipleResource;
|
import org.eclipse.leshan.core.node.LwM2mMultipleResource;
|
||||||
import org.eclipse.leshan.core.node.LwM2mObject;
|
import org.eclipse.leshan.core.node.LwM2mObject;
|
||||||
@ -153,7 +154,7 @@ public class LwM2MTransportServiceImpl implements LwM2MTransportService {
|
|||||||
lwM2MClient.setLwM2MTransportServiceImpl(this);
|
lwM2MClient.setLwM2MTransportServiceImpl(this);
|
||||||
lwM2MClient.setSessionUuid(UUID.randomUUID());
|
lwM2MClient.setSessionUuid(UUID.randomUUID());
|
||||||
this.sentLogsToThingsboard(LOG_LW2M_INFO + ": Client Registered", registration);
|
this.sentLogsToThingsboard(LOG_LW2M_INFO + ": Client Registered", registration);
|
||||||
// this.setLwM2MClient(lwServer, registration, lwM2MClient);
|
// this.setLwM2mFromClientValue(lwServer, registration, lwM2MClient);
|
||||||
SessionInfoProto sessionInfo = this.getValidateSessionInfo(registration);
|
SessionInfoProto sessionInfo = this.getValidateSessionInfo(registration);
|
||||||
if (sessionInfo != null) {
|
if (sessionInfo != null) {
|
||||||
lwM2MClient.setDeviceUuid(new UUID(sessionInfo.getDeviceIdMSB(), sessionInfo.getDeviceIdLSB()));
|
lwM2MClient.setDeviceUuid(new UUID(sessionInfo.getDeviceIdMSB(), sessionInfo.getDeviceIdLSB()));
|
||||||
@ -164,6 +165,7 @@ public class LwM2MTransportServiceImpl implements LwM2MTransportService {
|
|||||||
transportService.process(sessionInfo, DefaultTransportService.getSessionEventMsg(SessionEvent.OPEN), null);
|
transportService.process(sessionInfo, DefaultTransportService.getSessionEventMsg(SessionEvent.OPEN), null);
|
||||||
transportService.process(sessionInfo, TransportProtos.SubscribeToAttributeUpdatesMsg.newBuilder().build(), null);
|
transportService.process(sessionInfo, TransportProtos.SubscribeToAttributeUpdatesMsg.newBuilder().build(), null);
|
||||||
this.sentLogsToThingsboard(LOG_LW2M_INFO + ": Client create after Registration", registration);
|
this.sentLogsToThingsboard(LOG_LW2M_INFO + ": Client create after Registration", registration);
|
||||||
|
this.putDelayedUpdateResourcesThingsboard(lwM2MClient);
|
||||||
} else {
|
} else {
|
||||||
log.error("Client: [{}] onRegistered [{}] name [{}] sessionInfo ", registration.getId(), registration.getEndpoint(), null);
|
log.error("Client: [{}] onRegistered [{}] name [{}] sessionInfo ", registration.getId(), registration.getEndpoint(), null);
|
||||||
}
|
}
|
||||||
@ -198,7 +200,6 @@ public class LwM2MTransportServiceImpl implements LwM2MTransportService {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param registration - Registration LwM2M Client
|
* @param registration - Registration LwM2M Client
|
||||||
* @param observations - All paths observations before unReg
|
* @param observations - All paths observations before unReg
|
||||||
@ -279,33 +280,33 @@ public class LwM2MTransportServiceImpl implements LwM2MTransportService {
|
|||||||
* @param registration - Registration LwM2M Client
|
* @param registration - Registration LwM2M Client
|
||||||
* @param lwM2MClient - object with All parameters off client
|
* @param lwM2MClient - object with All parameters off client
|
||||||
*/
|
*/
|
||||||
private void setLwM2MClient(LeshanServer lwServer, Registration registration, LwM2MClient lwM2MClient) {
|
private void setLwM2mFromClientValue(LeshanServer lwServer, Registration registration, LwM2MClient lwM2MClient) {
|
||||||
// Arrays.stream(registration.getObjectLinks()).forEach(url -> {
|
Arrays.stream(registration.getObjectLinks()).forEach(url -> {
|
||||||
// LwM2mPath pathIds = new LwM2mPath(url.getUrl());
|
LwM2mPath pathIds = new LwM2mPath(url.getUrl());
|
||||||
// if (pathIds.isObjectInstance() && !pathIds.isResource()) {
|
if (pathIds.isObjectInstance() && !pathIds.isResource()) {
|
||||||
// // #1
|
// #1
|
||||||
// lwM2MClient.getPendingRequests().add(url.getUrl());
|
lwM2MClient.getPendingRequests().add(url.getUrl());
|
||||||
// // #2
|
// #2
|
||||||
// lwM2MTransportRequest.sendAllRequest(lwServer, registration, url.getUrl(), GET_TYPE_OPER_READ, ContentFormat.TLV.getName(),
|
lwM2MTransportRequest.sendAllRequest(lwServer, registration, url.getUrl(), GET_TYPE_OPER_READ, ContentFormat.TLV.getName(),
|
||||||
// lwM2MClient, null, null, this.context.getCtxServer().getTimeout(), false);
|
lwM2MClient, null, null, this.context.getCtxServer().getTimeout(), false);
|
||||||
// }
|
}
|
||||||
// });
|
});
|
||||||
|
|
||||||
// // #1
|
// #1
|
||||||
// for (Link url : registration.getObjectLinks()) {
|
for (Link url : registration.getObjectLinks()) {
|
||||||
// LwM2mPath pathIds = new LwM2mPath(url.getUrl());
|
LwM2mPath pathIds = new LwM2mPath(url.getUrl());
|
||||||
// if (pathIds.isObjectInstance() && !pathIds.isResource()) {
|
if (pathIds.isObjectInstance() && !pathIds.isResource()) {
|
||||||
// lwM2MClient.getPendingRequests().add(url.getUrl());
|
lwM2MClient.getPendingRequests().add(url.getUrl());
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
// // #2
|
// #2
|
||||||
// for (Link url : registration.getObjectLinks()) {
|
for (Link url : registration.getObjectLinks()) {
|
||||||
// LwM2mPath pathIds = new LwM2mPath(url.getUrl());
|
LwM2mPath pathIds = new LwM2mPath(url.getUrl());
|
||||||
// if (pathIds.isObjectInstance() && !pathIds.isResource()) {
|
if (pathIds.isObjectInstance() && !pathIds.isResource()) {
|
||||||
// lwM2MTransportRequest.sendAllRequest(lwServer, registration, url.getUrl(), GET_TYPE_OPER_READ, ContentFormat.TLV.getName(),
|
lwM2MTransportRequest.sendAllRequest(lwServer, registration, url.getUrl(), GET_TYPE_OPER_READ, ContentFormat.TLV.getName(),
|
||||||
// lwM2MClient, null, null, this.context.getCtxServer().getTimeout(), false);
|
lwM2MClient, null, null, this.context.getCtxServer().getTimeout(), false);
|
||||||
// }
|
}
|
||||||
// }
|
}
|
||||||
|
|
||||||
// #1
|
// #1
|
||||||
Arrays.stream(registration.getObjectLinks()).forEach(url -> {
|
Arrays.stream(registration.getObjectLinks()).forEach(url -> {
|
||||||
|
|||||||
@ -93,7 +93,7 @@ public class LwM2MClient implements Cloneable {
|
|||||||
this.pendingRequests.remove(path);
|
this.pendingRequests.remove(path);
|
||||||
if (this.pendingRequests.size() == 0) {
|
if (this.pendingRequests.size() == 0) {
|
||||||
this.initValue();
|
this.initValue();
|
||||||
this.lwM2MTransportServiceImpl.putDelayedUpdateResourcesThingsboard(this);
|
// this.lwM2MTransportServiceImpl.putDelayedUpdateResourcesThingsboard(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -31,9 +31,7 @@
|
|||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
<mat-form-field class="mat-block">
|
<mat-form-field class="mat-block">
|
||||||
<mat-label>{{ 'device-profile.lwm2m.instances-input' | translate }}</mat-label>
|
<mat-label>{{ 'device-profile.lwm2m.instances-input' | translate }}</mat-label>
|
||||||
<input fxFlexFill matInput type="number"
|
<input fxFlexFill matInput type='text'
|
||||||
[min]="instanceIdValueMin"
|
|
||||||
[max]="instanceIdValueMax"
|
|
||||||
placeholder="{{'device-profile.lwm2m.instances-input-holder' | translate}}"
|
placeholder="{{'device-profile.lwm2m.instances-input-holder' | translate}}"
|
||||||
formControlName="instanceIdInput">
|
formControlName="instanceIdInput">
|
||||||
<button mat-icon-button matSuffix
|
<button mat-icon-button matSuffix
|
||||||
@ -41,18 +39,18 @@
|
|||||||
<mat-icon>add</mat-icon>
|
<mat-icon>add</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
<mat-error *ngIf="instancesListFormGroup.get('instanceIdInput').hasError('min')">
|
<mat-error *ngIf="instancesListFormGroup.get('instanceIdInput').hasError('min')">
|
||||||
{{ translate.get('device-profile.lwm2m.valid-id-instance-no-min', {
|
{{ translate.get('device-profile.lwm2m.valid-id-instance', {
|
||||||
instance: instanceId, min: instanceIdValueMin
|
count: 2, instance: instanceId, min: instanceIdValueMin
|
||||||
}) | async }}
|
}) | async }}
|
||||||
</mat-error>
|
</mat-error>
|
||||||
<mat-error *ngIf="instancesListFormGroup.get('instanceIdInput').hasError('max')">
|
<mat-error *ngIf="instancesListFormGroup.get('instanceIdInput').hasError('max')">
|
||||||
{{ translate.get('device-profile.lwm2m.valid-id-instance-no-max', {
|
{{ translate.get('device-profile.lwm2m.valid-id-instance', {
|
||||||
instance: instanceId, max: instanceIdValueMax
|
count: 1, instance: instanceId, max: instanceIdValueMax
|
||||||
}) | async }}
|
}) | async }}
|
||||||
</mat-error>
|
</mat-error>
|
||||||
<mat-error *ngIf="instancesListFormGroup.get('instanceIdInput').hasError('pattern')">
|
<mat-error *ngIf="instancesListFormGroup.get('instanceIdInput').hasError('pattern')">
|
||||||
{{ translate.get('device-profile.lwm2m.instances-input-holder', {
|
{{ translate.get('device-profile.lwm2m.valid-id-instance', {
|
||||||
instance: instanceId, max: instanceIdValueMax
|
count: 0, instance: instanceId, max: instanceIdValueMax
|
||||||
}) | async }}
|
}) | async }}
|
||||||
</mat-error>
|
</mat-error>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|||||||
@ -80,8 +80,8 @@ export class Lwm2mObjectAddInstancesListComponent implements ControlValueAccesso
|
|||||||
}
|
}
|
||||||
|
|
||||||
add = (): void => {
|
add = (): void => {
|
||||||
if (this.instancesListFormGroup.get('instanceIdInput').valid) {
|
if (this.instancesListFormGroup.get('instanceIdInput').valid && Number.isFinite(Number(this.instanceId))) {
|
||||||
this.instancesId.add(this.instanceId);
|
this.instancesId.add(Number(this.instanceId));
|
||||||
this.instancesListFormGroup.get('instanceIdInput').setValue(null);
|
this.instancesListFormGroup.get('instanceIdInput').setValue(null);
|
||||||
this.propagateChange(this.instancesId);
|
this.propagateChange(this.instancesId);
|
||||||
this.dirty = true;
|
this.dirty = true;
|
||||||
|
|||||||
@ -33,7 +33,7 @@ export const DEFAULT_BOOTSTRAP_SERVER_ACCOUNT_TIME_OUT = 0;
|
|||||||
export const LEN_MAX_PUBLIC_KEY_RPK = 182;
|
export const LEN_MAX_PUBLIC_KEY_RPK = 182;
|
||||||
export const LEN_MAX_PUBLIC_KEY_X509 = 3000;
|
export const LEN_MAX_PUBLIC_KEY_X509 = 3000;
|
||||||
export const KEY_REGEXP_HEX_DEC = /^[-+]?[0-9A-Fa-f]+\.?[0-9A-Fa-f]*?$/;
|
export const KEY_REGEXP_HEX_DEC = /^[-+]?[0-9A-Fa-f]+\.?[0-9A-Fa-f]*?$/;
|
||||||
export const KEY_REGEXP_NUMBER = /^\d*$/;
|
export const KEY_REGEXP_NUMBER = /^(\-?|\+?)\d*$/;
|
||||||
export const INSTANCES_ID_VALUE_MIN = 0;
|
export const INSTANCES_ID_VALUE_MIN = 0;
|
||||||
export const INSTANCES_ID_VALUE_MAX = 65535;
|
export const INSTANCES_ID_VALUE_MAX = 65535;
|
||||||
|
|
||||||
|
|||||||
@ -1102,6 +1102,7 @@
|
|||||||
"no-objects-matching": "No objects matching '{{object}}' were found.",
|
"no-objects-matching": "No objects matching '{{object}}' were found.",
|
||||||
"valid-id-instance-no-min": "Instance number '{{instance}}' no validated. Min value='{{min}}'",
|
"valid-id-instance-no-min": "Instance number '{{instance}}' no validated. Min value='{{min}}'",
|
||||||
"valid-id-instance-no-max": "Instance number '{{instance}}' no validated. Max value='{{max}}'",
|
"valid-id-instance-no-max": "Instance number '{{instance}}' no validated. Max value='{{max}}'",
|
||||||
|
"valid-id-instance": "Instance number '{{instance}}' no validated. { count, plural, 1 {Max value='{{max}}'} 2 {Min value='{{min}}'} other {Must be only number} }",
|
||||||
"model-tab": "LWM2M Model",
|
"model-tab": "LWM2M Model",
|
||||||
"add-instances-tip": "Add new instances",
|
"add-instances-tip": "Add new instances",
|
||||||
"instances-list": "Instances list",
|
"instances-list": "Instances list",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user