Hex Artifact Content
Not logged in

Artifact 206e918912cf59e9d147234741b78e76c391a5af:


0000: 70 61 63 6b 61 67 65 20 6f 72 67 2e 69 6e 74 65  package org.inte
0010: 72 6c 65 64 67 65 72 2e 69 6c 70 2e 63 6c 69 65  rledger.ilp.clie
0020: 6e 74 2e 63 6f 6d 6d 61 6e 64 73 3b 0a 0a 69 6d  nt.commands;..im
0030: 70 6f 72 74 20 6f 72 67 2e 61 70 61 63 68 65 2e  port org.apache.
0040: 63 6f 6d 6d 6f 6e 73 2e 63 6c 69 2e 43 6f 6d 6d  commons.cli.Comm
0050: 61 6e 64 4c 69 6e 65 3b 0a 69 6d 70 6f 72 74 20  andLine;.import 
0060: 6f 72 67 2e 61 70 61 63 68 65 2e 63 6f 6d 6d 6f  org.apache.commo
0070: 6e 73 2e 63 6c 69 2e 4f 70 74 69 6f 6e 3b 0a 69  ns.cli.Option;.i
0080: 6d 70 6f 72 74 20 6f 72 67 2e 61 70 61 63 68 65  mport org.apache
0090: 2e 63 6f 6d 6d 6f 6e 73 2e 63 6c 69 2e 4f 70 74  .commons.cli.Opt
00a0: 69 6f 6e 73 3b 0a 69 6d 70 6f 72 74 20 6f 72 67  ions;.import org
00b0: 2e 69 6e 74 65 72 6c 65 64 67 65 72 2e 69 6c 70  .interledger.ilp
00c0: 2e 49 6e 74 65 72 6c 65 64 67 65 72 41 64 64 72  .InterledgerAddr
00d0: 65 73 73 3b 0a 69 6d 70 6f 72 74 20 6f 72 67 2e  ess;.import org.
00e0: 73 6c 66 34 6a 2e 4c 6f 67 67 65 72 3b 0a 69 6d  slf4j.Logger;.im
00f0: 70 6f 72 74 20 6f 72 67 2e 73 6c 66 34 6a 2e 4c  port org.slf4j.L
0100: 6f 67 67 65 72 46 61 63 74 6f 72 79 3b 0a 69 6d  oggerFactory;.im
0110: 70 6f 72 74 20 6f 72 67 2e 73 70 72 69 6e 67 66  port org.springf
0120: 72 61 6d 65 77 6f 72 6b 2e 73 74 65 72 65 6f 74  ramework.stereot
0130: 79 70 65 2e 43 6f 6d 70 6f 6e 65 6e 74 3b 0a 0a  ype.Component;..
0140: 40 43 6f 6d 70 6f 6e 65 6e 74 0a 70 75 62 6c 69  @Component.publi
0150: 63 20 63 6c 61 73 73 20 4d 65 73 73 61 67 65 43  c class MessageC
0160: 6f 6d 6d 61 6e 64 20 65 78 74 65 6e 64 73 20 4c  ommand extends L
0170: 65 64 67 65 72 43 6f 6d 6d 61 6e 64 20 7b 0a 20  edgerCommand {. 
0180: 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20   private static 
0190: 66 69 6e 61 6c 20 4c 6f 67 67 65 72 20 6c 6f 67  final Logger log
01a0: 20 3d 20 4c 6f 67 67 65 72 46 61 63 74 6f 72 79   = LoggerFactory
01b0: 2e 67 65 74 4c 6f 67 67 65 72 28 4d 65 73 73 61  .getLogger(Messa
01c0: 67 65 43 6f 6d 6d 61 6e 64 2e 63 6c 61 73 73 29  geCommand.class)
01d0: 3b 0a 0a 20 20 40 4f 76 65 72 72 69 64 65 0a 20  ;..  @Override. 
01e0: 20 70 75 62 6c 69 63 20 53 74 72 69 6e 67 20 67   public String g
01f0: 65 74 43 6f 6d 6d 61 6e 64 28 29 20 7b 0a 20 20  etCommand() {.  
0200: 20 20 72 65 74 75 72 6e 20 22 6d 65 73 73 61 67    return "messag
0210: 65 22 3b 0a 20 20 7d 0a 0a 20 20 40 4f 76 65 72  e";.  }..  @Over
0220: 72 69 64 65 0a 20 20 70 75 62 6c 69 63 20 53 74  ride.  public St
0230: 72 69 6e 67 20 67 65 74 44 65 73 63 72 69 70 74  ring getDescript
0240: 69 6f 6e 28 29 20 7b 0a 20 20 20 20 72 65 74 75  ion() {.    retu
0250: 72 6e 20 22 53 65 6e 64 20 61 20 6d 65 73 73 61  rn "Send a messa
0260: 67 65 2e 22 3b 0a 20 20 7d 0a 0a 20 20 40 4f 76  ge.";.  }..  @Ov
0270: 65 72 72 69 64 65 0a 20 20 70 75 62 6c 69 63 20  erride.  public 
0280: 4f 70 74 69 6f 6e 73 20 67 65 74 4f 70 74 69 6f  Options getOptio
0290: 6e 73 28 29 20 7b 0a 20 20 20 20 72 65 74 75 72  ns() {.    retur
02a0: 6e 20 67 65 74 44 65 66 61 75 6c 74 4f 70 74 69  n getDefaultOpti
02b0: 6f 6e 73 28 29 0a 20 20 20 20 20 20 20 20 2e 61  ons().        .a
02c0: 64 64 4f 70 74 69 6f 6e 28 4f 70 74 69 6f 6e 2e  ddOption(Option.
02d0: 62 75 69 6c 64 65 72 28 22 74 6f 22 29 2e 61 72  builder("to").ar
02e0: 67 4e 61 6d 65 28 22 74 6f 20 61 63 63 6f 75 6e  gName("to accoun
02f0: 74 22 29 2e 68 61 73 41 72 67 28 29 2e 72 65 71  t").hasArg().req
0300: 75 69 72 65 64 28 29 0a 20 20 20 20 20 20 20 20  uired().        
0310: 20 20 20 20 2e 64 65 73 63 28 22 45 78 74 65 6e      .desc("Exten
0320: 64 65 64 41 63 63 6f 75 6e 74 49 6e 66 6f 20 74  dedAccountInfo t
0330: 6f 20 77 68 69 63 68 20 6d 65 73 73 61 67 65 20  o which message 
0340: 69 73 20 73 65 6e 74 2e 22 29 2e 62 75 69 6c 64  is sent.").build
0350: 28 29 29 0a 20 20 20 20 20 20 20 20 2e 61 64 64  ()).        .add
0360: 4f 70 74 69 6f 6e 28 4f 70 74 69 6f 6e 2e 62 75  Option(Option.bu
0370: 69 6c 64 65 72 28 22 64 61 74 61 22 29 2e 61 72  ilder("data").ar
0380: 67 4e 61 6d 65 28 22 64 61 74 61 22 29 2e 68 61  gName("data").ha
0390: 73 41 72 67 28 29 2e 72 65 71 75 69 72 65 64 28  sArg().required(
03a0: 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 64  ).            .d
03b0: 65 73 63 28 22 4d 65 73 73 61 67 65 20 74 6f 20  esc("Message to 
03c0: 62 65 20 73 65 6e 74 2e 22 29 2e 62 75 69 6c 64  be sent.").build
03d0: 28 29 29 3b 0a 20 20 7d 0a 0a 20 20 40 4f 76 65  ());.  }..  @Ove
03e0: 72 72 69 64 65 0a 20 20 70 72 6f 74 65 63 74 65  rride.  protecte
03f0: 64 20 76 6f 69 64 20 72 75 6e 43 6f 6d 6d 61 6e  d void runComman
0400: 64 28 43 6f 6d 6d 61 6e 64 4c 69 6e 65 20 63 6d  d(CommandLine cm
0410: 64 29 20 74 68 72 6f 77 73 20 45 78 63 65 70 74  d) throws Except
0420: 69 6f 6e 20 7b 0a 20 20 20 20 74 72 79 20 7b 0a  ion {.    try {.
0430: 20 20 20 20 20 20 0a 20 20 20 20 20 20 49 6e 74        .      Int
0440: 65 72 6c 65 64 67 65 72 41 64 64 72 65 73 73 20  erledgerAddress 
0450: 74 6f 20 3d 20 6e 65 77 20 49 6e 74 65 72 6c 65  to = new Interle
0460: 64 67 65 72 41 64 64 72 65 73 73 28 63 6d 64 2e  dgerAddress(cmd.
0470: 67 65 74 4f 70 74 69 6f 6e 56 61 6c 75 65 28 22  getOptionValue("
0480: 74 6f 22 29 29 3b 0a 20 20 20 20 20 20 6c 65 64  to"));.      led
0490: 67 65 72 43 6c 69 65 6e 74 2e 73 65 6e 64 4d 65  gerClient.sendMe
04a0: 73 73 61 67 65 28 74 6f 2c 20 22 54 45 53 54 22  ssage(to, "TEST"
04b0: 2c 20 63 6d 64 2e 67 65 74 4f 70 74 69 6f 6e 56  , cmd.getOptionV
04c0: 61 6c 75 65 28 22 64 61 74 61 22 29 2c 20 36 30  alue("data"), 60
04d0: 29 3b 0a 20 20 20 20 7d 20 63 61 74 63 68 20 28  );.    } catch (
04e0: 45 78 63 65 70 74 69 6f 6e 20 65 29 20 7b 0a 20  Exception e) {. 
04f0: 20 20 20 20 20 6c 6f 67 2e 65 72 72 6f 72 28 22       log.error("
0500: 65 72 72 6f 72 20 73 65 6e 64 69 6e 67 20 6d 65  error sending me
0510: 73 73 61 67 65 22 2c 20 65 29 3b 0a 20 20 20 20  ssage", e);.    
0520: 7d 0a 20 20 7d 0a 20 20 0a 7d 0a                 }.  }.  .}.