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]