Liste.java 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package actions;
  2. import java.util.ArrayList;
  3. import java.util.LinkedList;
  4. import java.util.List;
  5. import data.ISP;
  6. import data.ISPDAO;
  7. import data.Message;
  8. import main.AffichableSurIRC;
  9. import main.Bot;
  10. import main.Cache;
  11. /**
  12. * Classe servant à la récuperation d'une liste des FAI présents dans la base de donnée.
  13. * @author marmat
  14. *
  15. */
  16. public class Liste extends Action {
  17. public static volatile boolean allAllowed=true;
  18. public Liste(Bot b) {
  19. super(b);
  20. List<String> ar = new ArrayList<>();
  21. ar.add("liste");
  22. ar.add("list");
  23. this.keyWords = ar;
  24. }
  25. @Override
  26. public String help() {
  27. return " Liste tous les FAI de la fédération. L'Ajout du parametre All affiche aussi ceux hors fédération.";
  28. }
  29. @Override
  30. @Deprecated
  31. public void react(String channel, String sender, String login, String hostname, Message message) {
  32. bot.sendMessages(sender,channel, reactL(channel, sender, login, hostname, message));
  33. }
  34. @Override
  35. public List<String> reactL(String channel, String sender, String login, String hostname, Message message) {
  36. ISPDAO idao = ISPDAO.getInstance();
  37. Cache c = Cache.getInstance();
  38. List<ISP> listeFAI=null;
  39. try {
  40. listeFAI = c.getListe();
  41. }catch (Exception e) {
  42. try {
  43. listeFAI = idao.getISPs();
  44. } catch (Exception e1) {
  45. // TODO Auto-generated catch block
  46. e1.printStackTrace();
  47. }
  48. }
  49. List<String> messages = new LinkedList<>();
  50. messages.add("Les FAI surveillés par mes petits yeux mignons de bot sont:");
  51. String s="";
  52. if(allAllowed && message.parametersContains("all")) {
  53. messages.add("=== Hors fédé: ===");
  54. for(ISP isp: listeFAI) {
  55. if(!isp.isFFDNMember()) {
  56. s+= isp.getBetterName()+", ";
  57. }
  58. if(s.length()>=AffichableSurIRC.MAX_CHARACTERS) {
  59. messages.add(s);
  60. s="";
  61. }
  62. }
  63. messages.add(s);
  64. s="";
  65. }
  66. messages.add("=== Dans la fédé: ===");
  67. for(ISP isp: listeFAI ) {
  68. if(isp.isFFDNMember()) {
  69. s+= isp.getBetterName();
  70. if(s.length()>=AffichableSurIRC.MAX_CHARACTERS) {
  71. messages.add(s);
  72. s="";
  73. }else {
  74. s+=", ";
  75. }
  76. }
  77. }
  78. messages.add(s);
  79. return messages;
  80. }
  81. }