Parcourir la source

fix: Si +info est vide

Martin Passard il y a 7 ans
Parent
commit
4524e95ca2
1 fichiers modifiés avec 49 ajouts et 39 suppressions
  1. 49 39
      src/actions/Info.java

+ 49 - 39
src/actions/Info.java

@@ -21,54 +21,64 @@ public class Info extends Action {
 
 	@Override
 	public void react(String channel, String sender, String login, String hostname, String message) {
-		String s = message.substring(message.indexOf(' ')+1);
-		ISPDAO idao = ISPDAO.getInstance();
-		Bot ib = (Bot)bot;
-		if(!EntierPositifNonVide.verifie(s)) {			// Un mot après +info
+		String messageSansEspace = message.toLowerCase().replaceAll("\\s", "");
+		if(messageSansEspace.equals(CARACTERE_COMMANDE+keyWords.get(0))) {
+			bot.sendMessage(channel,CARACTERE_COMMANDE+messageSansEspace+" doit être suivi d'une chaine de caractère ou d'un numero");
 
+		}else {
+
+
+			String s = message.substring(message.indexOf(' ')+1);
+			ISPDAO idao = ISPDAO.getInstance();
+			Bot ib = (Bot)bot;
+
+
+			if(!EntierPositifNonVide.verifie(s)) {			// Un mot après +info
 
-			if(s.equalsIgnoreCase("all")) {	          			  // +info all
-				Cache c = Cache.getInstance();
-				ib.sendMessage(channel, c.toStringIRC());
-				for(ISP i : c.getListe()) {
-					if(i.isFFDNMember()) {
-						ib.sendMessage(channel, i.toStringIRC());
-					}
-				}
 
-			}else if(s.equalsIgnoreCase("ffdn")) {				//+info ffdn
-				Cache c = Cache.getInstance();
-				ib.sendMessage(channel, c.toStringIRC());
-
-			}else {
-				Cache c = Cache.getInstance();
-				ISP i = c.getISPWithName(s);
-				if(i == null) {
-					bot.sendMessage(channel, "Recherche d'une zone "+s);
-					ISP j = c.getISPWithGeoZone(s);
-					if(j == null)
-						bot.sendMessage(channel, "Le FAI "+s+" est Inconnu, désolé. Et aucun FAI n'opère sur une sone dénomée "+s+" ...");
-					else {
-						bot.sendMessage(channel, "Un FAI opère sur la zone "+s+" : ");
-						ib.sendMessage(channel, j.toStringIRC());
-						List<CoveredAreas> cas = j.getCoveredAreas(s);
-						String technos = "";
-						for(CoveredAreas ca: cas) {
-							technos+=ca.getTechnos()+" ";
+				if(s.equalsIgnoreCase("all")) {	          			  // +info all
+					Cache c = Cache.getInstance();
+					ib.sendMessage(channel, c.toStringIRC());
+					for(ISP i : c.getListe()) {
+						if(i.isFFDNMember()) {
+							ib.sendMessage(channel, i.toStringIRC());
 						}
-						bot.sendMessage(channel, "Avec pour techno "+technos);
 					}
+
+				}else if(s.equalsIgnoreCase("ffdn")) {				//+info ffdn
+					Cache c = Cache.getInstance();
+					ib.sendMessage(channel, c.toStringIRC());
+
 				}else {
-					ib.sendMessage(channel, i.toStringIRC());
+					Cache c = Cache.getInstance();
+					ISP i = c.getISPWithName(s);
+					if(i == null) {
+						bot.sendMessage(channel, "Recherche d'une zone "+s);
+						ISP j = c.getISPWithGeoZone(s);
+						if(j == null)
+							bot.sendMessage(channel, "Le FAI "+s+" est Inconnu, désolé. Et aucun FAI n'opère sur une sone dénomée "+s+" ...");
+						else {
+							bot.sendMessage(channel, "Un FAI opère sur la zone "+s+" : ");
+							ib.sendMessage(channel, j.toStringIRC());
+							List<CoveredAreas> cas = j.getCoveredAreas(s);
+							String technos = "";
+							for(CoveredAreas ca: cas) {
+								technos+=ca.getTechnos()+" ";
+							}
+							bot.sendMessage(channel, "Avec pour techno "+technos);
+						}
+					}else {
+						ib.sendMessage(channel, i.toStringIRC());
+					}
 				}
-			}
 
-		}else {											// Un nombre après +info
+			}else {											// Un nombre après +info
 
-			int  id = Integer.parseInt(message.substring(message.indexOf(' ')+1));
-			List<String> strings = idao.getISP(id).toStringIRC();
-			for(String response : strings) {
-				bot.sendMessage(channel,response);
+				int  id = Integer.parseInt(message.substring(message.indexOf(' ')+1));
+				List<String> strings = idao.getISP(id).toStringIRC();
+				for(String response : strings) {
+					bot.sendMessage(channel,response);
+				}
 			}
 		}