• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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