Thanks!
> -----Ursprüngliche Nachricht----- > Von: Thomas Fischer (JIRA) [mailto:[EMAIL PROTECTED] > Gesendet: Mittwoch, 31. Mai 2006 23:19 > An: torque-dev@db.apache.org > Betreff: [jira] Resolved: (TORQUE-23) DeepCopy > > > [ http://issues.apache.org/jira/browse/TORQUE-23?page=all ] > > Thomas Fischer resolved TORQUE-23: > ---------------------------------- > > Fix Version: 3.2.1 > Resolution: Fixed > Assign To: Thomas Fischer > > Fixed in SVN. > Changed the attached patch in order to retain the old > behaviour if complexObjectModel is false. Added the missing > parameter in call of copyInto() in method copy(boolean) > > > > DeepCopy > > -------- > > > > Key: TORQUE-23 > > URL: http://issues.apache.org/jira/browse/TORQUE-23 > > Project: Torque > > Type: New Feature > > > Components: Generator > > Reporter: Thoralf Rickert > > Assignee: Thomas Fischer > > Priority: Minor > > Fix For: 3.2.1 > > Attachments: patch.txt > > > > I've a small problem with the copy() and copyInto() methods in the > > generated Torque objects. I've tables with dependencies from other > > tables (for example a table "login" which has a foreign key > to a table > > "address"). I want to use the BaseAddress.copy() method to > copy the address object and save it. If I use this method, it > also loads and copies internally all logins which are linked > to the source address to the new address. So, it makes a deep > copy. If the object "Address" has many hundreds related > objects of "Login" this deep copy makes a lot that is > sometimes not necessary. So, it's better to let the > user/programmer decide if there program should do a deep copy > or not. The best way would be, that there is a copy(boolean) > method that should be added during BaseAddress generation. I > think, it's not very complicated to add this "feature". Here > is my proposal: 1. add in Object.vm a new boolean parameter > to copy() like this > > public $table.JavaName copy(boolean deepcopy) throws > TorqueException > > { > > return copyInto(new ${table.JavaName}(),deepcopy); > > } > > 2. create two new downwards compatible methods copy() and copyInto() > > public $table.JavaName copy() throws TorqueException > > { > > return copy(true); > > } > > protected $table.JavaName copyInto($table.JavaName > copyObj) throws TorqueException > > { > > return copyInto(copyObject, true); > > } > > 3. add a new parameter deepcopy to the old copyInto() > method and check that variable before making the > > deepcopy. I think, it's not necessary to submit that > value recursivly to the referers. > > protected $table.JavaName copyInto($table.JavaName > copyObj, boolean) throws TorqueException > > { > > .... > > #if ($complexObjectModel) > > if (deepcopy) { > > #foreach ($fk in $table.Referrers) > > ... > > #end > > } > > #end > > } > > Maybe I can create a patch for you. > > -- > This message is automatically generated by JIRA. > - > If you think it was sent incorrectly contact one of the > administrators: > http://issues.apache.org/jira/secure/Administrators.jspa > - > For more information on JIRA, see: > http://www.atlassian.com/software/jira > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]