On Jul 14, 2009, at 9:47 AM, Gustavo Pizano wrote:
One step closer to the result...
EOQualifier qual =
WG
.TO_TRANSLATION_SETS
.dot
(WGxTS
.T_RANSLATIONSET
.dot
(TRANSLATIONSET
.TO_USER_KEY)).eq(((Session)session()).authenticatedUser());
Ouch. That is just hard to read.
Must you use all caps for the Entity names? They should follow Java
naming conventions. So TRANSLATIONSET should be TranslationSet.
Otherwise it is very hard to tell the difference between a Constant
value (which should be ALL_CAPS and a class name.)
See here: http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.html#367
that worked, I had to some modifications... I mean by wokr it didn;t
blew up. but the resutls are not what I expected.
i.e: I have one WG and that WG has many TRANSLATIONSETS, but from
those TRANSLATIONSETS only 4 are asigned to me.
so the what I woudl expect to see is only one WG name in the left
list, (because in this example there only one WG), and when I click
that name I would see 4 TRANSLATIONSETS (which are the ones assigned
to me)
What Im receving is, 4 times the same WG name in the left list, and
when I select any it will display all of the TRANSLATIONSET that WG
has.
Well, you could always do an
ERXArrayUtilities.arrayWithoutDuplicates(yourArray)
:S:S:S:.
But I guess this puts me closer to a proper solution... or not ? :(:S.
I'm concerned that your Model does not accurately reflect the reality
of the situation. Maybe it does, but many of the key Entities have
very vague names so it is hard to tell.
WG?
TranslationSet?
TranFromBase?
Can you describe the context of the application and how objects of
each entity relate to objects in the real world?
I'm concerned that you are having to do a lot of complicated EO stuff
because the EOModel doesn't really reflect reality. If users have an
obvious relationship to WGs in reality, then the modeled relationship
should be more simple as well. This isn't always true, but...
Dave
G.
On Tue, Jul 14, 2009 at 3:34 PM, David Avendasora <[email protected]
> wrote:
On Jul 14, 2009, at 9:12 AM, Gustavo Pizano wrote:
yep... one question that qual I shold apply it to a fetchWGs(qual) ?
Yes, that would work, or if you already had an array of WGs, you
could use the EOQualifier.filteredArrayWithQualifier(arrayOfWGs, qual)
Dave
I didn't get when you say that applied to an NSArray.
G.
On Tue, Jul 14, 2009 at 2:45 PM, David Avendasora <[email protected]
> wrote:
I think I may have messed that one up. If it doesn't work, try this:
EOQualifier qual =
WG
.TSXWG
.dot
(TSxWG
.TRANSLATIONSET
.dot
(TranslationSet
.TOUSER_KEY)).contains(((Session)session()).authenticatedUser());
Dave
On Jul 14, 2009, at 8:35 AM, Gustavo Pizano wrote:
WO thanks Dave, I will give it a try right now
G.
On Tue, Jul 14, 2009 at 2:31 PM, David Avendasora <[email protected]
> wrote:
Gustavo,
This uses Wonder's ERXKey syntax which I like the best:
EOQualifier qual =
WG
.TSXWG
.dot
(TSxWG
.TRANSLATIONSET
.dot
(TranslationSet
.TOUSER)).contains(((Session)session()).authenticatedUser());
That should give you a qualifier that when applied to an NSArray
of WG objects will filter it down to only the WGs that are
associated with the authenticatedUser().
Dave
On Jul 14, 2009, at 7:04 AM, Gustavo Pizano wrote:
Yep ((Session)session()).authenticatedUser is returning a USER.
I know that when I try to qualify a User given a name I will gt a
good qualifier..
now as Chuck said I need all TRANSLATIONSET for that given user.
The relationship between TRANSLATIONSET and USER is called
toUser, so Im using the
EOQualifier tsQual = new ERXExistsQualifier(ERXQ.
equals(USER.NAME_KEY,
((Session)session()).authenticatedUser().name()),
TRANSLATIONSET.TO_USER_KEY);
to get that.
now if I potition myseld to get all the WG that contains the
TRANSLATIONSET with a specific USER I must use tsQual, so I
tought I could use it from _WG but the relationship between WG
and TRANSLATIONSET is a many-to-many having a join table WGxTS,
and this table has no name, that;s hy I was thinking that Im in
the wrong place. no?
G.
On Tue, Jul 14, 2009 at 12:53 PM, Paul Hoadley <[email protected]
> wrote:
Hi Gustavo,
On 14/07/2009, at 5:14 PM, Gustavo Pizano wrote:
Ok this is what I did. but is not working, I have an error in the
generated sql or somehting.. becuase it says
java.lang.IllegalStateException: sqlStringForKeyValueQualifier:
attempt to generate SQL for
er.extensions.qualifiers.ERXKeyValueQualifier (name = 'Gustavo')
failed because attribute identified by key 'name' was not
reachable from from entity 'WGxTS'
I guess is becaus Im trying to search in the wrong place..
It's not an error in the generated SQL, it's an error in your
qualifiers. To be honest, I can't follow your model, but EOF is
telling you the problem: you've tried to qualify an entity on a
key that doesn't exist in that entity. Specifically, 'WGxTS' has
no key called 'name'.
As an aside, earlier you wrote:
but so far what I have from the user is the name... so I will
need to get the userID something like toUser.NAME.eq(name).
Yet here:
EOQualifier tsQual = new
ERXExistsQualifier(ERXQ.equals(USER.NAME_KEY,
((Session)session()).authenticatedUser().name()),
TRANSLATIONSET.TO_USER_KEY);
Don't you have the User? What's Session.authenticatedUser()
returning if it's not a User?
--
Paul.
w http://logicsquad.net/
h http://paul.hoadley.name/
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40avendasora.com
This email sent to [email protected]
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com
This email sent to [email protected]