| Checked into trunk Patch that fixes NPE in 
ObjectBuilder.copyObject 
  ----- Original Message -----  Sent: Sunday, June 06, 2010 7:51 PM Subject: Re: [eclipselink-dev] Re: Bug 
  244124 - Add Nested FetchGroup  
 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
 
 
   _______________________________________________
 eclipselink-dev 
  mailing 
  list
 eclipselink-dev@xxxxxxxxxxx
 https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
 
 |