Lwm2m: back: add tenantId and repositoryTenant - test2
This commit is contained in:
parent
65f4ca5800
commit
447bf05b7b
@ -69,6 +69,18 @@ public class ResourceController extends BaseController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN')")
|
||||||
|
@RequestMapping(value = "/resource/{resourceType}", method = RequestMethod.GET)
|
||||||
|
@ResponseBody
|
||||||
|
public List<Resource> getResources(@RequestParam(required = false) boolean system,
|
||||||
|
@PathVariable("resourceType") ResourceType resourceType) throws ThingsboardException {
|
||||||
|
try {
|
||||||
|
return checkNotNull(resourceService.findResourcesByTenantIdResourceType(system ? TenantId.SYS_TENANT_ID : getTenantId(), resourceType));
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw handleException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN')")
|
@PreAuthorize("hasAnyAuthority('SYS_ADMIN', 'TENANT_ADMIN')")
|
||||||
@RequestMapping(value = "/resource/{resourceType}/{resourceId}", method = RequestMethod.DELETE)
|
@RequestMapping(value = "/resource/{resourceType}/{resourceId}", method = RequestMethod.DELETE)
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
|
|||||||
@ -373,9 +373,14 @@ public class DefaultTransportApiService implements TransportApiService {
|
|||||||
|
|
||||||
List<TransportProtos.ResourceMsg> resources;
|
List<TransportProtos.ResourceMsg> resources;
|
||||||
|
|
||||||
if (resourceType != null && resourceId != null) {
|
if (resourceType != null && resourceId != null && !resourceId.isEmpty()) {
|
||||||
resources = Collections.singletonList(toProto(
|
resources = Collections.singletonList(toProto(
|
||||||
resourceService.getResource(tenantId, ResourceType.valueOf(resourceType), resourceId)));
|
resourceService.getResource(tenantId, ResourceType.valueOf(resourceType), resourceId)));
|
||||||
|
} else if (resourceType != null && !resourceType.isEmpty()) {
|
||||||
|
resources = resourceService.findResourcesByTenantIdResourceType(tenantId, ResourceType.valueOf(resourceType))
|
||||||
|
.stream()
|
||||||
|
.map(this::toProto)
|
||||||
|
.collect(Collectors.toList());
|
||||||
} else {
|
} else {
|
||||||
resources = resourceService.findResourcesByTenantId(tenantId)
|
resources = resourceService.findResourcesByTenantId(tenantId)
|
||||||
.stream()
|
.stream()
|
||||||
|
|||||||
@ -29,6 +29,8 @@ public interface ResourceService {
|
|||||||
|
|
||||||
List<Resource> findResourcesByTenantId(TenantId tenantId);
|
List<Resource> findResourcesByTenantId(TenantId tenantId);
|
||||||
|
|
||||||
|
List<Resource> findResourcesByTenantIdResourceType(TenantId tenantId, ResourceType resourceType);
|
||||||
|
|
||||||
void deleteResource(TenantId tenantId, ResourceType resourceType, String resourceId);
|
void deleteResource(TenantId tenantId, ResourceType resourceType, String resourceId);
|
||||||
|
|
||||||
void deleteResourcesByTenantId(TenantId tenantId);
|
void deleteResourcesByTenantId(TenantId tenantId);
|
||||||
|
|||||||
@ -34,16 +34,25 @@ import com.google.gson.JsonElement;
|
|||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.eclipse.leshan.core.model.ObjectModel;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.thingsboard.server.common.transport.TransportContext;
|
import org.thingsboard.server.common.transport.TransportContext;
|
||||||
import org.thingsboard.server.common.transport.TransportService;
|
import org.thingsboard.server.common.transport.TransportService;
|
||||||
import org.thingsboard.server.common.transport.TransportServiceCallback;
|
import org.thingsboard.server.common.transport.TransportServiceCallback;
|
||||||
import org.thingsboard.server.common.transport.adaptor.AdaptorException;
|
import org.thingsboard.server.common.transport.adaptor.AdaptorException;
|
||||||
import org.thingsboard.server.common.transport.lwm2m.LwM2MTransportConfigServer;
|
import org.thingsboard.server.common.transport.lwm2m.LwM2MTransportConfigServer;
|
||||||
import org.thingsboard.server.gen.transport.TransportProtos;
|
import org.thingsboard.server.gen.transport.TransportProtos.GetResourcesRequestMsg;
|
||||||
|
import org.thingsboard.server.gen.transport.TransportProtos.GetResourcesResponseMsg;
|
||||||
|
import org.thingsboard.server.gen.transport.TransportProtos.PostAttributeMsg;
|
||||||
|
import org.thingsboard.server.gen.transport.TransportProtos.PostTelemetryMsg;
|
||||||
|
import org.thingsboard.server.gen.transport.TransportProtos.SessionInfoProto;
|
||||||
|
import org.thingsboard.server.gen.transport.TransportProtos.ValidateDeviceCredentialsResponseMsg;
|
||||||
import org.thingsboard.server.queue.util.TbLwM2mTransportComponent;
|
import org.thingsboard.server.queue.util.TbLwM2mTransportComponent;
|
||||||
import org.thingsboard.server.transport.lwm2m.server.adaptors.LwM2MJsonAdaptor;
|
import org.thingsboard.server.transport.lwm2m.server.adaptors.LwM2MJsonAdaptor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
import static org.thingsboard.server.transport.lwm2m.server.LwM2mTransportHandler.LOG_LW2M_TELEMETRY;
|
import static org.thingsboard.server.transport.lwm2m.server.LwM2mTransportHandler.LOG_LW2M_TELEMETRY;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@ -56,6 +65,8 @@ public class LwM2mTransportContextServer extends TransportContext {
|
|||||||
|
|
||||||
private final TransportService transportService;
|
private final TransportService transportService;
|
||||||
|
|
||||||
|
private List<ObjectModel> modelsValueServer;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private final LwM2MJsonAdaptor adaptor;
|
private final LwM2MJsonAdaptor adaptor;
|
||||||
|
|
||||||
@ -89,14 +100,14 @@ public class LwM2mTransportContextServer extends TransportContext {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sentParametersOnThingsboard(JsonElement msg, String topicName, TransportProtos.SessionInfoProto sessionInfo) {
|
public void sentParametersOnThingsboard(JsonElement msg, String topicName, SessionInfoProto sessionInfo) {
|
||||||
try {
|
try {
|
||||||
if (topicName.equals(LwM2mTransportHandler.DEVICE_ATTRIBUTES_TOPIC)) {
|
if (topicName.equals(LwM2mTransportHandler.DEVICE_ATTRIBUTES_TOPIC)) {
|
||||||
TransportProtos.PostAttributeMsg postAttributeMsg = adaptor.convertToPostAttributes(msg);
|
PostAttributeMsg postAttributeMsg = adaptor.convertToPostAttributes(msg);
|
||||||
TransportServiceCallback call = this.getPubAckCallbackSentAttrTelemetry(postAttributeMsg);
|
TransportServiceCallback call = this.getPubAckCallbackSentAttrTelemetry(postAttributeMsg);
|
||||||
transportService.process(sessionInfo, postAttributeMsg, this.getPubAckCallbackSentAttrTelemetry(call));
|
transportService.process(sessionInfo, postAttributeMsg, this.getPubAckCallbackSentAttrTelemetry(call));
|
||||||
} else if (topicName.equals(LwM2mTransportHandler.DEVICE_TELEMETRY_TOPIC)) {
|
} else if (topicName.equals(LwM2mTransportHandler.DEVICE_TELEMETRY_TOPIC)) {
|
||||||
TransportProtos.PostTelemetryMsg postTelemetryMsg = adaptor.convertToPostTelemetry(msg);
|
PostTelemetryMsg postTelemetryMsg = adaptor.convertToPostTelemetry(msg);
|
||||||
TransportServiceCallback call = this.getPubAckCallbackSentAttrTelemetry(postTelemetryMsg);
|
TransportServiceCallback call = this.getPubAckCallbackSentAttrTelemetry(postTelemetryMsg);
|
||||||
transportService.process(sessionInfo, postTelemetryMsg, this.getPubAckCallbackSentAttrTelemetry(call));
|
transportService.process(sessionInfo, postTelemetryMsg, this.getPubAckCallbackSentAttrTelemetry(call));
|
||||||
}
|
}
|
||||||
@ -115,8 +126,8 @@ public class LwM2mTransportContextServer extends TransportContext {
|
|||||||
/**
|
/**
|
||||||
* @return - sessionInfo after access connect client
|
* @return - sessionInfo after access connect client
|
||||||
*/
|
*/
|
||||||
public TransportProtos.SessionInfoProto getValidateSessionInfo(TransportProtos.ValidateDeviceCredentialsResponseMsg msg, long mostSignificantBits, long leastSignificantBits) {
|
public SessionInfoProto getValidateSessionInfo(ValidateDeviceCredentialsResponseMsg msg, long mostSignificantBits, long leastSignificantBits) {
|
||||||
return TransportProtos.SessionInfoProto.newBuilder()
|
return SessionInfoProto.newBuilder()
|
||||||
.setNodeId(this.getNodeId())
|
.setNodeId(this.getNodeId())
|
||||||
.setSessionIdMSB(mostSignificantBits)
|
.setSessionIdMSB(mostSignificantBits)
|
||||||
.setSessionIdLSB(leastSignificantBits)
|
.setSessionIdLSB(leastSignificantBits)
|
||||||
@ -131,4 +142,25 @@ public class LwM2mTransportContextServer extends TransportContext {
|
|||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ResourcesRequestMsg
|
||||||
|
*
|
||||||
|
* @param resourceType
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public GetResourcesResponseMsg getResourceTenant (UUID tenantId, String resourceType) {
|
||||||
|
|
||||||
|
GetResourcesResponseMsg responseMsg =
|
||||||
|
this.getTransportService()
|
||||||
|
.getResources(GetResourcesRequestMsg.newBuilder()
|
||||||
|
.setResourceType(resourceType)
|
||||||
|
.setTenantIdLSB(tenantId.getLeastSignificantBits())
|
||||||
|
.setTenantIdMSB(tenantId.getMostSignificantBits())
|
||||||
|
.build());
|
||||||
|
return responseMsg;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,6 +45,7 @@ import java.util.Arrays;
|
|||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
//@Component("LwM2MTransportHandler")
|
//@Component("LwM2MTransportHandler")
|
||||||
@ -188,7 +189,7 @@ public class LwM2mTransportHandler {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static LwM2mClientProfile getNewProfileParameters(JsonObject profilesConfigData, String tenantId) {
|
public static LwM2mClientProfile getNewProfileParameters(JsonObject profilesConfigData, UUID tenantId) {
|
||||||
LwM2mClientProfile lwM2MClientProfile = new LwM2mClientProfile();
|
LwM2mClientProfile lwM2MClientProfile = new LwM2mClientProfile();
|
||||||
lwM2MClientProfile.setTenantId(tenantId);
|
lwM2MClientProfile.setTenantId(tenantId);
|
||||||
lwM2MClientProfile.setPostClientLwM2mSettings(profilesConfigData.get(CLIENT_LWM2M_SETTINGS).getAsJsonObject());
|
lwM2MClientProfile.setPostClientLwM2mSettings(profilesConfigData.get(CLIENT_LWM2M_SETTINGS).getAsJsonObject());
|
||||||
@ -222,7 +223,7 @@ public class LwM2mTransportHandler {
|
|||||||
ObjectMapper mapper = new ObjectMapper();
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
String profileStr = mapper.writeValueAsString(profile);
|
String profileStr = mapper.writeValueAsString(profile);
|
||||||
JsonObject profileJson = (profileStr != null) ? validateJson(profileStr) : null;
|
JsonObject profileJson = (profileStr != null) ? validateJson(profileStr) : null;
|
||||||
return (getValidateCredentialsBodyFromThingsboard(profileJson)) ? LwM2mTransportHandler.getNewProfileParameters(profileJson, deviceProfile.getTenantId().getId().toString()) : null;
|
return (getValidateCredentialsBodyFromThingsboard(profileJson)) ? LwM2mTransportHandler.getNewProfileParameters(profileJson, deviceProfile.getTenantId().getId()) : null;
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error("", e);
|
log.error("", e);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,7 +47,6 @@ import org.eclipse.leshan.core.util.Hex;
|
|||||||
import org.eclipse.leshan.core.util.NamedThreadFactory;
|
import org.eclipse.leshan.core.util.NamedThreadFactory;
|
||||||
import org.eclipse.leshan.server.californium.LeshanServer;
|
import org.eclipse.leshan.server.californium.LeshanServer;
|
||||||
import org.eclipse.leshan.server.registration.Registration;
|
import org.eclipse.leshan.server.registration.Registration;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.thingsboard.server.queue.util.TbLwM2mTransportComponent;
|
import org.thingsboard.server.queue.util.TbLwM2mTransportComponent;
|
||||||
import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClient;
|
import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClient;
|
||||||
@ -88,13 +87,16 @@ public class LwM2mTransportRequest {
|
|||||||
|
|
||||||
private final LeshanServer leshanServer;
|
private final LeshanServer leshanServer;
|
||||||
|
|
||||||
@Autowired
|
// @Autowired
|
||||||
private LwM2mTransportServiceImpl serviceImpl;
|
// private LwM2mTransportServiceImpl serviceImpl;
|
||||||
|
|
||||||
public LwM2mTransportRequest(LwM2mTransportContextServer context, LwM2mClientContext lwM2mClientContext, LeshanServer leshanServer) {
|
private final LwM2mTransportServiceImpl serviceImpl;
|
||||||
|
|
||||||
|
public LwM2mTransportRequest(LwM2mTransportContextServer context, LwM2mClientContext lwM2mClientContext, LeshanServer leshanServer, LwM2mTransportServiceImpl serviceImpl) {
|
||||||
this.context = context;
|
this.context = context;
|
||||||
this.lwM2mClientContext = lwM2mClientContext;
|
this.lwM2mClientContext = lwM2mClientContext;
|
||||||
this.leshanServer = leshanServer;
|
this.leshanServer = leshanServer;
|
||||||
|
this.serviceImpl = serviceImpl;
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
|
|||||||
@ -30,6 +30,9 @@ import org.eclipse.leshan.server.security.SecurityChecker;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.thingsboard.server.common.data.id.TenantId;
|
||||||
|
import org.thingsboard.server.common.data.transport.resource.ResourceType;
|
||||||
|
import org.thingsboard.server.gen.transport.TransportProtos;
|
||||||
import org.thingsboard.server.queue.util.TbLwM2mTransportComponent;
|
import org.thingsboard.server.queue.util.TbLwM2mTransportComponent;
|
||||||
import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClientContext;
|
import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClientContext;
|
||||||
import org.thingsboard.server.transport.lwm2m.utils.LwM2mValueConverterImpl;
|
import org.thingsboard.server.transport.lwm2m.utils.LwM2mValueConverterImpl;
|
||||||
@ -98,6 +101,7 @@ public class LwM2mTransportServerConfiguration {
|
|||||||
builder.setCoapConfig(getCoapConfig(serverPortNoSec, serverSecurePort));
|
builder.setCoapConfig(getCoapConfig(serverPortNoSec, serverSecurePort));
|
||||||
|
|
||||||
/** Define model provider (Create Models )*/
|
/** Define model provider (Create Models )*/
|
||||||
|
TransportProtos.GetResourcesResponseMsg responseMsg= this.context.getResourceTenant(TenantId.SYS_TENANT_ID.getId(), ResourceType.LWM2M_MODEL.name());
|
||||||
// LwM2mModelProvider modelProvider = new VersionedModelProvider(this.context.getLwM2MTransportConfigServer().getModelsValueCommon());
|
// LwM2mModelProvider modelProvider = new VersionedModelProvider(this.context.getLwM2MTransportConfigServer().getModelsValueCommon());
|
||||||
LwM2mModelProvider modelProvider = new LwM2mVersionedModelProvider(this.context.getLwM2MTransportConfigServer().getModelsValueServer(), this.lwM2mClientContext);
|
LwM2mModelProvider modelProvider = new LwM2mVersionedModelProvider(this.context.getLwM2MTransportConfigServer().getModelsValueServer(), this.lwM2mClientContext);
|
||||||
builder.setObjectModelProvider(modelProvider);
|
builder.setObjectModelProvider(modelProvider);
|
||||||
|
|||||||
@ -1,3 +1,18 @@
|
|||||||
|
/**
|
||||||
|
* Copyright © 2016-2021 The Thingsboard Authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
package org.thingsboard.server.transport.lwm2m.server;
|
package org.thingsboard.server.transport.lwm2m.server;
|
||||||
|
|
||||||
import org.eclipse.leshan.core.model.LwM2mModel;
|
import org.eclipse.leshan.core.model.LwM2mModel;
|
||||||
@ -11,6 +26,7 @@ import org.thingsboard.server.transport.lwm2m.server.client.LwM2mClientContext;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.UUID;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
public class LwM2mVersionedModelProvider implements LwM2mModelProvider {
|
public class LwM2mVersionedModelProvider implements LwM2mModelProvider {
|
||||||
@ -57,9 +73,9 @@ public class LwM2mVersionedModelProvider implements LwM2mModelProvider {
|
|||||||
private class DynamicModel implements LwM2mModel {
|
private class DynamicModel implements LwM2mModel {
|
||||||
|
|
||||||
private final Registration registration;
|
private final Registration registration;
|
||||||
private final String tenantId;
|
private final UUID tenantId;
|
||||||
|
|
||||||
public DynamicModel(Registration registration, String tenantId) {
|
public DynamicModel(Registration registration, UUID tenantId) {
|
||||||
this.registration = registration;
|
this.registration = registration;
|
||||||
this.tenantId = tenantId;
|
this.tenantId = tenantId;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,7 +15,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.thingsboard.server.transport.lwm2m.server.client;
|
package org.thingsboard.server.transport.lwm2m.server.client;
|
||||||
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.eclipse.leshan.server.registration.Registration;
|
import org.eclipse.leshan.server.registration.Registration;
|
||||||
import org.eclipse.leshan.server.security.EditableSecurityStore;
|
import org.eclipse.leshan.server.security.EditableSecurityStore;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@ -105,6 +104,7 @@ public class LwM2mClientContextImpl implements LwM2mClientContext {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Add new LwM2MClient to session
|
* Add new LwM2MClient to session
|
||||||
|
*
|
||||||
* @param identity-
|
* @param identity-
|
||||||
* @return SecurityInfo. If error - SecurityInfoError
|
* @return SecurityInfo. If error - SecurityInfoError
|
||||||
* and log:
|
* and log:
|
||||||
@ -168,4 +168,5 @@ public class LwM2mClientContextImpl implements LwM2mClientContext {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,10 +20,12 @@ import com.google.gson.JsonArray;
|
|||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class LwM2mClientProfile {
|
public class LwM2mClientProfile {
|
||||||
|
|
||||||
private String tenantId;
|
private UUID tenantId;
|
||||||
/**
|
/**
|
||||||
* {"clientLwM2mSettings": {
|
* {"clientLwM2mSettings": {
|
||||||
* clientUpdateValueAfterConnect: false;
|
* clientUpdateValueAfterConnect: false;
|
||||||
|
|||||||
@ -47,7 +47,6 @@ import java.util.stream.Collectors;
|
|||||||
@ConditionalOnExpression("('${service.type:null}'=='tb-transport' && '${transport.lwm2m.enabled:false}'=='true') || '${service.type:null}'=='monolith' || '${service.type:null}'=='tb-core'")
|
@ConditionalOnExpression("('${service.type:null}'=='tb-transport' && '${transport.lwm2m.enabled:false}'=='true') || '${service.type:null}'=='monolith' || '${service.type:null}'=='tb-core'")
|
||||||
public class LwM2MTransportConfigServer {
|
public class LwM2MTransportConfigServer {
|
||||||
|
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private String MODEL_PATH_DEFAULT = "models";
|
private String MODEL_PATH_DEFAULT = "models";
|
||||||
|
|
||||||
@ -190,6 +189,8 @@ public class LwM2MTransportConfigServer {
|
|||||||
@Value("${transport.lwm2m.server.secure.alias:}")
|
@Value("${transport.lwm2m.server.secure.alias:}")
|
||||||
private String serverAlias;
|
private String serverAlias;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void init() {
|
public void init() {
|
||||||
modelsValueServer = ObjectLoader.loadDefault();
|
modelsValueServer = ObjectLoader.loadDefault();
|
||||||
@ -276,4 +277,5 @@ public class LwM2MTransportConfigServer {
|
|||||||
ResourceModel resource = this.getResourceModel(registration, pathIds);
|
ResourceModel resource = this.getResourceModel(registration, pathIds);
|
||||||
return (resource == null) ? ResourceModel.Operations.NONE : resource.operations;
|
return (resource == null) ? ResourceModel.Operations.NONE : resource.operations;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -65,6 +65,13 @@ public class BaseResourceService implements ResourceService {
|
|||||||
return resourceDao.findAllByTenantId(tenantId);
|
return resourceDao.findAllByTenantId(tenantId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Resource> findResourcesByTenantIdResourceType(TenantId tenantId, ResourceType resourceType) {
|
||||||
|
log.trace("Executing findByTenantId [{}]", tenantId);
|
||||||
|
validateId(tenantId, INCORRECT_TENANT_ID + tenantId);
|
||||||
|
return resourceDao.findAllByTenantIdResourceType(tenantId, resourceType);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteResourcesByTenantId(TenantId tenantId) {
|
public void deleteResourcesByTenantId(TenantId tenantId) {
|
||||||
log.trace("Executing deleteDevicesByTenantId, tenantId [{}]", tenantId);
|
log.trace("Executing deleteDevicesByTenantId, tenantId [{}]", tenantId);
|
||||||
|
|||||||
@ -31,5 +31,7 @@ public interface ResourceDao {
|
|||||||
|
|
||||||
List<Resource> findAllByTenantId(TenantId tenantId);
|
List<Resource> findAllByTenantId(TenantId tenantId);
|
||||||
|
|
||||||
|
List<Resource> findAllByTenantIdResourceType(TenantId tenantId, ResourceType resourceType);
|
||||||
|
|
||||||
void removeAllByTenantId(TenantId tenantId);
|
void removeAllByTenantId(TenantId tenantId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -70,6 +70,11 @@ public class ResourceDaoImpl implements ResourceDao {
|
|||||||
return DaoUtil.convertDataList(resourceRepository.findAllByTenantId(tenantId.getId()));
|
return DaoUtil.convertDataList(resourceRepository.findAllByTenantId(tenantId.getId()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Resource> findAllByTenantIdResourceType(TenantId tenantId, ResourceType resourceType) {
|
||||||
|
return DaoUtil.convertDataList(resourceRepository.findAllByTenantIdAndResourceType(tenantId.getId(), resourceType.name()));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removeAllByTenantId(TenantId tenantId) {
|
public void removeAllByTenantId(TenantId tenantId) {
|
||||||
resourceRepository.removeAllByTenantId(tenantId.getId());
|
resourceRepository.removeAllByTenantId(tenantId.getId());
|
||||||
|
|||||||
@ -16,7 +16,6 @@
|
|||||||
package org.thingsboard.server.dao.sql.resource;
|
package org.thingsboard.server.dao.sql.resource;
|
||||||
|
|
||||||
import org.springframework.data.repository.CrudRepository;
|
import org.springframework.data.repository.CrudRepository;
|
||||||
import org.thingsboard.server.common.data.id.TenantId;
|
|
||||||
import org.thingsboard.server.dao.model.sql.ResourceCompositeKey;
|
import org.thingsboard.server.dao.model.sql.ResourceCompositeKey;
|
||||||
import org.thingsboard.server.dao.model.sql.ResourceEntity;
|
import org.thingsboard.server.dao.model.sql.ResourceEntity;
|
||||||
|
|
||||||
@ -27,5 +26,7 @@ public interface ResourceRepository extends CrudRepository<ResourceEntity, Resou
|
|||||||
|
|
||||||
List<ResourceEntity> findAllByTenantId(UUID tenantId);
|
List<ResourceEntity> findAllByTenantId(UUID tenantId);
|
||||||
|
|
||||||
|
List<ResourceEntity> findAllByTenantIdAndResourceType(UUID tenantId, String resourceType);
|
||||||
|
|
||||||
void removeAllByTenantId(UUID tenantId);
|
void removeAllByTenantId(UUID tenantId);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user