Author: jboynes
Date: Sun Apr  9 09:13:55 2006
New Revision: 392764

URL: http://svn.apache.org/viewcvs?rev=392764&view=rev
Log:
some cleanup on the ConfigurationLoadException hierarchy

Added:
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/SidefileLoadException.java
   (with props)
Modified:
    
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/loader/JavaImplementationLoader.java
    
incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/loader/JavaScriptImplementationLoader.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/ComponentTypeIntrospector.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/ConfigurationLoadException.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/InvalidRootElementException.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/InvalidSetterException.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingResourceException.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/impl/Java5ComponentTypeIntrospector.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/impl/StAXModuleComponentConfigurationLoaderImpl.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/InvalidPropertyFactoryException.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/PropertyLoader.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/JNDIPropertyFactory.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/StringParserPropertyFactory.java
    
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/system/SystemImplementationLoader.java
    
incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java
    
incubator/tuscany/java/sca/tomcat/src/main/resources/org/apache/tuscany/tomcat/LocalStrings.properties

Modified: 
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/loader/JavaImplementationLoader.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/loader/JavaImplementationLoader.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/loader/JavaImplementationLoader.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.java/src/main/java/org/apache/tuscany/container/java/loader/JavaImplementationLoader.java
 Sun Apr  9 09:13:55 2006
@@ -26,16 +26,16 @@
 
 import org.osoa.sca.annotations.Destroy;
 import org.osoa.sca.annotations.Init;
-import org.osoa.sca.annotations.Reference;
 import org.osoa.sca.annotations.Scope;
 
 import org.apache.tuscany.common.resource.ResourceLoader;
 import org.apache.tuscany.container.java.assembly.JavaAssemblyFactory;
 import org.apache.tuscany.container.java.assembly.JavaImplementation;
 import org.apache.tuscany.core.config.ComponentTypeIntrospector;
-import org.apache.tuscany.core.config.ConfigurationException;
 import org.apache.tuscany.core.config.ConfigurationLoadException;
 import org.apache.tuscany.core.config.JavaIntrospectionHelper;
+import org.apache.tuscany.core.config.SidefileLoadException;
+import org.apache.tuscany.core.config.InvalidRootElementException;
 import org.apache.tuscany.core.config.impl.Java5ComponentTypeIntrospector;
 import org.apache.tuscany.core.loader.StAXElementLoader;
 import org.apache.tuscany.core.loader.StAXLoaderRegistry;
@@ -106,7 +106,7 @@
             
Thread.currentThread().setContextClassLoader(resourceLoader.getClassLoader());
             return resourceLoader.loadClass(typeName);
         } catch (ClassNotFoundException e) {
-            throw (ConfigurationLoadException) new 
ConfigurationLoadException(e.getMessage()).initCause(e);
+            throw new ConfigurationLoadException(e.getMessage(), e);
         } finally {
             Thread.currentThread().setContextClassLoader(oldCL);
         }
@@ -123,46 +123,50 @@
     }
 
     protected ComponentType loadComponentTypeByIntrospection(Class<?> 
implClass) throws ConfigurationLoadException {
-        try {
-            return introspector.introspect(implClass);
-        } catch (ConfigurationException e) {
-            throw (ConfigurationLoadException) new 
ConfigurationLoadException(e.getMessage()).initCause(e);
-        }
+        return introspector.introspect(implClass);
     }
 
