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();
}
|