Update of /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/fastagi/impl
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23072/src/java/net/sf/asterisk/fastagi/impl
Modified Files:
AGIChannelImpl.java
Log Message:
Fixed InvalidCommandSyntaxException and InvalidOrUnknownCommandException
Index: AGIChannelImpl.java
===================================================================
RCS file: /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/fastagi/impl/AGIChannelImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -p -r1.1 -r1.2
--- AGIChannelImpl.java 11 Mar 2005 15:20:50 -0000 1.1
+++ AGIChannelImpl.java 11 Mar 2005 19:34:55 -0000 1.2
@@ -20,6 +20,8 @@ import net.sf.asterisk.fastagi.AGIChanne
import net.sf.asterisk.fastagi.AGIException;
import net.sf.asterisk.fastagi.AGIReader;
import net.sf.asterisk.fastagi.AGIWriter;
+import net.sf.asterisk.fastagi.InvalidCommandSyntaxException;
+import net.sf.asterisk.fastagi.InvalidOrUnknownCommandException;
import net.sf.asterisk.fastagi.command.AGICommand;
import net.sf.asterisk.fastagi.reply.AGIReply;
import net.sf.asterisk.io.SocketConnectionFacade;
@@ -35,27 +37,38 @@ public class AGIChannelImpl implements A
private AGIWriter agiWriter;
private AGIReader agiReader;
private SocketConnectionFacade socket;
-
+
public AGIChannelImpl(SocketConnectionFacade socket)
{
this.socket = socket;
this.agiWriter = new AGIWriterImpl(socket);
this.agiReader = new AGIReaderImpl(socket);
}
-
+
public AGIChannelImpl(AGIWriter agiWriter, AGIReader agiReader)
{
this.agiWriter = agiWriter;
this.agiReader = agiReader;
}
-
- public synchronized AGIReply sendCommand(AGICommand command) throws AGIException
+
+ public synchronized AGIReply sendCommand(AGICommand command)
+ throws AGIException
{
AGIReply reply;
-
+
agiWriter.sendCommand(command);
reply = agiReader.readReply();
-
+
+ if (reply.getStatus() == AGIReply.SC_INVALID_OR_UNKNOWN_COMMAND)
+ {
+ throw new InvalidOrUnknownCommandException();
+ }
+ if (reply.getStatus() == AGIReply.SC_INVALID_COMMAND_SYNTAX)
+ {
+ throw new InvalidCommandSyntaxException(reply.getSynopsis(), reply
+ .getUsage());
+ }
+
return reply;
}
}
|