Author: cziegeler
Date: Mon Nov 16 12:20:59 2009
New Revision: 880725
URL: http://svn.apache.org/viewvc?rev=880725&view=rev
Log:
FELIX-1726 : Enhance error messages in case of missing project dependencies
Modified:
felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/ClassUtil.java
felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/Util.java
Modified:
felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/ClassUtil.java
URL:
http://svn.apache.org/viewvc/felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/ClassUtil.java?rev=880725&r1=880724&r2=880725&view=diff
==============================================================================
---
felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/ClassUtil.java
(original)
+++
felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/ClassUtil.java
Mon Nov 16 12:20:59 2009
@@ -50,8 +50,6 @@
return new String[] {value.toString()};
}
return null;
- } catch (NoClassDefFoundError e) {
- // ignore and just return null
} catch (Exception e) {
// ignore and just return null
}
Modified:
felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/Util.java
URL:
http://svn.apache.org/viewvc/felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/Util.java?rev=880725&r1=880724&r2=880725&view=diff
==============================================================================
---
felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/Util.java
(original)
+++
felix/trunk/scrplugin/src/main/java/org/apache/felix/scrplugin/tags/annotation/defaulttag/Util.java
Mon Nov 16 12:20:59 2009
@@ -21,11 +21,7 @@
import java.util.List;
import org.apache.felix.scrplugin.SCRDescriptorException;
-import org.apache.felix.scrplugin.tags.ClassUtil;
-import org.apache.felix.scrplugin.tags.JavaClassDescription;
-import org.apache.felix.scrplugin.tags.JavaField;
-import
org.apache.felix.scrplugin.tags.annotation.AnnotationJavaClassDescription;
-import org.apache.felix.scrplugin.tags.annotation.AnnotationJavaField;
+import org.apache.felix.scrplugin.tags.*;
import com.thoughtworks.qdox.model.Annotation;
import com.thoughtworks.qdox.model.annotation.AnnotationFieldRef;
@@ -352,7 +348,7 @@
{
EvaluatingVisitor evaluatingVisitor = new EvaluatingVisitor() {
-
+
public Object visitAnnotationFieldRef( AnnotationFieldRef fieldRef
) {
// during prescan of
AnnotationTagProviderManager#hasScrPluginAnnotation this method is called
without desc attribute
// avoid NPE in this case and just skip value resolving
@@ -385,6 +381,11 @@
}
throw new IllegalArgumentException("Something is wrong: "
+ s);
}
+ catch (NoClassDefFoundError ncdfe)
+ {
+ throw new IllegalArgumentException("A class could not be
found while parsing class " + desc.getName() +
+ ". Please check this stracktrace and add a
dependency with the missing class to your project.", ncdfe);
+ }
catch (SCRDescriptorException mee)
{
throw new IllegalArgumentException(mee);
@@ -396,7 +397,7 @@
// is never called because visitAnnotationFieldRef is
overridden as well
return null;
}
-
+
};
List<Object> valueList = evaluatingVisitor.getListValue(annotation,
name);
if (valueList==null) {