further updates to implement more grpc calls
This commit is contained in:
parent
a593289f1b
commit
295fdddaf9
1 changed files with 36 additions and 7 deletions
|
@ -11,7 +11,9 @@ import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class CoreGrpcClient implements ICoreClient {
|
public class CoreGrpcClient implements ICoreClient {
|
||||||
|
@ -189,10 +191,16 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Session getSession(Integer sessionId) throws IOException {
|
public Session getSession(Integer sessionId) throws IOException {
|
||||||
|
logger.info("getting session: {}", sessionId);
|
||||||
CoreProto.GetSessionRequest request = CoreProto.GetSessionRequest.newBuilder().setId(sessionId).build();
|
CoreProto.GetSessionRequest request = CoreProto.GetSessionRequest.newBuilder().setId(sessionId).build();
|
||||||
CoreProto.GetSessionResponse response = blockingStub.getSession(request);
|
CoreProto.GetSessionResponse response = blockingStub.getSession(request);
|
||||||
Session session = new Session();
|
Session session = new Session();
|
||||||
for (CoreProto.Node protoNode : response.getSession().getNodesList()) {
|
for (CoreProto.Node protoNode : response.getSession().getNodesList()) {
|
||||||
|
if (CoreProto.NodeType.NODE_PEER_TO_PEER == protoNode.getType()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info("adding node: {}", protoNode);
|
||||||
CoreNode node = new CoreNode(protoNode.getId());
|
CoreNode node = new CoreNode(protoNode.getId());
|
||||||
node.setName(protoNode.getName());
|
node.setName(protoNode.getName());
|
||||||
node.setEmane(protoNode.getEmane());
|
node.setEmane(protoNode.getEmane());
|
||||||
|
@ -201,13 +209,14 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
node.setServices(new HashSet<>(protoNode.getServicesList()));
|
node.setServices(new HashSet<>(protoNode.getServicesList()));
|
||||||
node.getPosition().setX((double) protoNode.getPosition().getX());
|
node.getPosition().setX((double) protoNode.getPosition().getX());
|
||||||
node.getPosition().setY((double) protoNode.getPosition().getY());
|
node.getPosition().setY((double) protoNode.getPosition().getY());
|
||||||
node.getPosition().setZ((double) protoNode.getPosition().getZ());
|
node.setType(protoNode.getTypeValue());
|
||||||
node.setNodeType(NodeType.get(protoNode.getTypeValue()));
|
session.getNodes().add(node);
|
||||||
}
|
}
|
||||||
for (CoreProto.Link linkProto : response.getSession().getLinksList()) {
|
for (CoreProto.Link linkProto : response.getSession().getLinksList()) {
|
||||||
|
logger.info("adding link: {} - {}", linkProto.getNodeOne(), linkProto.getNodeTwo());
|
||||||
CoreLink link = new CoreLink();
|
CoreLink link = new CoreLink();
|
||||||
link.setNodeOne(linkProto.getNodeOne());
|
link.setNodeOne(linkProto.getNodeOne());
|
||||||
link.setNodeTwo(linkProto.getNodeOne());
|
link.setNodeTwo(linkProto.getNodeTwo());
|
||||||
CoreProto.Interface interfaceOneProto = linkProto.getInterfaceOne();
|
CoreProto.Interface interfaceOneProto = linkProto.getInterfaceOne();
|
||||||
CoreInterface interfaceOne = new CoreInterface();
|
CoreInterface interfaceOne = new CoreInterface();
|
||||||
interfaceOne.setId(interfaceOneProto.getId());
|
interfaceOne.setId(interfaceOneProto.getId());
|
||||||
|
@ -238,12 +247,15 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
options.setJitter((double) protoOptions.getJitter());
|
options.setJitter((double) protoOptions.getJitter());
|
||||||
options.setPer((double) protoOptions.getPer());
|
options.setPer((double) protoOptions.getPer());
|
||||||
options.setBurst((double) protoOptions.getBurst());
|
options.setBurst((double) protoOptions.getBurst());
|
||||||
|
if (!protoOptions.getKey().isEmpty()) {
|
||||||
options.setKey(Integer.parseInt(protoOptions.getKey()));
|
options.setKey(Integer.parseInt(protoOptions.getKey()));
|
||||||
|
}
|
||||||
options.setMburst((double) protoOptions.getMburst());
|
options.setMburst((double) protoOptions.getMburst());
|
||||||
options.setMer((double) protoOptions.getMer());
|
options.setMer((double) protoOptions.getMer());
|
||||||
options.setOpaque(protoOptions.getOpaque());
|
options.setOpaque(protoOptions.getOpaque());
|
||||||
options.setUnidirectional(protoOptions.getUnidirectional() ? 1 : 0);
|
options.setUnidirectional(protoOptions.getUnidirectional() ? 1 : 0);
|
||||||
link.setOptions(options);
|
link.setOptions(options);
|
||||||
|
session.getLinks().add(link);
|
||||||
}
|
}
|
||||||
session.setState(response.getSession().getStateValue());
|
session.setState(response.getSession().getStateValue());
|
||||||
return session;
|
return session;
|
||||||
|
@ -454,7 +466,11 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<String> getEmaneModels() throws IOException {
|
public List<String> getEmaneModels() throws IOException {
|
||||||
return null;
|
CoreProto.GetEmaneModelsRequest request = CoreProto.GetEmaneModelsRequest.newBuilder()
|
||||||
|
.setSession(sessionId)
|
||||||
|
.build();
|
||||||
|
CoreProto.GetEmaneModelsResponse response = blockingStub.getEmaneModels(request);
|
||||||
|
return response.getModelsList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -479,12 +495,25 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveSession(File file) throws IOException {
|
public void saveSession(File file) throws IOException {
|
||||||
|
CoreProto.SaveXmlRequest request = CoreProto.SaveXmlRequest.newBuilder()
|
||||||
|
.setSession(sessionId)
|
||||||
|
.build();
|
||||||
|
CoreProto.SaveXmlResponse response = blockingStub.saveXml(request);
|
||||||
|
try (PrintWriter writer = new PrintWriter(file)) {
|
||||||
|
writer.print(response.getData().toStringUtf8());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SessionOverview openSession(File file) throws IOException {
|
public SessionOverview openSession(File file) throws IOException {
|
||||||
return null;
|
ByteString data = ByteString.readFrom(new FileInputStream(file));
|
||||||
|
CoreProto.OpenXmlRequest request = CoreProto.OpenXmlRequest.newBuilder()
|
||||||
|
.setData(data)
|
||||||
|
.build();
|
||||||
|
CoreProto.OpenXmlResponse response = blockingStub.openXml(request);
|
||||||
|
SessionOverview sessionOverview = new SessionOverview();
|
||||||
|
sessionOverview.setId(response.getSession());
|
||||||
|
return sessionOverview;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Add table
Reference in a new issue