fixed device bulk import with empty credentials
This commit is contained in:
parent
3a3771db64
commit
3430425086
@ -40,6 +40,7 @@ import org.thingsboard.server.common.data.device.profile.DisabledDeviceProfilePr
|
|||||||
import org.thingsboard.server.common.data.device.profile.Lwm2mDeviceProfileTransportConfiguration;
|
import org.thingsboard.server.common.data.device.profile.Lwm2mDeviceProfileTransportConfiguration;
|
||||||
import org.thingsboard.server.common.data.device.profile.lwm2m.OtherConfiguration;
|
import org.thingsboard.server.common.data.device.profile.lwm2m.OtherConfiguration;
|
||||||
import org.thingsboard.server.common.data.device.profile.lwm2m.TelemetryMappingConfiguration;
|
import org.thingsboard.server.common.data.device.profile.lwm2m.TelemetryMappingConfiguration;
|
||||||
|
import org.thingsboard.server.common.data.id.DeviceId;
|
||||||
import org.thingsboard.server.common.data.id.TenantId;
|
import org.thingsboard.server.common.data.id.TenantId;
|
||||||
import org.thingsboard.server.common.data.security.DeviceCredentials;
|
import org.thingsboard.server.common.data.security.DeviceCredentials;
|
||||||
import org.thingsboard.server.common.data.security.DeviceCredentialsType;
|
import org.thingsboard.server.common.data.security.DeviceCredentialsType;
|
||||||
@ -104,7 +105,7 @@ public class DeviceBulkImportService extends AbstractBulkImportService<Device> {
|
|||||||
protected Device saveEntity(SecurityUser user, Device entity, Map<BulkImportColumnType, String> fields) {
|
protected Device saveEntity(SecurityUser user, Device entity, Map<BulkImportColumnType, String> fields) {
|
||||||
DeviceCredentials deviceCredentials;
|
DeviceCredentials deviceCredentials;
|
||||||
try {
|
try {
|
||||||
deviceCredentials = createDeviceCredentials(fields);
|
deviceCredentials = createDeviceCredentials(entity.getTenantId(), entity.getId(), fields);
|
||||||
deviceCredentialsService.formatCredentials(deviceCredentials);
|
deviceCredentialsService.formatCredentials(deviceCredentials);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new DeviceCredentialsValidationException("Invalid device credentials: " + e.getMessage());
|
throw new DeviceCredentialsValidationException("Invalid device credentials: " + e.getMessage());
|
||||||
@ -136,7 +137,7 @@ public class DeviceBulkImportService extends AbstractBulkImportService<Device> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@SneakyThrows
|
@SneakyThrows
|
||||||
private DeviceCredentials createDeviceCredentials(Map<BulkImportColumnType, String> fields) {
|
private DeviceCredentials createDeviceCredentials(TenantId tenantId, DeviceId deviceId, Map<BulkImportColumnType, String> fields) {
|
||||||
DeviceCredentials credentials = new DeviceCredentials();
|
DeviceCredentials credentials = new DeviceCredentials();
|
||||||
if (fields.containsKey(BulkImportColumnType.LWM2M_CLIENT_ENDPOINT)) {
|
if (fields.containsKey(BulkImportColumnType.LWM2M_CLIENT_ENDPOINT)) {
|
||||||
credentials.setCredentialsType(DeviceCredentialsType.LWM2M_CREDENTIALS);
|
credentials.setCredentialsType(DeviceCredentialsType.LWM2M_CREDENTIALS);
|
||||||
@ -147,7 +148,9 @@ public class DeviceBulkImportService extends AbstractBulkImportService<Device> {
|
|||||||
} else if (CollectionUtils.containsAny(fields.keySet(), EnumSet.of(BulkImportColumnType.MQTT_CLIENT_ID, BulkImportColumnType.MQTT_USER_NAME, BulkImportColumnType.MQTT_PASSWORD))) {
|
} else if (CollectionUtils.containsAny(fields.keySet(), EnumSet.of(BulkImportColumnType.MQTT_CLIENT_ID, BulkImportColumnType.MQTT_USER_NAME, BulkImportColumnType.MQTT_PASSWORD))) {
|
||||||
credentials.setCredentialsType(DeviceCredentialsType.MQTT_BASIC);
|
credentials.setCredentialsType(DeviceCredentialsType.MQTT_BASIC);
|
||||||
setUpBasicMqttCredentials(fields, credentials);
|
setUpBasicMqttCredentials(fields, credentials);
|
||||||
} else {
|
} else if (deviceId != null && !fields.containsKey(BulkImportColumnType.ACCESS_TOKEN)) {
|
||||||
|
credentials = deviceCredentialsService.findDeviceCredentialsByDeviceId(tenantId, deviceId);
|
||||||
|
} else {
|
||||||
credentials.setCredentialsType(DeviceCredentialsType.ACCESS_TOKEN);
|
credentials.setCredentialsType(DeviceCredentialsType.ACCESS_TOKEN);
|
||||||
setUpAccessTokenCredentials(fields, credentials);
|
setUpAccessTokenCredentials(fields, credentials);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user