| Summary: | [Java] NPE in AnnotationImpl.toString | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Modeling] MoDisco | Reporter: | Nicolas Bros <nicolas.bros> | ||||
| Component: | Technologies | Assignee: | Project Inbox <modisco.web-inbox> | ||||
| Status: | NEW --- | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P5 | CC: | gdupe, speldszus | ||||
| Version: | 0.9.0 | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Windows 7 | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
Hello, I'm really sorry, but to guaranty maintainability of MoDisco (and EMF Facet) we have to focus this year on the move to EMF Facet. That's why I cannot plan this bug for Juno (of course if someone provides the fix we will commit it). Regards, Gregoire Dupe Hello,
I also got this NullpointerException and had a closer look into the source code.
The problem is a fieldreference in the 'toString()' method of the class 'org.eclipse.gmt.modisco.java.emf.impl.AnnotationImpl' due to the lazy initialization of lists in EMF code a NPE is thrown in the following line if the Annotation has no value:
old line 253: 'for (AnnotationMemberValuePair member : this.values) {'
To fix this bug the 'this.values' fiels access has to be replaced with the according getter 'getValues()' in which an empty list is created if the annotation has no values:
new line 253: 'for (AnnotationMemberValuePair member : getValues()) {'
As I've the impression after reading the contribution guide lines that pull request are unwanted for bug fixes I am just reporting my solution here. It would be nice if this fix will be included in the next release.
Best regards,
Sven Peldszus
|
Created attachment 199117 [details] stacktrace When trying to execute the Java to KDM ATL transformation, I get a NPE in the Java model. See attached stacktrace.