Author: veithen Date: Fri Oct 28 19:48:48 2011 New Revision: 1190525 URL: http://svn.apache.org/viewvc?rev=1190525&view=rev Log: AXIS2-4524 / AXIS2-4878 / AXIS2-5118 / AXIS2-5119: Merged r1166132 and r1190499 to the 1.6 branch.
Added: axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/classloader/BeanInfoCache.java - copied unchanged from r1166132, axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/classloader/BeanInfoCache.java axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/classloader/BeanInfoCachingClassLoader.java - copied unchanged from r1166132, axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/classloader/BeanInfoCachingClassLoader.java Modified: axis/axis2/java/core/branches/1_6/ (props changed) axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/classloader/JarFileClassLoader.java axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/deployment/DeploymentClassLoader.java Propchange: axis/axis2/java/core/branches/1_6/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Oct 28 19:48:48 2011 @@ -1 +1 @@ -/axis/axis2/java/core/trunk:1068985,1069659,1069898,1070439,1072077,1072271,1072296,1072499,1072510,1075057,1078242,1081563,1081587,1081590,1082316,1082322,1082600,1082702,1082726,1082738,1083180,1083192,1083379,1083381,1083425,1083433,1083446,1084753,1085157,1085173,1085514,1085889,1085927,1085931,1087073,1088239,1088248-1088249,1088251,1088268,1088730,1088904,1089225,1089989,1090429,1090457,1091178,1091191,1094117,1096530,1096557,1099385,1099389,1100628,1101037,1103013,1103336,1103606,1103760,1128580,1128584,1128618,1128645,1130590,1131425,1134438,1134616,1136156,1136159,1136177,1137153,1137159,1138144,1138203,1139448,1139484,1147485,1149224,1149491,1149578,1150055,1154615,1156305,1156382,1157211,1157265,1157373,1157415,1157424,1157501,1157517,1157522,1157535,1163389,1166038,1166040,1167045,1174618,1184808,1184810,1184816,1190469 +/axis/axis2/java/core/trunk:1068985,1069659,1069898,1070439,1072077,1072271,1072296,1072499,1072510,1075057,1078242,1081563,1081587,1081590,1082316,1082322,1082600,1082702,1082726,1082738,1083180,1083192,1083379,1083381,1083425,1083433,1083446,1084753,1085157,1085173,1085514,1085889,1085927,1085931,1087073,1088239,1088248-1088249,1088251,1088268,1088730,1088904,1089225,1089989,1090429,1090457,1091178,1091191,1094117,1096530,1096557,1099385,1099389,1100628,1101037,1103013,1103336,1103606,1103760,1128580,1128584,1128618,1128645,1130590,1131425,1134438,1134616,1136156,1136159,1136177,1137153,1137159,1138144,1138203,1139448,1139484,1147485,1149224,1149491,1149578,1150055,1154615,1156305,1156382,1157211,1157265,1157373,1157415,1157424,1157501,1157517,1157522,1157535,1163389,1166038,1166040,1166132,1167045,1174618,1184808,1184810,1184816,1190469,1190499 Modified: axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java?rev=1190525&r1=1190524&r2=1190525&view=diff ============================================================================== --- axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java (original) +++ axis/axis2/java/core/branches/1_6/modules/adb/src/org/apache/axis2/databinding/utils/BeanUtil.java Fri Oct 28 19:48:48 2011 @@ -22,7 +22,6 @@ package org.apache.axis2.databinding.uti import java.beans.BeanInfo; import java.beans.IntrospectionException; -import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Array; import java.lang.reflect.InvocationTargetException; @@ -44,6 +43,7 @@ import javax.xml.stream.XMLStreamReader; import org.apache.axiom.om.*; import org.apache.axiom.om.util.Base64; import org.apache.axis2.AxisFault; +import org.apache.axis2.classloader.BeanInfoCache; import org.apache.axis2.context.MessageContext; import org.apache.axis2.databinding.typemapping.SimpleTypeMapper; import org.apache.axis2.databinding.utils.reader.ADBXMLStreamReaderImpl; @@ -97,19 +97,7 @@ public class BeanUtil { private static BeanInfo getBeanInfo(Class beanClass, Class beanSuperclass) throws IntrospectionException { - BeanInfo beanInfo; - try { - if (beanSuperclass != null) - beanInfo = Introspector.getBeanInfo(beanClass, beanSuperclass); - else - beanInfo = Introspector.getBeanInfo(beanClass); - } - catch (IntrospectionException e) { - throw e; - } - - - return beanInfo; + return BeanInfoCache.getCachedBeanInfo(beanClass, beanSuperclass); } private static BeanInfo getBeanInfo(Class beanClass) throws IntrospectionException { Modified: axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/classloader/JarFileClassLoader.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/classloader/JarFileClassLoader.java?rev=1190525&r1=1190524&r2=1190525&view=diff ============================================================================== --- axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/classloader/JarFileClassLoader.java (original) +++ axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/classloader/JarFileClassLoader.java Fri Oct 28 19:48:48 2011 @@ -41,12 +41,14 @@ import java.util.jar.Manifest; * * @version $Rev$ $Date$ */ -public class JarFileClassLoader extends MultiParentClassLoader { +public class JarFileClassLoader extends MultiParentClassLoader implements BeanInfoCachingClassLoader { private static final URL[] EMPTY_URLS = new URL[0]; private final UrlResourceFinder resourceFinder = new UrlResourceFinder(); private final AccessControlContext acc; + private final BeanInfoCache beanInfoCache = new BeanInfoCache(); + /** * Creates a JarFileClassLoader that is a child of the system class loader. * @param urls a list of URLs from which classes and resources should be loaded @@ -342,4 +344,8 @@ public class JarFileClassLoader extends String sealed = getAttribute(Attributes.Name.SEALED, packageAttributes, mainAttributes); return sealed != null && "true".equalsIgnoreCase(sealed); } + + public final BeanInfoCache getBeanInfoCache() { + return beanInfoCache; + } } \ No newline at end of file Modified: axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/deployment/DeploymentClassLoader.java URL: http://svn.apache.org/viewvc/axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/deployment/DeploymentClassLoader.java?rev=1190525&r1=1190524&r2=1190525&view=diff ============================================================================== --- axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/deployment/DeploymentClassLoader.java (original) +++ axis/axis2/java/core/branches/1_6/modules/kernel/src/org/apache/axis2/deployment/DeploymentClassLoader.java Fri Oct 28 19:48:48 2011 @@ -20,6 +20,8 @@ package org.apache.axis2.deployment; import org.apache.axiom.attachments.utils.IOUtils; +import org.apache.axis2.classloader.BeanInfoCache; +import org.apache.axis2.classloader.BeanInfoCachingClassLoader; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -36,7 +38,7 @@ import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipInputStream; -public class DeploymentClassLoader extends URLClassLoader { +public class DeploymentClassLoader extends URLClassLoader implements BeanInfoCachingClassLoader { // List of URL's private URL[] urls = null; @@ -45,6 +47,8 @@ public class DeploymentClassLoader exten private boolean isChildFirstClassLoading; + private final BeanInfoCache beanInfoCache = new BeanInfoCache(); + /** * DeploymentClassLoader is extended from URLClassLoader. The constructor * does not override the super constructor, but takes in an addition list of @@ -291,4 +295,8 @@ public class DeploymentClassLoader exten public void setChildFirstClassLoading(boolean childFirstClassLoading) { isChildFirstClassLoading = childFirstClassLoading; } + + public final BeanInfoCache getBeanInfoCache() { + return beanInfoCache; + } }