aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBoris Grozev <boris@jitsi.org>2013-06-22 11:08:08 +0300
committerBoris Grozev <boris@jitsi.org>2013-06-22 11:08:39 +0300
commit8375e6d3bf0cbbd2324e41d8b8e775aef3b4ee16 (patch)
tree13707fbbae590a46edf30b0625538278c02bdb78
parent176fe3587016a5b04de0cd0080264c444040ffad (diff)
downloadjitsi-8375e6d3bf0cbbd2324e41d8b8e775aef3b4ee16.zip
jitsi-8375e6d3bf0cbbd2324e41d8b8e775aef3b4ee16.tar.gz
jitsi-8375e6d3bf0cbbd2324e41d8b8e775aef3b4ee16.tar.bz2
Fix setting of status
-rw-r--r--src/net/java/sip/communicator/util/ConferenceInfoDocument.java52
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);
}
/**