networkstatic

ovsdb msgHandler

Sep 7th, 2013
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.08 KB | None | 0 0
  1. package org.opendaylight.ovsdb.internal;
  2.  
  3. import com.fasterxml.jackson.core.JsonParser;
  4. import com.fasterxml.jackson.databind.JsonNode;
  5. import com.fasterxml.jackson.databind.ObjectMapper;
  6. import org.opendaylight.ovsdb.table.*;
  7.  
  8. import io.netty.channel.*;
  9. import org.slf4j.Logger;
  10. import org.slf4j.LoggerFactory;
  11.  
  12.  
  13. import java.io.IOException;
  14.  
  15. public class MessageHandler extends SimpleChannelInboundHandler<String> {
  16.     protected static final Logger logger = LoggerFactory
  17.             .getLogger(ConnectionService.class);
  18.  
  19.     private Object response;
  20.  
  21.     public Object getResponse(){
  22.         return this.response;
  23.     }
  24.  
  25.     @Override
  26.     public void channelRead0(ChannelHandlerContext ctx, String msg){
  27.  
  28.         JsonNode jsonNode;
  29.         ObjectMapper mapper = new ObjectMapper();
  30.  
  31.         try{
  32.             jsonNode = mapper.readTree(msg);
  33.         }catch(IOException e){
  34.             e.printStackTrace();
  35.             return;
  36.         }
  37.  
  38.         if(jsonNode.has("method")){
  39.             String method = jsonNode.get("method").toString();
  40.             if(method.contains("echo")){
  41.                 EchoReply echoreply = new EchoReply();
  42.                 JsonNode echoReplyJnode = mapper.valueToTree(echoreply);
  43.                 System.out.println(echoReplyJnode.toString());
  44.                 ctx.writeAndFlush(echoReplyJnode.toString());
  45.             }
  46.         }
  47.         else if(jsonNode.has("result")){
  48.             Long requestId = jsonNode.get("id").asLong();
  49.             JsonParser parser = mapper.treeAsTokens(jsonNode.get("result"));
  50.             try{
  51.                 this.response = mapper.readValue(parser, MessageIDMapper.getMapper().pop(requestId));
  52.                 System.out.println(this.response.toString());
  53.  
  54.  
  55.                 Data baseCopy = mapper.readValue(parser, Data.class);
  56.                 System.out.println(baseCopy);
  57.  
  58.  
  59.  
  60.             }catch(Exception e){
  61.                 e.printStackTrace();
  62.             }
  63.         }
  64.  
  65.  
  66.     }
  67.     @Override
  68.     public void channelReadComplete(ChannelHandlerContext ctx) throws Exception{
  69.         ctx.flush();
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment