User: vharcq  
  Date: 02/04/02 05:12:38

  Modified:    core/resources/xdoclet/ejb entity-value.j
  Log:
  Last patches from Marcus:
  The idea is a VO is by default "volatile".  It is reset to null after a setter is 
called because of possible triggers on the database that can change the values of the 
entity without notifying the cached VO.
  More thinking is needed because ejbStore is a better place for that I believe...
  
  Revision  Changes    Path
  1.12      +11 -0     xdoclet/core/resources/xdoclet/ejb/entity-value.j
  
  Index: entity-value.j
  ===================================================================
  RCS file: /cvsroot/xdoclet/xdoclet/core/resources/xdoclet/ejb/entity-value.j,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -w -r1.11 -r1.12
  --- entity-value.j    27 Mar 2002 08:15:23 -0000      1.11
  +++ entity-value.j    2 Apr 2002 13:12:38 -0000       1.12
  @@ -110,11 +110,15 @@
   
      public <XDtEjbValueObj:valueMostSuperObjectClass/> 
get<XDtEjbValueObj:currentValueObjectAttribute/>()
      {
  +      <XDtEjbValueObj:ifIsNotCurrentValueObjectVolatile>
          if( <XDtEjbValueObj:currentValueObjectAttribute/> == null )
          {
  +      </XDtEjbValueObj:ifIsNotCurrentValueObjectVolatile>
                <XDtMerge:merge file="xdoclet/ejb/entity-value-instantiation.j">
                </XDtMerge:merge>
  +      <XDtEjbValueObj:ifIsNotCurrentValueObjectVolatile>
          }
  +      </XDtEjbValueObj:ifIsNotCurrentValueObjectVolatile>
   
         <XDtEjbPersistent:forAllPersistentFields 
valueobject="<XDtEjbValueObj:currentValueObjectMatch/>">
         <XDtMethod:ifHasMethod name="<XDtMethod:setterMethod/>" 
parameters="<XDtMethod:methodType/>">
  @@ -189,6 +193,13 @@
                        <XDtEjbValueObj:currentAggregateType/> o = 
(<XDtEjbValueObj:currentAggregateType/>)i<XDtEjbValueObj:currentAggregateName/>.next();
                        remove<XDtMethod:methodTagValue tagName="ejb:value-object" 
paramName="members-name"/>(o);
                 }
  +
  +<XDtComment:comment>
  +Invalidates the internal VO object to force reloading from the
  +the database the next time the VO is obtained
  +TODO : think more about it ;)
  +</XDtComment:comment>
  +         this.<XDtEjbValueObj:currentValueObjectAttribute/> = null;
                </XDtMethod:ifHasMethodTag>
          }
          </XDtEjbValueObj:forAllAggregates>
  
  
  

_______________________________________________
Xdoclet-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to