Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.opendaylight.ovsdb.internal;
- import com.fasterxml.jackson.core.JsonParser;
- import com.fasterxml.jackson.databind.JsonNode;
- import com.fasterxml.jackson.databind.ObjectMapper;
- import org.opendaylight.ovsdb.table.*;
- import io.netty.channel.*;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import java.io.IOException;
- public class MessageHandler extends SimpleChannelInboundHandler<String> {
- protected static final Logger logger = LoggerFactory
- .getLogger(ConnectionService.class);
- private Object response;
- public Object getResponse(){
- return this.response;
- }
- @Override
- public void channelRead0(ChannelHandlerContext ctx, String msg){
- JsonNode jsonNode;
- ObjectMapper mapper = new ObjectMapper();
- try{
- jsonNode = mapper.readTree(msg);
- }catch(IOException e){
- e.printStackTrace();
- return;
- }
- if(jsonNode.has("method")){
- String method = jsonNode.get("method").toString();
- if(method.contains("echo")){
- EchoReply echoreply = new EchoReply();
- JsonNode echoReplyJnode = mapper.valueToTree(echoreply);
- System.out.println(echoReplyJnode.toString());
- ctx.writeAndFlush(echoReplyJnode.toString());
- }
- }
- else if(jsonNode.has("result")){
- Long requestId = jsonNode.get("id").asLong();
- JsonParser parser = mapper.treeAsTokens(jsonNode.get("result"));
- try{
- this.response = mapper.readValue(parser, MessageIDMapper.getMapper().pop(requestId));
- System.out.println(this.response.toString());
- Data baseCopy = mapper.readValue(parser, Data.class);
- System.out.println(baseCopy);
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- }
- @Override
- public void channelReadComplete(ChannelHandlerContext ctx) throws Exception{
- ctx.flush();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment