[Asterisk-java-cvs] CVS: asterisk-java/src/java/net/sf/asterisk/manager Channel.java,1.7,1.8
Brought to you by:
srt
From: Stefan R. <sr...@us...> - 2005-08-08 06:08:38
|
Update of /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/manager In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4438/src/java/net/sf/asterisk/manager Modified Files: Channel.java Log Message: Made toString() threadsafe Index: Channel.java =================================================================== RCS file: /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/manager/Channel.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -p -r1.7 -r1.8 --- Channel.java 8 Aug 2005 05:59:16 -0000 1.7 +++ Channel.java 8 Aug 2005 06:08:27 -0000 1.8 @@ -310,14 +310,22 @@ public class Channel implements Serializ public String toString() { StringBuffer sb; + Channel linkedChannel; + int systemHashcode; sb = new StringBuffer(getClass().getName() + ": "); - sb.append("id='" + getId() + "'; "); - sb.append("name='" + getName() + "'; "); - sb.append("callerId='" + getCallerId() + "'; "); - sb.append("state='" + getState() + "'; "); - sb.append("account='" + getAccount() + "'; "); - sb.append("dateOfCreation=" + getDateOfCreation() + "; "); + + synchronized (this) + { + sb.append("id='" + getId() + "'; "); + sb.append("name='" + getName() + "'; "); + sb.append("callerId='" + getCallerId() + "'; "); + sb.append("state='" + getState() + "'; "); + sb.append("account='" + getAccount() + "'; "); + sb.append("dateOfCreation=" + getDateOfCreation() + "; "); + linkedChannel = this.linkedChannel; + systemHashcode = System.identityHashCode(this); + } if (linkedChannel == null) { sb.append("linkedChannel=null; "); @@ -325,14 +333,17 @@ public class Channel implements Serializ else { sb.append("linkedChannel=["); - sb.append(linkedChannel.getClass().getName() + ": "); - sb.append("id='" + linkedChannel.getId() + "'; "); - sb.append("name='" + linkedChannel.getName() + "'; "); - sb.append("systemHashcode=" - + System.identityHashCode(linkedChannel)); + synchronized (linkedChannel) + { + sb.append(linkedChannel.getClass().getName() + ": "); + sb.append("id='" + linkedChannel.getId() + "'; "); + sb.append("name='" + linkedChannel.getName() + "'; "); + sb.append("systemHashcode=" + + System.identityHashCode(linkedChannel)); + } sb.append("]; "); } - sb.append("systemHashcode=" + System.identityHashCode(this)); + sb.append("systemHashcode=" + systemHashcode); return sb.toString(); } |