This is an automated email from the ASF dual-hosted git repository.
nmalin pushed a commit to branch release18.12
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/release18.12 by this push:
new 59df842 Improved: Improve velocity of PartyHelper.getPartyName() with
the cache
59df842 is described below
commit 59df842b832d4294622d7b68bfbf0d8c8e84b518
Author: Nicolas Malin <[email protected]>
AuthorDate: Wed Sep 29 21:34:33 2021 +0200
Improved: Improve velocity of PartyHelper.getPartyName() with the cache
The class PartyHelper is massively used to resolve the name of a party
without know is type.
<field name="organizationPartyId"
title="${uiLabelMap.ProductOrganization}">
<display description="${groovy:
org.apache.ofbiz.party.party.PartyHelper.getPartyName(delegator,
organizationPartyId, true);} [${organizationPartyId}]"/>
</field>
A party name have few change over time, or the PartyHelper.getPartyName
function call the database at each call.
On huge screen, we distinctly clearly the database latency.
So for a cold data, no reason to didn't use the cache.
---
.../src/main/java/org/apache/ofbiz/party/party/PartyHelper.java | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git
a/applications/party/src/main/java/org/apache/ofbiz/party/party/PartyHelper.java
b/applications/party/src/main/java/org/apache/ofbiz/party/party/PartyHelper.java
index 9605c66..c5f8104 100644
---
a/applications/party/src/main/java/org/apache/ofbiz/party/party/PartyHelper.java
+++
b/applications/party/src/main/java/org/apache/ofbiz/party/party/PartyHelper.java
@@ -30,7 +30,7 @@ import org.apache.ofbiz.entity.util.EntityQuery;
/**
* PartyHelper
*/
-public class PartyHelper {
+public final class PartyHelper {
public static final String module = PartyHelper.class.getName();
@@ -43,7 +43,10 @@ public class PartyHelper {
public static String getPartyName(Delegator delegator, String partyId,
boolean lastNameFirst) {
GenericValue partyObject = null;
try {
- partyObject =
EntityQuery.use(delegator).from("PartyNameView").where("partyId",
partyId).queryOne();
+ partyObject = EntityQuery.use(delegator).from("PartyNameView")
+ .where("partyId", partyId)
+ .cache()
+ .queryOne();
} catch (GenericEntityException e) {
Debug.logError(e, "Error finding PartyNameView in getPartyName",
module);
}