Reusing same concern twice overwrites previous woven model
Issue #241
duplicate
Validation manager crashses TouchCORE App when attempting to open "Woven_RenderingWindow"
ca.mcgill.cs.sel.ram.impl.OperationImpl@4d50aaeb (eProxyURI: file:/U:/src/touchram/models/minueto/minuetopatterns/Woven_Minueto.ram#_pjKoc3GOEeSwZ-BUPBgO7g) : returnTypeDefined (if self.returnType.oclIsInvalid().or(self.returnType.oclIsUndefined()) then false else let sv : ram::StructuralView[?] = self.oclContainer().oclAsType(ram::Classifier).oclContainer().oclAsType(ram::StructuralView) in sv.types->includes(self.returnType).or(sv.oclContainer().oclAsType(ram::Aspect).containsTypeInEnumsOrClasses(self.returnType)) endif)
Attempt to navigate from null to ''http://cs.mcgill.ca/sel/core/1.0'::CORENamedElement::name'
ca.mcgill.cs.sel.ram.impl.OperationImpl@6b0551f4 (eProxyURI: file:/U:/src/touchram/models/minueto/minuetopatterns/Woven_Minueto.ram#_pjKod3GOEeSwZ-BUPBgO7g) : returnTypeDefined (if self.returnType.oclIsInvalid().or(self.returnType.oclIsUndefined()) then false else let sv : ram::StructuralView[?] = self.oclContainer().oclAsType(ram::Classifier).oclContainer().oclAsType(ram::StructuralView) in sv.types->includes(self.returnType).or(sv.oclContainer().oclAsType(ram::Aspect).containsTypeInEnumsOrClasses(self.returnType)) endif)
Attempt to navigate from null to ''http://cs.mcgill.ca/sel/core/1.0'::CORENamedElement::name'
ca.mcgill.cs.sel.ram.impl.OperationImpl@2a47a110 (eProxyURI: file:/U:/src/touchram/models/minueto/minuetopatterns/Woven_Minueto.ram#_pjKoeHGOEeSwZ-BUPBgO7g) : returnTypeDefined (if self.returnType.oclIsInvalid().or(self.returnType.oclIsUndefined()) then false else let sv : ram::StructuralView[?] = self.oclContainer().oclAsType(ram::Classifier).oclContainer().oclAsType(ram::StructuralView) in sv.types->includes(self.returnType).or(sv.oclContainer().oclAsType(ram::Aspect).containsTypeInEnumsOrClasses(self.returnType)) endif)
Attempt to navigate from null to ''http://cs.mcgill.ca/sel/core/1.0'::CORENamedElement::name'
ca.mcgill.cs.sel.ram.impl.OperationImpl@449f371f (eProxyURI: file:/U:/src/touchram/models/minueto/minuetopatterns/Woven_Minueto.ram#_pjKoeXGOEeSwZ-BUPBgO7g) : returnTypeDefined (if self.returnType.oclIsInvalid().or(self.returnType.oclIsUndefined()) then false else let sv : ram::StructuralView[?] = self.oclContainer().oclAsType(ram::Classifier).oclContainer().oclAsType(ram::StructuralView) in sv.types->includes(self.returnType).or(sv.oclContainer().oclAsType(ram::Aspect).containsTypeInEnumsOrClasses(self.returnType)) endif)
Attempt to navigate from null to ''http://cs.mcgill.ca/sel/core/1.0'::CORENamedElement::name'
ca.mcgill.cs.sel.ram.impl.OperationImpl@30dbf76b (eProxyURI: file:/U:/src/touchram/models/minueto/minuetopatterns/Woven_Minueto.ram#_pjKofXGOEeSwZ-BUPBgO7g) : returnTypeDefined (if self.returnType.oclIsInvalid().or(self.returnType.oclIsUndefined()) then false else let sv : ram::StructuralView[?] = self.oclContainer().oclAsType(ram::Classifier).oclContainer().oclAsType(ram::StructuralView) in sv.types->includes(self.returnType).or(sv.oclContainer().oclAsType(ram::Aspect).containsTypeInEnumsOrClasses(self.returnType)) endif)
Attempt to navigate from null to ''http://cs.mcgill.ca/sel/core/1.0'::CORENamedElement::name'
ca.mcgill.cs.sel.ram.impl.OperationImpl@3950aadc (eProxyURI: file:/U:/src/touchram/models/minueto/minuetopatterns/Woven_Minueto.ram#_pjKofnGOEeSwZ-BUPBgO7g) : returnTypeDefined (if self.returnType.oclIsInvalid().or(self.returnType.oclIsUndefined()) then false else let sv : ram::StructuralView[?] = self.oclContainer().oclAsType(ram::Classifier).oclContainer().oclAsType(ram::StructuralView) in sv.types->includes(self.returnType).or(sv.oclContainer().oclAsType(ram::Aspect).containsTypeInEnumsOrClasses(self.returnType)) endif)
Attempt to navigate from null to ''http://cs.mcgill.ca/sel/core/1.0'::CORENamedElement::name'
ca.mcgill.cs.sel.ram.impl.OperationImpl@7bf258a (eProxyURI: file:/U:/src/touchram/models/minueto/minuetopatterns/Woven_Minueto.ram#_pjKohHGOEeSwZ-BUPBgO7g) : returnTypeDefined (if self.returnType.oclIsInvalid().or(self.returnType.oclIsUndefined()) then false else let sv : ram::StructuralView[?] = self.oclContainer().oclAsType(ram::Classifier).oclContainer().oclAsType(ram::StructuralView) in sv.types->includes(self.returnType).or(sv.oclContainer().oclAsType(ram::Aspect).containsTypeInEnumsOrClasses(self.returnType)) endif)
Attempt to navigate from null to ''http://cs.mcgill.ca/sel/core/1.0'::CORENamedElement::name'
ca.mcgill.cs.sel.ram.impl.OperationImpl@16398aff (eProxyURI: file:/U:/src/touchram/models/minueto/minuetopatterns/Woven_Minueto.ram#_pjKoh3GOEeSwZ-BUPBgO7g) : returnTypeDefined (if self.returnType.oclIsInvalid().or(self.returnType.oclIsUndefined()) then false else let sv : ram::StructuralView[?] = self.oclContainer().oclAsType(ram::Classifier).oclContainer().oclAsType(ram::StructuralView) in sv.types->includes(self.returnType).or(sv.oclContainer().oclAsType(ram::Aspect).containsTypeInEnumsOrClasses(self.returnType)) endif)
Attempt to navigate from null to ''http://cs.mcgill.ca/sel/core/1.0'::CORENamedElement::name'
Exception in thread "Animation Thread" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at ca.mcgill.sel.ram.validator.ValidationManager.update(ValidationManager.java:402)
Comments (6)
-
reporter -
This is caused, because you reused Minueto twice. The current way of saving the woven reused model is using "Woven_<concernName>.ram", so the second time it will overwrite the first and hence, your model will have invalid references. This is something we need to address soon.
For now, is it possible for you to select the Image feature in the first reuse as well? Why do you have two?
-
- changed component to CORE (Concerns/FM)
- changed title to Reusing same concern twice overwrites previous woven model
- marked as critical
-
- changed status to duplicate
Duplicate of
#251. -
Moved to issue
#251since more work is required for it. -
- changed component to Feature Model
- Log in to comment
Actions take to reach this point are saving and closing the Woven_RenderingWindow and then attempting to reopen it. There were no error messages in saving.