[Asterisk-java-cvs] CVS: asterisk-java/src/java/net/sf/asterisk/manager Extension.java,NONE,1.1 Defa
Brought to you by:
srt
From: Stefan R. <sr...@us...> - 2005-08-08 05:22:20
|
Update of /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/manager In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31762/src/java/net/sf/asterisk/manager Modified Files: DefaultAsteriskManager.java Channel.java MultiAsterisksManager.java Added Files: Extension.java Log Message: Introduced Extension class that represents an Asterisk dialplan entry. --- NEW FILE: Extension.java --- /* * Copyright 2004-2005 Stefan Reuter * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package net.sf.asterisk.manager; import java.io.Serializable; /** * Represents an Asterisk dialplan entry. * * @author srt * @version $Id: Extension.java,v 1.1 2005/08/08 05:22:07 srt Exp $ */ public class Extension implements Serializable { /** * Serial version identifier. */ private static final long serialVersionUID = 768239042942945744L; private String context; private String extension; private Integer priority; private String application; private String appData; /** * @param context * @param extension * @param priority */ public Extension(String context, String extension, Integer priority) { super(); // TODO Auto-generated constructor stub this.context = context; this.extension = extension; this.priority = priority; } /** * @param context * @param extension * @param priority * @param application * @param appData */ public Extension(String context, String extension, Integer priority, String application, String appData) { this.context = context; this.extension = extension; this.priority = priority; this.application = application; this.appData = appData; } public String getContext() { return context; } public void setContext(String context) { this.context = context; } public String getExtension() { return extension; } public void setExtension(String extension) { this.extension = extension; } public Integer getPriority() { return priority; } public void setPriority(Integer priority) { this.priority = priority; } public String getApplication() { return application; } public void setApplication(String application) { this.application = application; } public String getAppData() { return appData; } public void setAppData(String appData) { this.appData = appData; } } Index: DefaultAsteriskManager.java =================================================================== RCS file: /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/manager/DefaultAsteriskManager.java,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -p -r1.14 -r1.15 --- DefaultAsteriskManager.java 28 Jul 2005 23:05:21 -0000 1.14 +++ DefaultAsteriskManager.java 8 Aug 2005 05:22:07 -0000 1.15 @@ -437,6 +437,7 @@ public class DefaultAsteriskManager protected void handleStatusEvent(StatusEvent event) { Channel channel; + Extension extension; boolean isNew = false; channel = (Channel) channels.get(event.getUniqueId()); @@ -451,14 +452,28 @@ public class DefaultAsteriskManager isNew = true; } + if (event.getContext() == null && event.getExtension() == null + && event.getPriority() == null) + { + extension = null; + } + else + { + extension = new Extension(event.getContext(), event.getExtension(), + event.getPriority()); + } + synchronized (channel) { channel.setCallerId(event.getCallerId()); channel.setAccount(event.getAccount()); channel.setState(ChannelStateEnum.getEnum(event.getState())); - channel.setContext(event.getContext()); - channel.setExtension(event.getExtension()); - channel.setPriority(event.getPriority()); + channel.setCurrentExtension(extension); + if (channel.getFirstExtension() == null) + { + channel.setFirstExtension(extension); + } + if (event.getLink() != null) { Channel linkedChannel = getChannelByName(event.getLink()); @@ -612,7 +627,10 @@ public class DefaultAsteriskManager protected void handleNewExtenEvent(NewExtenEvent event) { - Channel channel = (Channel) channels.get(event.getUniqueId()); + Channel channel; + Extension extension; + + channel = (Channel) channels.get(event.getUniqueId()); if (channel == null) { logger.error("Ignored NewExtenEvent for unknown channel " @@ -620,19 +638,23 @@ public class DefaultAsteriskManager return; } + extension = new Extension(event.getContext(), event.getExtension(), + event.getPriority(), event.getApplication(), event.getAppData()); + synchronized (channel) { - channel.setContext(event.getContext()); - channel.setExtension(event.getExtension()); - channel.setPriority(event.getPriority()); - channel.setApplication(event.getApplication()); - channel.setAppData(event.getAppData()); + channel.setCurrentExtension(extension); + if (channel.getFirstExtension() == null) + { + channel.setFirstExtension(extension); + } } } protected void handleNewStateEvent(NewStateEvent event) { Channel channel = (Channel) channels.get(event.getUniqueId()); + if (channel == null) { logger.error("Ignored NewStateEvent for unknown channel " Index: Channel.java =================================================================== RCS file: /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/manager/Channel.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -p -r1.4 -r1.5 --- Channel.java 13 Mar 2005 11:26:48 -0000 1.4 +++ Channel.java 8 Aug 2005 05:22:07 -0000 1.5 @@ -56,11 +56,8 @@ public class Channel implements Serializ * Account code used to bill this channel. */ private String account; - private String context; - private String extension; - private Integer priority; - private String application; - private String appData; + private Extension firstExtension; + private Extension currentExtension; /** * Date this channel has been created. @@ -210,54 +207,24 @@ public class Channel implements Serializ this.account = account; } - public final String getContext() - { - return context; - } - - public final void setContext(final String context) - { - this.context = context; - } - - public final String getExtension() - { - return extension; - } - - public final void setExtension(final String extension) - { - this.extension = extension; - } - - public final Integer getPriority() - { - return priority; - } - - public final void setPriority(final Integer priority) - { - this.priority = priority; - } - - public final String getApplication() + public final Extension getCurrentExtension() { - return application; + return currentExtension; } - - public final void setApplication(final String application) + + public void setCurrentExtension(Extension currentExtension) { - this.application = application; + this.currentExtension = currentExtension; } - - public final String getAppData() + + public Extension getFirstExtension() { - return appData; + return firstExtension; } - public final void setAppData(final String appData) + public void setFirstExtension(Extension firstExtension) { - this.appData = appData; + this.firstExtension = firstExtension; } /** @@ -311,11 +278,6 @@ public class Channel implements Serializ sb.append("callerId='" + getCallerId() + "'; "); sb.append("state='" + getState() + "'; "); sb.append("account='" + getAccount() + "'; "); - sb.append("context='" + getContext() + "'; "); - sb.append("extension='" + getExtension() + "'; "); - sb.append("priority='" + getPriority() + "'; "); - sb.append("application='" + getApplication() + "'; "); - sb.append("appData='" + getAppData() + "'; "); sb.append("dateOfCreation=" + getDateOfCreation() + "; "); if (linkedChannel == null) { Index: MultiAsterisksManager.java =================================================================== RCS file: /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/manager/MultiAsterisksManager.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -p -r1.6 -r1.7 --- MultiAsterisksManager.java 27 Jul 2005 23:38:14 -0000 1.6 +++ MultiAsterisksManager.java 8 Aug 2005 05:22:07 -0000 1.7 @@ -219,9 +219,7 @@ public class MultiAsterisksManager imple channel.setCallerId(event.getCallerId()); channel.setAccount(event.getAccount()); channel.setState(ChannelStateEnum.getEnum(event.getState())); - channel.setContext(event.getContext()); - channel.setExtension(event.getExtension()); - channel.setPriority(event.getPriority()); + // TODO handle extension if (event.getLink() != null) { Channel linkedChannel = getChannelByName(event.getLink()); @@ -348,11 +346,7 @@ public class MultiAsterisksManager imple synchronized (channel) { - channel.setContext(event.getContext()); - channel.setExtension(event.getExtension()); - channel.setPriority(event.getPriority()); - channel.setApplication(event.getApplication()); - channel.setAppData(event.getAppData()); + // TODO handle new extension } } |