osate / osate2

Open Source AADL2 Tool Environment
http://osate.org
Eclipse Public License 2.0
39 stars 8 forks source link

Exception when updating AADL property view #1685

Closed lwrage closed 5 years ago

lwrage commented 5 years ago

Open a non modal instance model in the instance editor, open the AADL Property View, and select the System Operation Mode No Modes in the instance editor. This results in a "Problem Occurred" dialog with detailsed message: An internal error occurred during: "Updating Property View". Mode is not contained in a component type or implementation. The underlying exception in the console is:

!ENTRY org.eclipse.core.jobs 4 2 2019-02-12 11:40:09.860
!MESSAGE An internal error occurred during: "Updating Property View".
!STACK 0
org.osate.aadl2.properties.InvalidModelException: Mode is not contained in a component type or implementation
    at org.osate.aadl2.impl.ModeImpl.getPropertyValueInternal(ModeImpl.java:260)
    at org.osate.aadl2.impl.NamedElementImpl.getPropertyValue(NamedElementImpl.java:486)
    at org.osate.aadl2.NamedElement.getPropertyValue(NamedElement.java:238)
    at org.osate.xtext.aadl2.ui.propertyview.CachePropertyLookupJob.lambda$7(CachePropertyLookupJob.java:148)
    at org.eclipse.xtext.xbase.lib.IteratorExtensions.toInvertedMap(IteratorExtensions.java:694)
    at org.eclipse.xtext.xbase.lib.IterableExtensions.toInvertedMap(IterableExtensions.java:608)
    at org.osate.xtext.aadl2.ui.propertyview.CachePropertyLookupJob.lambda$6(CachePropertyLookupJob.java:172)
    at org.eclipse.xtext.xbase.lib.internal.FunctionDelegate.apply(FunctionDelegate.java:42)
    at com.google.common.collect.Maps$7.transformEntry(Maps.java:2029)
    at com.google.common.collect.Maps$10.getValue(Maps.java:2074)
    at org.osate.xtext.aadl2.ui.propertyview.CachePropertyLookupJob.lambda$11(CachePropertyLookupJob.java:176)
    at org.eclipse.xtext.xbase.lib.internal.FunctionDelegate.apply(FunctionDelegate.java:42)
    at com.google.common.collect.Iterators$7.transform(Iterators.java:750)
    at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47)
    at com.google.common.collect.Iterators.addAll(Iterators.java:367)
    at com.google.common.collect.Lists.newArrayList(Lists.java:165)
    at com.google.common.collect.Iterables.castOrCopyToCollection(Iterables.java:317)
    at com.google.common.collect.Iterables.toArray(Iterables.java:294)
    at com.google.common.collect.Iterables.toArray(Iterables.java:290)
    at org.eclipse.xtext.xbase.lib.Conversions.unwrapArray(Conversions.java:195)
    at org.osate.xtext.aadl2.ui.propertyview.CachePropertyLookupJob.lambda$0(CachePropertyLookupJob.java:180)
    at org.osate.xtext.aadl2.ui.propertyview.AadlPropertyView.lambda$27(AadlPropertyView.java:1689)
    at org.osate.xtext.aadl2.ui.propertyview.AadlPropertyView$17.run(AadlPropertyView.java:1711)
    at org.eclipse.emf.transaction.impl.TransactionalEditingDomainImpl.runExclusive(TransactionalEditingDomainImpl.java:328)
    at org.eclipse.emf.transaction.util.TransactionUtil.runExclusive(TransactionUtil.java:328)
    at org.osate.xtext.aadl2.ui.propertyview.AadlPropertyView.safeReadResource(AadlPropertyView.java:1707)
    at org.osate.xtext.aadl2.ui.propertyview.AadlPropertyView.safeRead(AadlPropertyView.java:1691)
    at org.osate.xtext.aadl2.ui.propertyview.CachePropertyLookupJob.run(CachePropertyLookupJob.java:188)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
joeseibel commented 5 years ago

This only occurs when there is a visible Property which is inherit and applies to all.