Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cme-users] Query Language NOT operator

Hi,

I just stumbled about a small problem that I do not seem to be able to
handle.

I would like to express:

All calls to the method execute in the class Cosmos that are only from
within a class that extends Concern.

I can do
[1] "call( * Cosmos.execute(..))"
and get all the calls.

I can also do 
[2] "relationship extends(class * ,class Concern)"
and get all the classes

Now, I want to combine both and that does not work out in any form. 

The best I could come up with was:

[3] "call( * Cosmos.execute(..)) && within(sourceof(relationship
extends(class * ,class Concern)))"

Unfortunately, this gives me a syntax error ("Syntax Error in query.
Reason: Syntax Error in query") which is less than enlightening to me.

I assume that, beyond the syntax error, I also have a scope problem,
searching for methods in the first part and classes in the second... but
there is more...

After reading the sample queries again, I realized that I could do the
same with a variation of

"sourceof(relationship invokes(method * foo(..), in(concern C1))"

I would have to replace the "in..." part with something similar to [2].
But no success with that one, either. :-(

Now, once I have (somehow) done that, I also want to change the logical
and to a logical not to find those elements that I filtered out before.

I am certain that this is not really complicated, but I don't seem to
get this running.


Thank you in advance,

	Juri


-----
It looked like something resembling white marble, which was probably
what it was: something resembling white marble. -- Douglas Adams, "The
Hitchhikers Guide to the Galaxy"



Back to the top