This is an automated email from the ASF dual-hosted git repository.

nmalin pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 2b684ba379 Improved: Add possibility to filter by date on 
PartyContentWrapper class
2b684ba379 is described below

commit 2b684ba37941fbcfa0164b5555f39922e022ccf2
Author: Nicolas Malin <nicolas.ma...@nereide.fr>
AuthorDate: Tue Nov 19 11:44:29 2024 +0100

    Improved: Add possibility to filter by date on PartyContentWrapper class
    
    For method PartyContentWrapper::getFirstPartyContentByType add dateTime 
parameter to add possibility to retrieve a dated content
    
    This is useful for document generated at date (like invoice, purchase 
order) on custom plugin
---
 .../ofbiz/party/content/PartyContentWrapper.java   | 27 +++++++++++-----------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git 
a/applications/party/src/main/java/org/apache/ofbiz/party/content/PartyContentWrapper.java
 
b/applications/party/src/main/java/org/apache/ofbiz/party/content/PartyContentWrapper.java
index 8ee3e93548..978e3c29a2 100644
--- 
a/applications/party/src/main/java/org/apache/ofbiz/party/content/PartyContentWrapper.java
+++ 
b/applications/party/src/main/java/org/apache/ofbiz/party/content/PartyContentWrapper.java
@@ -22,6 +22,7 @@ package org.apache.ofbiz.party.content;
 import java.io.IOException;
 import java.io.StringWriter;
 import java.io.Writer;
+import java.sql.Timestamp;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
@@ -34,6 +35,7 @@ import org.apache.ofbiz.base.util.Debug;
 import org.apache.ofbiz.base.util.GeneralException;
 import org.apache.ofbiz.base.util.GeneralRuntimeException;
 import org.apache.ofbiz.base.util.StringUtil;
+import org.apache.ofbiz.base.util.UtilDateTime;
 import org.apache.ofbiz.base.util.UtilHttp;
 import org.apache.ofbiz.base.util.UtilValidate;
 import org.apache.ofbiz.base.util.cache.UtilCache;
@@ -43,7 +45,6 @@ import org.apache.ofbiz.entity.Delegator;
 import org.apache.ofbiz.entity.GenericValue;
 import org.apache.ofbiz.entity.condition.EntityCondition;
 import org.apache.ofbiz.entity.util.EntityQuery;
-import org.apache.ofbiz.entity.util.EntityUtil;
 import org.apache.ofbiz.service.LocalDispatcher;
 
 /**
@@ -287,6 +288,11 @@ public class PartyContentWrapper implements ContentWrapper 
{
     }
 
     public static GenericValue getFirstPartyContentByType(String partyId, 
GenericValue party, String partyContentTypeId, Delegator delegator) {
+        return getFirstPartyContentByType(partyId, party, partyContentTypeId, 
delegator, UtilDateTime.nowTimestamp());
+    }
+
+    public static GenericValue getFirstPartyContentByType(String partyId, 
GenericValue party, String partyContentTypeId,
+                                                          Delegator delegator, 
Timestamp date) {
         if (partyId == null && party != null) {
             partyId = party.getString("partyId");
         }
@@ -298,24 +304,19 @@ public class PartyContentWrapper implements 
ContentWrapper {
         if (delegator == null) {
             throw new IllegalArgumentException("Delegator missing");
         }
-
-        List<GenericValue> partyContentList = null;
         try {
-            partyContentList = EntityQuery.use(delegator).from("PartyContent")
+            return EntityQuery.use(delegator).from("PartyContent")
                     .where("partyId", partyId, "partyContentTypeId", 
partyContentTypeId)
                     .orderBy("-fromDate")
-                    .cache(true)
-                    .queryList();
+                    .filterByDate(date == null
+                            ? UtilDateTime.nowTimestamp()
+                            : date)
+                    .cache()
+                    .queryFirst();
         } catch (GeneralException e) {
             Debug.logError(e, MODULE);
         }
-
-        if (partyContentList != null) {
-            partyContentList = EntityUtil.filterByDate(partyContentList);
-            return EntityUtil.getFirst(partyContentList);
-        } else {
-            return null;
-        }
+        return null;
     }
 
     public static PartyContentWrapper makePartyContentWrapper(GenericValue 
party, HttpServletRequest request) {

Reply via email to