Author: tv
Date: Wed Oct 23 16:21:58 2019
New Revision: 1868813

URL: http://svn.apache.org/viewvc?rev=1868813&view=rev
Log:
Fix several problems
- Velocity 2.x #set overwrites variable in any case
- $saveMethodsInDbObjects=false generated code needs to care for insert/update

Modified:
    
db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/setAndSaveReferencing.vm

Modified: 
db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/setAndSaveReferencing.vm
URL: 
http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/setAndSaveReferencing.vm?rev=1868813&r1=1868812&r2=1868813&view=diff
==============================================================================
--- 
db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/setAndSaveReferencing.vm
 (original)
+++ 
db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/setAndSaveReferencing.vm
 Wed Oct 23 16:21:58 2019
@@ -36,7 +36,9 @@
 #set ( $foreignTablePeerClassName = 
$foreignTableElement.getAttribute("peerClassName") )
 #set ( $foreignDbObjectClassName = 
$foreignTableElement.getAttribute("dbObjectClassName") )
 #set ( $foreignPrimaryKeyColumnElements = 
$foreignTableElement.getChild("primary-keys").getChildren("column"))
-#set ( $saveMethodsInDbObjects = 
$foreignTableElement.getAttribute("saveMethodsInDbObjects") )
+#if ($foreignTableElement.getAttribute("saveMethodsInDbObjects"))
+#set ($saveMethodsInDbObjects = 
$foreignTableElement.getAttribute("saveMethodsInDbObjects"))
+#end
 #if ($foreignTableElement.getChild("primary-keys").getChildren().size() > 0)
     /** 
      * Saves the passed collection as linked objects.
@@ -240,8 +242,15 @@
             if (listIndex == -1)
             {
                 toLinkTo.${adder}(toSaveElement);
-#if ($saveMethodsInDbObjects != "true")
-                ${foreignTablePeerClassName}.doUpdate(toSaveElement, 
connection);
+#if ("$!saveMethodsInDbObjects" != "true")
+                if (toSaveElement.isNew())
+                {
+                    ${foreignTablePeerClassName}.doInsert(toSaveElement, 
connection);
+                }
+                else
+                {
+                    ${foreignTablePeerClassName}.doUpdate(toSaveElement, 
connection);
+                }
 #else
                 toSaveElement.save(connection);
 #end
@@ -259,7 +268,7 @@
                     toSaveElement.setModified(true);
                 }
 #end
-#if ($saveMethodsInDbObjects != "true")
+#if ("$!saveMethodsInDbObjects" != "true")
                 ${foreignTablePeerClassName}.doUpdate(toSaveElement, 
connection);
 #else
                 toSaveElement.save(connection);



---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscr...@db.apache.org
For additional commands, e-mail: torque-dev-h...@db.apache.org

Reply via email to