From 0ca8b726bdfaefd20eef400d5368fdd66b1df571 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Mon, 4 Feb 2013 13:33:15 +0000 Subject: [PATCH] PubSub SubcribeForm: Use new StringUtils.formatXEP0082Date to get the correct date string. Note that the previous used SimpleDateFormat "yyyy-MM-dd'T'HH:mm:ss.SSSZ" did not produce XEP-0082 conforming strings, since Z is replace with e.g. '+0100' whereas it should be '+01:00'. git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13434 b35dd754-fafc-0310-a699-88a17e54d16e --- source/org/jivesoftware/smackx/pubsub/SubscribeForm.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/source/org/jivesoftware/smackx/pubsub/SubscribeForm.java b/source/org/jivesoftware/smackx/pubsub/SubscribeForm.java index 5ed531148..53f26068f 100644 --- a/source/org/jivesoftware/smackx/pubsub/SubscribeForm.java +++ b/source/org/jivesoftware/smackx/pubsub/SubscribeForm.java @@ -21,6 +21,7 @@ import java.util.Date; import java.util.Iterator; import java.util.UnknownFormatConversionException; +import org.jivesoftware.smack.util.StringUtils; import org.jivesoftware.smackx.Form; import org.jivesoftware.smackx.FormField; import org.jivesoftware.smackx.packet.DataForm; @@ -36,9 +37,7 @@ import org.jivesoftware.smackx.packet.DataForm; * @author Robin Collier */ public class SubscribeForm extends Form -{ - private static final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ"); - +{ public SubscribeForm(DataForm configDataForm) { super(configDataForm); @@ -127,7 +126,7 @@ public class SubscribeForm extends Form String dateTime = getFieldValue(SubscribeOptionFields.expire); try { - return format.parse(dateTime); + return StringUtils.parseDate(dateTime); } catch (ParseException e) { @@ -145,7 +144,7 @@ public class SubscribeForm extends Form public void setExpiry(Date expire) { addField(SubscribeOptionFields.expire, FormField.TYPE_TEXT_SINGLE); - setAnswer(SubscribeOptionFields.expire.getFieldName(), format.format(expire)); + setAnswer(SubscribeOptionFields.expire.getFieldName(), StringUtils.formatXEP0082Date(expire)); } /**