#flatCollect:. In my case, the variable 'attributes' is of type
http://damiencassou.seasidehosting.st FAMIXType>>incomingAccesses ^ self privateState cacheAt: #incomingAccesses ifAbsentPut: [ attributes flatCollect: [ :each | each incomingAccesses ] ] Hi, in this method when the cache is empty, it is initialized with the result of FMMultivalueLink. When sending #flatCollect: to a FMMultiValueLink, the result is an OrderedCollection (because FMMultiValueLink>>#species returns OrderedCollection). This means that it is no more possible to update the list of incomingAccesses. Is that the desired behavior? In my case, this behavior triggers a bug. When the following method is FMMultiValueLink class>>on: element update: selector from: old to: new "refresh the other side of the relations to reflect change in value" old ~= new ifTrue: [ old notNil ifTrue: [ (old perform: selector) unsafeRemove: element ]. new notNil ifTrue: [ (new perform: selector) unsafeAdd: element ]]. ^ new executed while importing a mse, I get a DNU: This is because the (new perform: selector) expression returns an OrderedCollection that does not understand #unsafeAdd: (selector equals to #incomingAccesses). Could somebody help me please? -- Damien Cassou "Success is the ability to go from one failure to another without losing enthusiasm." --Winston Churchill _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
My guess would be that this is remnant of the old navigation system (Cook) You should use the new one (Chef) which is more robust and generic: aFAMIXType queryIncomingAccesses you can then refine the query: aFAMIXType queryIncomingAccesses atClassScope -> all the classes that access an attribute of aFAMIXType aFAMIXType queryIncomingAccesses atClassScope withoutSelfLoops -> same, but aFAMIXType will be filtered out (if it does access its own attributes which it should) aFAMIXType queryIncomingAccesses opposite -> all behaviourals (presumably methods) that access an attribute of aFAMIXType nicolas On 16/02/2015 18:50, Damien Cassou wrote: > #flatCollect:. In my case, the variable 'attributes' is of type > http://damiencassou.seasidehosting.st > > FAMIXType>>incomingAccesses > ^ self privateState > cacheAt: #incomingAccesses > ifAbsentPut: [ attributes flatCollect: [ :each | each > incomingAccesses ] ] > > Hi, > > in this method > > when the cache is empty, it is initialized with the result of > FMMultivalueLink. When sending #flatCollect: to a FMMultiValueLink, > the result is an OrderedCollection (because FMMultiValueLink>>#species > returns OrderedCollection). This means that it is no more possible to > update the list of incomingAccesses. > > Is that the desired behavior? > > In my case, this behavior triggers a bug. When the following method is > FMMultiValueLink class>>on: element update: selector from: old to: new > "refresh the other side of the relations to reflect change in > value" > old ~= new ifTrue: [ > old notNil ifTrue: [ (old perform: selector) unsafeRemove: > element ]. > new notNil ifTrue: [ (new perform: selector) unsafeAdd: > element ]]. > ^ new > > executed while importing a mse, I get a DNU: > > This is because the (new perform: selector) expression returns an > OrderedCollection that does not understand #unsafeAdd: (selector equals > to #incomingAccesses). > > Could somebody help me please? > > -- Damien Cassou > "Success is the ability to go from one failure to another without > losing enthusiasm." --Winston Churchill > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Free forum by Nabble | Edit this page |