@Override public XmlStringBuilder toXML() { XmlStringBuilder xml = new XmlStringBuilder(this); xml.attribute("stamp", XmppDateTime.formatXEP0082Date(stamp)); xml.optAttribute("from", from); xml.rightAngleBracket(); xml.optAppend(reason); xml.closeElement(this); return xml; }
public XmlStringBuilder toXML() { XmlStringBuilder xml = new XmlStringBuilder(this); xml.optIntAttribute("maxchars", getMaxChars()); xml.optIntAttribute("maxstanzas", getMaxStanzas()); xml.optIntAttribute("seconds", getSeconds()); if (getSince() != null) { xml.attribute("since", XmppDateTime.formatXEP0082Date(getSince())); } xml.closeEmptyElement(); return xml; }
public String toXML() { StringBuilder stringBuilder = new StringBuilder(); stringBuilder .append("<") .append(getElementName()) .append(" xmlns=\"") .append(getNamespace()) .append("\" "); if (getName() != null) { stringBuilder.append("name=\"").append(StringUtils.escapeForXML(getName())).append("\" "); } if (getSize() > 0) { stringBuilder.append("size=\"").append(getSize()).append("\" "); } if (getDate() != null) { stringBuilder.append("date=\"").append(XmppDateTime.m13428a(this.date)).append("\" "); } if (getHash() != null) { stringBuilder.append("hash=\"").append(getHash()).append("\" "); } if ((this.desc == null || this.desc.length() <= 0) && !this.isRanged) { stringBuilder.append("/>"); } else { stringBuilder.append(">"); if (getDesc() != null && this.desc.length() > 0) { stringBuilder .append("<desc>") .append(StringUtils.escapeForXML(getDesc())) .append("</desc>"); } if (isRanged()) { stringBuilder.append("<range/>"); } stringBuilder.append("</").append(getElementName()).append(">"); } return stringBuilder.toString(); }
/** * Add a new element to this builder, with the {@link java.util.Date} instance as its content, * which will get formated with {@link XmppDateTime#formatXEP0082Date(Date)}. * * @param name element name * @param content content of element * @return this XmlStringBuilder */ public XmlStringBuilder element(String name, Date content) { assert content != null; return element(name, XmppDateTime.formatXEP0082Date(content)); }
/** * Add a new attribute to this builder, with the {@link java.util.Date} instance as its value, * which will get formated with {@link XmppDateTime#formatXEP0082Date(Date)}. * * @param name name of attribute * @param value value of attribute * @return this XmlStringBuilder */ public XmlStringBuilder attribute(String name, Date value) { assert value != null; return attribute(name, XmppDateTime.formatXEP0082Date(value)); }
@Override public StreamInitiation parse(XmlPullParser parser, int initialDepth) throws Exception { boolean done = false; // si String id = parser.getAttributeValue("", "id"); String mimeType = parser.getAttributeValue("", "mime-type"); StreamInitiation initiation = new StreamInitiation(); // file String name = null; String size = null; String hash = null; String date = null; String desc = null; boolean isRanged = false; // feature DataForm form = null; DataFormProvider dataFormProvider = new DataFormProvider(); int eventType; String elementName; String namespace; while (!done) { eventType = parser.next(); elementName = parser.getName(); namespace = parser.getNamespace(); if (eventType == XmlPullParser.START_TAG) { if (elementName.equals("file")) { name = parser.getAttributeValue("", "name"); size = parser.getAttributeValue("", "size"); hash = parser.getAttributeValue("", "hash"); date = parser.getAttributeValue("", "date"); } else if (elementName.equals("desc")) { desc = parser.nextText(); } else if (elementName.equals("range")) { isRanged = true; } else if (elementName.equals("x") && namespace.equals("jabber:x:data")) { form = dataFormProvider.parse(parser); } } else if (eventType == XmlPullParser.END_TAG) { if (elementName.equals("si")) { done = true; } else if (elementName.equals("file")) { long fileSize = 0; if (size != null && size.trim().length() != 0) { try { fileSize = Long.parseLong(size); } catch (NumberFormatException e) { LOGGER.log(Level.SEVERE, "Failed to parse file size from " + fileSize, e); } } Date fileDate = new Date(); if (date != null) { try { fileDate = XmppDateTime.parseDate(date); } catch (ParseException e) { // couldn't parse date, use current date-time } } File file = new File(name, fileSize); file.setHash(hash); file.setDate(fileDate); file.setDesc(desc); file.setRanged(isRanged); initiation.setFile(file); } } } initiation.setSessionID(id); initiation.setMimeType(mimeType); initiation.setFeatureNegotiationForm(form); return initiation; }
@Override protected Date parseDate(String string) throws ParseException { return XmppDateTime.parseDate(string); }