catch grpc runtime exceptions and throw as expected ioexceptions
This commit is contained in:
parent
7da09a0dd9
commit
09a681dab6
1 changed files with 383 additions and 223 deletions
|
@ -7,6 +7,7 @@ import com.core.data.*;
|
||||||
import com.google.protobuf.ByteString;
|
import com.google.protobuf.ByteString;
|
||||||
import io.grpc.ManagedChannel;
|
import io.grpc.ManagedChannel;
|
||||||
import io.grpc.ManagedChannelBuilder;
|
import io.grpc.ManagedChannelBuilder;
|
||||||
|
import io.grpc.StatusRuntimeException;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
|
@ -189,105 +190,121 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
@Override
|
@Override
|
||||||
public SessionOverview createSession() throws IOException {
|
public SessionOverview createSession() throws IOException {
|
||||||
CoreProto.CreateSessionRequest request = CoreProto.CreateSessionRequest.newBuilder().build();
|
CoreProto.CreateSessionRequest request = CoreProto.CreateSessionRequest.newBuilder().build();
|
||||||
CoreProto.CreateSessionResponse response = blockingStub.createSession(request);
|
try {
|
||||||
SessionOverview overview = new SessionOverview();
|
CoreProto.CreateSessionResponse response = blockingStub.createSession(request);
|
||||||
overview.setId(response.getId());
|
SessionOverview overview = new SessionOverview();
|
||||||
overview.setState(response.getStateValue());
|
overview.setId(response.getId());
|
||||||
overview.setNodes(0);
|
overview.setState(response.getStateValue());
|
||||||
return overview;
|
overview.setNodes(0);
|
||||||
|
return overview;
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean deleteSession(Integer sessionId) throws IOException {
|
public boolean deleteSession(Integer sessionId) throws IOException {
|
||||||
CoreProto.DeleteSessionRequest request = CoreProto.DeleteSessionRequest.newBuilder().setId(sessionId).build();
|
CoreProto.DeleteSessionRequest request = CoreProto.DeleteSessionRequest.newBuilder().setId(sessionId).build();
|
||||||
return blockingStub.deleteSession(request).getResult();
|
try {
|
||||||
|
return blockingStub.deleteSession(request).getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SessionOverview> getSessions() throws IOException {
|
public List<SessionOverview> getSessions() throws IOException {
|
||||||
CoreProto.GetSessionsRequest request = CoreProto.GetSessionsRequest.newBuilder().build();
|
CoreProto.GetSessionsRequest request = CoreProto.GetSessionsRequest.newBuilder().build();
|
||||||
CoreProto.GetSessionsResponse response = blockingStub.getSessions(request);
|
try {
|
||||||
List<SessionOverview> sessions = new ArrayList<>();
|
CoreProto.GetSessionsResponse response = blockingStub.getSessions(request);
|
||||||
for (CoreProto.SessionSummary summary : response.getSessionsList()) {
|
List<SessionOverview> sessions = new ArrayList<>();
|
||||||
SessionOverview overview = new SessionOverview();
|
for (CoreProto.SessionSummary summary : response.getSessionsList()) {
|
||||||
overview.setId(summary.getId());
|
SessionOverview overview = new SessionOverview();
|
||||||
overview.setNodes(summary.getNodes());
|
overview.setId(summary.getId());
|
||||||
overview.setState(summary.getStateValue());
|
overview.setNodes(summary.getNodes());
|
||||||
sessions.add(overview);
|
overview.setState(summary.getStateValue());
|
||||||
|
sessions.add(overview);
|
||||||
|
}
|
||||||
|
return sessions;
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
}
|
}
|
||||||
return sessions;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Session getSession(Integer sessionId) throws IOException {
|
public Session getSession(Integer sessionId) throws IOException {
|
||||||
logger.info("getting session: {}", sessionId);
|
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);
|
try {
|
||||||
Session session = new Session();
|
CoreProto.GetSessionResponse response = blockingStub.getSession(request);
|
||||||
for (CoreProto.Node protoNode : response.getSession().getNodesList()) {
|
Session session = new Session();
|
||||||
if (CoreProto.NodeType.NODE_PEER_TO_PEER == protoNode.getType()) {
|
for (CoreProto.Node protoNode : response.getSession().getNodesList()) {
|
||||||
continue;
|
if (CoreProto.NodeType.NODE_PEER_TO_PEER == protoNode.getType()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.info("adding node: {}", protoNode);
|
||||||
|
CoreNode node = new CoreNode(protoNode.getId());
|
||||||
|
node.setName(protoNode.getName());
|
||||||
|
node.setEmane(protoNode.getEmane());
|
||||||
|
node.setIcon(protoNode.getIcon());
|
||||||
|
node.setModel(protoNode.getModel());
|
||||||
|
node.setServices(new HashSet<>(protoNode.getServicesList()));
|
||||||
|
node.getPosition().setX((double) protoNode.getPosition().getX());
|
||||||
|
node.getPosition().setY((double) protoNode.getPosition().getY());
|
||||||
|
node.setType(protoNode.getTypeValue());
|
||||||
|
session.getNodes().add(node);
|
||||||
}
|
}
|
||||||
|
for (CoreProto.Link linkProto : response.getSession().getLinksList()) {
|
||||||
|
logger.info("adding link: {} - {}", linkProto.getNodeOne(), linkProto.getNodeTwo());
|
||||||
|
CoreLink link = new CoreLink();
|
||||||
|
link.setNodeOne(linkProto.getNodeOne());
|
||||||
|
link.setNodeTwo(linkProto.getNodeTwo());
|
||||||
|
CoreProto.Interface interfaceOneProto = linkProto.getInterfaceOne();
|
||||||
|
CoreInterface interfaceOne = new CoreInterface();
|
||||||
|
interfaceOne.setId(interfaceOneProto.getId());
|
||||||
|
interfaceOne.setName(interfaceOneProto.getName());
|
||||||
|
interfaceOne.setMac(interfaceOneProto.getMac());
|
||||||
|
interfaceOne.setIp4(interfaceOneProto.getIp4());
|
||||||
|
interfaceOne.setIp4Mask(interfaceOneProto.getIp4Mask());
|
||||||
|
interfaceOne.setIp6(interfaceOneProto.getIp6());
|
||||||
|
interfaceOne.setIp6Mask(Integer.toString(interfaceOneProto.getIp6Mask()));
|
||||||
|
link.setInterfaceOne(interfaceOne);
|
||||||
|
|
||||||
logger.info("adding node: {}", protoNode);
|
CoreProto.Interface interfaceTwoProto = linkProto.getInterfaceTwo();
|
||||||
CoreNode node = new CoreNode(protoNode.getId());
|
CoreInterface interfaceTwo = new CoreInterface();
|
||||||
node.setName(protoNode.getName());
|
interfaceTwo.setId(interfaceTwoProto.getId());
|
||||||
node.setEmane(protoNode.getEmane());
|
interfaceTwo.setName(interfaceTwoProto.getName());
|
||||||
node.setIcon(protoNode.getIcon());
|
interfaceTwo.setMac(interfaceTwoProto.getMac());
|
||||||
node.setModel(protoNode.getModel());
|
interfaceTwo.setIp4(interfaceTwoProto.getIp4());
|
||||||
node.setServices(new HashSet<>(protoNode.getServicesList()));
|
interfaceTwo.setIp4Mask(interfaceTwoProto.getIp4Mask());
|
||||||
node.getPosition().setX((double) protoNode.getPosition().getX());
|
interfaceTwo.setIp6(interfaceTwoProto.getIp6());
|
||||||
node.getPosition().setY((double) protoNode.getPosition().getY());
|
interfaceTwo.setIp6Mask(Integer.toString(interfaceTwoProto.getIp6Mask()));
|
||||||
node.setType(protoNode.getTypeValue());
|
link.setInterfaceTwo(interfaceTwo);
|
||||||
session.getNodes().add(node);
|
|
||||||
}
|
|
||||||
for (CoreProto.Link linkProto : response.getSession().getLinksList()) {
|
|
||||||
logger.info("adding link: {} - {}", linkProto.getNodeOne(), linkProto.getNodeTwo());
|
|
||||||
CoreLink link = new CoreLink();
|
|
||||||
link.setNodeOne(linkProto.getNodeOne());
|
|
||||||
link.setNodeTwo(linkProto.getNodeTwo());
|
|
||||||
CoreProto.Interface interfaceOneProto = linkProto.getInterfaceOne();
|
|
||||||
CoreInterface interfaceOne = new CoreInterface();
|
|
||||||
interfaceOne.setId(interfaceOneProto.getId());
|
|
||||||
interfaceOne.setName(interfaceOneProto.getName());
|
|
||||||
interfaceOne.setMac(interfaceOneProto.getMac());
|
|
||||||
interfaceOne.setIp4(interfaceOneProto.getIp4());
|
|
||||||
interfaceOne.setIp4Mask(interfaceOneProto.getIp4Mask());
|
|
||||||
interfaceOne.setIp6(interfaceOneProto.getIp6());
|
|
||||||
interfaceOne.setIp6Mask(Integer.toString(interfaceOneProto.getIp6Mask()));
|
|
||||||
link.setInterfaceOne(interfaceOne);
|
|
||||||
|
|
||||||
CoreProto.Interface interfaceTwoProto = linkProto.getInterfaceTwo();
|
CoreLinkOptions options = new CoreLinkOptions();
|
||||||
CoreInterface interfaceTwo = new CoreInterface();
|
CoreProto.LinkOptions protoOptions = linkProto.getOptions();
|
||||||
interfaceTwo.setId(interfaceTwoProto.getId());
|
options.setBandwidth((double) protoOptions.getBandwidth());
|
||||||
interfaceTwo.setName(interfaceTwoProto.getName());
|
options.setDelay((double) protoOptions.getDelay());
|
||||||
interfaceTwo.setMac(interfaceTwoProto.getMac());
|
options.setDup((double) protoOptions.getDup());
|
||||||
interfaceTwo.setIp4(interfaceTwoProto.getIp4());
|
options.setJitter((double) protoOptions.getJitter());
|
||||||
interfaceTwo.setIp4Mask(interfaceTwoProto.getIp4Mask());
|
options.setPer((double) protoOptions.getPer());
|
||||||
interfaceTwo.setIp6(interfaceTwoProto.getIp6());
|
options.setBurst((double) protoOptions.getBurst());
|
||||||
interfaceTwo.setIp6Mask(Integer.toString(interfaceTwoProto.getIp6Mask()));
|
if (!protoOptions.getKey().isEmpty()) {
|
||||||
link.setInterfaceTwo(interfaceTwo);
|
options.setKey(Integer.parseInt(protoOptions.getKey()));
|
||||||
|
}
|
||||||
CoreLinkOptions options = new CoreLinkOptions();
|
options.setMburst((double) protoOptions.getMburst());
|
||||||
CoreProto.LinkOptions protoOptions = linkProto.getOptions();
|
options.setMer((double) protoOptions.getMer());
|
||||||
options.setBandwidth((double) protoOptions.getBandwidth());
|
options.setOpaque(protoOptions.getOpaque());
|
||||||
options.setDelay((double) protoOptions.getDelay());
|
options.setUnidirectional(protoOptions.getUnidirectional() ? 1 : 0);
|
||||||
options.setDup((double) protoOptions.getDup());
|
link.setOptions(options);
|
||||||
options.setJitter((double) protoOptions.getJitter());
|
session.getLinks().add(link);
|
||||||
options.setPer((double) protoOptions.getPer());
|
|
||||||
options.setBurst((double) protoOptions.getBurst());
|
|
||||||
if (!protoOptions.getKey().isEmpty()) {
|
|
||||||
options.setKey(Integer.parseInt(protoOptions.getKey()));
|
|
||||||
}
|
}
|
||||||
options.setMburst((double) protoOptions.getMburst());
|
session.setState(response.getSession().getStateValue());
|
||||||
options.setMer((double) protoOptions.getMer());
|
return session;
|
||||||
options.setOpaque(protoOptions.getOpaque());
|
} catch (StatusRuntimeException ex) {
|
||||||
options.setUnidirectional(protoOptions.getUnidirectional() ? 1 : 0);
|
throw new IOException(ex);
|
||||||
link.setOptions(options);
|
|
||||||
session.getLinks().add(link);
|
|
||||||
}
|
}
|
||||||
session.setState(response.getSession().getStateValue());
|
|
||||||
return session;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -340,31 +357,43 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setId(sessionId)
|
.setId(sessionId)
|
||||||
.setStateValue(state.getValue())
|
.setStateValue(state.getValue())
|
||||||
.build();
|
.build();
|
||||||
CoreProto.SetSessionStateResponse response = blockingStub.setSessionState(request);
|
try {
|
||||||
return response.getResult();
|
CoreProto.SetSessionStateResponse response = blockingStub.setSessionState(request);
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, List<String>> getServices() throws IOException {
|
public Map<String, List<String>> getServices() throws IOException {
|
||||||
CoreProto.GetServicesRequest request = CoreProto.GetServicesRequest.newBuilder().build();
|
CoreProto.GetServicesRequest request = CoreProto.GetServicesRequest.newBuilder().build();
|
||||||
CoreProto.GetServicesResponse response = blockingStub.getServices(request);
|
try {
|
||||||
Map<String, List<String>> servicesMap = new HashMap<>();
|
CoreProto.GetServicesResponse response = blockingStub.getServices(request);
|
||||||
for (CoreProto.Service protoService : response.getServicesList()) {
|
Map<String, List<String>> servicesMap = new HashMap<>();
|
||||||
List<String> services = servicesMap.computeIfAbsent(protoService.getGroup(), x -> new ArrayList<>());
|
for (CoreProto.Service protoService : response.getServicesList()) {
|
||||||
services.add(protoService.getName());
|
List<String> services = servicesMap.computeIfAbsent(protoService.getGroup(), x -> new ArrayList<>());
|
||||||
|
services.add(protoService.getName());
|
||||||
|
}
|
||||||
|
return servicesMap;
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
}
|
}
|
||||||
return servicesMap;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, List<String>> getDefaultServices() throws IOException {
|
public Map<String, List<String>> getDefaultServices() throws IOException {
|
||||||
CoreProto.GetServiceDefaultsRequest request = CoreProto.GetServiceDefaultsRequest.newBuilder().build();
|
CoreProto.GetServiceDefaultsRequest request = CoreProto.GetServiceDefaultsRequest.newBuilder().build();
|
||||||
CoreProto.GetServiceDefaultsResponse response = blockingStub.getServiceDefaults(request);
|
try {
|
||||||
Map<String, List<String>> servicesMap = new HashMap<>();
|
CoreProto.GetServiceDefaultsResponse response = blockingStub.getServiceDefaults(request);
|
||||||
for (CoreProto.ServiceDefaults serviceDefaults : response.getDefaultsList()) {
|
Map<String, List<String>> servicesMap = new HashMap<>();
|
||||||
servicesMap.put(serviceDefaults.getNodeType(), serviceDefaults.getServicesList());
|
for (CoreProto.ServiceDefaults serviceDefaults : response.getDefaultsList()) {
|
||||||
|
servicesMap.put(serviceDefaults.getNodeType(), serviceDefaults.getServicesList());
|
||||||
|
}
|
||||||
|
return servicesMap;
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
}
|
}
|
||||||
return servicesMap;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -379,32 +408,39 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.build();
|
.build();
|
||||||
allDefaults.add(serviceDefaults);
|
allDefaults.add(serviceDefaults);
|
||||||
}
|
}
|
||||||
|
|
||||||
CoreProto.SetServiceDefaultsRequest request = CoreProto.SetServiceDefaultsRequest.newBuilder()
|
CoreProto.SetServiceDefaultsRequest request = CoreProto.SetServiceDefaultsRequest.newBuilder()
|
||||||
.setSession(sessionId)
|
.setSession(sessionId)
|
||||||
.addAllDefaults(allDefaults)
|
.addAllDefaults(allDefaults)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.SetServiceDefaultsResponse response = blockingStub.setServiceDefaults(request);
|
try {
|
||||||
return response.getResult();
|
CoreProto.SetServiceDefaultsResponse response = blockingStub.setServiceDefaults(request);
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CoreService getService(CoreNode node, String serviceName) throws IOException {
|
public CoreService getService(CoreNode node, String serviceName) throws IOException {
|
||||||
CoreProto.GetNodeServiceRequest request = CoreProto.GetNodeServiceRequest.newBuilder().build();
|
CoreProto.GetNodeServiceRequest request = CoreProto.GetNodeServiceRequest.newBuilder().build();
|
||||||
CoreProto.GetNodeServiceResponse response = blockingStub.getNodeService(request);
|
try {
|
||||||
CoreProto.NodeServiceData nodeServiceData = response.getService();
|
CoreProto.GetNodeServiceResponse response = blockingStub.getNodeService(request);
|
||||||
CoreService service = new CoreService();
|
CoreProto.NodeServiceData nodeServiceData = response.getService();
|
||||||
service.setShutdown(nodeServiceData.getShutdownList());
|
CoreService service = new CoreService();
|
||||||
service.setStartup(nodeServiceData.getStartupList());
|
service.setShutdown(nodeServiceData.getShutdownList());
|
||||||
service.setValidate(nodeServiceData.getValidateList());
|
service.setStartup(nodeServiceData.getStartupList());
|
||||||
service.setConfigs(nodeServiceData.getConfigsList());
|
service.setValidate(nodeServiceData.getValidateList());
|
||||||
service.setDependencies(nodeServiceData.getDependenciesList());
|
service.setConfigs(nodeServiceData.getConfigsList());
|
||||||
service.setDirs(nodeServiceData.getDirsList());
|
service.setDependencies(nodeServiceData.getDependenciesList());
|
||||||
service.setExecutables(nodeServiceData.getExecutablesList());
|
service.setDirs(nodeServiceData.getDirsList());
|
||||||
service.setMeta(nodeServiceData.getMeta());
|
service.setExecutables(nodeServiceData.getExecutablesList());
|
||||||
service.setValidationMode(nodeServiceData.getValidationMode().name());
|
service.setMeta(nodeServiceData.getMeta());
|
||||||
service.setValidationTimer(Integer.toString(nodeServiceData.getValidationTimer()));
|
service.setValidationMode(nodeServiceData.getValidationMode().name());
|
||||||
return service;
|
service.setValidationTimer(Integer.toString(nodeServiceData.getValidationTimer()));
|
||||||
|
return service;
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -417,7 +453,11 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
request.getShutdownList().addAll(service.getShutdown());
|
request.getShutdownList().addAll(service.getShutdown());
|
||||||
request.getValidateList().addAll(service.getValidate());
|
request.getValidateList().addAll(service.getValidate());
|
||||||
request.getStartupList().addAll(service.getStartup());
|
request.getStartupList().addAll(service.getStartup());
|
||||||
return blockingStub.setNodeService(request).getResult();
|
try {
|
||||||
|
return blockingStub.setNodeService(request).getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -427,8 +467,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setId(node.getId())
|
.setId(node.getId())
|
||||||
.setService(serviceName)
|
.setService(serviceName)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.GetNodeServiceFileResponse response = blockingStub.getNodeServiceFile(request);
|
try {
|
||||||
return response.getData().toStringUtf8();
|
CoreProto.GetNodeServiceFileResponse response = blockingStub.getNodeServiceFile(request);
|
||||||
|
return response.getData().toStringUtf8();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -439,7 +483,11 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setService(serviceName)
|
.setService(serviceName)
|
||||||
.setAction(CoreProto.ServiceAction.SERVICE_START)
|
.setAction(CoreProto.ServiceAction.SERVICE_START)
|
||||||
.build();
|
.build();
|
||||||
return blockingStub.serviceAction(request).getResult();
|
try {
|
||||||
|
return blockingStub.serviceAction(request).getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -450,7 +498,11 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setService(serviceName)
|
.setService(serviceName)
|
||||||
.setAction(CoreProto.ServiceAction.SERVICE_STOP)
|
.setAction(CoreProto.ServiceAction.SERVICE_STOP)
|
||||||
.build();
|
.build();
|
||||||
return blockingStub.serviceAction(request).getResult();
|
try {
|
||||||
|
return blockingStub.serviceAction(request).getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -461,7 +513,11 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setService(serviceName)
|
.setService(serviceName)
|
||||||
.setAction(CoreProto.ServiceAction.SERVICE_RESTART)
|
.setAction(CoreProto.ServiceAction.SERVICE_RESTART)
|
||||||
.build();
|
.build();
|
||||||
return blockingStub.serviceAction(request).getResult();
|
try {
|
||||||
|
return blockingStub.serviceAction(request).getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -472,7 +528,11 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setService(serviceName)
|
.setService(serviceName)
|
||||||
.setAction(CoreProto.ServiceAction.SERVICE_VALIDATE)
|
.setAction(CoreProto.ServiceAction.SERVICE_VALIDATE)
|
||||||
.build();
|
.build();
|
||||||
return blockingStub.serviceAction(request).getResult();
|
try {
|
||||||
|
return blockingStub.serviceAction(request).getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -484,8 +544,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setFile(serviceFile.getName())
|
.setFile(serviceFile.getName())
|
||||||
.setData(ByteString.copyFromUtf8(serviceFile.getData()))
|
.setData(ByteString.copyFromUtf8(serviceFile.getData()))
|
||||||
.build();
|
.build();
|
||||||
CoreProto.SetNodeServiceFileResponse response = blockingStub.setNodeServiceFile(request);
|
try {
|
||||||
return response.getResult();
|
CoreProto.SetNodeServiceFileResponse response = blockingStub.setNodeServiceFile(request);
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -493,8 +557,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
CoreProto.GetEmaneConfigRequest request = CoreProto.GetEmaneConfigRequest.newBuilder()
|
CoreProto.GetEmaneConfigRequest request = CoreProto.GetEmaneConfigRequest.newBuilder()
|
||||||
.setSession(sessionId)
|
.setSession(sessionId)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.GetEmaneConfigResponse response = blockingStub.getEmaneConfig(request);
|
try {
|
||||||
return protoToConfigGroups(response.getGroupsList());
|
CoreProto.GetEmaneConfigResponse response = blockingStub.getEmaneConfig(request);
|
||||||
|
return protoToConfigGroups(response.getGroupsList());
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -502,8 +570,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
CoreProto.GetEmaneModelsRequest request = CoreProto.GetEmaneModelsRequest.newBuilder()
|
CoreProto.GetEmaneModelsRequest request = CoreProto.GetEmaneModelsRequest.newBuilder()
|
||||||
.setSession(sessionId)
|
.setSession(sessionId)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.GetEmaneModelsResponse response = blockingStub.getEmaneModels(request);
|
try {
|
||||||
return new ArrayList<>(response.getModelsList());
|
CoreProto.GetEmaneModelsResponse response = blockingStub.getEmaneModels(request);
|
||||||
|
return new ArrayList<>(response.getModelsList());
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -513,8 +585,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setSession(sessionId)
|
.setSession(sessionId)
|
||||||
.putAllConfig(config)
|
.putAllConfig(config)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.SetEmaneConfigResponse response = blockingStub.setEmaneConfig(request);
|
try {
|
||||||
return response.getResult();
|
CoreProto.SetEmaneConfigResponse response = blockingStub.setEmaneConfig(request);
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -524,8 +600,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setId(id)
|
.setId(id)
|
||||||
.setModel(model)
|
.setModel(model)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.GetEmaneModelConfigResponse response = blockingStub.getEmaneModelConfig(request);
|
try {
|
||||||
return protoToConfigGroups(response.getGroupsList());
|
CoreProto.GetEmaneModelConfigResponse response = blockingStub.getEmaneModelConfig(request);
|
||||||
|
return protoToConfigGroups(response.getGroupsList());
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -537,8 +617,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setModel(model)
|
.setModel(model)
|
||||||
.putAllConfig(config)
|
.putAllConfig(config)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.SetEmaneModelConfigResponse response = blockingStub.setEmaneModelConfig(request);
|
try {
|
||||||
return response.getResult();
|
CoreProto.SetEmaneModelConfigResponse response = blockingStub.setEmaneModelConfig(request);
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -551,9 +635,13 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
CoreProto.SaveXmlRequest request = CoreProto.SaveXmlRequest.newBuilder()
|
CoreProto.SaveXmlRequest request = CoreProto.SaveXmlRequest.newBuilder()
|
||||||
.setSession(sessionId)
|
.setSession(sessionId)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.SaveXmlResponse response = blockingStub.saveXml(request);
|
try {
|
||||||
try (PrintWriter writer = new PrintWriter(file)) {
|
CoreProto.SaveXmlResponse response = blockingStub.saveXml(request);
|
||||||
writer.print(response.getData().toStringUtf8());
|
try (PrintWriter writer = new PrintWriter(file)) {
|
||||||
|
writer.print(response.getData().toStringUtf8());
|
||||||
|
}
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -563,10 +651,14 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
CoreProto.OpenXmlRequest request = CoreProto.OpenXmlRequest.newBuilder()
|
CoreProto.OpenXmlRequest request = CoreProto.OpenXmlRequest.newBuilder()
|
||||||
.setData(data)
|
.setData(data)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.OpenXmlResponse response = blockingStub.openXml(request);
|
try {
|
||||||
SessionOverview sessionOverview = new SessionOverview();
|
CoreProto.OpenXmlResponse response = blockingStub.openXml(request);
|
||||||
sessionOverview.setId(response.getSession());
|
SessionOverview sessionOverview = new SessionOverview();
|
||||||
return sessionOverview;
|
sessionOverview.setId(response.getSession());
|
||||||
|
return sessionOverview;
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -574,8 +666,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
CoreProto.GetSessionOptionsRequest request = CoreProto.GetSessionOptionsRequest.newBuilder()
|
CoreProto.GetSessionOptionsRequest request = CoreProto.GetSessionOptionsRequest.newBuilder()
|
||||||
.setId(sessionId)
|
.setId(sessionId)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.GetSessionOptionsResponse response = blockingStub.getSessionOptions(request);
|
try {
|
||||||
return protoToConfigGroups(response.getGroupsList());
|
CoreProto.GetSessionOptionsResponse response = blockingStub.getSessionOptions(request);
|
||||||
|
return protoToConfigGroups(response.getGroupsList());
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -585,8 +681,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setId(sessionId)
|
.setId(sessionId)
|
||||||
.putAllConfig(config)
|
.putAllConfig(config)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.SetSessionOptionsResponse response = blockingStub.setSessionOptions(request);
|
try {
|
||||||
return response.getResult();
|
CoreProto.SetSessionOptionsResponse response = blockingStub.setSessionOptions(request);
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -596,8 +696,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setSession(sessionId)
|
.setSession(sessionId)
|
||||||
.setNode(protoNode)
|
.setNode(protoNode)
|
||||||
.build();
|
.build();
|
||||||
blockingStub.addNode(request);
|
try {
|
||||||
return true;
|
blockingStub.addNode(request);
|
||||||
|
return true;
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -617,16 +721,24 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setId(node.getId())
|
.setId(node.getId())
|
||||||
.setPosition(position)
|
.setPosition(position)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.EditNodeResponse response = blockingStub.editNode(request);
|
try {
|
||||||
return response.getResult();
|
CoreProto.EditNodeResponse response = blockingStub.editNode(request);
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean deleteNode(CoreNode node) throws IOException {
|
public boolean deleteNode(CoreNode node) throws IOException {
|
||||||
CoreProto.DeleteNodeRequest request = CoreProto.DeleteNodeRequest.newBuilder()
|
CoreProto.DeleteNodeRequest request = CoreProto.DeleteNodeRequest.newBuilder()
|
||||||
.build();
|
.build();
|
||||||
CoreProto.DeleteNodeResponse response = blockingStub.deleteNode(request);
|
try {
|
||||||
return response.getResult();
|
CoreProto.DeleteNodeResponse response = blockingStub.deleteNode(request);
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -653,8 +765,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setSession(sessionId)
|
.setSession(sessionId)
|
||||||
.setLink(protoLink)
|
.setLink(protoLink)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.AddLinkResponse response = blockingStub.addLink(request);
|
try {
|
||||||
return response.getResult();
|
CoreProto.AddLinkResponse response = blockingStub.addLink(request);
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -678,8 +794,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
builder.setOptions(protoOptions);
|
builder.setOptions(protoOptions);
|
||||||
}
|
}
|
||||||
CoreProto.EditLinkRequest request = builder.build();
|
CoreProto.EditLinkRequest request = builder.build();
|
||||||
CoreProto.EditLinkResponse response = blockingStub.editLink(request);
|
try {
|
||||||
return response.getResult();
|
CoreProto.EditLinkResponse response = blockingStub.editLink(request);
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -692,23 +812,31 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
CoreProto.AddHookRequest request = CoreProto.AddHookRequest.newBuilder()
|
CoreProto.AddHookRequest request = CoreProto.AddHookRequest.newBuilder()
|
||||||
.setHook(hookProto)
|
.setHook(hookProto)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.AddHookResponse response = blockingStub.addHook(request);
|
try {
|
||||||
return response.getResult();
|
CoreProto.AddHookResponse response = blockingStub.addHook(request);
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Hook> getHooks() throws IOException {
|
public List<Hook> getHooks() throws IOException {
|
||||||
CoreProto.GetHooksRequest request = CoreProto.GetHooksRequest.newBuilder().setSession(sessionId).build();
|
CoreProto.GetHooksRequest request = CoreProto.GetHooksRequest.newBuilder().setSession(sessionId).build();
|
||||||
CoreProto.GetHooksResponse response = blockingStub.getHooks(request);
|
try {
|
||||||
List<Hook> hooks = new ArrayList<>();
|
CoreProto.GetHooksResponse response = blockingStub.getHooks(request);
|
||||||
for (CoreProto.Hook protoHook : response.getHooksList()) {
|
List<Hook> hooks = new ArrayList<>();
|
||||||
Hook hook = new Hook();
|
for (CoreProto.Hook protoHook : response.getHooksList()) {
|
||||||
hook.setFile(protoHook.getFile());
|
Hook hook = new Hook();
|
||||||
hook.setData(protoHook.getData().toStringUtf8());
|
hook.setFile(protoHook.getFile());
|
||||||
hook.setState(protoHook.getStateValue());
|
hook.setData(protoHook.getData().toStringUtf8());
|
||||||
hooks.add(hook);
|
hook.setState(protoHook.getStateValue());
|
||||||
|
hooks.add(hook);
|
||||||
|
}
|
||||||
|
return hooks;
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
}
|
}
|
||||||
return hooks;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -717,20 +845,24 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setSession(sessionId)
|
.setSession(sessionId)
|
||||||
.setId(node.getId())
|
.setId(node.getId())
|
||||||
.build();
|
.build();
|
||||||
CoreProto.GetWlanConfigResponse response = blockingStub.getWlanConfig(request);
|
try {
|
||||||
Map<String, String> protoConfig = new HashMap<>();
|
CoreProto.GetWlanConfigResponse response = blockingStub.getWlanConfig(request);
|
||||||
for (CoreProto.ConfigGroup group : response.getGroupsList()) {
|
Map<String, String> protoConfig = new HashMap<>();
|
||||||
for (CoreProto.ConfigOption option : group.getOptionsList()) {
|
for (CoreProto.ConfigGroup group : response.getGroupsList()) {
|
||||||
protoConfig.put(option.getName(), option.getValue());
|
for (CoreProto.ConfigOption option : group.getOptionsList()) {
|
||||||
|
protoConfig.put(option.getName(), option.getValue());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
WlanConfig config = new WlanConfig();
|
||||||
|
config.setBandwidth(protoConfig.get("bandwidth"));
|
||||||
|
config.setDelay(protoConfig.get("delay"));
|
||||||
|
config.setError(protoConfig.get("error"));
|
||||||
|
config.setJitter(protoConfig.get("jitter"));
|
||||||
|
config.setRange(protoConfig.get("range"));
|
||||||
|
return config;
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
}
|
}
|
||||||
WlanConfig config = new WlanConfig();
|
|
||||||
config.setBandwidth(protoConfig.get("bandwidth"));
|
|
||||||
config.setDelay(protoConfig.get("delay"));
|
|
||||||
config.setError(protoConfig.get("error"));
|
|
||||||
config.setJitter(protoConfig.get("jitter"));
|
|
||||||
config.setRange(protoConfig.get("range"));
|
|
||||||
return config;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -746,8 +878,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setId(node.getId())
|
.setId(node.getId())
|
||||||
.putAllConfig(protoConfig)
|
.putAllConfig(protoConfig)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.SetWlanConfigResponse response = blockingStub.setWlanConfig(request);
|
try {
|
||||||
return response.getResult();
|
CoreProto.SetWlanConfigResponse response = blockingStub.setWlanConfig(request);
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -760,30 +896,34 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
public Map<Integer, MobilityConfig> getMobilityConfigs() throws IOException {
|
public Map<Integer, MobilityConfig> getMobilityConfigs() throws IOException {
|
||||||
CoreProto.GetMobilityConfigsRequest request = CoreProto.GetMobilityConfigsRequest.newBuilder()
|
CoreProto.GetMobilityConfigsRequest request = CoreProto.GetMobilityConfigsRequest.newBuilder()
|
||||||
.setSession(sessionId).build();
|
.setSession(sessionId).build();
|
||||||
CoreProto.GetMobilityConfigsResponse response = blockingStub.getMobilityConfigs(request);
|
try {
|
||||||
|
CoreProto.GetMobilityConfigsResponse response = blockingStub.getMobilityConfigs(request);
|
||||||
|
|
||||||
Map<Integer, MobilityConfig> mobilityConfigs = new HashMap<>();
|
Map<Integer, MobilityConfig> mobilityConfigs = new HashMap<>();
|
||||||
for (Integer nodeId : response.getConfigsMap().keySet()) {
|
for (Integer nodeId : response.getConfigsMap().keySet()) {
|
||||||
CoreProto.GetMobilityConfigsResponse.MobilityConfig protoMobilityConfig = response.getConfigsMap()
|
CoreProto.GetMobilityConfigsResponse.MobilityConfig protoMobilityConfig = response.getConfigsMap()
|
||||||
.get(nodeId);
|
.get(nodeId);
|
||||||
MobilityConfig mobilityConfig = new MobilityConfig();
|
MobilityConfig mobilityConfig = new MobilityConfig();
|
||||||
Map<String, String> protoConfig = new HashMap<>();
|
Map<String, String> protoConfig = new HashMap<>();
|
||||||
for (CoreProto.ConfigGroup group : protoMobilityConfig.getGroupsList()) {
|
for (CoreProto.ConfigGroup group : protoMobilityConfig.getGroupsList()) {
|
||||||
for (CoreProto.ConfigOption option : group.getOptionsList()) {
|
for (CoreProto.ConfigOption option : group.getOptionsList()) {
|
||||||
protoConfig.put(option.getName(), option.getValue());
|
protoConfig.put(option.getName(), option.getValue());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
mobilityConfig.setFile(protoConfig.get("file"));
|
||||||
|
mobilityConfig.setRefresh(Integer.parseInt(protoConfig.get("refresh_ms")));
|
||||||
|
mobilityConfig.setAutostart(protoConfig.get("autostart"));
|
||||||
|
mobilityConfig.setLoop(protoConfig.get("loop"));
|
||||||
|
mobilityConfig.setPauseScript(protoConfig.get("script_pause"));
|
||||||
|
mobilityConfig.setStartScript(protoConfig.get("script_start"));
|
||||||
|
mobilityConfig.setStopScript(protoConfig.get("script_stop"));
|
||||||
|
mobilityConfig.setMap(protoConfig.get("map"));
|
||||||
|
mobilityConfigs.put(nodeId, mobilityConfig);
|
||||||
}
|
}
|
||||||
mobilityConfig.setFile(protoConfig.get("file"));
|
return mobilityConfigs;
|
||||||
mobilityConfig.setRefresh(Integer.parseInt(protoConfig.get("refresh_ms")));
|
} catch (StatusRuntimeException ex) {
|
||||||
mobilityConfig.setAutostart(protoConfig.get("autostart"));
|
throw new IOException(ex);
|
||||||
mobilityConfig.setLoop(protoConfig.get("loop"));
|
|
||||||
mobilityConfig.setPauseScript(protoConfig.get("script_pause"));
|
|
||||||
mobilityConfig.setStartScript(protoConfig.get("script_start"));
|
|
||||||
mobilityConfig.setStopScript(protoConfig.get("script_stop"));
|
|
||||||
mobilityConfig.setMap(protoConfig.get("map"));
|
|
||||||
mobilityConfigs.put(nodeId, mobilityConfig);
|
|
||||||
}
|
}
|
||||||
return mobilityConfigs;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -804,8 +944,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setId(node.getId())
|
.setId(node.getId())
|
||||||
.putAllConfig(protoConfig)
|
.putAllConfig(protoConfig)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.SetMobilityConfigResponse response = blockingStub.setMobilityConfig(request);
|
try {
|
||||||
return response.getResult();
|
CoreProto.SetMobilityConfigResponse response = blockingStub.setMobilityConfig(request);
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -814,23 +958,27 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setSession(sessionId)
|
.setSession(sessionId)
|
||||||
.setId(node.getId())
|
.setId(node.getId())
|
||||||
.build();
|
.build();
|
||||||
CoreProto.GetMobilityConfigResponse response = blockingStub.getMobilityConfig(request);
|
try {
|
||||||
Map<String, String> protoConfig = new HashMap<>();
|
CoreProto.GetMobilityConfigResponse response = blockingStub.getMobilityConfig(request);
|
||||||
for (CoreProto.ConfigGroup group : response.getGroupsList()) {
|
Map<String, String> protoConfig = new HashMap<>();
|
||||||
for (CoreProto.ConfigOption option : group.getOptionsList()) {
|
for (CoreProto.ConfigGroup group : response.getGroupsList()) {
|
||||||
protoConfig.put(option.getName(), option.getValue());
|
for (CoreProto.ConfigOption option : group.getOptionsList()) {
|
||||||
|
protoConfig.put(option.getName(), option.getValue());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
MobilityConfig config = new MobilityConfig();
|
||||||
|
config.setFile(protoConfig.get("file"));
|
||||||
|
config.setRefresh(Integer.parseInt(protoConfig.get("refresh_ms")));
|
||||||
|
config.setAutostart(protoConfig.get("autostart"));
|
||||||
|
config.setLoop(protoConfig.get("loop"));
|
||||||
|
config.setPauseScript(protoConfig.get("script_pause"));
|
||||||
|
config.setStartScript(protoConfig.get("script_start"));
|
||||||
|
config.setStopScript(protoConfig.get("script_stop"));
|
||||||
|
config.setMap(protoConfig.get("map"));
|
||||||
|
return config;
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
}
|
}
|
||||||
MobilityConfig config = new MobilityConfig();
|
|
||||||
config.setFile(protoConfig.get("file"));
|
|
||||||
config.setRefresh(Integer.parseInt(protoConfig.get("refresh_ms")));
|
|
||||||
config.setAutostart(protoConfig.get("autostart"));
|
|
||||||
config.setLoop(protoConfig.get("loop"));
|
|
||||||
config.setPauseScript(protoConfig.get("script_pause"));
|
|
||||||
config.setStartScript(protoConfig.get("script_start"));
|
|
||||||
config.setStopScript(protoConfig.get("script_stop"));
|
|
||||||
config.setMap(protoConfig.get("map"));
|
|
||||||
return config;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -840,8 +988,12 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
.setId(node.getId())
|
.setId(node.getId())
|
||||||
.setAction(CoreProto.MobilityAction.valueOf(action))
|
.setAction(CoreProto.MobilityAction.valueOf(action))
|
||||||
.build();
|
.build();
|
||||||
CoreProto.MobilityActionResponse response = blockingStub.mobilityAction(request);
|
try {
|
||||||
return response.getResult();
|
CoreProto.MobilityActionResponse response = blockingStub.mobilityAction(request);
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -849,16 +1001,20 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
CoreProto.GetSessionLocationRequest request = CoreProto.GetSessionLocationRequest.newBuilder()
|
CoreProto.GetSessionLocationRequest request = CoreProto.GetSessionLocationRequest.newBuilder()
|
||||||
.setId(sessionId)
|
.setId(sessionId)
|
||||||
.build();
|
.build();
|
||||||
CoreProto.GetSessionLocationResponse response = blockingStub.getSessionLocation(request);
|
try {
|
||||||
LocationConfig config = new LocationConfig();
|
CoreProto.GetSessionLocationResponse response = blockingStub.getSessionLocation(request);
|
||||||
config.setScale((double) response.getScale());
|
LocationConfig config = new LocationConfig();
|
||||||
config.getPosition().setX((double) response.getPosition().getX());
|
config.setScale((double) response.getScale());
|
||||||
config.getPosition().setY((double) response.getPosition().getY());
|
config.getPosition().setX((double) response.getPosition().getX());
|
||||||
config.getPosition().setZ((double) response.getPosition().getZ());
|
config.getPosition().setY((double) response.getPosition().getY());
|
||||||
config.getLocation().setLatitude((double) response.getPosition().getLat());
|
config.getPosition().setZ((double) response.getPosition().getZ());
|
||||||
config.getLocation().setLongitude((double) response.getPosition().getLon());
|
config.getLocation().setLatitude((double) response.getPosition().getLat());
|
||||||
config.getLocation().setAltitude((double) response.getPosition().getAlt());
|
config.getLocation().setLongitude((double) response.getPosition().getLon());
|
||||||
return config;
|
config.getLocation().setAltitude((double) response.getPosition().getAlt());
|
||||||
|
return config;
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -887,7 +1043,11 @@ public class CoreGrpcClient implements ICoreClient {
|
||||||
if (config.getLocation().getAltitude() != null) {
|
if (config.getLocation().getAltitude() != null) {
|
||||||
positionBuilder.setAlt(config.getLocation().getAltitude().floatValue());
|
positionBuilder.setAlt(config.getLocation().getAltitude().floatValue());
|
||||||
}
|
}
|
||||||
CoreProto.SetSessionLocationResponse response = blockingStub.setSessionLocation(builder.build());
|
try {
|
||||||
return response.getResult();
|
CoreProto.SetSessionLocationResponse response = blockingStub.setSessionLocation(builder.build());
|
||||||
|
return response.getResult();
|
||||||
|
} catch (StatusRuntimeException ex) {
|
||||||
|
throw new IOException(ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue