You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2012/09/07 19:56:51 UTC
svn commit: r1382103 - in /cxf/trunk/rt/core/src:
main/java/org/apache/cxf/bus/extension/Extension.java
main/java/org/apache/cxf/bus/extension/Messages.properties
test/java/org/apache/cxf/bus/extension/ExtensionTest.java
Author: dkulp
Date: Fri Sep 7 17:56:51 2012
New Revision: 1382103
URL: http://svn.apache.org/viewvc?rev=1382103&view=rev
Log:
More error message updates
Modified:
cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java
cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Messages.properties
cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/extension/ExtensionTest.java
Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java?rev=1382103&r1=1382102&r2=1382103&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Extension.java Fri Sep 7 17:56:51 2012
@@ -23,6 +23,7 @@ import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.List;
import java.util.logging.Logger;
import org.apache.cxf.Bus;
@@ -222,16 +223,35 @@ public class Extension {
ex.getCause());
} catch (InstantiationException ex) {
throw new ExtensionException(new Message("PROBLEM_CREATING_EXTENSION_CLASS", LOG, cls.getName()), ex);
- } catch (Exception ex) {
+ } catch (SecurityException ex) {
+ throw new ExtensionException(new Message("PROBLEM_CREATING_EXTENSION_CLASS", LOG, cls.getName()), ex);
+ } catch (NoSuchMethodException e) {
//ignore
}
- obj = cls.newInstance();
+ obj = cls.getConstructor().newInstance();
} catch (ExtensionException ex) {
throw ex;
} catch (IllegalAccessException ex) {
throw new ExtensionException(new Message("PROBLEM_CREATING_EXTENSION_CLASS", LOG, cls.getName()), ex);
} catch (InstantiationException ex) {
throw new ExtensionException(new Message("PROBLEM_CREATING_EXTENSION_CLASS", LOG, cls.getName()), ex);
+ } catch (IllegalArgumentException e) {
+ throw new ExtensionException(new Message("PROBLEM_CREATING_EXTENSION_CLASS", LOG, cls.getName()), e);
+ } catch (SecurityException e) {
+ throw new ExtensionException(new Message("PROBLEM_CREATING_EXTENSION_CLASS", LOG, cls.getName()), e);
+ } catch (InvocationTargetException ex) {
+ throw new ExtensionException(new Message("PROBLEM_CREATING_EXTENSION_CLASS", LOG, cls.getName()),
+ ex.getCause());
+ } catch (NoSuchMethodException ex) {
+ List<Object> a = new ArrayList<Object>();
+ if (b != null) {
+ a.add(b);
+ }
+ if (args != null) {
+ a.add(args);
+ }
+ throw new ExtensionException(new Message("PROBLEM_FINDING_CONSTRUCTOR", LOG,
+ cls.getName(), a), ex);
}
return obj;
}
Modified: cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Messages.properties
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Messages.properties?rev=1382103&r1=1382102&r2=1382103&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Messages.properties (original)
+++ cxf/trunk/rt/core/src/main/java/org/apache/cxf/bus/extension/Messages.properties Fri Sep 7 17:56:51 2012
@@ -20,4 +20,5 @@
#
DEPRECATED_EXTENSIONS = Loading Bus extensions via {0} (found url {1}) is deprecated. Use {2} instead.
PROBLEM_LOADING_EXTENSION_CLASS = Could not load extension class {0}.
-PROBLEM_CREATING_EXTENSION_CLASS = Could not create object of extension class {0}.
\ No newline at end of file
+PROBLEM_CREATING_EXTENSION_CLASS = Could not create object of extension class {0}.
+PROBLEM_FINDING_CONSTRUCTOR = Could not find constructor for class {0} for args {1}.
\ No newline at end of file
Modified: cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/extension/ExtensionTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/extension/ExtensionTest.java?rev=1382103&r1=1382102&r2=1382103&view=diff
==============================================================================
--- cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/extension/ExtensionTest.java (original)
+++ cxf/trunk/rt/core/src/test/java/org/apache/cxf/bus/extension/ExtensionTest.java Fri Sep 7 17:56:51 2012
@@ -60,15 +60,15 @@ public class ExtensionTest extends Asser
try {
e.load(cl, null);
} catch (ExtensionException ex) {
- assertTrue("ExtensionException does not wrap IllegalAccessException",
- ex.getCause() instanceof IllegalAccessException);
+ assertTrue("ExtensionException does not wrap NoSuchMethodException " + ex.getCause(),
+ ex.getCause() instanceof NoSuchMethodException);
}
e.setClassname(MyServiceConstructorThrowsException.class.getName());
try {
e.load(cl, null);
} catch (ExtensionException ex) {
- assertTrue("ExtensionException does not wrap InstantiationException",
- ex.getCause() instanceof InstantiationException);
+ assertTrue("ExtensionException does not wrap IllegalArgumentException",
+ ex.getCause() instanceof IllegalArgumentException);
}
e.setClassname("java.lang.String");
Object obj = e.load(cl, null);
@@ -92,7 +92,7 @@ public class ExtensionTest extends Asser
assertNotNull(cls);
}
- class MyServiceConstructorThrowsException {
+ static class MyServiceConstructorThrowsException {
public MyServiceConstructorThrowsException() {
throw new IllegalArgumentException();
}