# HG changeset patch # User cli # Date 1251276959 -7200 # Node ID e4345a26f81f094efd3a71a30956ad63dc6aa3ec # Parent 2541bdb54cb224c9904d64a7e425a9d6dfdaf790 Proper reply on XDAEMON GROUPADD if group already existing (#551). diff -r 2541bdb54cb2 -r e4345a26f81f org/sonews/daemon/command/XDaemonCommand.java --- a/org/sonews/daemon/command/XDaemonCommand.java Wed Aug 26 10:47:51 2009 +0200 +++ b/org/sonews/daemon/command/XDaemonCommand.java Wed Aug 26 10:55:59 2009 +0200 @@ -66,6 +66,21 @@ return false; } + private void channelAdd(String[] commands, NNTPConnection conn) + throws IOException, StorageBackendException + { + String groupName = commands[2]; + if(StorageManager.current().isGroupExisting(groupName)) + { + conn.println("400 group " + groupName + " already existing!"); + } + else + { + StorageManager.current().addGroup(groupName, Integer.parseInt(commands[3])); + conn.println("200 group " + groupName + " created"); + } + } + // TODO: Refactor this method to reduce complexity! @Override public void processLine(NNTPConnection conn, String line, byte[] raw) @@ -119,8 +134,7 @@ } else if(commands.length == 4 && commands[1].equalsIgnoreCase("GROUPADD")) { - StorageManager.current().addGroup(commands[2], Integer.parseInt(commands[3])); - conn.println("200 group " + commands[2] + " created"); + channelAdd(commands, conn); } else if(commands.length == 3 && commands[1].equalsIgnoreCase("GROUPDEL")) {