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")); |
Free forum by Nabble | Edit this page |