diff options
Diffstat (limited to 'src/com/isode')
3 files changed, 29 insertions, 19 deletions
diff --git a/src/com/isode/stroke/elements/VCard.java b/src/com/isode/stroke/elements/VCard.java index 91a9093..ff4a02c 100644 --- a/src/com/isode/stroke/elements/VCard.java +++ b/src/com/isode/stroke/elements/VCard.java @@ -26,16 +26,16 @@ public class VCard extends Payload implements Serializable { private String nick_ = ""; private Date birthday_; private String unknownContent_ = ""; - private List<EMailAddress> emailAddresses_; - private List<Telephone> telephones_; - private List<Address> addresses_; - private List<AddressLabel> addressLabels_; - private List<JID> jids_; + private List<EMailAddress> emailAddresses_ = new ArrayList<EMailAddress>(); + private List<Telephone> telephones_ = new ArrayList<Telephone>(); + private List<Address> addresses_ = new ArrayList<Address>(); + private List<AddressLabel> addressLabels_ = new ArrayList<AddressLabel>(); + private List<JID> jids_ = new ArrayList<JID>(); private String description_ = ""; - private List<Organization> organizations_; - private List<String> titles_; - private List<String> roles_; - private List<String> urls_; + private List<Organization> organizations_ = new ArrayList<Organization>(); + private List<String> titles_ = new ArrayList<String>(); + private List<String> roles_ = new ArrayList<String>(); + private List<String> urls_ = new ArrayList<String>(); public static class EMailAddress { public boolean isHome; @@ -43,7 +43,7 @@ public class VCard extends Payload implements Serializable { public boolean isInternet; public boolean isPreferred; public boolean isX400; - public String address; + public String address = ""; }; public static class Telephone { @@ -60,7 +60,7 @@ public class VCard extends Payload implements Serializable { public boolean isISDN; public boolean isPCS; public boolean isPreferred; - public String number; + public String number = ""; }; public static enum DeliveryType { @@ -77,13 +77,13 @@ public class VCard extends Payload implements Serializable { public DeliveryType deliveryType; public boolean isPreferred; - public String poBox; - public String addressExtension; - public String street; - public String locality; - public String region; - public String postalCode; - public String country; + public String poBox = ""; + public String addressExtension = ""; + public String street = ""; + public String locality = ""; + public String region = ""; + public String postalCode = ""; + public String country = ""; }; public static class AddressLabel { @@ -97,7 +97,7 @@ public class VCard extends Payload implements Serializable { }; public static class Organization { - public String name; + public String name = ""; public List<String> units = new ArrayList<String>(); }; diff --git a/src/com/isode/stroke/parser/payloadparsers/DiscoInfoParser.java b/src/com/isode/stroke/parser/payloadparsers/DiscoInfoParser.java index acd1ae0..181caa2 100644 --- a/src/com/isode/stroke/parser/payloadparsers/DiscoInfoParser.java +++ b/src/com/isode/stroke/parser/payloadparsers/DiscoInfoParser.java @@ -19,6 +19,11 @@ public class DiscoInfoParser extends GenericPayloadParser<DiscoInfo> { } public void handleStartElement(String element, String ns, AttributeMap attributes) { + if (level_ == TopLevel) { + if (attributes.getAttributeValue("node") != null) { + getPayloadInternal().setNode(attributes.getAttributeValue("node")); + } + } if (level_ == PayloadLevel) { if (element .equals("identity")) { getPayloadInternal().addIdentity(new DiscoInfo.Identity(attributes.getAttribute("name"), attributes.getAttribute("category"), attributes.getAttribute("type"), attributes.getAttribute("lang", "http://www.w3.org/XML/1998/namespace"))); diff --git a/src/com/isode/stroke/parser/payloadparsers/DiscoItemsParser.java b/src/com/isode/stroke/parser/payloadparsers/DiscoItemsParser.java index 091fd32..abf7c29 100644 --- a/src/com/isode/stroke/parser/payloadparsers/DiscoItemsParser.java +++ b/src/com/isode/stroke/parser/payloadparsers/DiscoItemsParser.java @@ -26,6 +26,11 @@ public class DiscoItemsParser extends GenericPayloadParser<DiscoItems> { getPayloadInternal().addItem(item); } } + else if (level_ == TopLevel) { + if (element.equals("query")) { + getPayloadInternal().setNode(attributes.getAttribute("node")); + } + } ++level_; } |