You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2017/08/26 07:39:30 UTC
svn commit: r1806268 - in /ofbiz/branches/release16.11: ./
framework/webtools/src/main/java/org/apache/ofbiz/webtools/labelmanager/LabelReferences.java
Author: jleroux
Date: Sat Aug 26 07:39:29 2017
New Revision: 1806268
URL: http://svn.apache.org/viewvc?rev=1806268&view=rev
Log:
"Applied fix from trunk framework for revision: 1806266"
------------------------------------------------------------------------
r1806266 | jleroux | 2017-08-26 09:37:49 +0200 (sam., 26 août 2017) | 23 lines
Fixed: Improvements in LabelReferences class
(OFBIZ-9623)
For Java:
Current support is only for occurrences like "UtilProperties.getMessage(",
but there are other occurrences such as "uiLabelMap.get("
in Java as well. Need to add support for same.
For groovy:
After some recent improvements for groovy handling, still, there is a
possibility that someone is using "UtilProperties.getMessage(" in groovy files
as well, so IMO, that must also be handled.
For XML forms:
In XML forms current support in handled for auto-fields-service and
auto-fields-entity but there are some occurrences of tooltip element of
field tag as well, that must also be handled.
For XML Simple Methods:
Doesn't handle case of property-to-field and default-message elements.
(Separate ticket created OFBIZ-9606, just adding it here for reference)
Thanks: Suraj Khurana
------------------------------------------------------------------------
Modified:
ofbiz/branches/release16.11/ (props changed)
ofbiz/branches/release16.11/framework/webtools/src/main/java/org/apache/ofbiz/webtools/labelmanager/LabelReferences.java
Propchange: ofbiz/branches/release16.11/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Aug 26 07:39:29 2017
@@ -10,5 +10,5 @@
/ofbiz/branches/json-integration-refactoring:1634077-1635900
/ofbiz/branches/multitenant20100310:921280-927264
/ofbiz/branches/release13.07:1547657
-/ofbiz/ofbiz-framework/trunk:1783202,1783388,1784549,1784558,1784708,1785882,1785925,1786079,1786214,1786525,1787047,1787133,1787176,1787535,1787906-1787911,1787949,1789665,1789863,1789874,1790396,1790810,1791277,1791288,1791342,1791346,1791490,1791496,1791625,1791634,1791791,1791804,1792270,1792272,1792275,1792432,1792609,1792638,1794008,1794132,1796047,1796262,1797733,1798668,1798682,1798796,1798803,1798808,1799088,1799183,1799327,1799417,1799687,1799767,1799793,1799859,1800250,1800780,1800832,1800853,1801094,1801262-1801263,1801273-1801274,1801303,1801318-1801319,1801336,1801340,1801346,1801359,1801742,1802657,1802766,1803525,1804319,1804656,1804843,1804847,1804859,1805143,1805558,1805880,1806036,1806220
+/ofbiz/ofbiz-framework/trunk:1783202,1783388,1784549,1784558,1784708,1785882,1785925,1786079,1786214,1786525,1787047,1787133,1787176,1787535,1787906-1787911,1787949,1789665,1789863,1789874,1790396,1790810,1791277,1791288,1791342,1791346,1791490,1791496,1791625,1791634,1791791,1791804,1792270,1792272,1792275,1792432,1792609,1792638,1794008,1794132,1796047,1796262,1797733,1798668,1798682,1798796,1798803,1798808,1799088,1799183,1799327,1799417,1799687,1799767,1799793,1799859,1800250,1800780,1800832,1800853,1801094,1801262-1801263,1801273-1801274,1801303,1801318-1801319,1801336,1801340,1801346,1801359,1801742,1802657,1802766,1803525,1804319,1804656,1804843,1804847,1804859,1805143,1805558,1805880,1806036,1806220,1806266
/ofbiz/trunk:1770481,1770490,1770540,1771440,1771448,1771516,1771935,1772346,1772880,1774772,1775441,1779724,1780659,1781109,1781125,1781979,1782498,1782520
Modified: ofbiz/branches/release16.11/framework/webtools/src/main/java/org/apache/ofbiz/webtools/labelmanager/LabelReferences.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/webtools/src/main/java/org/apache/ofbiz/webtools/labelmanager/LabelReferences.java?rev=1806268&r1=1806267&r2=1806268&view=diff
==============================================================================
--- ofbiz/branches/release16.11/framework/webtools/src/main/java/org/apache/ofbiz/webtools/labelmanager/LabelReferences.java (original)
+++ ofbiz/branches/release16.11/framework/webtools/src/main/java/org/apache/ofbiz/webtools/labelmanager/LabelReferences.java Sat Aug 26 07:39:29 2017
@@ -181,7 +181,6 @@ public class LabelReferences {
}
}
}
-
private void getLabelsFromJavaFiles() throws IOException {
for (String rootFolder : this.rootFolders) {
List<File> javaFiles = FileUtil.findFiles("java", rootFolder + "src", null, null);
@@ -190,38 +189,42 @@ public class LabelReferences {
if ("LabelReferences.java".equals(javaFile.getName())) continue;
String inFile = FileUtil.readString("UTF-8", javaFile);
inFile = inFile.replaceAll(getResourceRegex, getResource);
- int pos = inFile.indexOf(getMessage);
- while (pos >= 0) {
- int endLabel = inFile.indexOf(")", pos);
- if (endLabel >= 0) {
- String[] args = inFile.substring(pos + getMessage.length(), endLabel).split(",");
- for (String labelKey : this.labelSet) {
- String searchString = "\"" + labelKey + "\"";
- if (searchString.equals(args[1].trim())) {
- setLabelReference(labelKey, javaFile.getPath());
- }
- }
- pos = endLabel;
- } else {
- pos = pos + getMessage.length();
- }
- pos = inFile.indexOf(getMessage, pos);
- }
+ findUiLabelMapInMessage(inFile, javaFile.getPath());
+ findUiLabelMapInPattern(inFile, "uiLabelMap.get(\"", javaFile.getPath());
}
}
}
-
private void getLabelsFromGroovyFiles() throws IOException {
for (String rootFolder : this.rootFolders) {
List<File> groovyFiles = FileUtil.findFiles("groovy", rootFolder + "groovyScripts", null, null);
for (File file : groovyFiles) {
String inFile = FileUtil.readString("UTF-8", file);
- findUiLabelMapInGroovy(inFile, uiLabelMap, file.getPath());
- findUiLabelMapInGroovy(inFile, "uiLabelMap.get(\"", file.getPath());
+ findUiLabelMapInPattern(inFile, uiLabelMap, file.getPath());
+ findUiLabelMapInPattern(inFile, "uiLabelMap.get(\"", file.getPath());
+ findUiLabelMapInMessage(inFile, file.getPath());
+ }
+ }
+ }
+ protected void findUiLabelMapInMessage(String inFile, String filePath) {
+ int pos = inFile.indexOf(getMessage);
+ while (pos >= 0) {
+ int endLabel = inFile.indexOf(")", pos);
+ if (endLabel >= 0) {
+ String[] args = inFile.substring(pos + getMessage.length(), endLabel).split(",");
+ for (String labelKey : this.labelSet) {
+ String searchString = "\"" + labelKey + "\"";
+ if (searchString.equals(args[1].trim())) {
+ setLabelReference(labelKey, filePath);
+ }
+ }
+ pos = endLabel;
+ } else {
+ pos = pos + getMessage.length();
}
+ pos = inFile.indexOf(getMessage, pos);
}
}
- protected void findUiLabelMapInGroovy(String inFile, String pattern, String filePath) {
+ protected void findUiLabelMapInPattern(String inFile, String pattern, String filePath) {
int pos = inFile.indexOf(pattern);
while (pos >= 0) {
String label = inFile.substring(pos + pattern.length());
@@ -305,6 +308,9 @@ public class LabelReferences {
for (Element elem : UtilXml.childElementList(formElement, "auto-fields-entity")) {
getAutoFieldsEntityTag(elem, fieldNames);
}
+ for (Element elem : UtilXml.childElementList(formElement, "field")) {
+ getAutoFieldsTag(elem, file.getPath());
+ }
for (String field : fieldNames) {
String labelKey = formFieldTitle.concat(field);
if (this.labelSet.contains(labelKey)) {
@@ -347,7 +353,28 @@ public class LabelReferences {
}
}
}
-
+ private void getAutoFieldsTag(Element element, String filePath) {
+ String tooltip = UtilFormatOut.checkNull(element.getAttribute("tooltip"));
+ if (UtilValidate.isNotEmpty(tooltip)) {
+ int pos = tooltip.indexOf(getMessage);
+ while (pos >= 0) {
+ int endLabel = tooltip.indexOf(")", pos);
+ if (endLabel >= 0) {
+ String[] args = tooltip.substring(pos + getMessage.length(), endLabel).split(",");
+ for (String labelKey : this.labelSet) {
+ String xmlSearchString = "\'" + labelKey + "\'";
+ if (xmlSearchString.equals(args[1].trim())) {
+ setLabelReference(labelKey, filePath);
+ }
+ }
+ pos = endLabel;
+ } else {
+ pos = pos + getMessage.length();
+ }
+ pos = tooltip.indexOf(getMessage, pos);
+ }
+ }
+ }
private void getAutoFieldsServiceTag(Element element, Set<String> fieldNames) throws GenericServiceException {
String serviceName = UtilFormatOut.checkNull(element.getAttribute("service-name"));
String defaultFieldType = UtilFormatOut.checkNull(element.getAttribute("default-field-type"));