Browse Source

Merge pull request #11 from BohdanSmetanyuk/bug/similar_edges_in_db

fixed bug with saving similar edges in db
pull/2436/head
VoBa 6 years ago
committed by GitHub
parent
commit
138a0ba581
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 17
      dao/src/main/java/org/thingsboard/server/dao/edge/EdgeServiceImpl.java
  2. 4
      dao/src/main/resources/sql/schema-entities-hsql.sql
  3. 4
      dao/src/main/resources/sql/schema-entities.sql

17
dao/src/main/java/org/thingsboard/server/dao/edge/EdgeServiceImpl.java

@ -32,14 +32,12 @@ import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import org.thingsboard.server.common.data.Customer;
import org.thingsboard.server.common.data.Dashboard;
import org.thingsboard.server.common.data.DashboardInfo;
import org.thingsboard.server.common.data.DataConstants;
import org.thingsboard.server.common.data.Device;
import org.thingsboard.server.common.data.EntitySubtype;
import org.thingsboard.server.common.data.EntityType;
import org.thingsboard.server.common.data.EntityView;
import org.thingsboard.server.common.data.Event;
import org.thingsboard.server.common.data.ShortEdgeInfo;
import org.thingsboard.server.common.data.Tenant;
import org.thingsboard.server.common.data.alarm.Alarm;
import org.thingsboard.server.common.data.asset.Asset;
@ -47,13 +45,10 @@ import org.thingsboard.server.common.data.edge.Edge;
import org.thingsboard.server.common.data.edge.EdgeQueueEntityType;
import org.thingsboard.server.common.data.edge.EdgeQueueEntry;
import org.thingsboard.server.common.data.edge.EdgeSearchQuery;
import org.thingsboard.server.common.data.id.AssetId;
import org.thingsboard.server.common.data.id.CustomerId;
import org.thingsboard.server.common.data.id.DashboardId;
import org.thingsboard.server.common.data.id.DeviceId;
import org.thingsboard.server.common.data.id.EdgeId;
import org.thingsboard.server.common.data.id.EntityId;
import org.thingsboard.server.common.data.id.EntityViewId;
import org.thingsboard.server.common.data.id.RuleChainId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.page.TextPageData;
@ -730,6 +725,11 @@ public class EdgeServiceImpl extends AbstractEntityService implements EdgeServic
throw new DataValidationException("Edge with such name already exists!");
}
);
edgeDao.findByRoutingKey(edge.getTenantId().getId(), edge.getRoutingKey()).ifPresent(
d -> {
throw new DataValidationException("Edge with such routing_key already exists");
}
);
}
}
@ -743,6 +743,13 @@ public class EdgeServiceImpl extends AbstractEntityService implements EdgeServic
}
}
);
edgeDao.findByRoutingKey(edge.getTenantId().getId(), edge.getRoutingKey()).ifPresent(
e -> {
if (!e.getUuidId().equals(edge.getUuidId())) {
throw new DataValidationException("Edge with such routing_key already exists!");
}
}
);
}
}

4
dao/src/main/resources/sql/schema-entities-hsql.sql

@ -266,5 +266,7 @@ CREATE TABLE IF NOT EXISTS edge (
routing_key varchar(255),
secret varchar(255),
search_text varchar(255),
tenant_id varchar(31)
tenant_id varchar(31),
CONSTRAINT edge_name_unq_key UNIQUE (tenant_id, name),
CONSTRAINT edge_routing_key_unq_key UNIQUE (routing_key)
);

4
dao/src/main/resources/sql/schema-entities.sql

@ -266,7 +266,9 @@ CREATE TABLE IF NOT EXISTS edge (
routing_key varchar(255),
secret varchar(255),
search_text varchar(255),
tenant_id varchar(31)
tenant_id varchar(31),
CONSTRAINT edge_name_unq_key UNIQUE (tenant_id, name),
CONSTRAINT edge_routing_key_unq_key UNIQUE (routing_key)
);
CREATE OR REPLACE PROCEDURE cleanup_events_by_ttl(IN ttl bigint, IN debug_ttl bigint, INOUT deleted bigint)

Loading…
Cancel
Save