details: https://code.openbravo.com/erp/devel/pi/rev/873a6c512e0e
changeset: 15157:873a6c512e0e
user: Martin Taal <martin.taal <at> openbravo.com>
date: Mon Jan 16 18:39:38 2012 +0100
summary: Moved getlabel to a more generic location
diffstat:
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/GetLabelActionHandler.java
| 28 +-----
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelUtils.java
| 44 ++++++++++
2 files changed, 47 insertions(+), 25 deletions(-)
diffs (113 lines):
diff -r 7e946dc8cf91 -r 873a6c512e0e
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/GetLabelActionHandler.java
---
a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/GetLabelActionHandler.java
Mon Jan 16 18:14:41 2012 +0100
+++
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/GetLabelActionHandler.java
Mon Jan 16 18:39:38 2012 +0100
@@ -25,12 +25,7 @@
import org.apache.log4j.Logger;
import org.codehaus.jettison.json.JSONObject;
import org.openbravo.base.exception.OBException;
-import org.openbravo.dal.core.DalUtil;
import org.openbravo.dal.core.OBContext;
-import org.openbravo.dal.service.OBDal;
-import org.openbravo.dal.service.OBQuery;
-import org.openbravo.model.ad.ui.Message;
-import org.openbravo.model.ad.ui.MessageTrl;
/**
* Retrieves a label from the server.
@@ -52,29 +47,12 @@
final JSONObject result = new JSONObject();
OBContext.setAdminMode();
try {
-
- // first read the labels from the base table
- final OBQuery<Message> messages =
OBDal.getInstance().createQuery(Message.class,
- Message.PROPERTY_SEARCHKEY + "=:key");
- messages.setNamedParameter("key", key);
- if (messages.list().isEmpty()) {
+ final String label = KernelUtils.getInstance().getI18N(key, null);
+ if (label == null) {
// not found, will result in a strange label on the client
return result;
}
-
- if (messages.list().size() > 1) {
- log.warn("More than one message found using key " + key);
- }
-
- // pick the first one
- final Message message = messages.list().get(0);
- result.put(LABEL_PROPERTY, message.getMessageText());
- final String languageId = OBContext.getOBContext().getLanguage().getId();
- for (MessageTrl messageTrl : message.getADMessageTrlList()) {
- if (DalUtil.getId(messageTrl.getLanguage()).equals(languageId)) {
- result.put(LABEL_PROPERTY, messageTrl.getMessageText());
- }
- }
+ result.put(LABEL_PROPERTY, label);
} catch (Exception e) {
throw new OBException("Exception when getting message for key: " + key,
e);
} finally {
diff -r 7e946dc8cf91 -r 873a6c512e0e
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelUtils.java
---
a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelUtils.java
Mon Jan 16 18:14:41 2012 +0100
+++
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelUtils.java
Mon Jan 16 18:39:38 2012 +0100
@@ -37,9 +37,12 @@
import org.openbravo.dal.core.OBContext;
import org.openbravo.dal.service.OBCriteria;
import org.openbravo.dal.service.OBDal;
+import org.openbravo.dal.service.OBQuery;
import org.openbravo.model.ad.datamodel.Column;
import org.openbravo.model.ad.module.Module;
import org.openbravo.model.ad.module.ModuleDependency;
+import org.openbravo.model.ad.ui.Message;
+import org.openbravo.model.ad.ui.MessageTrl;
import org.openbravo.model.ad.ui.Tab;
/**
@@ -72,6 +75,47 @@
private List<Module> sortedModules = null;
+ public String getI18N(String key, String[] params) {
+ OBContext.setAdminMode();
+ try {
+
+ // first read the labels from the base table
+ final OBQuery<Message> messages =
OBDal.getInstance().createQuery(Message.class,
+ Message.PROPERTY_SEARCHKEY + "=:key");
+ messages.setNamedParameter("key", key);
+ if (messages.list().isEmpty()) {
+ return null;
+ }
+
+ if (messages.list().size() > 1) {
+ log.warn("More than one message found using key " + key);
+ }
+
+ // pick the first one
+ final Message message = messages.list().get(0);
+ String label = message.getMessageText();
+ final String languageId = OBContext.getOBContext().getLanguage().getId();
+ for (MessageTrl messageTrl : message.getADMessageTrlList()) {
+ if (DalUtil.getId(messageTrl.getLanguage()).equals(languageId)) {
+ label = messageTrl.getMessageText();
+ break;
+ }
+ }
+ // parameter substitution
+ if (params != null && params.length > 0) {
+ int cnt = 0;
+ for (String param : params) {
+ label = label.replace("%" + cnt++, param);
+ }
+ }
+ return label;
+ } catch (Exception e) {
+ throw new OBException("Exception when getting message for key: " + key,
e);
+ } finally {
+ OBContext.restorePreviousMode();
+ }
+ }
+
public Property getPropertyFromColumn(Column column) {
return getPropertyFromColumn(column, true);
}
------------------------------------------------------------------------------
RSA(R) Conference 2012
Mar 27 - Feb 2
Save $400 by Jan. 27
Register now!
http://p.sf.net/sfu/rsa-sfdev2dev2
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits