From 978be7a956f72a7576092a8e90afdb19ccc2b9b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20Tak=C3=A1cs?= <93127072+PeterTakacs300@users.noreply.github.com> Date: Fri, 21 Oct 2022 04:33:47 +0200 Subject: [PATCH] IDEMPIERE-5456 - Msg wrong arguments number Format (#1537) --- org.adempiere.base/src/org/compiere/util/DB.java | 7 ++----- org.adempiere.base/src/org/compiere/util/Msg.java | 2 +- .../adempiere/webui/adwindow/AbstractADWindowContent.java | 2 +- .../WEB-INF/src/org/adempiere/webui/panel/LoginPanel.java | 4 +--- 4 files changed, 5 insertions(+), 10 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/util/DB.java b/org.adempiere.base/src/org/compiere/util/DB.java index fe57e2875c..a0245bb8a6 100644 --- a/org.adempiere.base/src/org/compiere/util/DB.java +++ b/org.adempiere.base/src/org/compiere/util/DB.java @@ -30,7 +30,6 @@ import java.sql.SQLException; import java.sql.SQLWarning; import java.sql.Statement; import java.sql.Timestamp; -import java.text.MessageFormat; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -583,8 +582,7 @@ public final class DB String AD_Message = "DatabaseVersionError"; // Code assumes Database version {0}, but Database has Version {1}. - String msg = Msg.getMsg(ctx, AD_Message); // complete message - msg = MessageFormat.format(msg, new Object[] {Adempiere.DB_VERSION, version}); + String msg = Msg.getMsg(ctx, AD_Message, new Object[] {Adempiere.DB_VERSION, version}); // complete message System.err.println(msg); return false; } // isDatabaseOK @@ -635,8 +633,7 @@ public final class DB String AD_Message = "BuildVersionError"; // The program assumes build version {0}, but database has build Version {1}. - String msg = Msg.getMsg(ctx, AD_Message); // complete message - msg = MessageFormat.format(msg, new Object[] {buildClient, buildDatabase}); + String msg = Msg.getMsg(ctx, AD_Message, new Object[] {buildClient, buildDatabase}); // complete message if (! failOnBuild) { log.warning(msg); return true; diff --git a/org.adempiere.base/src/org/compiere/util/Msg.java b/org.adempiere.base/src/org/compiere/util/Msg.java index 4105df5584..1b679408a1 100644 --- a/org.adempiere.base/src/org/compiere/util/Msg.java +++ b/org.adempiere.base/src/org/compiere/util/Msg.java @@ -440,7 +440,7 @@ public final class Msg String retStr = msg; try { - retStr = MessageFormat.format(msg, args); // format string + retStr = new MessageFormat(msg, Language.getLocale(ad_language)).format(args); // format string } catch (Exception e) { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java index a06996b441..2f76f08643 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/AbstractADWindowContent.java @@ -1731,7 +1731,7 @@ public abstract class AbstractADWindowContent extends AbstractUIPart implements sb.append(origmsg); } else { String adMessageQuot = Util.replace(adMessage.toString(), "'", "''"); - sb.append(MessageFormat.format(adMessageQuot, arguments)); + sb.append(new MessageFormat(adMessageQuot, Env.getLanguage(Env.getCtx()).getLocale()).format(arguments)); } } else diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/LoginPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/LoginPanel.java index aad1f6c0c4..2e14952cc3 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/LoginPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/LoginPanel.java @@ -24,7 +24,6 @@ package org.adempiere.webui.panel; import java.io.IOException; -import java.text.MessageFormat; import java.util.ArrayList; import java.util.List; import java.util.Locale; @@ -662,8 +661,7 @@ public class LoginPanel extends Window implements EventListener if (! Adempiere.DB_VERSION.equals(version)) { String AD_Message = "DatabaseVersionError"; // Code assumes Database version {0}, but Database has Version {1}. - String msg = Msg.getMsg(ctx, AD_Message); // complete message - msg = MessageFormat.format(msg, new Object[] {Adempiere.DB_VERSION, version}); + String msg = Msg.getMsg(ctx, AD_Message, new Object[] {Adempiere.DB_VERSION, version}); // complete message throw new ApplicationException(msg); }