Commit d7e6a91061cf98fa779a7da7a64c4b63e493c453

Authored by 林本磊
1 parent d031a58b
Exists in develop

fix: 不报错

src/main/java/com/example/mina/box/lte3000/Lte3000CodecFactory.java 0 → 100644
@@ -0,0 +1,70 @@ @@ -0,0 +1,70 @@
  1 +package com.example.mina.box.lte3000;
  2 +
  3 +import com.example.mina.box.lte3000.Lte3000RequestMessage;
  4 +import com.example.mina.box.lte3000.Lte3000ResponseMessage;
  5 +import org.apache.mina.core.buffer.IoBuffer;
  6 +import org.apache.mina.core.session.IoSession;
  7 +import org.apache.mina.filter.codec.*;
  8 +
  9 +/**
  10 + * @author 杜云山
  11 + * @date 20/07/07
  12 + */
  13 +public class Lte3000CodecFactory implements ProtocolCodecFactory {
  14 +
  15 + @Override
  16 + public ProtocolEncoder getEncoder(IoSession session) {
  17 + return new Lte3000MessageEncoder();
  18 + }
  19 +
  20 + @Override
  21 + public ProtocolDecoder getDecoder(IoSession session) {
  22 + return new Lte3000MessageDecoder();
  23 + }
  24 +
  25 + static class Lte3000MessageEncoder implements ProtocolEncoder {
  26 +
  27 + @Override
  28 + public void encode(IoSession session, Object message, ProtocolEncoderOutput out) {
  29 +
  30 + if (message instanceof Lte3000ResponseMessage) {
  31 +
  32 + byte[] result = ((Lte3000ResponseMessage) message).getResult();
  33 + session.write(IoBuffer.wrap(result));
  34 + }
  35 + }
  36 +
  37 + @Override
  38 + public void dispose(IoSession session) {
  39 + }
  40 +
  41 + }
  42 +
  43 + static class Lte3000MessageDecoder implements ProtocolDecoder {
  44 +
  45 + @Override
  46 + public void decode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
  47 +
  48 + byte[] bytes = new byte[in.limit()];
  49 + in.get(bytes);
  50 +
  51 + Lte3000RequestMessage requestMessage = Lte3000RequestMessage.builder()
  52 + .cmd(new String(bytes))
  53 + .build();
  54 +
  55 + out.write(requestMessage);
  56 + }
  57 +
  58 + @Override
  59 + public void finishDecode(IoSession session, ProtocolDecoderOutput out) throws Exception {
  60 +
  61 + }
  62 +
  63 + @Override
  64 + public void dispose(IoSession session) throws Exception {
  65 +
  66 + }
  67 +
  68 + }
  69 +
  70 +}
src/main/java/com/example/mina/box/lte3000/Lte3000RequestMessage.java 0 → 100644
@@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
  1 +package com.example.mina.box.lte3000;
  2 +
  3 +import com.example.mina.base.BaseRequestMessage;
  4 +import lombok.AllArgsConstructor;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.experimental.SuperBuilder;
  8 +
  9 +/**
  10 + * @author 杜云山
  11 + * @date 21/03/08
  12 + */
  13 +@EqualsAndHashCode(callSuper = true)
  14 +@SuperBuilder
  15 +@Data
  16 +@AllArgsConstructor
  17 +public class Lte3000RequestMessage extends BaseRequestMessage {
  18 +
  19 +}
src/main/java/com/example/mina/box/lte3000/Lte3000ResponseMessage.java 0 → 100644
@@ -0,0 +1,19 @@ @@ -0,0 +1,19 @@
  1 +package com.example.mina.box.lte3000;
  2 +
  3 +import com.example.mina.base.BaseResponseMessage;
  4 +import lombok.AllArgsConstructor;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +import lombok.experimental.SuperBuilder;
  8 +
  9 +/**
  10 + * @author 杜云山
  11 + * @date 21/03/08
  12 + */
  13 +@EqualsAndHashCode(callSuper = true)
  14 +@SuperBuilder
  15 +@Data
  16 +@AllArgsConstructor
  17 +public class Lte3000ResponseMessage extends BaseResponseMessage {
  18 +
  19 +}
