You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by be...@apache.org on 2009/05/22 22:29:51 UTC
svn commit: r777697 - in /mina/sandbox/vysper/trunk/src/main: config/
java/org/apache/vysper/xmpp/datetime/
java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/
Author: berndf
Date: Fri May 22 20:29:50 2009
New Revision: 777697
URL: http://svn.apache.org/viewvc?rev=777697&view=rev
Log:
[vysper] implement date time profile (XEP-0082 as a utility (VYSPER-66)
Added:
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/datetime/
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/datetime/DateTimeProfile.java
Modified:
mina/sandbox/vysper/trunk/src/main/config/spring-config.xml
mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java
Modified: mina/sandbox/vysper/trunk/src/main/config/spring-config.xml
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/config/spring-config.xml?rev=777697&r1=777696&r2=777697&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/src/main/config/spring-config.xml (original)
+++ mina/sandbox/vysper/trunk/src/main/config/spring-config.xml Fri May 22 20:29:50 2009
@@ -103,6 +103,8 @@
<bean class="org.apache.vysper.xmpp.modules.servicediscovery.ServiceDiscoveryModule" />
<bean class="org.apache.vysper.xmpp.modules.roster.RosterModule" />
<bean class="org.apache.vysper.xmpp.modules.extension.xep0092_software_version.SoftwareVersionModule" />
+ <bean class="org.apache.vysper.xmpp.modules.extension.xep0202_entity_time.EntityTimeModule" />
+ <bean class="org.apache.vysper.xmpp.modules.extension.xep0054_vcardtemp.VcardTempModule" />
<bean class="org.apache.vysper.xmpp.modules.extension.xep0060_pubsub.PublishSubscribeModule" />
</list>
</property>
Added: mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/datetime/DateTimeProfile.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/datetime/DateTimeProfile.java?rev=777697&view=auto
==============================================================================
--- mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/datetime/DateTimeProfile.java (added)
+++ mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/datetime/DateTimeProfile.java Fri May 22 20:29:50 2009
@@ -0,0 +1,52 @@
+package org.apache.vysper.xmpp.datetime;
+
+import org.apache.vysper.compliance.SpecCompliant;
+import static org.apache.vysper.compliance.SpecCompliant.ComplianceCoverage.COMPLETE;
+import static org.apache.vysper.compliance.SpecCompliant.ComplianceStatus.IN_PROGRESS;
+
+import java.util.TimeZone;
+import java.util.Date;
+import java.text.SimpleDateFormat;
+
+/**
+ * provides dates and times in XMPP conform formats
+ */
+@SpecCompliant(spec = "XEP-0082", status = IN_PROGRESS, coverage = COMPLETE)
+public class DateTimeProfile {
+
+ protected static final SimpleDateFormat utcDateFormatter;
+ protected static final SimpleDateFormat utcDateTimeFormatter;
+ protected static final SimpleDateFormat utcTimeFormatter;
+
+ static {
+ utcDateTimeFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
+ utcDateTimeFormatter.setTimeZone(TimeZone.getTimeZone("UTC")); // convert to UTC
+ utcDateFormatter = new SimpleDateFormat("yyyy-MM-dd");
+ utcDateFormatter.setTimeZone(TimeZone.getTimeZone("UTC")); // convert to UTC
+ utcTimeFormatter = new SimpleDateFormat("HH:mm:ss'Z'");
+ utcTimeFormatter.setTimeZone(TimeZone.getTimeZone("UTC")); // convert to UTC
+ }
+
+ private final static DateTimeProfile SINGLETON = new DateTimeProfile();
+
+ public static DateTimeProfile getInstance() {
+ return SINGLETON;
+ }
+
+ protected DateTimeProfile() {
+ // empty
+ }
+
+ public String getDateTimeInUTC(Date time) {
+ return utcDateTimeFormatter.format(time);
+ }
+
+ public String getDateInUTC(Date time) {
+ return utcDateFormatter.format(time);
+ }
+
+ public String getTimeInUTC(Date time) {
+ return utcTimeFormatter.format(time);
+ }
+
+}
Modified: mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java
URL: http://svn.apache.org/viewvc/mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java?rev=777697&r1=777696&r2=777697&view=diff
==============================================================================
--- mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java (original)
+++ mina/sandbox/vysper/trunk/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java Fri May 22 20:29:50 2009
@@ -28,10 +28,10 @@
import org.apache.vysper.xmpp.stanza.IQStanzaType;
import org.apache.vysper.xmpp.stanza.Stanza;
import org.apache.vysper.xmpp.stanza.StanzaBuilder;
+import org.apache.vysper.xmpp.datetime.DateTimeProfile;
import java.text.SimpleDateFormat;
import java.util.Date;
-import java.util.TimeZone;
/**
*
@@ -40,11 +40,7 @@
@SpecCompliant(spec="xep-0202", status= SpecCompliant.ComplianceStatus.FINISHED, coverage = SpecCompliant.ComplianceCoverage.COMPLETE)
public class EntityTimeIQHandler extends DefaultIQHandler {
- protected SimpleDateFormat utcDateFormatter;
-
public EntityTimeIQHandler() {
- utcDateFormatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
- utcDateFormatter.setTimeZone(TimeZone.getTimeZone("UTC")); // convert to UTC
}
@Override
@@ -65,7 +61,7 @@
String timeZone = new SimpleDateFormat("Z").format(now);
timeZone = timeZone.substring(0, 3) + ":" + timeZone.substring(3, 5); // adjust to required formatting "-00:08"
- String utcTime = utcDateFormatter.format(now);
+ String utcTime = DateTimeProfile.getInstance().getDateTimeInUTC(now);
StanzaBuilder stanzaBuilder = StanzaBuilder.createIQStanza(stanza.getTo(), stanza.getFrom(), IQStanzaType.RESULT, stanza.getID()).
startInnerElement("time").