Community
Participate
Working Groups
Steps to reproduce : 1/ Create a Papyrus Requirement Table (or a table with facet) 2/ Close Eclipse 3/ Restart Eclipse (Papyrus reopens the model which were opened before closing Eclipse -> the table is not correctly opened : we get the following exception (which is an error inside the creation of the log of an other error...) 4/ Close your model and reopen it -> it's work FacetSetCatalog.getSingleton(); java.lang.NullPointerException at org.eclipse.emf.ecore.util.EcoreUtil.getURI(EcoreUtil.java:2913) at org.eclipse.emf.facet.widgets.nattable.internal.NatTableWidget.registerCellEditorForColumn(NatTableWidget.java:1029) at org.eclipse.emf.facet.widgets.nattable.internal.NatTableWidget.access$11(NatTableWidget.java:1000) at org.eclipse.emf.facet.widgets.nattable.internal.NatTableWidget$6.configureRegistry(NatTableWidget.java:985) at net.sourceforge.nattable.NatTable.configure(NatTable.java:372) at org.eclipse.emf.facet.widgets.nattable.internal.NatTableWidget.setInput(NatTableWidget.java:450) at org.eclipse.emf.facet.widgets.nattable.internal.NatTableWidget.init(NatTableWidget.java:367) at org.eclipse.emf.facet.widgets.nattable.internal.NatTableWidget.<init>(NatTableWidget.java:353) at org.eclipse.papyrus.table.common.internal.PapyrusNatTableWidget.<init>(PapyrusNatTableWidget.java:78) at org.eclipse.papyrus.table.common.internal.NatTableEditor.createNattableWidget(NatTableEditor.java:228) at org.eclipse.papyrus.table.common.internal.NatTableEditor.createPartControl(NatTableEditor.java:217) at org.eclipse.papyrus.sasheditor.internal.EditorPart.createEditorPartControl(EditorPart.java:263) at org.eclipse.papyrus.sasheditor.internal.EditorPart.createPartControl(EditorPart.java:169) at org.eclipse.papyrus.sasheditor.internal.TabFolderPart.createChildPart(TabFolderPart.java:917) at org.eclipse.papyrus.sasheditor.internal.TabFolderPart.createTabItem(TabFolderPart.java:842) at org.eclipse.papyrus.sasheditor.internal.TabFolderPart.synchronize2(TabFolderPart.java:757) at org.eclipse.papyrus.sasheditor.internal.RootPart.synchronize2(RootPart.java:139) at org.eclipse.papyrus.sasheditor.internal.SashWindowsContainer.refreshTabsInternal(SashWindowsContainer.java:431) at org.eclipse.papyrus.sasheditor.internal.SashWindowsContainer.refreshTabs(SashWindowsContainer.java:384) at org.eclipse.papyrus.sasheditor.internal.SashWindowsContainer.createPartControl(SashWindowsContainer.java:173) at org.eclipse.papyrus.sasheditor.editor.AbstractMultiPageSashEditor.createPartControl(AbstractMultiPageSashEditor.java:130) at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670) at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465) at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595) at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:271) at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1459) at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:972) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757) at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803) at org.eclipse.ui.internal.Workbench$33.runWithException(Workbench.java:1595) at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
To correct this error, we should do : FacetSetCatalog.getSingleton(); to be sure the facets are loaded before opening the Papyrus table. Problem : the access to FacetSetCatalog is restricted for Papyrus. (internal). I think the best should be to correct this default in EMF-Facet, loading the facet when the widget is created (for example).
Created attachment 199548 [details] This patch corrects the bug : we load the facets earlier to avoid error in Papyrus Table (1) I, Vincent Lorenzo, wrote 100% of the code I've provided. (2) This code contains no cryptography (3) I have the right to contribute the code to Eclipse. (4) I contribute the content under the EPL.
This bug can be marked as closed fixed. We didn't commit the patch, because EMF-Facet corrected the problem.