src/main/java/com/example/mina/box/lte3000/Lte3000VirtualBoxHandler.java 0 → 100644
@@ -0,0 +1,104 @@ @@ -0,0 +1,104 @@
  1 +package com.example.mina.box.lte3000;
  2 +
  3 +import com.example.mina.base.AbstractVirtualBoxHandler;
  4 +
  5 +import com.example.mina.base.BaseRequestMessage;
  6 +import com.example.mina.base.BaseResponseMessage;
  7 +import com.example.mina.box.aeroflex.AeroflexRequestMessage;
  8 +import com.example.mina.box.aeroflex.AeroflexResponseMessage;
  9 +import com.example.mina.util.CommandHelper;
  10 +import com.example.mina.util.LogUtils;
  11 +import com.example.mina.entity.Lte3000DataBuffer;
  12 +import com.example.mina.helper.Lte3000CommandHelper;
  13 +import lombok.extern.slf4j.Slf4j;
  14 +import org.apache.mina.core.buffer.IoBuffer;
  15 +import org.apache.mina.core.session.IoSession;
  16 +
  17 +/**
  18 + * @author 杜云山
  19 + * @date 21/03/05
  20 + */
  21 +@Slf4j
  22 +public class Lte3000VirtualBoxHandler extends AbstractVirtualBoxHandler<Lte3000RequestMessage, Lte3000ResponseMessage> {
  23 +
  24 + private static final byte[] Response_46;// = "Fv7.46 Pv2.15 LTE2250/032X032".getBytes();
  25 + private static final byte[] Response_53 = new byte[]{0x06, 0x30, 0x30, 0x53, 0x03, 0x56};
  26 + private static final byte[] Response_58 = new byte[]{0x06, 0x30, 0x30, 0x58, 0x47, 0x4D, 0x4F, 0x03, 0x18};
  27 +
  28 + static {
  29 + byte[] bs = "Fv7.46 Pv2.15 XRM2250/032X064".getBytes();
  30 + Response_46 = new byte[bs.length + 6];
  31 + System.arraycopy(bs, 0, Response_46, 4, bs.length);
  32 + Response_46[0] = 0x06;
  33 + Response_46[1] = 0x30;
  34 + Response_46[2] = 0x30;
  35 + Response_46[3] = 0x46;
  36 + Response_46[bs.length + 4] = 0x03;
  37 + Lte3000CommandHelper.setCHK(Response_46);
  38 + }
  39 +
  40 + private Lte3000DataBuffer dataBuffer;
  41 +
  42 + public Lte3000VirtualBoxHandler() {
  43 + this.initMatrix();
  44 + }
  45 +
  46 + @Override
  47 + protected void initMatrix() {
  48 +
  49 + int row = 32;
  50 + int col = 32;
  51 + int maxAttenuate = 30;
  52 +
  53 + dataBuffer = new Lte3000DataBuffer(row, col,maxAttenuate);
  54 + }
  55 +
  56 + private int getBcdPort(byte a, byte b, byte c) {
  57 + return (CommandHelper.BCD_REV[a] - 30) * 100 + (CommandHelper.BCD_REV[b] - 30) * 10 + (CommandHelper.BCD_REV[c] - 30);
  58 + }
  59 + private int getBcdAttn(byte a, byte b) {
  60 + return (CommandHelper.BCD_REV[a] - 30) * 10 + (CommandHelper.BCD_REV[b] - 30);
  61 + }
  62 +
  63 + @Override
  64 + protected Lte3000ResponseMessage handleMessage(Lte3000RequestMessage requestMessage) {
  65 + return null;
  66 + }
  67 +
  68 + @Override
  69 + public void messageReceived(IoSession session, Object message) {
  70 +
  71 + if (message instanceof Lte3000RequestMessage) {
  72 +
  73 + Lte3000ResponseMessage responseMessage = handleMessage((Lte3000RequestMessage) message);
  74 + session.write(responseMessage);
  75 + }
  76 + }
  77 +
  78 +
  79 +
  80 + @Override
  81 + public void sessionCreated(IoSession session) {
  82 +
  83 + log.info("--- abstractVirtual server session created");
  84 + }
  85 +
  86 + @Override
  87 + public void sessionOpened(IoSession session) {
  88 +
  89 + log.info("--- abstractVirtual server session Opened");
  90 + }
  91 +
  92 + @Override
  93 + public void sessionClosed(IoSession session) {
  94 +
  95 + log.info("--- abstractVirtual server session Closed");
  96 + }
  97 +
  98 + @Override
  99 + public void messageSent(IoSession session, Object message) {
  100 +
  101 + log.info("--- abstractVirtual 发送数据成功!{}", message);
  102 + }
  103 +
  104 +}
