[OFBiz] SVN: r6493 - in trunk/applications/content: script/org/ofbiz/content/compdoc servicedef

byersa@svn.ofbiz.org byersa at svn.ofbiz.org
Thu Jan 12 17:08:04 CST 2006


Author: byersa
Date: 2006-01-12 17:07:59 -0600 (Thu, 12 Jan 2006)
New Revision: 6493

Modified:
   trunk/applications/content/script/org/ofbiz/content/compdoc/CompDocServices.xml
   trunk/applications/content/servicedef/services.xml
Log:
Debugged persistContentRevisionAndItem service (and renamed from update...).


Modified: trunk/applications/content/script/org/ofbiz/content/compdoc/CompDocServices.xml
===================================================================
--- trunk/applications/content/script/org/ofbiz/content/compdoc/CompDocServices.xml	2006-01-12 21:24:56 UTC (rev 6492)
+++ trunk/applications/content/script/org/ofbiz/content/compdoc/CompDocServices.xml	2006-01-12 23:07:59 UTC (rev 6493)
@@ -130,15 +130,85 @@
         <remove-value value-name="lookedUpValue"/>
     </simple-method>
     
+
     <!-- Methods for ContentRevision and ContentRevisionItem -->
-    <simple-method method-name="updateContentRevisionAndItem" short-description="Update ContentRevision and ContentRevisionItem">
-        <make-value entity-name="ContentRevision" value-name="newEntity"/>
+    <simple-method method-name="persistContentRevisionAndItem" short-description="Update ContentRevision and ContentRevisionItem">
+        <entity-condition entity-name="ContentRevision" list-name="contentRevisionList">
+            <condition-expr field-name="contentId" operator="equals" env-name="parameters.contentId"/>
+            <order-by field-name="contentRevisionSeqId DESC"/>
+        </entity-condition>
+        <log level="info" message="contentRevisionList: ${contentRevisionList}"/>
+        <if-not-empty field-name="contentRevisionList">
+            <set field="newEntity" from-field="contentRevisionList[0]" />
+            <set field="incrementedSeq" from-field="newEntity.contentRevisionSeqId"/>
+        <else>
+            <make-value entity-name="ContentRevision" value-name="newEntity"/>
+        </else>
+        </if-not-empty>
+        <log level="info" message="incrementedSeq(0): ${incrementedSeq}"/>
+        <log level="info" message="ContentRevision(0): ${newEntity}"/>
+        <if-not-empty field-name="incrementedSeq">
+            <calculate field-name="incrementedSeq" type="String">
+                <calcop operator="add">
+                    <calcop operator="get" field-name="incrementedSeq"/>
+                    <number value="1"/>
+                </calcop>
+            </calculate>
+        <else>
+            <set field="incrementedSeq" value="1" type="String"/>
+        </else>
+        </if-not-empty>
+        <log level="info" message="incrementedSeq(1): ${incrementedSeq}"/>
+        <set-pk-fields map-name="parameters" value-name="newEntity"/>
         <set-nonpk-fields map-name="parameters" value-name="newEntity"/>
-        <set-pk-fields map-name="parameters" value-name="newEntity"/>
+        <set field="newEntity.contentRevisionSeqId" from-field="incrementedSeq"/>
+        <log level="info" message="ContentRevision(1): ${newEntity}"/>
         <create-value value-name="newEntity"/>
+        
         <make-value entity-name="ContentRevisionItem" value-name="newEntity"/>
+        <set-pk-fields map-name="parameters" value-name="newEntity"/>
+        <set field="newEntity.contentRevisionSeqId" from-field="incrementedSeq"/>
         <set-nonpk-fields map-name="parameters" value-name="newEntity"/>
-        <set-pk-fields map-name="parameters" value-name="newEntity"/>
         <create-value value-name="newEntity"/>
+        <log level="info" message="ContentRevisionItem(1): ${newEntity}"/>
     </simple-method>
+    
+    <simple-method method-name="getRevisionDataResource" short-description="Get version of DataResource that fits overall revision">
+        <entity-condition entity-name="ContentRevisionItem" list-name="contentRevisionItems" use-cache="true">
+            <condition-list combine="and">
+                <condition-expr field-name="contentId" env-name="parameters.contentId" operator="equals"/>
+                <condition-expr field-name="itemContentId" env-name="parameters.itemContentId" operator="equals"/>
+                <condition-expr field-name="contentRevisionSeqId" env-name="parameters.contentRevisionSeqId" operator="less-equals"/>
+            </condition-list>
+            <order-by field-name="-contentRevisionSeqId"/>
+        </entity-condition>
+        <if-not-empty field-name="contentRevisionItems">
+            <set field="contentRevisionItem" from-field="contentRevisionItems[0]"/>
+            <entity-one entity-name="Content" value-name="content" use-cache="true">
+                <field-map field-name="contentId" env-name="contentRevisionItem.itemContentId"/>
+            </entity-one>
+            <if-not-empty field-name="content">
+                <entity-one entity-name="DataResource" value-name="dataResource" use-cache="true">
+                    <field-map field-name="dataResourceId" env-name="content.dataResourceId"/>
+                </entity-one>
+                <field-to-result field-name="dataResource" result-name="dataResource"/>
+            </if-not-empty>
+        </if-not-empty>
+    </simple-method>
+    <simple-method method-name="getRevisionItemDataResource" short-description="Get version of DataResource that fits overall revision">
+        <entity-one entity-name="ContentRevisionItem" value-name="contentRevisionItem" use-cache="true">
+                <field-map field-name="contentId" env-name="parameters.contentId"/>
+                <field-map field-name="itemContentId" env-name="parameters.itemContentId"/>
+                <field-map field-name="contentRevisionSeqId" env-name="parameters.contentRevisionSeqId"/>
+        </entity-one>
+        <entity-one entity-name="Content" value-name="content" use-cache="true">
+                <field-map field-name="contentId" env-name="contentRevisionItem.itemContentId"/>
+        </entity-one>
+        <if-not-empty field-name="content">
+                <entity-one entity-name="DataResource" value-name="dataResource" use-cache="true">
+                    <field-map field-name="dataResourceId" env-name="content.dataResourceId"/>
+                </entity-one>
+                <field-to-result field-name="dataResource" result-name="dataResource"/>
+        </if-not-empty>
+    </simple-method>
 </simple-methods>

Modified: trunk/applications/content/servicedef/services.xml
===================================================================
--- trunk/applications/content/servicedef/services.xml	2006-01-12 21:24:56 UTC (rev 6492)
+++ trunk/applications/content/servicedef/services.xml	2006-01-12 23:07:59 UTC (rev 6493)
@@ -1811,9 +1811,9 @@
     </service>
 
     <!-- ================ CompDoc Requests ================= -->
-    <service name="updateContentRevisionAndItem" engine="simple"
+    <service name="persistContentRevisionAndItem" engine="simple"
         location="org/ofbiz/content/compdoc/CompDocServices.xml"
-        invoke="updateContentRevisionAndItem" auth="false">
+        invoke="persistContentRevisionAndItem" auth="false">
         <description>Update a ContentRevision and ContentRevisionItem</description>
         <auto-attributes entity-name="ContentRevision" include="all" mode="IN" optional="true">
         </auto-attributes>



More information about the Svn mailing list