You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by gn...@apache.org on 2006/08/11 20:09:42 UTC

svn commit: r430840 - in /geronimo/xbean/trunk: xbean-spring-common/src/main/java/org/apache/xbean/spring/context/impl/ xbean-spring-v1/src/main/java/org/apache/xbean/spring/context/v1/ xbean-spring-v2/src/main/java/org/apache/xbean/spring/context/v2/

Author: gnodet
Date: Fri Aug 11 11:09:41 2006
New Revision: 430840

URL: http://svn.apache.org/viewvc?rev=430840&view=rev
Log:
XBEAN-39: NPE in XBeanHelper.createBeanDefinitionReader with some Classloaders
Patch submitted by Stefan Kleineikenscheidt

Modified:
    geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/context/impl/XBeanHelper.java
    geronimo/xbean/trunk/xbean-spring-v1/src/main/java/org/apache/xbean/spring/context/v1/XBeanXmlBeanDefinitionParser.java
    geronimo/xbean/trunk/xbean-spring-v2/src/main/java/org/apache/xbean/spring/context/v2/XBeanNamespaceHandler.java

Modified: geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/context/impl/XBeanHelper.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/context/impl/XBeanHelper.java?rev=430840&r1=430839&r2=430840&view=diff
==============================================================================
--- geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/context/impl/XBeanHelper.java (original)
+++ geronimo/xbean/trunk/xbean-spring-common/src/main/java/org/apache/xbean/spring/context/impl/XBeanHelper.java Fri Aug 11 11:09:41 2006
@@ -6,7 +6,6 @@
 import org.apache.xbean.spring.context.SpringApplicationContext;
 import org.springframework.beans.factory.support.BeanDefinitionRegistry;
 import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
-import org.springframework.core.SpringVersion;
 
 public class XBeanHelper {
 
@@ -14,7 +13,16 @@
                     SpringApplicationContext applicationContext,
                     BeanDefinitionRegistry registry,
                     List xmlPreprocessors) {
-        String version = SpringVersion.getVersion();
+        
+        String version = "2.0";
+        
+        try {
+            Class spring20Clazz = Class.forName("org.springframework.core.AttributeAccessorSupport");
+            version = "2.0";
+        } catch(ClassNotFoundException e) {
+            version = "1.2.8";
+        }
+        
         String className = "org.apache.xbean.spring.context.v" + version.charAt(0) + ".XBeanXmlBeanDefinitionReader";
         try {
             Class cl = Class.forName(className);

Modified: geronimo/xbean/trunk/xbean-spring-v1/src/main/java/org/apache/xbean/spring/context/v1/XBeanXmlBeanDefinitionParser.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-spring-v1/src/main/java/org/apache/xbean/spring/context/v1/XBeanXmlBeanDefinitionParser.java?rev=430840&r1=430839&r2=430840&view=diff
==============================================================================
--- geronimo/xbean/trunk/xbean-spring-v1/src/main/java/org/apache/xbean/spring/context/v1/XBeanXmlBeanDefinitionParser.java (original)
+++ geronimo/xbean/trunk/xbean-spring-v1/src/main/java/org/apache/xbean/spring/context/v1/XBeanXmlBeanDefinitionParser.java Fri Aug 11 11:09:41 2006
@@ -23,6 +23,9 @@
 import java.beans.PropertyDescriptor;
 import java.beans.PropertyEditor;
 import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Arrays;
@@ -685,6 +688,14 @@
      * Loads the resource from the given URI
      */
     protected InputStream loadResource(String uri) {
+        if (System.getProperty("xbean.dir") != null) {
+            File f = new File(System.getProperty("xbean.dir") + uri);
+            try {
+                return new FileInputStream(f);
+            } catch (FileNotFoundException e) {
+                // Ignore
+            }
+        }
         // lets try the thread context class loader first
         InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream(uri);
         if (in == null) {

Modified: geronimo/xbean/trunk/xbean-spring-v2/src/main/java/org/apache/xbean/spring/context/v2/XBeanNamespaceHandler.java
URL: http://svn.apache.org/viewvc/geronimo/xbean/trunk/xbean-spring-v2/src/main/java/org/apache/xbean/spring/context/v2/XBeanNamespaceHandler.java?rev=430840&r1=430839&r2=430840&view=diff
==============================================================================
--- geronimo/xbean/trunk/xbean-spring-v2/src/main/java/org/apache/xbean/spring/context/v2/XBeanNamespaceHandler.java (original)
+++ geronimo/xbean/trunk/xbean-spring-v2/src/main/java/org/apache/xbean/spring/context/v2/XBeanNamespaceHandler.java Fri Aug 11 11:09:41 2006
@@ -21,6 +21,9 @@
 import java.beans.PropertyDescriptor;
 import java.beans.PropertyEditor;
 import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.lang.reflect.Method;
@@ -713,6 +716,14 @@
      * Loads the resource from the given URI
      */
     protected InputStream loadResource(String uri) {
+        if (System.getProperty("xbean.dir") != null) {
+            File f = new File(System.getProperty("xbean.dir") + uri);
+            try {
+                return new FileInputStream(f);
+            } catch (FileNotFoundException e) {
+                // Ignore
+            }
+        }
         // lets try the thread context class loader first
         InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream(uri);
         if (in == null) {