-    protected ComponentType loadComponentTypeFromSidefile(URL sidefile, 
ResourceLoader loader) throws ConfigurationLoadException, XMLStreamException {
-        XMLStreamReader reader;
-        InputStream is;
-        try {
-            is = sidefile.openStream();
-        } catch (IOException e) {
-            throw (ConfigurationLoadException) new 
ConfigurationLoadException(e.getMessage()).initCause(e);
-        }
+    protected ComponentType loadComponentTypeFromSidefile(URL sidefile, 
ResourceLoader loader) throws SidefileLoadException {
         try {
+            XMLStreamReader reader;
+            InputStream is;
+                is = sidefile.openStream();
             try {
                 reader = xmlFactory.createXMLStreamReader(is);
-            } catch (XMLStreamException e) {
-                throw (ConfigurationLoadException) new 
ConfigurationLoadException(e.getMessage()).initCause(e);
-            }
-            try {
-                reader.nextTag();
-                if 
(!AssemblyConstants.COMPONENT_TYPE.equals(reader.getName())) {
-                    throw new ConfigurationLoadException(sidefile + " is not a 
<componentType> document");
+                try {
+                    reader.nextTag();
+                    if 
(!AssemblyConstants.COMPONENT_TYPE.equals(reader.getName())) {
+                        InvalidRootElementException e = new 
InvalidRootElementException(AssemblyConstants.COMPONENT_TYPE, reader.getName());
+                        e.setResourceURI(sidefile.toString());
+                        throw e;
+                    }
+                    return (ComponentType) registry.load(reader, loader);
+                } finally {
+                    try {
+                        reader.close();
+                    } catch (XMLStreamException e) {
+                        // ignore
+                    }
                 }
-                return (ComponentType) registry.load(reader, loader);
-            } finally{
+            } finally {
                 try {
-                    reader.close();
-                } catch (XMLStreamException e) {
+                    is.close();
+                } catch (IOException e) {
                     // ignore
                 }
             }
-        } finally{
-            try {
-                is.close();
-            } catch (IOException e) {
-                // ignore
-            }
+        } catch (IOException e) {
+            SidefileLoadException sfe = new 
SidefileLoadException(e.getMessage());
+            sfe.setResourceURI(sidefile.toString());
+            throw sfe;
+        } catch (XMLStreamException e) {
+            SidefileLoadException sfe = new 
SidefileLoadException(e.getMessage());
+            sfe.setResourceURI(sidefile.toString());
+            throw sfe;
+        } catch (ConfigurationLoadException e) {
+            SidefileLoadException sfe = new 
SidefileLoadException(e.getMessage());
+            sfe.setResourceURI(sidefile.toString());
+            throw sfe;
         }
     }
 }

Modified: 
incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/loader/JavaScriptImplementationLoader.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/loader/JavaScriptImplementationLoader.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/loader/JavaScriptImplementationLoader.java
 (original)
+++ 
incubator/tuscany/java/sca/containers/container.js/src/main/java/org/apache/tuscany/container/js/loader/JavaScriptImplementationLoader.java
 Sun Apr  9 09:13:55 2006
@@ -33,6 +33,9 @@
 import org.apache.tuscany.container.js.assembly.JavaScriptImplementation;
 import 
org.apache.tuscany.container.js.assembly.impl.JavaScriptAssemblyFactoryImpl;
 import org.apache.tuscany.core.config.ConfigurationLoadException;
+import org.apache.tuscany.core.config.MissingResourceException;
+import org.apache.tuscany.core.config.InvalidRootElementException;
+import org.apache.tuscany.core.config.SidefileLoadException;
 import org.apache.tuscany.core.loader.StAXElementLoader;
 import org.apache.tuscany.core.loader.StAXLoaderRegistry;
 import org.apache.tuscany.core.loader.assembly.AssemblyConstants;
@@ -124,45 +127,53 @@
         }
     }
 
