svn commit: r1805559 - in /ofbiz/branches/release16.11: ./ framework/webtools/src/main/java/org/apache/ofbiz/webtools/labelmanager/LabelReferences.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1805559 - in /ofbiz/branches/release16.11: ./ framework/webtools/src/main/java/org/apache/ofbiz/webtools/labelmanager/LabelReferences.java

jleroux@apache.org
Author: jleroux
Date: Sun Aug 20 14:14:52 2017
New Revision: 1805559

URL: http://svn.apache.org/viewvc?rev=1805559&view=rev
Log:
"Applied fix from trunk framework for revision: 1805558"
------------------------------------------------------------------------
r1805558 | jleroux | 2017-08-20 16:14:26 +0200 (dim. 20 août 2017) | 11 lignes

Fixed: LabelManager doesn't search labels in .groovy files
(OFBIZ-8153)

The logic written needs more use cases to be covered for groovy files, existing
findUiLabelMapInFile is not fit for groovy files.

Following patterns are currently used in groovy files:
1. uiLabelMap.xxxxx
2. uiLabelMap.get("xxxxx")

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 Sun Aug 20 14:14:52 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
+/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
 /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=1805559&r1=1805558&r2=1805559&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 Sun Aug 20 14:14:52 2017
@@ -216,12 +216,29 @@ public class LabelReferences {
             List<File> groovyFiles = FileUtil.findFiles("groovy", rootFolder + "groovyScripts", null, null);
             for (File file : groovyFiles) {
                 String inFile = FileUtil.readString("UTF-8", file);
-                findUiLabelMapInFile(inFile, file.getPath());
+                findUiLabelMapInGroovy(inFile, uiLabelMap, file.getPath());
+                findUiLabelMapInGroovy(inFile, "uiLabelMap.get(\"", file.getPath());
             }
         }
     }
-    
-
+    protected void findUiLabelMapInGroovy(String inFile, String pattern, String filePath) {
+        int pos = inFile.indexOf(pattern);
+        while (pos >= 0) {
+            String label = inFile.substring(pos + pattern.length());
+            String[] realLabel = label.split("\\P{Alpha}+");
+            String labelKey = realLabel[0];
+            int endPos = pos + labelKey.length();
+            if (endPos >= 0) {
+                if (this.labelSet.contains(labelKey)) {
+                    setLabelReference(labelKey, filePath);
+                }
+                pos = endPos;
+            } else {
+                pos = pos + pattern.length();
+            }
+            pos = inFile.indexOf(pattern, pos);
+        }
+    }
     protected void findUiLabelMapInFile(String inFile, String filePath) {
         int pos = inFile.indexOf(uiLabelMap);
         while (pos >= 0) {