| Checked into trunk small corrections to the last 
patch 
  ----- Original Message -----  Sent: Sunday, June 06, 2010 1:33 AM Subject: Re: [eclipselink-dev] Re: Bug 
  244124 - Add Nested FetchGroup  
 Checked into trunk assorted last minute fixes patch.
 Fixed 
  exceptions' messages;
 CopyGroup now adds primary keys and version (just as 
  fetch group) unless
 explicitly told not to do so (only applies to 
  CASCADE_TREE mode);
 Also fixed CopyGroup so that it always switches to 
  CASCADE_TREE mode as soon as
 (at least one) attribute is added.
 Added 
  fieldaccess.FetchGroups test suite - copy of FetchGroups test suite, 
  but
 uses field access.
 
    ----- Original Message -----  Sent: Friday, June 04, 2010 3:57 
    PM Subject: Re: [eclipselink-dev] Re: Bug 
    244124 - Add Nested FetchGroup  
 Checked into trunk FetchGroup validation patch - 
    extended.Default and named FetchGroups validated during 
    FetchGroupManager post
 initialization;
 FetchGroup validated with all 
    nested FetchGroups in
 ObjectLevelReadQuery.prePrepare method;
 Defined 
    exceptions for invalid attributes (no mapping, no reference mapping 
    on
 reference attribute, no reference descriptor, no reference 
    FetchGroupManager);
 Updated serialization test.
   Additions made to the original FetchGroup validation 
    patch:added explicit triggering of target fetch group in mergeInObject 
    if it's not a superset of the source fetch group;
 addAttribute method no 
    longer returns AttributeItem;
 moved load method from LoadGroup to 
    AbstractSession (leaving LoagGroup empty for now);
 allowed 
    QueryHints.FETCH_GROUP and LOAD_GROUP to accept AttributeGroup.
 
      ----- Original Message -----  Sent: Wednesday, June 02, 2010 8:16 
      PM Subject: Re: [eclipselink-dev] Re: 
      Bug 244124 - Add Nested FetchGroup  
 Checked into trunk CopyGroup patch
 Commented out the failing 
      tests - problems in read merge;
 Defined a new class CopyGroup derived 
      from AggregateGroup;
 deprecated ObjectCopyingPolicy, which is now 
      derived fron CopyGroup;
 deprecated the old copyObject method - both 
      versions of it;
 defined a new copy method to AbstractSession and 
      EntityManagerImpl that takes
 CopyPolicy;
 copy method accepts both 
      objects and collections;
 copy method makes a copy according to 
      CopyPolicy -
 all attributes in the CopyPolicy are 
      copied;
 none attributes outside the CopyPolicy are 
      copied;
 the copied object assigned the corresponding EntityFetchGroup 
      and detached
 (session == null);
 In case of relational leaf attribute 
      ("address" or "manager.phoneNumbers")
 all non-reference 
      attributes that are included in default fetch group + pk
 are 
      copied;
 copy method still not implemented in case for entities without 
      fetch groups (no
 fetch group manager);
 By default CopyGroup
 like the old ObjectCopyingPolicy uses CASCADE_PRIVATE_PARTS 
      cascading;
 unlike it doesn't nullify copy's pk;
 As soon as an 
      attribute is added to CopyPolicy its cascading is changed to the
 new 
      CASCADE_TREE option that is a new functionality.
 
        ----- Original Message -----  Sent: Tuesday, June 01, 2010 2:03 
        PM Subject: Re: [eclipselink-dev] Re: 
        Bug 244124 - Add Nested FetchGroup  
 Checked into trunk: Correction patch after James' review.
 James' 
        comments:
 
 - addPartialAttribute, did you also deprecate the one 
        that takes an _expression_?
 
 - ObjectLevelReadQuery, 
        addSelectionFieldsForJoinedExpression, code is odd,
 cast to 
        Vector<DatabaseField> but then casts to Object and allows 
        _expression_?
 
 - getFetchGroupSelectionFields, in general try to 
        avoid using Vector (List).
 
 - shouldReadMapping, short circuit was 
        removed?
 
 
 
 Some more comments from refreshing my 
        view.
 
 - FetchGroupManager, has a bunch of public methods that 
        should be marked
 internal
 
 - Should have a test for embeddable 
        attributes, we should probably throw some
 kind of error if we don't 
        support this, also aggregate collections.
 
 - 
        ForeignReferenceMapping, batchValueFromRow, the setting of the fetch 
        group
 should be in the prepare of the nested batch query, not cloning 
        it and
 repreparing it.
 
 - FetchGroup, set/shouldLoad should 
        have a user comment explaining what is does
 
 - LoadGroup, should 
        avoid using DescriptorIterator as performance issue and 
        not
 polymorphic, should dispatch to ObjectBuilder/mappings
 
 - 
        ObjectLevelReadQuery, setting of fetch group should be in mapping, 
        not
 cloning and repreparing query in query
 
 - ClassWeaver, does 
        not look like fetch groups are weaved if change tracking is
 not 
        weaved?
 
 - MethodWeaver, same thing
 
 - QuerySQLTracker uses 
        tabs, also the class already exists in the testing
 framework package, 
        so no need to define another
 
 
 The patch corrects most of the 
        problems mentioned in these comments.
 
          ----- Original Message -----  Sent: Tuesday, May 25, 2010 5:24 
          PM Subject: Re: [eclipselink-dev] 
          Re: Bug 244124 - Add Nested FetchGroup  
 
          Bug 244124 - Add Nested FetchGroup  Checked into trunk  two independent patches for 
          fetch groups: fetch joins and weaving.     Fetch join patch - take 2. A new version of patch that adds support for fetch 
          joins used together with nested fetch groups. In case joined attribute is outside of the fetch group 
          a WARNING is logged. The query still works but very inefficiently: the 
          fetch group is triggered and the whole object is read in. The only possibility here would be to throw an 
          exception instead - throwing away joined attribute (don't know how hard that would 
          be to do) doesn't seem right - both fetch group and fetch joins specified 
          directly on the query.     Weaving patch Fixes some weaving problems introduced in Main patch 
          (see bug 314340). This patch fixes only part of that bug: static weaving 
          tests pass, but beanvalidation tests still 
          fail. 
            ----- Original Message -----  Sent: Tuesday, May 25, 2010 
            3:06 PM Subject: Re: [eclipselink-dev] 
            Re: Bug 244124 - Add Nested FetchGroup  
 Fetch join patch - take 2.
 A new version of patch that 
            adds support for fetch joins used together with
 nested fetch 
            groups.
 
 In case joined attribute is outside of the fetch 
            group a WARNING is logged.
 The query still works but very 
            inefficiently: the fetch group is triggered and
 the whole object 
            is read in.
 
 The only possibility here would be to throw an 
            exception instead - throwing
 away joined attribute (don't know 
            how hard that would be to do) doesn't seem
 right - both fetch 
            group and fetch joins specified directly on the query.
 ----- Original Message -----  
              
              
              Sent: Wednesday, May 19, 2010 
              4:33 PM Subject: Re: 
              [eclipselink-dev] Re: Bug 244124 - Add Nested FetchGroup  
 Addition to prev. patchAdded load method to 
              AbstractSession, too.
 Checked into trunk. 
                ----- Original Message ----- 
 Sent: Wednesday, May 19, 
                2010 3:35 PM Subject: [eclipselink-dev] 
                Re: Bug 244124 - Add Nested FetchGroup  
 Checked into trunk Main patch - take 
                3.There are some things not done yet:
 1) merging in cache 
                still uses "one-storey" union;
 2) fetch joins
   All the fetch groups assigned to objects now 
                are of type EntityFetchGroup.It's a flat (not nested) fetch 
                group that only reflects the state of its owner
 object.
 A 
                single EntityFetchGroup may be shared by many objects, and it is 
                immutable.
 An EntityFetchGroup usually not created directly 
                but rather looked up on the
 FetchGroupmanager (keyed by set 
                of its attributes).
   When a value is set into not fetched attribute 
                in serialized object (the onethat doesn't have a session) 
                then a new EntityFetchGroup created to reflect the
 new 
                object's fetch state.
   Deprecated partial attributesAdded 
                LOAD_GROUP_ATTRIBUTE QueryHint.
 Added "load" method to 
                JpaEntityManager.
 
                  ----- Original Message ----- 
                   Sent: Friday, May 14, 
                  2010 8:51 PM Subject: Re: Bug 244124 - 
                  Add Nested FetchGroup  
 
                  Rolledback my last fix for Bug 244124 - Add Nested 
                  FetchGroup. It caused cb test failures in moxy and dbws. Back to the prev. rev.7240 Will investigate on Monday. 
                    ----- Original Message ----- 
                     Sent: Friday, May 14, 
                    2010 5:58 PM Subject: Bug 244124 - 
                    Add Nested FetchGroup  
 Checked into trunk. Main patch.
 The patch provides basic nested 
                    fetch group functionality.
 
 FetchGroup got a new 
                    shouldLoad flag - it indicates whether its 
                    attributes
 should be loaded.
 Also there is a new class 
                    LoadGroup, which allows to manage loading of
 individual 
                    relational attributes.
 
 There is still work to be done 
                    in the area of merging with cache and 
                    fetch
 joins.
 
 A new test package 
                    org.eclipse.persistence.testing.tests.jpa.fetchgroups 
                    was
 added.
 
 See simple examples of different 
                    loading arrangements in findMinEmployee tests
 in 
                    NestedDefaultFetchGroupTests.
 
 A simple merge was 
                    tested and works:
 serialize object with a fetch group 
                    applied to it;
 update serialized object (even attribute 
                    outside the fetch group);
 serialize it back to the 
                    server;
 merge.
 See a simple example in 
                    SimpleSerializeFetchGroupTests.simpleSerializeAndMerge.
 
                 _______________________________________________
 eclipselink-dev 
                mailing 
                list
 eclipselink-dev@xxxxxxxxxxx
 https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
 
 
               _______________________________________________
 eclipselink-dev 
              mailing 
              list
 eclipselink-dev@xxxxxxxxxxx
 https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
 
 
             _______________________________________________
 eclipselink-dev 
            mailing 
            list
 eclipselink-dev@xxxxxxxxxxx
 https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
 
 
           _______________________________________________
 eclipselink-dev 
          mailing 
          list
 eclipselink-dev@xxxxxxxxxxx
 https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
 
 
         _______________________________________________
 eclipselink-dev 
        mailing 
        list
 eclipselink-dev@xxxxxxxxxxx
 https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
 
 
   _______________________________________________
 eclipselink-dev 
  mailing 
  list
 eclipselink-dev@xxxxxxxxxxx
 https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
 
 |