Home | History | Annotate | Download | only in patch
      1 --- ../../src-unpatched/trunk/org/jivesoftware/smack/util/PacketParserUtils.java	2009-12-06 19:45:45.000000000 +0100
      2 +++ org/jivesoftware/smack/util/PacketParserUtils.java	2009-12-06 19:48:13.000000000 +0100
      3 @@ -25,7 +25,6 @@
      4  import org.jivesoftware.smack.provider.ProviderManager;
      5  import org.xmlpull.v1.XmlPullParser;
      6  
      7 -import java.beans.PropertyDescriptor;
      8  import java.io.ByteArrayInputStream;
      9  import java.io.ObjectInputStream;
     10  import java.util.ArrayList;
     11 @@ -828,14 +827,14 @@
     12              if (eventType == XmlPullParser.START_TAG) {
     13                  String name = parser.getName();
     14                  String stringValue = parser.nextText();
     15 -                PropertyDescriptor descriptor = new PropertyDescriptor(name, objectClass);
     16 -                // Load the class type of the property.
     17 -                Class<?> propertyType = descriptor.getPropertyType();
     18 +                Class propertyType = object.getClass().getMethod(
     19 +                    "get" + Character.toUpperCase(name.charAt(0)) + name.substring(1)).getReturnType();
     20                  // Get the value of the property by converting it from a
     21                  // String to the correct object type.
     22                  Object value = decode(propertyType, stringValue);
     23                  // Set the value of the bean.
     24 -                descriptor.getWriteMethod().invoke(object, value);
     25 +                object.getClass().getMethod("set" + Character.toUpperCase(name.charAt(0)) + name.substring(1), propertyType)
     26 +                .invoke(object, value);
     27              }
     28              else if (eventType == XmlPullParser.END_TAG) {
     29                  if (parser.getName().equals(elementName)) {
     30 
     31