3803. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 6/9/2017 3:50:36 PM Eastern Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

3803.1 Files compared

# Location File Last Modified
1 Fri Jun 9 19:50:36 2017 UTC
2 eHealth_Exch (eHealth Exchange Enhancements) Build 3 docs & code_May_2017.zip\VAP_CIF_CODE0502.zip\VAP_CIF_CODE0502\VAP_CIF_CODE0502\nvap-mock\src\main\java\gov\va\nvap\mock\endpoint\th\mpi MockSocketServer.java Fri Apr 21 20:03:28 2017 UTC

3803.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 0 0
Changed 0 0
Inserted 1 180
Removed 0 0

3803.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

3803.4 Active regular expressions

No regular expressions were active.

3803.5 Comparison detail

        1   package go v.va.nvap. mock.endpo int.th.mpi ;
        2  
        3   import gov .va.nvap.m ock.endpoi nt.mvi.Moc kSocketTra nsceiver;
        4  
        5   import jav a.io.Buffe redReader;
        6   import jav a.io.Buffe redWriter;
        7   import jav a.io.IOExc eption;
        8   import jav a.io.Input StreamRead er;
        9   import jav a.io.Outpu tStreamWri ter;
        10   import jav a.net.Serv erSocket;
        11   import jav a.net.Sock et;
        12  
        13   import org .apache.co mmons.logg ing.Log;
        14   import org .apache.co mmons.logg ing.LogFac tory;
        15  
        16   /**
        17    * Mock MP I Socket T ransceiver
        18    * 
        19    * @author  Asha Amri traj
        20    */
        21   public cla ss MockSoc ketServer  implements  Runnable  {
        22  
        23           /* * ASCII co de for car riage retu rn. */
        24           pr ivate stat ic final b yte CR = 0 x0D;
        25  
        26           /* * End of b lock byte  definition . */
        27           pr ivate stat ic final b yte EOB =  0x1C;
        28  
        29           pr ivate stat ic final L og log = L ogFactory. getLog(Moc kSocketSer ver.class) ;
        30  
        31           pr ivate stat ic final b yte SOB =  0x0B;
        32  
        33           pu blic stati c void mai n(final St ring[] arg s) {
        34                    Sock et clientS ocket = nu ll;
        35                    Serv erSocket s erverSocke t = null;
        36                    try  {
        37                             
        38                             
        39                             while  (true) {
        40                                      try {
        41                                               serverSock et = new S erverSocke t(5001);
        42                                               clientSock et = serve rSocket.ac cept();
        43                                               final Mock SocketServ er clientS ocketServe r = new Mo ckSocketSe rver();
        44                                               clientSock etServer.s etClientSo cket(clien tSocket);
        45                                               final Thre ad newThre ad = new T hread(clie ntSocketSe rver);
        46                                               newThread. start();
        47                                               MockSocket Server.log .error("Mo ckSocketSe rver start ed...");
        48                                      } catch  (final IOE xception e ) {
        49                                               throw new  RuntimeExc eption(e);
        50                                      }
        51                             }
        52  
        53                    } ca tch (Excep tion e) {
        54                             throw  new Runtim eException (e);
        55                    }fin ally{
        56                             if(cli entSocket! =null)
        57                                      try {
        58                                               clientSock et.close() ;
        59                                      } catch  (IOExcepti on e) {
        60                                               // TODO Au to-generat ed catch b lock
        61                                               e.printSta ckTrace();
        62                                      }
        63                         if (server Socket !=  null && !s erverSocke t.isClosed ()) {
        64                    try  {
        65                             server Socket.clo se();
        66                    } ca tch (IOExc eption e)  {
        67                         e.printSta ckTrace(Sy stem.err);
        68                    }
        69                }
        70                    }
        71  
        72           }
        73  
        74           pr ivate Buff eredReader  reader;
        75           pr ivate Sock et socket;
        76           pr ivate bool ean stop =  false;
        77  
        78           pr ivate Buff eredWriter  writer;
        79  
        80           pu blic MockS ocketServe r() {
        81           }
        82  
        83           pu blic Strin g formatOu tgoing(fin al String  msg) {
        84                    fina l StringBu ffer buf =  new Strin gBuffer();
        85                    buf. append((ch ar) MockSo cketServer .SOB);
        86                    buf. append(msg );
        87                    buf. append((ch ar) MockSo cketServer .CR);
        88                    buf. append((ch ar) MockSo cketServer .EOB);
        89                    buf. append((ch ar) MockSo cketServer .CR);
        90                    buf. append((ch ar) MockSo cketServer .CR);
        91  
        92                    retu rn buf.toS tring();
        93           }
        94  
        95           pu blic Strin g getNextM essage(fin al Buffere dReader re ader) {
        96                    try  {
        97                             final  char[] buf fer = new  char[2048] ;
        98                             final  int len =  reader.rea d(buffer,  0, buffer. length);
        99                             if (le n > 0) {
        100                                      return n ew String( buffer, 0,  len);
        101                             } else  {
        102                                      return n ull;
        103                             }
        104                    } ca tch (final  IOExcepti on ex) {
        105                             throw  new Runtim eException (ex);
        106                    }
        107           }
        108  
        109           pu blic boole an quit()  {
        110                    retu rn false;
        111           }
        112  
        113           @O verride
        114           pu blic void  run() {
        115                    try  {
        116  
        117                             if ((t his.reader  == null)  && (this.s ocket != n ull)) {
        118                                      this.rea der = new  BufferedRe ader(new I nputStream Reader(
        119                                                       th is.socket. getInputSt ream()));
        120                                      this.wri ter = new  BufferedWr iter(new O utputStrea mWriter(
        121                                                       th is.socket. getOutputS tream()));
        122                             }
        123                    } ca tch (final  IOExcepti on ex) {
        124                             MockSo cketServer .log.error ("MockSock etServer f ailed "
        125                                               + Thread.c urrentThre ad().getNa me() + " "  + ex);
        126                             MockSo cketServer .log.error ("Exiting  "
        127                                               + Thread.c urrentThre ad().getNa me());
        128                             return ;
        129                    }
        130  
        131                    whil e (!this.s top) {
        132                             try {
        133                                      final St ring reque st = this. getNextMes sage(this. reader);
        134                                      if (requ est == nul l) {
        135                                               try {
        136                                                       Th read.sleep (5000);
        137                                               } catch (f inal Inter ruptedExce ption ex)  {
        138                                               }
        139                                               continue;
        140                                      }
        141  
        142                                      String r esponse =  (String) t his.transc eive(reque st);
        143                                      if (resp onse != nu ll) {
        144                                               response =  this.form atOutgoing (response) ;
        145                                               this.write r.write(re sponse);
        146                                               this.write r.flush();
        147                                      }
        148  
        149                             } catc h (final I OException  ex) {
        150                                      throw ne w RuntimeE xception(e x);
        151                             }
        152                    }
        153                    try  {
        154                             if (nu ll != this .reader) {
        155                                      this.rea der.close( );
        156                             }
        157                             if (nu ll != this .writer) {
        158                                      this.wri ter.close( );
        159                             }
        160                    } ca tch (final  IOExcepti on ex) {
        161                             throw  new Runtim eException (ex);
        162                    }
        163                    Mock SocketServ er.log
        164                                      .info("E xiting " +  Thread.cu rrentThrea d().getNam e());
        165           }
        166  
        167           pu blic void  setClientS ocket(fina l Socket c lientSocke t) {
        168                    this .socket =  clientSock et;
        169           }
        170  
        171           pu blic void  setStop()  {
        172                    this .stop = tr ue;
        173           }
        174  
        175           pu blic Objec t transcei ve(final O bject msg)  {
        176                    fina l MockSock etTranscei ver transc eiver = ne w MockSock etTranscei ver();
        177                    retu rn transce iver.trans ceive((Str ing) msg);
        178           }
        179  
        180   }