[Asterisk-java-cvs] CVS: asterisk-java/src/java/net/sf/asterisk/manager DefaultAsteriskManager.java,
Brought to you by:
srt
From: Stefan R. <sr...@us...> - 2005-08-08 05:37:08
|
Update of /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/manager In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv864/src/java/net/sf/asterisk/manager Modified Files: DefaultAsteriskManager.java Channel.java Log Message: Included full extension history in Channel Index: DefaultAsteriskManager.java =================================================================== RCS file: /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/manager/DefaultAsteriskManager.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -p -r1.16 -r1.17 --- DefaultAsteriskManager.java 8 Aug 2005 05:31:11 -0000 1.16 +++ DefaultAsteriskManager.java 8 Aug 2005 05:36:57 -0000 1.17 @@ -468,11 +468,7 @@ public class DefaultAsteriskManager channel.setCallerId(event.getCallerId()); channel.setAccount(event.getAccount()); channel.setState(ChannelStateEnum.getEnum(event.getState())); - channel.setCurrentExtension(extension); - if (channel.getFirstExtension() == null) - { - channel.setFirstExtension(extension); - } + channel.addExtension(extension); if (event.getLink() != null) { @@ -644,11 +640,7 @@ public class DefaultAsteriskManager synchronized (channel) { - channel.setCurrentExtension(extension); - if (channel.getFirstExtension() == null) - { - channel.setFirstExtension(extension); - } + channel.addExtension(extension); } } Index: Channel.java =================================================================== RCS file: /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/manager/Channel.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -p -r1.5 -r1.6 --- Channel.java 8 Aug 2005 05:22:07 -0000 1.5 +++ Channel.java 8 Aug 2005 05:36:57 -0000 1.6 @@ -17,7 +17,9 @@ package net.sf.asterisk.manager; import java.io.Serializable; +import java.util.ArrayList; import java.util.Date; +import java.util.List; /** * @author srt @@ -35,7 +37,7 @@ public class Channel implements Serializ /** * Unique id of this channel. */ - private String id; + private final String id; /** * Name of this channel. @@ -56,8 +58,7 @@ public class Channel implements Serializ * Account code used to bill this channel. */ private String account; - private Extension firstExtension; - private Extension currentExtension; + private final List extensions; /** * Date this channel has been created. @@ -78,8 +79,7 @@ public class Channel implements Serializ */ public Channel(final String name, final String id) { - this.name = name; - this.id = id; + this(name, id, null); } /** @@ -95,6 +95,7 @@ public class Channel implements Serializ this.name = name; this.id = id; this.asteriskServer = server; + this.extensions = new ArrayList(); } /** @@ -209,22 +210,48 @@ public class Channel implements Serializ public final Extension getCurrentExtension() { - return currentExtension; - } - - public void setCurrentExtension(Extension currentExtension) - { - this.currentExtension = currentExtension; + Extension extension; + + synchronized (extensions) + { + if (extensions.isEmpty()) + { + extension = null; + } + else + { + extension = (Extension) extensions.get(extensions.size() - 1); + } + } + + return extension; } - + public Extension getFirstExtension() { - return firstExtension; + Extension extension; + + synchronized (extensions) + { + if (extensions.isEmpty()) + { + extension = null; + } + else + { + extension = (Extension) extensions.get(0); + } + } + + return extension; } - public void setFirstExtension(Extension firstExtension) + public void addExtension(Extension extension) { - this.firstExtension = firstExtension; + synchronized (extensions) + { + extensions.add(extension); + } } /** |