EOFetchSpecification(String entityName, EOQualifier qualifier, NSArray sortOrderings, boolean *usesDistinct*, boolean isDeep, NSDictionary hints)

Stefan



Gustavo Pizano schrieb:
WOW ok I got lost here.


Im doing the following..
EOQualifier qual = WG.TO_TRANSLATION_SETS.dot(WGxTS.T_RANSLATIONSET.dot(TRANSLATIONSET.TO_USER_KEY)).eq(((Session)session()).authenticatedUser()); EOFetchSpecification theFetch = new EOFetchSpecification(_WG.ENTITY_NAME,qual,null); but there is not setDistinct methohd for EOFetchSpecification.. what am I doing wrong?


G.


On Tue, Jul 14, 2009 at 5:51 PM, Chuck Hill <[email protected] <mailto:[email protected]>> wrote:


    On Jul 14, 2009, at 6: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());

        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.


    Call setDistinct(true) on the fetch spec before fetching.

    Chuck



        :S:S:S:.

        But I guess this puts me closer to a proper solution... or not
        ? :(:S.

        G.

        On Tue, Jul 14, 2009 at 3:34 PM, David Avendasora
        <[email protected] <mailto:[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]
            <mailto:[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]
                <mailto:[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]
                    <mailto:[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]
                    <mailto:[email protected]>)
                    Help/Unsubscribe/Update your Subscription:
                    
http://lists.apple.com/mailman/options/webobjects-dev/webobjects%40avendasora.com

                    This email sent to [email protected]
                    <mailto:[email protected]>







        _______________________________________________
        Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list ([email protected]
        <mailto:[email protected]>)
        Help/Unsubscribe/Update your Subscription:
        
http://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net

        This email sent to [email protected]
        <mailto:[email protected]>


-- Chuck Hill Senior Consultant / VP Development

    Learn WO at WOWODC'09 East in Montréal this August!
    http://www.wocommunity.org/wowodc09/east

    
http://arstechnica.com/apple/news/2009/07/webobjects-sliced-from-106but-prognosis-of-death-premature.ars


------------------------------------------------------------------------

 _______________________________________________
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/stefan.klein%40buero-sde.de

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]

Reply via email to