From 929671c5a5953759aaebe4b43b1f49fd407edc0f Mon Sep 17 00:00:00 2001 From: Nicolas Vinot Date: Sat, 8 Sep 2012 17:34:28 +0200 Subject: [PATCH] Forbid stopping when review in progress --- .classpath | 39 ++++++++++++++++--- .project | 4 +- .settings/org.eclipse.core.resources.prefs | 1 - .settings/org.eclipse.jdt.core.prefs | 4 -- ....eclipse.wst.common.project.facet.core.xml | 1 - .../fr/imirhil/april/hebdobot/irc/Bot.java | 24 +++++++++--- .../hebdobot/statusnet/StatusNetClient.java | 10 +++-- 7 files changed, 61 insertions(+), 22 deletions(-) diff --git a/.classpath b/.classpath index f5a2fae..5237d0f 100644 --- a/.classpath +++ b/.classpath @@ -1,14 +1,41 @@ - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.project b/.project index 4c8b7df..6293b7a 100644 --- a/.project +++ b/.project @@ -6,12 +6,12 @@ - org.eclipse.wst.common.project.facet.core.builder + org.eclipse.jdt.core.javabuilder - org.eclipse.jdt.core.javabuilder + org.eclipse.wst.common.project.facet.core.builder diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index 6013dec..7280518 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,4 +1,3 @@ -#Sun Oct 09 17:20:12 CEST 2011 eclipse.preferences.version=1 encoding//src/main/java=UTF8 encoding//src/main/resources=UTF8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 2d66f14..60105c1 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,9 +1,5 @@ -#Sat Dec 10 17:49:06 CET 2011 eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.source=1.6 diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml index bcfc325..88ceb05 100644 --- a/.settings/org.eclipse.wst.common.project.facet.core.xml +++ b/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -1,4 +1,3 @@ - diff --git a/src/main/java/fr/imirhil/april/hebdobot/irc/Bot.java b/src/main/java/fr/imirhil/april/hebdobot/irc/Bot.java index 4a83a24..6c45b7a 100644 --- a/src/main/java/fr/imirhil/april/hebdobot/irc/Bot.java +++ b/src/main/java/fr/imirhil/april/hebdobot/irc/Bot.java @@ -4,6 +4,8 @@ import java.util.Collection; import java.util.LinkedList; import org.jibble.pircbot.PircBot; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import fr.imirhil.april.hebdobot.Context; import fr.imirhil.april.hebdobot.review.CollectiveTopic; @@ -13,6 +15,7 @@ import fr.imirhil.april.hebdobot.review.Review; import fr.imirhil.april.hebdobot.review.Topic; public class Bot extends PircBot { + private static final Logger LOGGER = LoggerFactory.getLogger(Bot.class); private final String host; private final int port; private final String channel; @@ -45,6 +48,10 @@ public class Bot extends PircBot { @Override protected void onMessage(final String channel, final String sender, final String login, final String hostname, String message) { + LOGGER.debug( + "Message received - channel : {}, sender : {}, message : {}", + new Object[] { channel, sender, message }); + if (!channel.equalsIgnoreCase(this.channel)) { return; } @@ -101,6 +108,11 @@ public class Bot extends PircBot { return false; } + if (this.review != null) { + this.sendMessage("% Une revue est en cours, arrêt impossible"); + return false; + } + Context.close(); return true; } @@ -114,7 +126,7 @@ public class Bot extends PircBot { this.review = new Review(sender); this.sendMessage(sender, "Vous êtes le conducteur de réunion"); this.sendMessage(sender, "Pour terminer la réunion, tapez \"!fin\""); - this.sendMessage("Début de la réunion hebdomadaire"); + this.sendMessage("% Début de la réunion hebdomadaire"); return true; } @@ -134,7 +146,7 @@ public class Bot extends PircBot { } this.review = null; - this.sendMessage("Fin de la revue hebdomadaire"); + this.sendMessage("% Fin de la revue hebdomadaire"); return true; } @@ -184,17 +196,19 @@ public class Bot extends PircBot { final Topic current = this.review.getCurrentTopic(); if (current == null) { - this.sendMessage("Pas de sujet en cours"); + this.sendMessage("% Pas de sujet en cours"); } else if (current instanceof IndividualTopic) { - this.sendMessage("Sujet individuel en cours : " + this.sendMessage("% Sujet individuel en cours : " + current.getTitle()); } else if (current instanceof CollectiveTopic) { - this.sendMessage("Sujet collectif en cours : " + current.getTitle()); + this.sendMessage("% Sujet collectif en cours : " + + current.getTitle()); } return true; } public void sendMessage(final String message) { + LOGGER.debug("Send message : {}", message); this.sendMessage(this.channel, message); } } diff --git a/src/main/java/fr/imirhil/april/hebdobot/statusnet/StatusNetClient.java b/src/main/java/fr/imirhil/april/hebdobot/statusnet/StatusNetClient.java index 322d9a4..757cfe7 100644 --- a/src/main/java/fr/imirhil/april/hebdobot/statusnet/StatusNetClient.java +++ b/src/main/java/fr/imirhil/april/hebdobot/statusnet/StatusNetClient.java @@ -34,9 +34,13 @@ public abstract class StatusNetClient { System.out.println(service.getAuthorizationUrl(requestToken)); System.out.print(">>"); final Scanner scanner = new Scanner(System.in); - Verifier verifier = new Verifier(scanner.nextLine()); - final Token token = service.getAccessToken(requestToken, verifier); - System.out.println(token); + try { + final Verifier verifier = new Verifier(scanner.nextLine()); + final Token token = service.getAccessToken(requestToken, verifier); + System.out.println(token); + } finally { + scanner.close(); + } } public void post(final String message) {