diff options
author | edwardsmj <edwardsmj@13f79535-47bb-0310-9956-ffa450edef68> | 2009-05-03 07:12:03 +0000 |
---|---|---|
committer | edwardsmj <edwardsmj@13f79535-47bb-0310-9956-ffa450edef68> | 2009-05-03 07:12:03 +0000 |
commit | 1c773da5ebc8877893c59ed2198b321f20252ce0 (patch) | |
tree | 2f04c22d9e3227c8a961f19532b94aa5948191b1 | |
parent | 12b7d7d4dbcfe8cd751faa5c29b00b9282059da6 (diff) |
Improve error reporting when exceptions occur during Java implementation processing - tag all exceptions with the name of the Java class.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@771033 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java | 60 |
1 files changed, 32 insertions, 28 deletions
diff --git a/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java b/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java index a39e387b5f..c325c871f4 100644 --- a/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java +++ b/java/sca/modules/implementation-java-xml/src/main/java/org/apache/tuscany/sca/implementation/java/xml/JavaImplementationProcessor.java @@ -167,34 +167,38 @@ public class JavaImplementationProcessor implements StAXArtifactProcessor<JavaIm public void resolve(JavaImplementation javaImplementation, ModelResolver resolver) throws ContributionResolveException { - ClassReference classReference = new ClassReference(javaImplementation.getName()); - classReference = resolver.resolveModel(ClassReference.class, classReference); - Class<?> javaClass = classReference.getJavaClass(); - if (javaClass == null) { - error("ClassNotFoundException", resolver, javaImplementation.getName()); - //throw new ContributionResolveException(new ClassNotFoundException(javaImplementation.getName())); - return; - } - - javaImplementation.setJavaClass(javaClass); - - try { - javaFactory.createJavaImplementation(javaImplementation, javaImplementation.getJavaClass()); - } catch (IntrospectionException e) { - ContributionResolveException ce = new ContributionResolveException(e); - error("ContributionResolveException", javaFactory, ce); - //throw ce; - return; - } - - javaImplementation.setUnresolved(false); - mergeComponentType(resolver, javaImplementation); - - // FIXME the introspector should always create at least one service - if (javaImplementation.getServices().isEmpty()) { - javaImplementation.getServices().add(assemblyFactory.createService()); - } - } + try { + ClassReference classReference = new ClassReference(javaImplementation.getName()); + classReference = resolver.resolveModel(ClassReference.class, classReference); + Class<?> javaClass = classReference.getJavaClass(); + if (javaClass == null) { + error("ClassNotFoundException", resolver, javaImplementation.getName()); + //throw new ContributionResolveException(new ClassNotFoundException(javaImplementation.getName())); + return; + } + + javaImplementation.setJavaClass(javaClass); + + try { + javaFactory.createJavaImplementation(javaImplementation, javaImplementation.getJavaClass()); + } catch (IntrospectionException e) { + ContributionResolveException ce = new ContributionResolveException(e); + error("ContributionResolveException", javaFactory, ce); + //throw ce; + return; + } + + javaImplementation.setUnresolved(false); + mergeComponentType(resolver, javaImplementation); + + // FIXME the introspector should always create at least one service + if (javaImplementation.getServices().isEmpty()) { + javaImplementation.getServices().add(assemblyFactory.createService()); + } + } catch (Throwable e ) { + throw new ContributionResolveException( "Resolving Java implementation: " + javaImplementation.getName(), e); + } // end try + } // end method private JavaElementImpl getMemeber(JavaImplementation impl, String name, Class<?> type) { String setter = JavaIntrospectionHelper.toSetter(name); |