Рекурсия в Ecore-File? - PullRequest
       50

Рекурсия в Ecore-File?

0 голосов
/ 25 мая 2010

только что попытался преобразовать в Ecore-модель из заданной UML-модели. После этого я пытаюсь создать модель генератора.

Каждый раз, когда я пытаюсь сделать это, я получаю сообщение об ошибке, что в этом журнале есть «исключение необработанного цикла обработки событий»:

org.eclipse.swt.SWTException: не удалось выполнить работоспособный (java.lang.NullPointerException) на org.eclipse.swt.SWT.error (SWT.java:3884) на org.eclipse.swt.SWT.error (SWT.java:3799) в org.eclipse.swt.widgets.Synchronizer.runAsyncMessages (Synchronizer.java:137) в org.eclipse.swt.widgets.Display.runAsyncMessages (Display.java:3885) в org.eclipse.swt.widgets.Display.readAndDispatch (Display.java:3506) в org.eclipse.jface.window.Window.runEventLoop (Window.java:825) в org.eclipse.jface.window.Window.open (Window.java:801) в org.eclipse.gmf.internal.bridge.ui.dashboard.DashboardMediator $ RunWizardAction.run (DashboardMediator.java:316) в org.eclipse.gmf.internal.bridge.ui.dashboard.HyperlinkFigure $ 1.mousePressed (HyperlinkFigure.java:63) в org.eclipse.draw2d.Figure.handleMousePressed (Figure.java:873) в org.eclipse.draw2d.SWTEventDispatcher.dispatchMousePressed (SWTEventDispatcher.java:214) в org.eclipse.draw2d.LightweightSystem $ EventHandler.mouseDown (LightweightSystem.java:513) в org.eclipse.swt.widgets.TypedListener.handleEvent (TypedListener.java:179) в org.eclipse.swt.widgets.EventTable.sendEvent (EventTable.java:84) в org.eclipse.swt.widgets.Widget.sendEvent (Widget.java:1003) в org.eclipse.swt.widgets.Display.runDeferredEvents (Display.java:3910) в org.eclipse.swt.widgets.Display.readAndDispatch (Display.java:3503) в org.eclipse.ui.internal.Workbench.runEventLoop (Workbench.java:2405) в org.eclipse.ui.internal.Workbench.runUI (Workbench.java:2369) на org.eclipse.ui.internal.Workbench.access $ 4 (Workbench.java:2221) на org.eclipse.ui.internal.Workbench $ 5.run (Workbench.java:500) в org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332) в org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:493) в org.eclipse.ui.PlatformUI.createAndRunWorkbench (PlatformUI.java:149) в org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113) в org.eclipse.equinox.internal.app.EclipseAppHandle.run (EclipseAppHandle.java:194) в org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication (EclipseAppLauncher.java:110) в org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start (EclipseAppLauncher.java:79) в org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:368) в org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) at sun.reflect.NativeMethodAccessorImpl.invoke (неизвестный источник) at sun.reflect.DelegatingMethodAccessorImpl.invoke (неизвестный источник) в java.lang.reflect.Method.invoke (Неизвестный источник) в org.eclipse.equinox.launcher.Main.invokeFramework (Main.java:559) в org.eclipse.equinox.launcher.Main.basicRun (Main.java:514) в org.eclipse.equinox.launcher.Main.run (Main.java:1311) Вызывается: java.lang.NullPointerException в org.eclipse.emf.converter.util.ConverterUtil.computeRequiredPackages (ConverterUtil.java:374) в org.eclipse.emf.converter.ui.contribution.base.ModelConverterPackagePage.validate (ModelConverterPackagePage.java:965) в org.eclipse.emf.importer.ui.contribution.base.ModelImporterPackagePage.validate (ModelImporterPackagePage.java:101) в org.eclipse.emf.converter.ui.contribution.base.ModelConverterPackagePage $ 1.run (ModelConverterPackagePage.java:155) в org.eclipse.swt.widgets.RunnableLock.run (RunnableLock.java:35) в org.eclipse.swt.widgets.Synchronizer.runAsyncMessages (Synchronizer.java:134) ... еще 34

После этого возникает другое исключение с этим текстом: «Невозможно создать идентификатор редактора org.eclipse.emf.codegen.ecore.genmodel.presentation.GenModelEditorID: возникло непредвиденное исключение.»

Данные сеанса говорят:eclipse.buildId = неизвестно java.version = 1.6.0_13 java.vendor = Sun Microsystems Inc. Константы BootLoader: OS = win32, ARCH = x86, WS = win32, NL = de_DE Аргументы платформы: -product org.eclipse.epp.package.modeling.product Аргументы командной строки: -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.modeling.product -consoleLog

С этим длинным журналом:

java.lang.NullPointerException в org.eclipse.emf.ecore.util.EcoreUtil.getURI (EcoreUtil.java:2887) в org.eclipse.emf.codegen.ecore.genmodel.impl.GenModelImpl.diagnose (GenModelImpl.java:2930) в org.eclipse.emf.codegen.ecore.genmodel.presentation.GenModelEditor.validate (GenModelEditor.java:1773) в org.eclipse.emf.codegen.ecore.genmodel.presentation.GenModelEditor.initialize (GenModelEditor.java:596) в org.eclipse.emf.codegen.ecore.genmodel.presentation.GenModelEditor.createPages (GenModelEditor.java:1080) в org.eclipse.ui.part.MultiPageEditorPart.createPartControl (MultiPageEditorPart.java:357) в org.eclipse.ui.internal.EditorReference.createPartHelper (EditorReference.java:662) в org.eclipse.ui.internal.EditorReference.createPart (EditorReference.java:462) в org.eclipse.ui.internal.WorkbenchPartReference.getPart (WorkbenchPartReference.java:595) в org.eclipse.ui.internal.EditorReference.getEditor (EditorReference.java:286) в org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched (WorkbenchPage.java:2857) в org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor (WorkbenchPage.java:2762) в org.eclipse.ui.internal.WorkbenchPage.access $ 11 (WorkbenchPage.java:2754) на org.eclipse.ui.internal.WorkbenchPage $ 10.run (WorkbenchPage.java:2705) на org.eclipse.swt.custom.BusyIndicator.showWhile (BusyIndicator.java:70) в org.eclipse.ui.internal.WorkbenchPage.openEditor (WorkbenchPage.java:2701) в org.eclipse.ui.internal.WorkbenchPage.openEditor (WorkbenchPage.java:2685) в org.eclipse.ui.internal.WorkbenchPage.openEditor (WorkbenchPage.java:2668) в org.eclipse.emf.converter.ui.contribution.base.ModelConverterWizard.openEditor (ModelConverterWizard.java:318) в org.eclipse.emf.importer.ui.contribution.base.ModelImporterWizard.performFinish (ModelImporterWizard.java:167) в org.eclipse.jface.wizard.WizardDialog.finishPressed (WizardDialog.java:752) в org.eclipse.gmf.internal.bridge.ui.dashboard.DashboardMediator $ RunWizardAction $ 1.finishPressed (DashboardMediator.java:311) в org.eclipse.jface.wizard.WizardDialog.buttonPressed (WizardDialog.java:373) в org.eclipse.jface.dialogs.Dialog $ 2.widgetSelected (Dialog.java:624) в org.eclipse.swt.widgets.TypedListener.handleEvent (TypedListener.java:228) в org.eclipse.swt.widgets.EventTable.sendEvent (EventTable.java:84) в org.eclipse.swt.widgets.Widget.sendEvent (Widget.java:1003) в org.eclipse.swt.widgets.Display.runDeferredEvents (Display.java:3910) в org.eclipse.swt.widgets.Display.readAndDispatch (Display.java:3503) в org.eclipse.jface.window.Window.runEventLoop (Window.java:825) в org.eclipse.jface.window.Window.open (Window.java:801) в org.eclipse.gmf.internal.bridge.ui.dashboard.DashboardMediator $ RunWizardAction.run (DashboardMediator.java:316) в org.eclipse.gmf.internal.bridge.ui.dashboard.HyperlinkFigure $ 1.mousePressed (HyperlinkFigure.java:63) в org.eclipse.draw2d.Figure.handleMousePressed (Figure.java:873) в org.eclipse.draw2d.SWTEventDispatcher.dispatchMousePressed (SWTEventDispatcher.java:214) в org.eclipse.draw2d.LightweightSystem $ EventHandler.mouseDown (LightweightSystem.java:513) в org.eclipse.swt.widgets.TypedListener.handleEvent (TypedListener.java:179) в org.eclipse.swt.widgets.EventTable.sendEvent (EventTable.java:84) в org.eclipse.swt.widgets.Widget.sendEvent (Widget.java:1003) в org.eclipse.swt.widgets.Display.runDeferredEvents (Display.java:3910) в org.eclipse.swt.widgets.Display.readAndDispatch (Display.java:3503) в org.eclipse.ui.internal.Workbench.runEventLoop (Workbench.java:2405) в org.eclipse.ui.internal.Workbench.runUI (Workbench.java:2369)на org.eclipse.ui.internal.Workbench.access $ 4 (Workbench.java:2221) на org.eclipse.ui.internal.Workbench $ 5.run (Workbench.java:500) в org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332) в org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:493) в org.eclipse.ui.PlatformUI.createAndRunWorkbench (PlatformUI.java:149) в org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:113) в org.eclipse.equinox.internal.app.EclipseAppHandle.run (EclipseAppHandle.java:194) в org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication (EclipseAppLauncher.java:110) в org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start (EclipseAppLauncher.java:79) в org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:368) в org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) at sun.reflect.NativeMethodAccessorImpl.invoke (неизвестный источник) at sun.reflect.DelegatingMethodAccessorImpl.invoke (неизвестный источник) в java.lang.reflect.Method.invoke (Неизвестный источник) в org.eclipse.equinox.launcher.Main.invokeFramework (Main.java:559) в org.eclipse.equinox.launcher.Main.basicRun (Main.java:514) в org.eclipse.equinox.launcher.Main.run (Main.java:1311)

Кто-нибудь знает, что происходит не так? Я некоторое время смотрел на свою модель, но не смог найти что-то не так. Я просто подумал, что может быть рекурсия из-за «Необработанного исключения цикла события», но возможно ли это даже?

Заранее спасибо, Dominik

1 Ответ

0 голосов
/ 27 мая 2010

Хорошо, получил ошибку.

Это произошло потому, что сгенерированный тип данных не был внутри пакета. После исправления все работает нормально.

...