osate / osate2-ba

Old Behavior Annex plug-in for OSATE repository, kept for reference
5 stars 4 forks source link

AbstractTypeImpl cast to DataClassifier #24

Closed juli1 closed 10 years ago

juli1 commented 10 years ago

When editing a model, I got the following issue: !STACK 0 java.lang.ClassCastException: org.osate.aadl2.impl.AbstractTypeImpl cannot be cast to org.osate.aadl2.DataClassifier at org.osate.ba.utils.AadlBaUtils.getDataRepresentation(AadlBaUtils.java:290) at org.osate.ba.utils.AadlBaUtils.getDataRepresentation(AadlBaUtils.java:328) at org.osate.ba.utils.AadlBaUtils.getTypeHolder(AadlBaUtils.java:841) at org.osate.ba.utils.AadlBaUtils.getTypeHolder(AadlBaUtils.java:955) at org.osate.ba.analyzers.AadlBaTypeChecker.assignmentActionCheck(AadlBaTypeChecker.java:2954) at org.osate.ba.analyzers.AadlBaTypeChecker.basicActionCheck(AadlBaTypeChecker.java:2021) at org.osate.ba.analyzers.AadlBaTypeChecker.behaviorActionCheck(AadlBaTypeChecker.java:1714) at org.osate.ba.analyzers.AadlBaTypeChecker.behaviorActionsCheck(AadlBaTypeChecker.java:1696) at org.osate.ba.analyzers.AadlBaTypeChecker.behaviorActionBlockCheck(AadlBaTypeChecker.java:1675) at org.osate.ba.analyzers.AadlBaTypeChecker.behaviorTransitionCheck(AadlBaTypeChecker.java:350) at org.osate.ba.analyzers.AadlBaTypeChecker.checkTypes(AadlBaTypeChecker.java:141) at org.osate.ba.AadlBaResolver.resolveAnnex(AadlBaResolver.java:86) at org.osate.annexsupport.AnnexResolverProxy.resolveAnnex(AnnexResolverProxy.java:70) at org.osate.xtext.aadl2.parsing.AnnexParserAgent.afterModelLinked(AnnexParserAgent.java:216) at org.eclipse.xtext.linking.impl.AbstractCleaningLinker.linkModel(AbstractCleaningLinker.java:49) at org.eclipse.xtext.resource.XtextResource.doLinking(XtextResource.java:292) at org.eclipse.xtext.linking.lazy.LazyLinkingResource.doLinking(LazyLinkingResource.java:88) at org.eclipse.xtext.resource.XtextResource.updateInternalState(XtextResource.java:260) at org.eclipse.xtext.resource.XtextResource.updateInternalState(XtextResource.java:250) at org.eclipse.xtext.resource.XtextResource.doLoad(XtextResource.java:163) at org.eclipse.xtext.linking.lazy.LazyLinkingResource.doLoad(LazyLinkingResource.java:81) at org.eclipse.xtext.resource.XtextResource.reparse(XtextResource.java:196) at org.eclipse.xtext.ui.editor.model.XtextDocument$XtextDocumentLocker.modify(XtextDocument.java:225) at org.eclipse.xtext.ui.editor.model.XtextDocument.internalModify(XtextDocument.java:103) at org.eclipse.xtext.ui.editor.reconciler.XtextReconciler.run(XtextReconciler.java:290) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

SebastienGardoll commented 10 years ago

Any AADL code ?

SebastienGardoll commented 10 years ago

Patched but can you test it ?

juli1 commented 10 years ago

Tested but I have the same issue on another model. See the stack trace:

