Author: jmarino
Date: Sun Dec  3 14:58:43 2006
New Revision: 481973

URL: http://svn.apache.org/viewvc?view=rev&rev=481973
Log:
add better error information when an exception is thrown creating an instance

Modified:
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/ModuleScopeContainer.java
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java
    
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java?view=diff&rev=481973&r1=481972&r2=481973
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/HttpSessionScopeContainer.java
 Sun Dec  3 14:58:43 2006
@@ -24,6 +24,7 @@
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
+import org.apache.tuscany.spi.ObjectCreationException;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.TargetException;
 import org.apache.tuscany.spi.component.WorkContext;
@@ -63,8 +64,12 @@
             workContext.setIdentifier(Scope.SESSION, key);
             for (Map.Entry<AtomicComponent, Map<Object, InstanceWrapper>> 
entry : contexts.entrySet()) {
                 if (entry.getKey().isEagerInit()) {
-
-                    getInstance(entry.getKey(), key, true);
+                    try {
+                        getInstance(entry.getKey(), key, true);
+                    } catch (ObjectCreationException e) {
+                        e.addContextName(entry.getKey().getName());
+                        throw e;
+                    }
                 }
             }
         } else if (event instanceof HttpSessionEnd) {

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/ModuleScopeContainer.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/ModuleScopeContainer.java?view=diff&rev=481973&r1=481972&r2=481973
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/ModuleScopeContainer.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/ModuleScopeContainer.java
 Sun Dec  3 14:58:43 2006
@@ -27,7 +27,7 @@
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.tuscany.spi.AbstractLifecycle;
-import org.apache.tuscany.spi.CoreRuntimeException;
+import org.apache.tuscany.spi.ObjectCreationException;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.TargetException;
 import org.apache.tuscany.spi.component.WorkContext;
@@ -132,7 +132,7 @@
         return ctx;
     }
 
-    private void eagerInitComponents() throws CoreRuntimeException {
+    private void eagerInitComponents() throws ObjectCreationException {
         List<AtomicComponent> componentList = new 
ArrayList<AtomicComponent>(instanceWrappers.keySet());
         Collections.sort(componentList, COMPARATOR);
         // start each group
@@ -144,7 +144,12 @@
             // the instance could have been created from a depth-first 
traversal
             InstanceWrapper ctx = instanceWrappers.get(component);
             if (ctx == EMPTY) {
-                ctx = new InstanceWrapperImpl(component, 
component.createInstance());
+                try {
+                    ctx = new InstanceWrapperImpl(component, 
component.createInstance());
+                } catch (ObjectCreationException e) {
+                    e.addContextName(component.getName());
+                    throw e;
+                }
                 ctx.start();
                 instanceWrappers.put(component, ctx);
                 destroyQueue.add(ctx);

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java?view=diff&rev=481973&r1=481972&r2=481973
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/component/scope/RequestScopeContainer.java
 Sun Dec  3 14:58:43 2006
@@ -24,6 +24,7 @@
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
+import org.apache.tuscany.spi.ObjectCreationException;
 import org.apache.tuscany.spi.component.AtomicComponent;
 import org.apache.tuscany.spi.component.TargetException;
 import org.apache.tuscany.spi.component.WorkContext;
@@ -62,7 +63,12 @@
         if (event instanceof RequestStart) {
             for (Map.Entry<AtomicComponent, Map<Thread, InstanceWrapper>> 
entry : contexts.entrySet()) {
                 if (entry.getKey().isEagerInit()) {
-                    getInstance(entry.getKey());
+                    try {
+                        getInstance(entry.getKey());
+                    } catch (ObjectCreationException e) {
+                        e.addContextName(entry.getKey().getName());
+                        throw e;
+                    }
                 }
             }
         } else if (event instanceof RequestEnd) {

Modified: 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java?view=diff&rev=481973&r1=481972&r2=481973
==============================================================================
--- 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java
 (original)
+++ 
incubator/tuscany/java/sca/kernel/core/src/main/java/org/apache/tuscany/core/implementation/system/component/SystemWireObjectFactory.java
 Sun Dec  3 14:58:43 2006
@@ -20,6 +20,7 @@
 
 import org.apache.tuscany.spi.ObjectCreationException;
 import org.apache.tuscany.spi.ObjectFactory;
+import org.apache.tuscany.spi.component.TargetException;
 
 import org.apache.tuscany.core.implementation.system.wire.SystemOutboundWire;
 
@@ -37,7 +38,11 @@
     }
 
     public Object getInstance() throws ObjectCreationException {
-        return wire.getTargetService();
+        try {
+            return wire.getTargetService();
+        } catch (TargetException e) {
+            throw new ObjectCreationException(e);
+        }
     }
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to