16 package org.openkilda.testing.service.database;
20 import com.google.common.collect.ImmutableMap;
21 import org.neo4j.driver.v1.Driver;
22 import org.neo4j.driver.v1.GraphDatabase;
23 import org.neo4j.driver.v1.Session;
24 import org.neo4j.driver.v1.StatementResult;
25 import org.springframework.beans.factory.DisposableBean;
26 import org.springframework.beans.factory.annotation.Value;
27 import org.springframework.stereotype.Component;
29 import java.util.HashMap;
37 neo = GraphDatabase.driver(neoUri);
54 String query =
"MATCH ()-[link:isl {src_port:$srcPort, dst_port:$dstPort, src_switch:$srcSwitch, " 55 +
"dst_switch:$dstSwitch}]->() SET link += {props}";
56 Map<String, Object> params = getParams(isl);
57 params.put(
"props", ImmutableMap.of(property,
value));
59 try (Session session = neo.session()) {
60 result = session.run(query, params);
62 return result.summary().counters().propertiesSet() > 0;
73 String query =
"MATCH ()-[link:isl {src_port:$srcPort, dst_port:$dstPort, src_switch:$srcSwitch, " 74 +
"dst_switch:$dstSwitch}]->() SET link.max_bandwidth=link.speed, link.available_bandwidth=link.speed";
75 Map<String, Object> params = getParams(isl);
77 try (Session session = neo.session()) {
78 result = session.run(query, params);
80 return result.summary().counters().propertiesSet() > 0;
83 private Map<String, Object> getParams(Isl isl) {
84 Map<String, Object> params =
new HashMap<>(4);
85 params.put(
"srcPort", isl.getSrcPort());
86 params.put(
"dstPort", isl.getDstPort());
87 params.put(
"srcSwitch", isl.getSrcSwitch().getDpId().toString());
88 params.put(
"dstSwitch", isl.getDstSwitch().getDpId().toString());
DatabaseNeoImpl(@Value("${neo.uri}") String neoUri)
boolean updateLinkProperty(Isl isl, String property, Object value)
boolean revertIslBandwidth(Isl isl)