You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ng...@apache.org on 2011/01/11 23:41:02 UTC

svn commit: r1057899 - in /mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp: modules/extension/xep0133_service_administration/command/AddUserCommandHandler.java stanza/dataforms/DataFormParser.java

Author: ngn
Date: Tue Jan 11 22:41:01 2011
New Revision: 1057899

URL: http://svn.apache.org/viewvc?rev=1057899&view=rev
Log:
The type attribute on data form submissions is optional. Default and fallback

Modified:
    mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0133_service_administration/command/AddUserCommandHandler.java
    mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/dataforms/DataFormParser.java

Modified: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0133_service_administration/command/AddUserCommandHandler.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0133_service_administration/command/AddUserCommandHandler.java?rev=1057899&r1=1057898&r2=1057899&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0133_service_administration/command/AddUserCommandHandler.java (original)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/modules/extension/xep0133_service_administration/command/AddUserCommandHandler.java Tue Jan 11 22:41:01 2011
@@ -1,19 +1,18 @@
 package org.apache.vysper.xmpp.modules.extension.xep0133_service_administration.command;
 
-import org.apache.commons.lang.StringUtils;
+import java.util.List;
+import java.util.Map;
+
 import org.apache.vysper.xml.fragment.XMLElement;
 import org.apache.vysper.xmpp.addressing.Entity;
+import org.apache.vysper.xmpp.addressing.EntityImpl;
 import org.apache.vysper.xmpp.authorization.AccountCreationException;
 import org.apache.vysper.xmpp.authorization.AccountManagement;
-import org.apache.vysper.xmpp.modules.extension.xep0050_adhoc_commands.AbstractAdhocCommandHandler;
 import org.apache.vysper.xmpp.modules.extension.xep0050_adhoc_commands.Note;
 import org.apache.vysper.xmpp.stanza.dataforms.DataForm;
 import org.apache.vysper.xmpp.stanza.dataforms.DataFormParser;
 import org.apache.vysper.xmpp.stanza.dataforms.Field;
 
-import java.util.List;
-import java.util.Map;
-
 /**
  */
 public class AddUserCommandHandler extends PasswordCheckingCommandHandler {
@@ -55,7 +54,12 @@ public class AddUserCommandHandler exten
         }
         final DataFormParser dataFormParser = new DataFormParser(commandElements.get(0));
         final Map<String,Object> valueMap = dataFormParser.extractFieldValues();
-        final Entity accountjid = (Entity)valueMap.get("accountjid");
+        final Entity accountjid;
+        if(valueMap.get("accountjid") instanceof Entity) {
+            accountjid = (Entity) valueMap.get("accountjid");
+        } else {
+            accountjid = EntityImpl.parseUnchecked((String) valueMap.get("accountjid"));
+        }
         final String password = (String)valueMap.get("password");
         final String password2 = (String)valueMap.get("password-verify");
 

Modified: mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/dataforms/DataFormParser.java
URL: http://svn.apache.org/viewvc/mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/dataforms/DataFormParser.java?rev=1057899&r1=1057898&r2=1057899&view=diff
==============================================================================
--- mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/dataforms/DataFormParser.java (original)
+++ mina/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/stanza/dataforms/DataFormParser.java Tue Jan 11 22:41:01 2011
@@ -80,11 +80,14 @@ public class DataFormParser {
             final String typeName = fields.getAttributeValue("type");
             String valueAsString = null;
 
-            final Field.Type fieldType;
-            try {
-                fieldType = Field.Type.valueOf(typeName.toUpperCase().replace('-', '_'));
-            } catch (IllegalArgumentException e) {
-                throw e;
+            // default to TEXT_SINGLE
+            Field.Type fieldType = Field.Type.TEXT_SINGLE;
+            if(typeName != null) {
+                try {
+                    fieldType = Field.Type.valueOf(typeName.toUpperCase().replace('-', '_'));
+                } catch (IllegalArgumentException e) {
+                    throw e;
+                }
             }
             boolean isMulti = Field.Type.isMulti(fieldType);