diff options
author | Boris Grozev <boris@jitsi.org> | 2013-06-22 11:08:08 +0300 |
---|---|---|
committer | Boris Grozev <boris@jitsi.org> | 2013-06-22 11:08:39 +0300 |
commit | 8375e6d3bf0cbbd2324e41d8b8e775aef3b4ee16 (patch) | |
tree | 13707fbbae590a46edf30b0625538278c02bdb78 | |
parent | 176fe3587016a5b04de0cd0080264c444040ffad (diff) | |
download | jitsi-8375e6d3bf0cbbd2324e41d8b8e775aef3b4ee16.zip jitsi-8375e6d3bf0cbbd2324e41d8b8e775aef3b4ee16.tar.gz jitsi-8375e6d3bf0cbbd2324e41d8b8e775aef3b4ee16.tar.bz2 |
Fix setting of status
-rw-r--r-- | src/net/java/sip/communicator/util/ConferenceInfoDocument.java | 52 |
1 files changed, 36 insertions, 16 deletions
diff --git a/src/net/java/sip/communicator/util/ConferenceInfoDocument.java b/src/net/java/sip/communicator/util/ConferenceInfoDocument.java index aa90700..e8273cd 100644 --- a/src/net/java/sip/communicator/util/ConferenceInfoDocument.java +++ b/src/net/java/sip/communicator/util/ConferenceInfoDocument.java @@ -508,6 +508,37 @@ public class ConferenceInfoDocument } /** + * Sets the <tt>status</tt> child element of <tt>element</tt>. If + * <tt>statusString</tt> is <tt>null</tt>, the child element is removed + * if present. + * @param element the <tt>Element</tt> for which to set the <tt>status</tt> + * child element. + * @param statusString the <tt>String</tt> to use for the text content of + * the <tt>status</tt> element + */ + private void setStatus(Element element, String statusString) + { + Element statusElement + = XMLUtils.findChild(element, STATUS_ELEMENT_NAME); + if (statusString == null) + { + if(statusElement == null) + return; + else + element.removeChild(statusElement); + } + else + { + if (statusElement == null) + { + statusElement = document.createElement(STATUS_ELEMENT_NAME); + element.appendChild(statusElement); + } + statusElement.setTextContent(statusString); + } + } + + /** * Represents the possible values for the <tt>state</tt> attribute (see * RFC4575) */ @@ -820,14 +851,10 @@ public class ConferenceInfoDocument */ public void setStatus(EndpointStatusType status) { - Element statusElement - = XMLUtils.findChild(endpointElement, STATUS_ELEMENT_NAME); - if (statusElement == null) - { - statusElement = document.createElement(STATUS_ELEMENT_NAME); - endpointElement.appendChild(statusElement); - } - statusElement.setTextContent(status.toString()); + ConferenceInfoDocument.this.setStatus(endpointElement, + status == null + ? null + : status.toString()); } /** @@ -1019,14 +1046,7 @@ public class ConferenceInfoDocument */ public void setStatus(String status) { - Element statusElement - = XMLUtils.findChild(mediaElement, STATUS_ELEMENT_NAME); - if (statusElement == null) - { - statusElement = document.createElement(STATUS_ELEMENT_NAME); - mediaElement.appendChild(statusElement); - } - statusElement.setTextContent(status); + ConferenceInfoDocument.this.setStatus(mediaElement, status); } /** |