Search in sources :

Example 81 with Edge

use of org.thingsboard.server.common.data.edge.Edge in project thingsboard by thingsboard.

the class EdgeServiceImpl method assignEdgeToCustomer.

@Override
public Edge assignEdgeToCustomer(TenantId tenantId, EdgeId edgeId, CustomerId customerId) {
    log.trace("[{}] Executing assignEdgeToCustomer [{}][{}]", tenantId, edgeId, customerId);
    Edge edge = findEdgeById(tenantId, edgeId);
    edge.setCustomerId(customerId);
    return saveEdge(edge);
}
Also used : Edge(org.thingsboard.server.common.data.edge.Edge)

Example 82 with Edge

use of org.thingsboard.server.common.data.edge.Edge in project thingsboard by thingsboard.

the class DeviceServiceImpl method unassignDeviceFromEdge.

@Override
public Device unassignDeviceFromEdge(TenantId tenantId, DeviceId deviceId, EdgeId edgeId) {
    Device device = findDeviceById(tenantId, deviceId);
    Edge edge = edgeService.findEdgeById(tenantId, edgeId);
    if (edge == null) {
        throw new DataValidationException("Can't unassign device from non-existent edge!");
    }
    checkAssignedEntityViewsToEdge(tenantId, deviceId, edgeId);
    try {
        deleteRelation(tenantId, new EntityRelation(edgeId, deviceId, EntityRelation.CONTAINS_TYPE, RelationTypeGroup.EDGE));
    } catch (Exception e) {
        log.warn("[{}] Failed to delete device relation. Edge Id: [{}]", deviceId, edgeId);
        throw new RuntimeException(e);
    }
    return device;
}
Also used : EntityRelation(org.thingsboard.server.common.data.relation.EntityRelation) DataValidationException(org.thingsboard.server.dao.exception.DataValidationException) Device(org.thingsboard.server.common.data.Device) Edge(org.thingsboard.server.common.data.edge.Edge) ProvisionFailedException(org.thingsboard.server.dao.device.provision.ProvisionFailedException) ConstraintViolationException(org.hibernate.exception.ConstraintViolationException) DataValidationException(org.thingsboard.server.dao.exception.DataValidationException) ExecutionException(java.util.concurrent.ExecutionException)

Example 83 with Edge

use of org.thingsboard.server.common.data.edge.Edge in project thingsboard by thingsboard.

the class BaseDashboardServiceTest method testAssignDashboardToEdgeFromDifferentTenant.

@Test(expected = DataValidationException.class)
public void testAssignDashboardToEdgeFromDifferentTenant() {
    Dashboard dashboard = new Dashboard();
    dashboard.setTitle("My dashboard");
    dashboard.setTenantId(tenantId);
    dashboard = dashboardService.saveDashboard(dashboard);
    Tenant tenant = new Tenant();
    tenant.setTitle("Test different tenant [edge]");
    tenant = tenantService.saveTenant(tenant);
    Edge edge = new Edge();
    edge.setTenantId(tenant.getId());
    edge.setType("default");
    edge.setName("Test different edge");
    edge.setType("default");
    edge.setSecret(RandomStringUtils.randomAlphanumeric(20));
    edge.setRoutingKey(RandomStringUtils.randomAlphanumeric(20));
    edge = edgeService.saveEdge(edge);
    try {
        dashboardService.assignDashboardToEdge(tenantId, dashboard.getId(), edge.getId());
    } finally {
        dashboardService.deleteDashboard(tenantId, dashboard.getId());
        tenantService.deleteTenant(tenant.getId());
    }
}
Also used : Tenant(org.thingsboard.server.common.data.Tenant) Dashboard(org.thingsboard.server.common.data.Dashboard) Edge(org.thingsboard.server.common.data.edge.Edge) Test(org.junit.Test)

Example 84 with Edge

use of org.thingsboard.server.common.data.edge.Edge in project thingsboard by thingsboard.

the class AbstractServiceTest method constructEdge.

protected Edge constructEdge(TenantId tenantId, String name, String type) {
    Edge edge = new Edge();
    edge.setTenantId(tenantId);
    edge.setName(name);
    edge.setType(type);
    edge.setSecret(RandomStringUtils.randomAlphanumeric(20));
    edge.setRoutingKey(RandomStringUtils.randomAlphanumeric(20));
    return edge;
}
Also used : Edge(org.thingsboard.server.common.data.edge.Edge)

Example 85 with Edge

use of org.thingsboard.server.common.data.edge.Edge in project thingsboard by thingsboard.

the class BaseEdgeServiceTest method testSaveEdge.

@Test
public void testSaveEdge() {
    Edge edge = constructEdge("My edge", "default");
    Edge savedEdge = edgeService.saveEdge(edge);
    Assert.assertNotNull(savedEdge);
    Assert.assertNotNull(savedEdge.getId());
    Assert.assertTrue(savedEdge.getCreatedTime() > 0);
    Assert.assertEquals(edge.getTenantId(), savedEdge.getTenantId());
    Assert.assertNotNull(savedEdge.getCustomerId());
    Assert.assertEquals(NULL_UUID, savedEdge.getCustomerId().getId());
    Assert.assertEquals(edge.getName(), savedEdge.getName());
    savedEdge.setName("My new edge");
    edgeService.saveEdge(savedEdge);
    Edge foundEdge = edgeService.findEdgeById(tenantId, savedEdge.getId());
    Assert.assertEquals(foundEdge.getName(), savedEdge.getName());
    edgeService.deleteEdge(tenantId, savedEdge.getId());
}
Also used : Edge(org.thingsboard.server.common.data.edge.Edge) Test(org.junit.Test)

Aggregations

Edge (org.thingsboard.server.common.data.edge.Edge)98 Test (org.junit.Test)46 EdgeId (org.thingsboard.server.common.data.id.EdgeId)32 PageLink (org.thingsboard.server.common.data.page.PageLink)31 ArrayList (java.util.ArrayList)25 ThingsboardException (org.thingsboard.server.common.data.exception.ThingsboardException)25 ApiOperation (io.swagger.annotations.ApiOperation)23 PreAuthorize (org.springframework.security.access.prepost.PreAuthorize)23 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)23 ResponseBody (org.springframework.web.bind.annotation.ResponseBody)22 DataValidationException (org.thingsboard.server.dao.exception.DataValidationException)22 CustomerId (org.thingsboard.server.common.data.id.CustomerId)21 Customer (org.thingsboard.server.common.data.Customer)20 IncorrectParameterException (org.thingsboard.server.dao.exception.IncorrectParameterException)20 EntityRelation (org.thingsboard.server.common.data.relation.EntityRelation)16 TypeReference (com.fasterxml.jackson.core.type.TypeReference)15 TenantId (org.thingsboard.server.common.data.id.TenantId)14 Device (org.thingsboard.server.common.data.Device)13 Asset (org.thingsboard.server.common.data.asset.Asset)13 PageData (org.thingsboard.server.common.data.page.PageData)13