diff --git a/src/main/org/apache/tools/ant/AntTypeDefinition.java b/src/main/org/apache/tools/ant/AntTypeDefinition.java index 104820f17..c7b223cef 100644 --- a/src/main/org/apache/tools/ant/AntTypeDefinition.java +++ b/src/main/org/apache/tools/ant/AntTypeDefinition.java @@ -217,19 +217,12 @@ public class AntTypeDefinition { return null; } Object o = createAndSet(project, c); - if (o == null || adapterClass == null) { + if (adapterClass == null + || (adaptToClass != null && adaptToClass.isAssignableFrom(o.getClass()))) { return o; } - if (adaptToClass != null) { - if (adaptToClass.isAssignableFrom(o.getClass())) { - return o; - } - } TypeAdapter adapterObject = (TypeAdapter) createAndSet( project, adapterClass); - if (adapterObject == null) { - return null; - } adapterObject.setProxy(o); return adapterObject; } @@ -257,9 +250,6 @@ public class AntTypeDefinition { || !adaptToClass.isAssignableFrom(clazz))) { TypeAdapter adapter = (TypeAdapter) createAndSet( project, adapterClass); - if (adapter == null) { - throw new BuildException("Unable to create adapter object"); - } adapter.checkProxyClass(clazz); } } @@ -267,12 +257,11 @@ public class AntTypeDefinition { /** * Get the constructor of the definition * and invoke it. - * @return the instantiated Object. + * @return the instantiated Object, will never be null. */ private Object createAndSet(Project project, Class c) { try { - Object o = innerCreateAndSet(c, project); - return o; + return innerCreateAndSet(c, project); } catch (InvocationTargetException ex) { Throwable t = ex.getTargetException(); throw new BuildException( diff --git a/src/main/org/apache/tools/ant/Diagnostics.java b/src/main/org/apache/tools/ant/Diagnostics.java index f93fd5aca..b1a07ca1f 100644 --- a/src/main/org/apache/tools/ant/Diagnostics.java +++ b/src/main/org/apache/tools/ant/Diagnostics.java @@ -185,8 +185,12 @@ public final class Diagnostics { * @return parser or null for trouble */ private static SAXParser getSAXParser() { - SAXParserFactory saxParserFactory = SAXParserFactory.newInstance(); - if (saxParserFactory == null) { + SAXParserFactory saxParserFactory = null; + try { + saxParserFactory = SAXParserFactory.newInstance(); + } catch (Exception e) { + // ignore + ignoreThrowable(e); return null; } SAXParser saxParser = null; diff --git a/src/main/org/apache/tools/ant/dispatch/DispatchUtils.java b/src/main/org/apache/tools/ant/dispatch/DispatchUtils.java index 852a920b3..7a840d125 100644 --- a/src/main/org/apache/tools/ant/dispatch/DispatchUtils.java +++ b/src/main/org/apache/tools/ant/dispatch/DispatchUtils.java @@ -64,7 +64,7 @@ public class DispatchUtils { final Object o = actionM.invoke(dispatchable, (Object[]) null); if (o != null) { final String s = o.toString(); - if (s != null && s.trim().length() > 0) { + if (s.trim().length() > 0) { methodName = s.trim(); Method executeM = null; executeM = dispatchable.getClass().getMethod(