| Summary: | Profile definition info reported for Bug 415211 is broken | ||
|---|---|---|---|
| Product: | [Modeling] Papyrus | Reporter: | Toni Siljamäki <toni.siljamaki> |
| Component: | Core | Assignee: | Christian Damus <give.a.damus> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | P2 | CC: | cletavernier, klaas.gadeyne, papyrus-bugs |
| Version: | unspecified | ||
| Target Milestone: | 1.0.0 | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 415211 | ||
|
Description
Toni Siljamäki
I shall investigate this. Selecting a profile and showing the Definitions property-sheet tab results in these log entries:
!ENTRY org.eclipse.papyrus.infra.tools 4 0 2014-05-27 08:29:01.585
!MESSAGE Cannot load class null
!STACK 0
java.lang.NullPointerException
at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.ja
va:566)
at org.eclipse.papyrus.infra.tools.util.ClassLoaderHelper.loadClass(ClassLoader
Helper.java:53)
at org.eclipse.papyrus.infra.tools.util.ClassLoaderHelper.loadClass(ClassLoader
Helper.java:79)
at org.eclipse.papyrus.infra.tools.util.ClassLoaderHelper.newInstance(ClassLoad
erHelper.java:107)
at org.eclipse.papyrus.views.properties.modelelement.DataSourceFactory.getFacto
ry(DataSourceFactory.java:147)
at org.eclipse.papyrus.views.properties.modelelement.DataSourceFactory.createFr
omSource(DataSourceFactory.java:153)
at org.eclipse.papyrus.views.properties.modelelement.DataSourceFactory.createMo
delElement(DataSourceFactory.java:109)
at org.eclipse.papyrus.views.properties.modelelement.DataSourceFactory.getModel
ElementFromPropertyPath(DataSourceFactory.java:87)
at org.eclipse.papyrus.views.properties.modelelement.DataSource.getModelElement
(DataSource.java:86)
at org.eclipse.papyrus.views.properties.modelelement.DataSource.isEditable(Data
Source.java:261)
at org.eclipse.papyrus.views.properties.widgets.AbstractPropertyEditor.checkInp
ut(AbstractPropertyEditor.java:165)
at org.eclipse.papyrus.views.properties.widgets.AbstractPropertyEditor.setPrope
rty(AbstractPropertyEditor.java:259)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.papyrus.xwt.javabean.metadata.properties.BeanProperty.setValue(B
eanProperty.java:89)
at org.eclipse.papyrus.xwt.javabean.ResourceLoader.initSegmentAttribute(Resourc
eLoader.java:1546)
at org.eclipse.papyrus.xwt.javabean.ResourceLoader.initAttribute(ResourceLoader
.java:1356)
at org.eclipse.papyrus.xwt.javabean.ResourceLoader.init(ResourceLoader.java:100
8)
at org.eclipse.papyrus.xwt.javabean.ResourceLoader.doCreate(ResourceLoader.java
:618)
at org.eclipse.papyrus.xwt.javabean.ResourceLoader.doCreate(ResourceLoader.java
:648)
at org.eclipse.papyrus.xwt.javabean.ResourceLoader.createUIElement(ResourceLoad
er.java:356)
at org.eclipse.papyrus.xwt.internal.core.Core.createCLRElement(Core.java:625)
at org.eclipse.papyrus.xwt.internal.core.Core.load(Core.java:758)
at org.eclipse.papyrus.xwt.internal.core.Core.load(Core.java:652)
at org.eclipse.papyrus.xwt.XWTLoader.loadWithOptions(XWTLoader.java:1022)
at org.eclipse.papyrus.xwt.XWT.loadWithOptions(XWT.java:581)
at org.eclipse.papyrus.views.properties.runtime.DefaultDisplayEngine.createSect
ion(DefaultDisplayEngine.java:197)
at org.eclipse.papyrus.views.properties.runtime.DefaultDisplayEngine.createSect
ion(DefaultDisplayEngine.java:151)
at org.eclipse.papyrus.views.properties.xwt.XWTSection.display(XWTSection.java:
152)
at org.eclipse.papyrus.views.properties.xwt.XWTSection.refresh(XWTSection.java:
163)
at org.eclipse.ui.views.properties.tabbed.TabContents$6.run(TabContents.java:21
7)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:50)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:178)
at org.eclipse.ui.views.properties.tabbed.TabContents.refresh(TabContents.java:
220)
at org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage$SelectionChan
gedListener.selectionChanged(TabbedPropertySheetPage.java:222)
...
!ENTRY org.eclipse.papyrus.views.properties 2 0 2014-05-27 08:29:01.591
!MESSAGE Unable to find a ModelElement for Profile:Profile:definitions. Elements
: {UML:NamedElement=org.eclipse.papyrus.uml.properties.modelelement.UMLModelEle
ment@75a57bb0}
Fixed in commit 6c8f8b1. Commit e9a695b5 for bug 423189 removed the model-element factory for profile definitions, resulting in an unresolved proxy that leads to NPEs. Looks like it was a bad merge. I have restored the missing factory descriptor in the UML Properties model and added a log message when an unresolved proxy is encountered to better diagnose this problem in the future (rather than present the NPE): !ENTRY org.eclipse.papyrus.infra.widgets 2 0 2014-05-27 08:40:34.733 !MESSAGE Unresolved reference to the ModelElementFactory: ppe:/environment/org.e clipse.papyrus.uml.properties/Model/Environment.xmi#//@modelElementFactories.8 !ENTRY org.eclipse.papyrus.views.properties 2 0 2014-05-27 08:40:34.734 !MESSAGE Unable to find a ModelElement for Profile:Profile:definitions. Elements : {} Yep, this one works again. Tested version is 1.0.0.v201405271626 |