-    protected ComponentType loadComponentType(String scriptFile, 
ResourceLoader resourceLoader) throws ConfigurationLoadException, 
XMLStreamException {
+    protected ComponentType loadComponentType(String scriptFile, 
ResourceLoader resourceLoader) throws SidefileLoadException, 
MissingResourceException{
         String sidefile = scriptFile.substring(0, scriptFile.lastIndexOf('.')) 
+ ".componentType";
         URL componentTypeFile = resourceLoader.getResource(sidefile);
         if (componentTypeFile == null) {
-            throw new ConfigurationLoadException(sidefile);
+            throw new MissingResourceException(sidefile);
         }
 
-        XMLStreamReader reader;
-        InputStream is;
-        try {
-            is = componentTypeFile.openStream();
-        } catch (IOException e) {
-            throw (ConfigurationLoadException) new 
ConfigurationLoadException(e.getMessage()).initCause(e);
-        }
         try {
+            XMLStreamReader reader;
+            InputStream is;
+                is = componentTypeFile.openStream();
             try {
                 reader = xmlFactory.createXMLStreamReader(is);
-            } catch (XMLStreamException e) {
-                throw (ConfigurationLoadException) new 
ConfigurationLoadException(e.getMessage()).initCause(e);
-            }
-            try {
-                reader.nextTag();
-                if 
(!AssemblyConstants.COMPONENT_TYPE.equals(reader.getName())) {
-                    throw new ConfigurationLoadException(sidefile + " is not a 
<componentType> document");
+                try {
+                    reader.nextTag();
+                    if 
(!AssemblyConstants.COMPONENT_TYPE.equals(reader.getName())) {
+                        InvalidRootElementException e = new 
InvalidRootElementException(AssemblyConstants.COMPONENT_TYPE, reader.getName());
+                        e.setResourceURI(componentTypeFile.toString());
+                        throw e;
+                    }
+                    return (ComponentType) registry.load(reader, 
resourceLoader);
+                } finally {
+                    try {
+                        reader.close();
+                    } catch (XMLStreamException e) {
+                        // ignore
+                    }
                 }
-                return (ComponentType) registry.load(reader, resourceLoader);
-            } finally{
+            } finally {
                 try {
-                    reader.close();
-                } catch (XMLStreamException e) {
+                    is.close();
+                } catch (IOException e) {
                     // ignore
                 }
             }
-        } finally{
-            try {
-                is.close();
-            } catch (IOException e) {
-                // ignore
-            }
+        } catch (IOException e) {
+            SidefileLoadException sfe = new 
SidefileLoadException(e.getMessage());
+            sfe.setResourceURI(componentTypeFile.toString());
+            throw sfe;
+        } catch (XMLStreamException e) {
+            SidefileLoadException sfe = new 
SidefileLoadException(e.getMessage());
+            sfe.setResourceURI(componentTypeFile.toString());
+            throw sfe;
+        } catch (ConfigurationLoadException e) {
+            SidefileLoadException sfe = new 
SidefileLoadException(e.getMessage());
+            sfe.setResourceURI(componentTypeFile.toString());
+            throw sfe;
         }
     }
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/ComponentTypeIntrospector.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/ComponentTypeIntrospector.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/ComponentTypeIntrospector.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/ComponentTypeIntrospector.java
 Sun Apr  9 09:13:55 2006
@@ -30,8 +30,8 @@
      *
      * @param implClass the class to inspect
      * @return a componentType definition
-     * @throws ConfigurationException if the Class does not define a valid 
component type
+     * @throws ConfigurationLoadException if the Class does not define a valid 
component type
      */
-    ComponentType introspect(Class<?> implClass) throws ConfigurationException;
+    ComponentType introspect(Class<?> implClass) throws 
ConfigurationLoadException;
 
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/ConfigurationLoadException.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/ConfigurationLoadException.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/ConfigurationLoadException.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/ConfigurationLoadException.java
 Sun Apr  9 09:13:55 2006
@@ -16,32 +16,44 @@
  */
 package org.apache.tuscany.core.config;
 
-import java.io.IOException;
-
 /**
  * Exception indicating that there was a problem loading a configuration 
resource.
  *
  * @version $Rev$ $Date$
  */
 public class ConfigurationLoadException extends ConfigurationException {
+    private static final long serialVersionUID = -2310798146091959144L;
+
+    private String resourceURI;
+
+    public ConfigurationLoadException() {
+    }
+
+    public ConfigurationLoadException(String message) {
+        super(message);
+    }
+
+    public ConfigurationLoadException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public ConfigurationLoadException(Throwable cause) {
+        super(cause);
+    }
 
     /**
-     * Constructor specifying the resource that was being loaded and the 
IOException that resulted.
-     * These are returned as the message and cause respectively.
-     *
-     * @param resource the resource being loaded
-     * @param cause the IOException that occurred
+     * Returns the location of the resource that was being loaded.
+     * @return the location of the resource that was being loaded
      */
-    public ConfigurationLoadException(String resource, IOException cause) {
-        super(resource, cause);
+    public String getResourceURI() {
+        return resourceURI;
     }
 
     /**
-     * Constructor specifying the resource that was being loaded.
-     *
-     * @param resource the resource being loaded
+     * Sets the location of the resource that was being loaded.
+     * @param resourceURI the location of the resource that was being loaded
      */
-    public ConfigurationLoadException(String resource) {
-        super(resource);
+    public void setResourceURI(String resourceURI) {
+        this.resourceURI = resourceURI;
     }
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/InvalidRootElementException.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/InvalidRootElementException.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/InvalidRootElementException.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/InvalidRootElementException.java
 Sun Apr  9 09:13:55 2006
@@ -16,36 +16,30 @@
  */
 package org.apache.tuscany.core.config;
 
+import javax.xml.namespace.QName;
+
 /**
- * Configuration exception that indicates the root element in an XML file was 
not the one expected.
+ * Configuration exception that indicates the actual root element in an XML 
file was not the one expected.
  *
  * @version $Rev$ $Date$
  */
-public class InvalidRootElementException extends ConfigurationException {
-    private final String resource;
-    private final String element;
+public class InvalidRootElementException extends ConfigurationLoadException {
+    private static final long serialVersionUID = 2376629433948140418L;
 
-    /**
-     * Constructor specifying the location of the resource and the element 
that was expected.
-     *
-     * @param resource the resource
-     * @param element the expected root element
-     */
-    public InvalidRootElementException(String resource, String element) {
-        super();
-        this.resource = resource;
-        this.element = element;
-    }
+    private final QName expected;
+    private final QName actual;
 
-    public String getMessage() {
-        return "XML document element in resource " + resource + " is not a " + 
element;
+    public InvalidRootElementException(QName expected, QName actual) {
+        super("Invalid root element, expected [" + expected + "], was [" + 
actual + ']');
+        this.expected = expected;
+        this.actual = actual;
     }
 
-    public String getResource() {
-        return resource;
+    public QName getExpected() {
+        return expected;
     }
 
-    public String getElement() {
-        return element;
+    public QName getActual() {
+        return actual;
     }
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/InvalidSetterException.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/InvalidSetterException.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/InvalidSetterException.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/InvalidSetterException.java
 Sun Apr  9 09:13:55 2006
@@ -19,7 +19,7 @@
 /**
  * @version $Rev$ $Date$
  */
-public class InvalidSetterException extends ConfigurationException {
+public class InvalidSetterException extends ConfigurationLoadException {
     private static final long serialVersionUID = -3298236203808038211L;
 
     public InvalidSetterException() {

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingResourceException.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingResourceException.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingResourceException.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/MissingResourceException.java
 Sun Apr  9 09:13:55 2006
@@ -21,7 +21,7 @@
  *
  * @version $Rev$ $Date$
  */
-public class MissingResourceException extends ConfigurationException {
+public class MissingResourceException extends ConfigurationLoadException {
     /**
      * Constructor that indicates which resource could not be found.
      * The supplied parameter is also returned as the message.
@@ -30,14 +30,6 @@
      */
     public MissingResourceException(String resource) {
         super(resource);
-    }
-
-    /**
-     * Return the name of the expected resource.
-     *
-     * @return the name of the expected resource
-     */
-    public String getResource() {
-        return getMessage();
+        setResourceURI(resource);
     }
 }

Added: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/SidefileLoadException.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/SidefileLoadException.java?rev=392764&view=auto
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/SidefileLoadException.java
 (added)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/SidefileLoadException.java
 Sun Apr  9 09:13:55 2006
@@ -0,0 +1,50 @@
+/**
+ *
+ * Copyright 2006 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.tuscany.core.config;
+
+/**
+ * Exception indicating that there was a problem loading a sidefile.
+ *
+ * @version $Rev$ $Date$
+ */
+public class SidefileLoadException extends ConfigurationLoadException {
+    private static final long serialVersionUID = -3530306758412789392L;
+    private String sidefileURI;
+
+    public SidefileLoadException() {
+    }
+
+    public SidefileLoadException(String message) {
+        super(message);
+    }
+
+    public SidefileLoadException(String message, Throwable cause) {
+        super(message, cause);
+    }
+
+    public SidefileLoadException(Throwable cause) {
+        super(cause);
+    }
+
+    public String getSidefileURI() {
+        return sidefileURI;
+    }
+
+    public void setSidefileURI(String sidefileURI) {
+        this.sidefileURI = sidefileURI;
+    }
+}

Propchange: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/SidefileLoadException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/SidefileLoadException.java
------------------------------------------------------------------------------
    svn:keywords = Rev,Date

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/impl/Java5ComponentTypeIntrospector.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/impl/Java5ComponentTypeIntrospector.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/impl/Java5ComponentTypeIntrospector.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/impl/Java5ComponentTypeIntrospector.java
 Sun Apr  9 09:13:55 2006
@@ -16,10 +16,20 @@
  */
 package org.apache.tuscany.core.config.impl;
 
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import org.osoa.sca.annotations.Callback;
+import org.osoa.sca.annotations.Remotable;
+
 import org.apache.tuscany.core.config.ComponentTypeIntrospector;
-import org.apache.tuscany.core.config.ConfigurationException;
-import org.apache.tuscany.core.config.JavaIntrospectionHelper;
+import org.apache.tuscany.core.config.ConfigurationLoadException;
 import org.apache.tuscany.core.config.InvalidSetterException;
+import org.apache.tuscany.core.config.JavaIntrospectionHelper;
 import org.apache.tuscany.core.system.annotation.Autowire;
 import org.apache.tuscany.core.system.assembly.SystemAssemblyFactory;
 import org.apache.tuscany.model.assembly.AssemblyFactory;
@@ -31,15 +41,6 @@
 import org.apache.tuscany.model.assembly.Service;
 import org.apache.tuscany.model.assembly.ServiceContract;
 import org.apache.tuscany.model.types.java.JavaServiceContract;
-import org.osoa.sca.annotations.Callback;
-import org.osoa.sca.annotations.Remotable;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
 
 /**
  * Introspects Java annotation-based metata data
@@ -62,12 +63,7 @@
         this.factory = factory;
     }
 
-    /**
-     * Returns a component type for the given class
-     *
-     * @throws ConfigurationException
-     */
-    public ComponentType introspect(Class<?> implClass) throws 
ConfigurationException {
+    public ComponentType introspect(Class<?> implClass) throws 
ConfigurationLoadException {
         ComponentType compType = factory.createComponentType();
         introspectServices(compType, implClass);
         introspectAnnotatedMembers(compType, implClass);
@@ -124,9 +120,8 @@
      *
      * @param compType  the component type being generated
      * @param implClass the component implementation type class
-     * @throws ConfigurationException
      */
-    protected void introspectServices(ComponentType compType, Class<?> 
implClass) throws ConfigurationException {
+    protected void introspectServices(ComponentType compType, Class<?> 
implClass) {
         List<Service> services = compType.getServices();
         assert services.isEmpty() : "componentType already has services 
defined";
 
@@ -167,9 +162,8 @@
     /**
      * Recursively adds supported services to a component type by walking the 
class hierarchy
      *
-     * @throws ConfigurationException
      */
-    protected void addService(List<Service> services, Class<?> serviceClass) 
throws ConfigurationException {
+    protected void addService(List<Service> services, Class<?> serviceClass) {
         JavaServiceContract javaInterface = 
factory.createJavaServiceContract();
         javaInterface.setInterface(serviceClass);
         Callback callback = serviceClass.getAnnotation(Callback.class);
@@ -187,9 +181,9 @@
     /**
      * Root method for determining public field and method metadata
      *
-     * @throws ConfigurationException
+     * @throws ConfigurationLoadException
      */
-    protected void introspectAnnotatedMembers(ComponentType compType, Class<?> 
implClass) throws ConfigurationException {
+    protected void introspectAnnotatedMembers(ComponentType compType, Class<?> 
implClass) throws ConfigurationLoadException {
 
         introspectPublicFields(compType, implClass);
         introspectPrivateFields(compType, implClass);
@@ -201,9 +195,8 @@
     /**
      * Introspects metdata for all public fields and methods for a class 
hierarchy
      *
-     * @throws ConfigurationException
      */
-    protected void introspectMembers(ComponentType compType, Class<?> 
implClass) throws ConfigurationException {
+    protected void introspectMembers(ComponentType compType, Class<?> 
implClass) {
         List<Property> properties = compType.getProperties();
         List<Reference> references = compType.getReferences();
 
@@ -240,7 +233,7 @@
         }
     }
 
-    private void introspectPublicFields(ComponentType compType, Class<?> 
implClass) throws ConfigurationException {
+    private void introspectPublicFields(ComponentType compType, Class<?> 
implClass) {
         List<Property> properties = compType.getProperties();
         List<Reference> references = compType.getReferences();
 
@@ -259,7 +252,7 @@
         }
     }
 
-    private void introspectPrivateFields(ComponentType compType, Class<?> 
implClass) throws ConfigurationException {
+    private void introspectPrivateFields(ComponentType compType, Class<?> 
implClass) {
         List<Property> properties = compType.getProperties();
         List<Reference> references = compType.getReferences();
 
@@ -278,7 +271,7 @@
         }
     }
 
-    private void introspectPublicMethods(ComponentType compType, Class<?> 
implClass) throws ConfigurationException {
+    private void introspectPublicMethods(ComponentType compType, Class<?> 
implClass) throws ConfigurationLoadException {
         List<Property> properties = compType.getProperties();
         List<Reference> references = compType.getReferences();
 
@@ -294,7 +287,7 @@
         }
     }
 
-    private void introspectPrivateMethods(ComponentType compType, Class<?> 
implClass) throws ConfigurationException {
+    private void introspectPrivateMethods(ComponentType compType, Class<?> 
implClass) throws ConfigurationLoadException {
         List<Property> properties = compType.getProperties();
         List<Reference> references = compType.getReferences();
 
@@ -313,7 +306,7 @@
         }
     }
 
-    protected void addProperty(List<Property> properties, Field field) throws 
ConfigurationException {
+    protected void addProperty(List<Property> properties, Field field) {
         String name;
         boolean required;
         org.osoa.sca.annotations.Property annotation = 
field.getAnnotation(org.osoa.sca.annotations.Property.class);
@@ -330,7 +323,7 @@
         addProperty(properties, name, field.getType(), required);
     }
 
-    protected void addProperty(List<Property> properties, Method method) 
throws ConfigurationException {
+    protected void addProperty(List<Property> properties, Method method) 
throws ConfigurationLoadException {
         if (!Void.class.equals(method.getReturnType())) {
             throw new InvalidSetterException(method.toString());
         }
@@ -358,8 +351,7 @@
         addProperty(properties, name, params[0], required);
     }
 
-    protected void addProperty(List<Property> properties, String name, 
Class<?> type, boolean required)
-            throws ConfigurationException {
+    protected void addProperty(List<Property> properties, String name, 
Class<?> type, boolean required) {
         Property prop = factory.createProperty();
         prop.setName(name);
         prop.setType(type);
@@ -374,7 +366,7 @@
         properties.add(prop);
     }
 
-    protected void addReference(List<Reference> references, Field field) 
throws ConfigurationException {
+    protected void addReference(List<Reference> references, Field field) {
         String name;
         boolean required;
         org.osoa.sca.annotations.Reference annotation = 
field.getAnnotation(org.osoa.sca.annotations.Reference.class);
@@ -391,7 +383,7 @@
         addReference(references, name, field.getType(), required);
     }
 
-    protected void addReference(List<Reference> references, Method method) 
throws ConfigurationException {
+    protected void addReference(List<Reference> references, Method method) 
throws ConfigurationLoadException {
         if (!Void.TYPE.equals(method.getReturnType())) {
             throw new InvalidSetterException(method.toString());
         }
@@ -419,8 +411,7 @@
         addReference(references, name, params[0], required);
     }
 
-    protected void addReference(List<Reference> references, String name, 
Class<?> type, boolean required)
-            throws ConfigurationException {
+    protected void addReference(List<Reference> references, String name, 
Class<?> type, boolean required) {
         Reference ref = factory.createReference();
         ref.setName(name);
         boolean many = type.isArray() || 
Collection.class.isAssignableFrom(type);

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/impl/StAXModuleComponentConfigurationLoaderImpl.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/impl/StAXModuleComponentConfigurationLoaderImpl.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/impl/StAXModuleComponentConfigurationLoaderImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/config/impl/StAXModuleComponentConfigurationLoaderImpl.java
 Sun Apr  9 09:13:55 2006
@@ -49,9 +49,13 @@
             getDocumentRoot(reader);
             return (Module) registry.load(reader, resourceLoader);
         } catch (XMLStreamException e) {
-            throw (ConfigurationLoadException) new 
ConfigurationLoadException(url.toString()).initCause(e);
+            ConfigurationLoadException ce = new ConfigurationLoadException(e);
+            ce.setResourceURI(url.toString());
+            throw ce;
         } catch (IOException e) {
-            throw new ConfigurationLoadException(url.toString(), e);
+            ConfigurationLoadException ce = new ConfigurationLoadException(e);
+            ce.setResourceURI(url.toString());
+            throw ce;
         } finally {
             registry.setContext(null);
         }
@@ -64,9 +68,13 @@
             getDocumentRoot(reader);
             return (ModuleFragment) registry.load(reader, resourceLoader);
         } catch (XMLStreamException e) {
-            throw (ConfigurationLoadException) new 
ConfigurationLoadException(url.toString()).initCause(e);
+            ConfigurationLoadException ce = new ConfigurationLoadException(e);
+            ce.setResourceURI(url.toString());
+            throw ce;
         } catch (IOException e) {
-            throw new ConfigurationLoadException(url.toString(), e);
+            ConfigurationLoadException ce = new ConfigurationLoadException(e);
+            ce.setResourceURI(url.toString());
+            throw ce;
         } finally {
             registry.setContext(null);
         }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/InvalidPropertyFactoryException.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/InvalidPropertyFactoryException.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/InvalidPropertyFactoryException.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/InvalidPropertyFactoryException.java
 Sun Apr  9 09:13:55 2006
@@ -33,8 +33,7 @@
      * @param cause the Throwable that prevented the PropertyFactory from 
being created
      */
     public InvalidPropertyFactoryException(String className, Throwable cause) {
-        super(className);
-        initCause(cause);
+        super(className, cause);
     }
 
     /**

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/ImportWSDLLoader.java
 Sun Apr  9 09:13:55 2006
@@ -27,6 +27,8 @@
 
 import org.apache.tuscany.common.resource.ResourceLoader;
 import org.apache.tuscany.core.config.ConfigurationLoadException;
+import org.apache.tuscany.core.config.MissingResourceException;
+import org.apache.tuscany.core.config.SidefileLoadException;
 import org.apache.tuscany.core.loader.StAXUtil;
 import org.apache.tuscany.core.loader.WSDLDefinitionRegistry;
 import static 
org.apache.tuscany.core.loader.assembly.AssemblyConstants.IMPORT_WSDL;
@@ -66,18 +68,22 @@
         return factory.createImportWSDL(location, namespace);
     }
 
-    protected void loadDefinition(String namespace, String location, 
ResourceLoader resourceLoader) throws ConfigurationLoadException {
+    protected void loadDefinition(String namespace, String location, 
ResourceLoader resourceLoader) throws MissingResourceException, 
SidefileLoadException {
         URL wsdlURL = resourceLoader.getResource(location);
         if (wsdlURL == null) {
-            throw new ConfigurationLoadException("WSDL import not found: " + 
wsdlURL);
+            throw new MissingResourceException(location);
         }
 
         try {
             wsdlRegistry.loadDefinition(namespace, wsdlURL);
         } catch (IOException e) {
-            throw new ConfigurationLoadException(wsdlURL.toString(), e);
+            SidefileLoadException sfe = new 
SidefileLoadException(e.getMessage());
+            sfe.setResourceURI(location);
+            throw sfe;
         } catch (WSDLException e) {
-            throw (ConfigurationLoadException) new 
ConfigurationLoadException(wsdlURL.toString()).initCause(e);
+            SidefileLoadException sfe = new 
SidefileLoadException(e.getMessage());
+            sfe.setResourceURI(location);
+            throw sfe;
         }
     }
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/PropertyLoader.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/PropertyLoader.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/PropertyLoader.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/assembly/PropertyLoader.java
 Sun Apr  9 09:13:55 2006
@@ -69,7 +69,7 @@
                 Class<?> type = resourceLoader.loadClass(typeName);
                 property.setType(type);
             } catch (ClassNotFoundException e) {
-                throw (ConfigurationLoadException) new 
ConfigurationLoadException(e.getMessage()).initCause(e);
+                throw new ConfigurationLoadException(e);
             }
         }
         property.setMany(Boolean.parseBoolean(reader.getAttributeValue(null, 
"many")));

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/JNDIPropertyFactory.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/JNDIPropertyFactory.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/JNDIPropertyFactory.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/JNDIPropertyFactory.java
 Sun Apr  9 09:13:55 2006
@@ -56,7 +56,7 @@
             Context context = new InitialContext();
             return new JNDIObjectFactory(context, text);
         } catch (NamingException e) {
-            throw (ConfigurationLoadException) new 
ConfigurationLoadException(e.getMessage()).initCause(e);
+            throw new ConfigurationLoadException(e);
         }
     }
 }

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/StringParserPropertyFactory.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/StringParserPropertyFactory.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/StringParserPropertyFactory.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/impl/StringParserPropertyFactory.java
 Sun Apr  9 09:13:55 2006
@@ -64,7 +64,7 @@
                     throw new AssertionError("getMethod returned an 
inaccessible method");
                 } catch (InvocationTargetException e) {
                     // FIXME we should throw something better
-                    throw (ConfigurationLoadException) new 
ConfigurationLoadException(property.getName()).initCause(e.getCause());
+                    throw new ConfigurationLoadException(e.getCause());
                 }
             }
         } catch (NoSuchMethodException e) {
@@ -83,7 +83,7 @@
             throw new ConfigurationLoadException("Property type cannot be 
instantiated: " + type.getName());
         } catch (InvocationTargetException e) {
             // FIXME we should throw something better
-            throw (ConfigurationLoadException) new 
ConfigurationLoadException(property.getName()).initCause(e.getCause());
+            throw new ConfigurationLoadException(e.getCause());
         }
 
         // do we have a property editor for it?
@@ -94,7 +94,8 @@
                 return new SingletonObjectFactory(editor.getValue());
             } catch (IllegalArgumentException e) {
                 // FIXME we should throw something better
-                throw (ConfigurationLoadException) new 
ConfigurationLoadException(property.getName()).initCause(e.getCause());
+                throw new ConfigurationLoadException(e);
+
             }
         }
 

Modified: 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/system/SystemImplementationLoader.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/system/SystemImplementationLoader.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/system/SystemImplementationLoader.java
 (original)
+++ 
incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/loader/system/SystemImplementationLoader.java
 Sun Apr  9 09:13:55 2006
@@ -60,15 +60,11 @@
             implementationClass = resourceLoader.loadClass(implClass);
             implementation.setImplementationClass(implementationClass);
         } catch (ClassNotFoundException e) {
-            throw (ConfigurationLoadException) new 
ConfigurationLoadException(e.getMessage()).initCause(e);
+            throw new ConfigurationLoadException(e);
         }
 
         // todo we should allow componentType sidefiles for system 
implementations
-        try {
-            
implementation.setComponentType(introspector.introspect(implementationClass));
-        } catch (ConfigurationException e) {
-            throw (ConfigurationLoadException) new 
ConfigurationLoadException(e.getMessage()).initCause(e);
-        }
+        
implementation.setComponentType(introspector.introspect(implementationClass));
 
         StAXUtil.skipToEndElement(reader);
         return implementation;

Modified: 
incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java
 (original)
+++ 
incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java
 Sun Apr  9 09:13:55 2006
@@ -90,7 +90,7 @@
             CompositeContext context = 
BootstrapHelper.registerModule(systemContext, systemModuleComponent);
             context.fireEvent(EventContext.MODULE_START, null);
         } catch (ConfigurationLoadException e) {
-            getLogger().warn(sm.getString("runtime.loadSystemFailed"), e);
+            getLogger().warn(sm.getString("runtime.loadSystemFailed", 
e.getResourceURI()), e);
             return;
         } catch (Exception e) {
             getLogger().warn(sm.getString("runtime.registerSystemFailed"), e);

Modified: 
incubator/tuscany/java/sca/tomcat/src/main/resources/org/apache/tuscany/tomcat/LocalStrings.properties
URL: 
http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/main/resources/org/apache/tuscany/tomcat/LocalStrings.properties?rev=392764&r1=392763&r2=392764&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/tomcat/src/main/resources/org/apache/tuscany/tomcat/LocalStrings.properties
 (original)
+++ 
incubator/tuscany/java/sca/tomcat/src/main/resources/org/apache/tuscany/tomcat/LocalStrings.properties
 Sun Apr  9 09:13:55 2006
@@ -12,7 +12,7 @@
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 
-runtime.loadSystemFailed = Error loading system configuration:
+runtime.loadSystemFailed = Error loading system configuration from: {0}
 runtime.registerSystemFailed = Error registering system configuration:
 runtime.started = Started Tuscany runtime
 runtime.stopped = Stopped Tuscany runtime


Reply via email to