!ENTRY org.eclipse.ui.workbench.texteditor 4 0 2014-08-02 05:44:20.208 !MESSAGE Editor could not be initialized. !STACK 0 java.lang.ClassCastException: org.osate.aadl2.impl.AbstractTypeImpl cannot be cast to org.osate.aadl2.DataClassifier at org.osate.ba.utils.AadlBaUtils.getDataRepresentation(AadlBaUtils.java:293) at org.osate.ba.utils.AadlBaUtils.getDataRepresentation(AadlBaUtils.java:331) at org.osate.ba.utils.AadlBaUtils.getTypeHolder(AadlBaUtils.java:861) at org.osate.ba.utils.AadlBaUtils.getTypeHolder(AadlBaUtils.java:975) at org.osate.ba.analyzers.AadlBaTypeChecker.portDequeueActionResolver(AadlBaTypeChecker.java:2139) at org.osate.ba.analyzers.AadlBaTypeChecker.communicationActionCheck(AadlBaTypeChecker.java:2243) at org.osate.ba.analyzers.AadlBaTypeChecker.basicActionCheck(AadlBaTypeChecker.java:2028) at org.osate.ba.analyzers.AadlBaTypeChecker.behaviorActionCheck(AadlBaTypeChecker.java:1714) at org.osate.ba.analyzers.AadlBaTypeChecker.behaviorActionsCheck(AadlBaTypeChecker.java:1685) at org.osate.ba.analyzers.AadlBaTypeChecker.behaviorActionBlockCheck(AadlBaTypeChecker.java:1675) at org.osate.ba.analyzers.AadlBaTypeChecker.behaviorTransitionCheck(AadlBaTypeChecker.java:350) at org.osate.ba.analyzers.AadlBaTypeChecker.checkTypes(AadlBaTypeChecker.java:141) at org.osate.ba.AadlBaResolver.resolveAnnex(AadlBaResolver.java:86) at org.osate.annexsupport.AnnexResolverProxy.resolveAnnex(AnnexResolverProxy.java:70) at org.osate.xtext.aadl2.parsing.AnnexParserAgent.afterModelLinked(AnnexParserAgent.java:216) at org.eclipse.xtext.linking.impl.AbstractCleaningLinker.linkModel(AbstractCleaningLinker.java:49) at org.eclipse.xtext.resource.XtextResource.doLinking(XtextResource.java:292) at org.eclipse.xtext.linking.lazy.LazyLinkingResource.doLinking(LazyLinkingResource.java:88) at org.eclipse.xtext.resource.XtextResource.updateInternalState(XtextResource.java:260) at org.eclipse.xtext.resource.XtextResource.updateInternalState(XtextResource.java:250) at org.eclipse.xtext.resource.XtextResource.doLoad(XtextResource.java:163) at org.eclipse.xtext.linking.lazy.LazyLinkingResource.doLoad(LazyLinkingResource.java:81) at org.eclipse.emf.ecore.resource.impl.ResourceImpl.load(ResourceImpl.java:1518) at org.eclipse.xtext.ui.editor.model.XtextDocumentProvider.loadResource(XtextDocumentProvider.java:228) at org.eclipse.xtext.ui.editor.model.XtextDocumentProvider.setDocumentResource(XtextDocumentProvider.java:208) at org.eclipse.xtext.ui.editor.model.XtextDocumentProvider.setDocumentContent(XtextDocumentProvider.java:198) at org.eclipse.ui.editors.text.StorageDocumentProvider.createDocument(StorageDocumentProvider.java:229) at org.eclipse.xtext.ui.editor.model.XtextDocumentProvider.createDocument(XtextDocumentProvider.java:140) at org.eclipse.ui.editors.text.FileDocumentProvider.createElementInfo(FileDocumentProvider.java:737) at org.eclipse.xtext.ui.editor.model.XtextDocumentProvider.createElementInfo(XtextDocumentProvider.java:252) at org.eclipse.ui.texteditor.AbstractDocumentProvider.connect(AbstractDocumentProvider.java:400) at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:4233) at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:237) at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1480) at org.eclipse.ui.editors.text.TextEditor.doSetInput(TextEditor.java:169) at org.eclipse.xtext.ui.editor.XtextEditor.doSetInput(XtextEditor.java:232) at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3220) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:466) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:374) at org.eclipse.ui.internal.WorkbenchWindow$13.run(WorkbenchWindow.java:2144) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2140) at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3238) at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3265) at org.eclipse.xtext.ui.editor.XtextEditor.init(XtextEditor.java:255) at org.eclipse.ui.internal.EditorReference.initialize(EditorReference.java:390) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:304) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:888) at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:869) at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:120) at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:337) at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:258) at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:162) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:104) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:73) at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:55) at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:127) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:983) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:662) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:766) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:737) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:731) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:715) at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1251) at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer$1.handleEvent(LazyStackRenderer.java:66) at org.eclipse.e4.ui.services.internal.events.UIEventHandler$1.run(UIEventHandler.java:40) at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:187) at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:156) at org.eclipse.swt.widgets.Display.syncExec(Display.java:4622) at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:218) at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:36) at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:197) at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:197) at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230) at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148) at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:135) at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:78) at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:39) at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:81) at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:59) at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:374) at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:171) at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:488) at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:454) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:692) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:385) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1126) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3182) at org.eclipse.ui.internal.WorkbenchPage.access$23(WorkbenchPage.java:3104) at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:3086) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3081) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3045) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3035) at org.eclipse.ui.ide.IDE.openEditor(IDE.java:541) at org.eclipse.ui.ide.IDE.openEditor(IDE.java:500) at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:99) at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:99) at org.eclipse.ui.views.navigator.OpenActionGroup.runDefaultAction(OpenActionGroup.java:133) at org.eclipse.ui.views.navigator.MainActionGroup.runDefaultAction(MainActionGroup.java:330) at org.eclipse.ui.views.navigator.ResourceNavigator.handleOpen(ResourceNavigator.java:787) at org.eclipse.ui.views.navigator.ResourceNavigator$6.open(ResourceNavigator.java:499) at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48) at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:853) 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.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:850) at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1142) at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1249) at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:278) at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:272) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:313) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4486) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1388) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3831) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3441) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:236) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603) at org.eclipse.equinox.launcher.Main.run(Main.java:1465) at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

juli1 commented 10 years ago

Patch and models can be found on https://gist.github.com/juli1/f140f7bc4f5bc36f377b

SebastienGardoll commented 10 years ago

I parsed siames.aadl, programs_simulink.aadl and Base_Types_Simulink.aadl from your example. They were no any Java exception. I just had three name (highspeed and searchingslot) errors for 'THREAD IMPLEMENTATION t_searchslot.impl' (and even if I comment these faulty lines, there are no any Java exception).

juli1 commented 10 years ago

Sounds good for me! Thanks for your help.