src/main/java/com/example/mina/box/lte3000/Lte3000VirtualBoxServer.java 0 → 100644
@@ -0,0 +1,18 @@ @@ -0,0 +1,18 @@
  1 +package com.example.mina.box.lte3000;
  2 +
  3 +import com.example.mina.base.AbstractVirtualBoxServer;
  4 +import com.example.mina.box.lte3000.Lte3000VirtualBoxHandler;
  5 +import com.example.mina.property.Lte3000VirtualBoxProperties;
  6 +import lombok.extern.slf4j.Slf4j;
  7 +import org.springframework.context.annotation.Configuration;
  8 +
  9 +
  10 +@Slf4j
  11 +@Configuration(proxyBeanMethods = false)
  12 +public class Lte3000VirtualBoxServer extends AbstractVirtualBoxServer {
  13 +
  14 + public Lte3000VirtualBoxServer(Lte3000VirtualBoxProperties lte3000VirtualBoxProperties) {
  15 + super(lte3000VirtualBoxProperties, new Lte3000VirtualBoxHandler(),new Lte3000CodecFactory());
  16 + }
  17 +
  18 +}
src/main/java/com/example/mina/box/rbm3000/Rbm3000CodecFactory.java
  1 +/*
1 package com.example.mina.box.rbm3000; 2 package com.example.mina.box.rbm3000;
2 3
3 import org.apache.mina.core.buffer.IoBuffer; 4 import org.apache.mina.core.buffer.IoBuffer;
4 import org.apache.mina.core.session.IoSession; 5 import org.apache.mina.core.session.IoSession;
5 import org.apache.mina.filter.codec.*; 6 import org.apache.mina.filter.codec.*;
6 7
  8 +*/
7 /** 9 /**
8 * @author 杜云山 10 * @author 杜云山
9 * @date 20/07/07 11 * @date 20/07/07
10 - */ 12 + *//*
  13 +
11 public class Rbm3000CodecFactory implements ProtocolCodecFactory { 14 public class Rbm3000CodecFactory implements ProtocolCodecFactory {
12 15
13 @Override 16 @Override
@@ -60,3 +63,4 @@ public class Rbm3000CodecFactory implements ProtocolCodecFactory { @@ -60,3 +63,4 @@ public class Rbm3000CodecFactory implements ProtocolCodecFactory {
60 } 63 }
61 64
62 } 65 }
  66 +*/
src/main/java/com/example/mina/boxhandler/Lte3000VirtualBoxHandler.java
No preview for this file type
src/main/java/com/example/mina/boxserver/Lte3000VirtualBoxServer.java
@@ -1,19 +0,0 @@ @@ -1,19 +0,0 @@
1 -package com.example.mina.boxserver;  
2 -  
3 -import com.example.mina.boxhandler.AeroflexVirtualBoxHandler;  
4 -import com.example.mina.boxhandler.Lte3000VirtualBoxHandler;  
5 -import com.example.mina.property.AeroflexVirtualBoxProperties;  
6 -import com.example.mina.property.Lte3000VirtualBoxProperties;  
7 -import lombok.extern.slf4j.Slf4j;  
8 -import org.springframework.context.annotation.Configuration;  
9 -  
10 -  
11 -@Slf4j  
12 -@Configuration(proxyBeanMethods = false)  
13 -public class Lte3000VirtualBoxServer extends AbstractVirtualBoxServer {  
14 -  
15 - public Lte3000VirtualBoxServer(Lte3000VirtualBoxProperties lte3000VirtualBoxProperties) {  
16 - super(lte3000VirtualBoxProperties, new Lte3000VirtualBoxHandler());  
17 - }  
18 -  
19 -}