You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mb...@apache.org on 2017/12/13 13:03:03 UTC

svn commit: r1818007 - in /ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string: FlexibleStringExpander.java JuelConnector.java UelFunctions.java UelUtil.java

Author: mbrohl
Date: Wed Dec 13 13:03:03 2017
New Revision: 1818007

URL: http://svn.apache.org/viewvc?rev=1818007&view=rev
Log:
Improved: Fixing defects reported by FindBugs, package 
org.apache.ofbiz.base.util.string.
(OFBIZ-9700)

Thanks Julian Leichert for reporting and providing the patch.

Modified:
    ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/FlexibleStringExpander.java
    ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java
    ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/UelFunctions.java
    ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/UelUtil.java

Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/FlexibleStringExpander.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/FlexibleStringExpander.java?rev=1818007&r1=1818006&r2=1818007&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/FlexibleStringExpander.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/FlexibleStringExpander.java Wed Dec 13 13:03:03 2017
@@ -31,6 +31,7 @@ import javax.el.PropertyNotFoundExceptio
 import org.apache.ofbiz.base.lang.IsEmpty;
 import org.apache.ofbiz.base.lang.SourceMonitored;
 import org.apache.ofbiz.base.util.Debug;
+import org.apache.ofbiz.base.util.GeneralException;
 import org.apache.ofbiz.base.util.ObjectType;
 import org.apache.ofbiz.base.util.ScriptUtil;
 import org.apache.ofbiz.base.util.UtilDateTime;
@@ -441,7 +442,8 @@ public abstract class FlexibleStringExpa
                     buffer.append(ObjectType.simpleTypeConvert(obj, "String", null, timeZone, locale, true));
                 }
             }
-        } catch (Exception e) {
+        } catch (GeneralException | RuntimeException e) {
+            Debug.log(e, module);
             buffer.append(obj);
         }
         if (buffer.length() > this.hint) {

Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java?rev=1818007&r1=1818006&r2=1818007&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java Wed Dec 13 13:03:03 2017
@@ -78,7 +78,9 @@ public class JuelConnector {
             Object base = null;
             try {
                 base = prefix.eval(bindings, context);
-            } catch (Exception e) {}
+            } catch (Exception e) {
+                Debug.log(e, module);
+            }
             Object property = getProperty(bindings, context);
             if (property == null && strict) {
                 throw new PropertyNotFoundException(LocalMessages.get("error.property.property.notfound", "null", base));
@@ -112,7 +114,9 @@ public class JuelConnector {
             Object base = null;
             try {
                 base = prefix.eval(bindings, context);
-            } catch (Exception e) {}
+            } catch (Exception e) {
+                Debug.log(e, module);
+            }
             Object property = getProperty(bindings, context);
             if (property == null && strict) {
                 throw new PropertyNotFoundException(LocalMessages.get("error.property.property.notfound", "null", base));
@@ -179,9 +183,7 @@ public class JuelConnector {
         public Tree build(String expression) throws ELException {
             try {
                 return new ExtendedParser(this, expression).tree();
-            } catch (ScanException e) {
-                throw new ELException(LocalMessages.get("error.build", expression, e.getMessage()));
-            } catch (ParseException e) {
+            } catch (ScanException | ParseException e) {
                 throw new ELException(LocalMessages.get("error.build", expression, e.getMessage()));
             }
         }

Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/UelFunctions.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/UelFunctions.java?rev=1818007&r1=1818006&r2=1818007&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/UelFunctions.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/UelFunctions.java Wed Dec 13 13:03:03 2017
@@ -21,9 +21,12 @@ package org.apache.ofbiz.base.util.strin
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
+import java.io.IOException;
 import java.io.InputStream;
 import java.lang.reflect.Method;
+import java.net.MalformedURLException;
 import java.net.URL;
 import java.sql.Timestamp;
 import java.text.DateFormat;
@@ -34,6 +37,9 @@ import java.util.Map;
 import java.util.TimeZone;
 
 import javax.el.FunctionMapper;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.TransformerConfigurationException;
+import javax.xml.transform.TransformerException;
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.stream.StreamSource;
 
@@ -42,10 +48,13 @@ import org.apache.ofbiz.base.util.Debug;
 import org.apache.ofbiz.base.util.FileUtil;
 import org.apache.ofbiz.base.util.UtilDateTime;
 import org.apache.ofbiz.base.util.UtilProperties;
+import org.apache.ofbiz.base.util.UtilIO;
 import org.apache.ofbiz.base.util.UtilXml;
 import org.cyberneko.html.parsers.DOMParser;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXNotSupportedException;
 
 /** Implements Unified Expression Language functions.
  * <p>Built-in functions are divided into a number of
@@ -166,7 +175,7 @@ public class UelFunctions {
     }
 
     protected static class Functions extends FunctionMapper {
-        protected final Map<String, Method> functionMap = new HashMap<String, Method>();
+        protected final Map<String, Method> functionMap = new HashMap<>();
         public Functions() {
             try {
                 this.functionMap.put("date:second", UtilDateTime.class.getMethod("getSecond", Timestamp.class, TimeZone.class, Locale.class));
@@ -261,7 +270,7 @@ public class UelFunctions {
                 this.functionMap.put("dom:toHtmlString", UelFunctions.class.getMethod("toHtmlString", Node.class, String.class, boolean.class, int.class));
                 this.functionMap.put("dom:toXmlString", UelFunctions.class.getMethod("toXmlString", Node.class, String.class, boolean.class, boolean.class, int.class));
                 this.functionMap.put("dom:writeXmlDocument", UelFunctions.class.getMethod("writeXmlDocument", String.class, Node.class, String.class, boolean.class, boolean.class, int.class));
-            } catch (Exception e) {
+            } catch (NoSuchMethodException | NullPointerException | SecurityException e) {
                 Debug.logError(e, "Error while initializing UelFunctions.Functions instance", module);
             }
             if (Debug.verboseOn()) Debug.logVerbose("UelFunctions.Functions loaded " + this.functionMap.size() + " functions", module);
@@ -403,14 +412,14 @@ public class UelFunctions {
 
     public static String toLowerCase(String str) {
         try {
-            return str.toLowerCase();
+            return str.toLowerCase(Locale.getDefault());
         } catch (Exception e) {}
         return null;
     }
 
     public static String toUpperCase(String str) {
         try {
-            return str.toUpperCase();
+            return str.toUpperCase(Locale.getDefault());
         } catch (Exception e) {}
         return null;
     }
@@ -434,10 +443,14 @@ public class UelFunctions {
     }
 
     public static String label(String ressource, String label, Locale locale) {
-        if (locale == null) locale = Locale.getDefault();
+        if (locale == null) {
+            locale = Locale.getDefault();
+        }
         try {
             String resolveLabel = UtilProperties.getMessage(ressource, label, locale);
-            if (resolveLabel != null) return resolveLabel;
+            if (resolveLabel != null) {
+                return resolveLabel;
+            }
         } catch (Exception e) {}
         return label;
     }
@@ -447,11 +460,13 @@ public class UelFunctions {
         try {
             URL url = FlexibleLocation.resolveLocation(str);
             if (url != null) {
-                InputStream is = url.openStream();
+                try (InputStream is = url.openStream();) {
                 result = true;
-                is.close();
+                }
             }
-        } catch (Exception e) {}
+        } catch (IOException e) {
+            Debug.log(e, module);
+        }
         return result;
     }
 
@@ -467,7 +482,7 @@ public class UelFunctions {
             } else {
                 Debug.logError("Unable to locate HTML document " + str, module);
             }
-        } catch (Exception e) {
+        } catch (IOException | SAXException e) {
             Debug.logError(e, "Error while reading HTML document " + str, module);
         }
         return document;
@@ -478,13 +493,17 @@ public class UelFunctions {
         try {
             URL url = FlexibleLocation.resolveLocation(str);
             if (url != null) {
-                InputStream is = url.openStream();
-                document = UtilXml.readXmlDocument(is, str);
-                is.close();
+                try (InputStream is = url.openStream();) {
+                    document = UtilXml.readXmlDocument(is, str);
+                }
+                catch (SAXException | ParserConfigurationException e) {
+                    Debug.logError(e, "Error while reading XML document " + str, module);
+                }
             } else {
                 Debug.logError("Unable to locate XML document " + str, module);
             }
-        } catch (Exception e) {
+        }
+        catch (IOException e) {
             Debug.logError(e, "Error while reading XML document " + str, module);
         }
         return document;
@@ -494,14 +513,14 @@ public class UelFunctions {
         try {
             File file = FileUtil.getFile(str);
             if (file != null) {
-                FileOutputStream os = new FileOutputStream(file);
-                UtilXml.writeXmlDocument(node, os, encoding, omitXmlDeclaration, indent, indentAmount);
-                os.close();
-                return true;
+                try (FileOutputStream os = new FileOutputStream(file);) {
+                    UtilXml.writeXmlDocument(node, os, encoding, omitXmlDeclaration, indent, indentAmount);
+                    return true;
+                }
             } else {
                 Debug.logError("Unable to create XML document " + str, module);
             }
-        } catch (Exception e) {
+        } catch (IOException | TransformerException | SecurityException e) {
             Debug.logError(e, "Error while writing XML document " + str, module);
         }
         return false;
@@ -526,25 +545,23 @@ public class UelFunctions {
             sb.append("/>\n<xsl:template match=\"@*|node()\">\n");
             sb.append("<xsl:copy><xsl:apply-templates select=\"@*|node()\"/></xsl:copy>\n");
             sb.append("</xsl:template>\n</xsl:stylesheet>\n");
-            ByteArrayInputStream bis = new ByteArrayInputStream(sb.toString().getBytes());
+            ByteArrayInputStream bis = new ByteArrayInputStream(sb.toString().getBytes(UtilIO.getUtf8()));
             TransformerFactory transformerFactory = TransformerFactory.newInstance();
-            ByteArrayOutputStream os = new ByteArrayOutputStream();
-            UtilXml.transformDomDocument(transformerFactory.newTransformer(new StreamSource(bis)), node, os);
-            os.close();
-            return os.toString();
-        } catch (Exception e) {
+            try (ByteArrayOutputStream os = new ByteArrayOutputStream();) {
+                UtilXml.transformDomDocument(transformerFactory.newTransformer(new StreamSource(bis)), node, os);
+                return os.toString();
+            }
+        } catch (IOException | TransformerException e) {
             Debug.logError(e, "Error while creating HTML String ", module);
         }
         return null;
     }
 
     public static String toXmlString(Node node, String encoding, boolean omitXmlDeclaration, boolean indent, int indentAmount) {
-        try {
-            ByteArrayOutputStream os = new ByteArrayOutputStream();
+        try (ByteArrayOutputStream os = new ByteArrayOutputStream();) {
             UtilXml.writeXmlDocument(node, os, encoding, omitXmlDeclaration, indent, indentAmount);
-            os.close();
             return os.toString();
-        } catch (Exception e) {
+        } catch (IOException | TransformerException e) {
             Debug.logError(e, "Error while creating XML String ", module);
         }
         return null;

Modified: ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/UelUtil.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/UelUtil.java?rev=1818007&r1=1818006&r2=1818007&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/UelUtil.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/UelUtil.java Wed Dec 13 13:03:03 2017
@@ -48,7 +48,7 @@ import org.apache.ofbiz.base.util.collec
 
 /** Implements the Unified Expression Language (JSR-245). */
 public final class UelUtil {
-    protected static final String module = UelUtil.class.getName();
+    private static final String module = UelUtil.class.getName();
     private static final String localizedMapLocaleKey = LocalizedMap.class.getName() + "_locale".replace(".", "_");
     private static final ExpressionFactory exprFactory = JuelConnector.newExpressionFactory();
     private static final ELResolver defaultResolver = new ExtendedCompositeResolver() {
@@ -61,13 +61,13 @@ public final class UelUtil {
             add(new BeanELResolver(false));
         }
     };
-    
+
     private UelUtil () {}
-    
+
     public static String getLocalizedMapLocaleKey() {
         return localizedMapLocaleKey;
     }
-    
+
     /** Evaluates a Unified Expression Language expression and returns the result.
      * @param context Evaluation context (variables)
      * @param expression UEL expression
@@ -242,7 +242,7 @@ public final class UelUtil {
 
         @Override
         public boolean equals(Object obj) {
-            if (this == obj) {
+            if (obj instanceof ReadOnlyExpression) {
                 return true;
             }
             try {
@@ -268,7 +268,7 @@ public final class UelUtil {
         public boolean isLiteralText() {
             return false;
         }
-        
+
     }
 
     @SuppressWarnings("serial")
@@ -281,7 +281,7 @@ public final class UelUtil {
         }
         @Override
         public boolean equals(Object obj) {
-            if (this == obj) {
+            if (obj instanceof BasicValueExpression) {
                 return true;
             }
             try {



Re: svn commit: r1818007 - in /ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/ base/util/string: FlexibleStringExpander.java JuelConnector.java UelFunctions.java UelUtil.java

Posted by Nicolas Malin <ni...@nereide.fr>.
Oh I missed your issue Jacques, thanks for catching theses commits and 
updating it.

Nicolas


Le 17/12/2017 à 22:40, Jacques Le Roux a écrit :
> Thanks guys, this fixed OFBIZ-10058
>
> Jacques
>
>
> Le 17/12/2017 à 21:06, Michael Brohl a écrit :
>> Hi Nicolas,
>>
>> great, seems I missed the 2nd similar code block. I saw too much code 
>> in the recent days... ;-)
>>
>> Thanks for taking care,
>>
>> regards,
>>
>> Michael
>>
>>
>> Am 17.12.17 um 21:02 schrieb Nicolas Malin:
>>> Thanks Michael
>>>
>>> I applied the same correction on the second one at 1818510.
>>>
>>> Thanks for the works !
>>>
>>> Cheers,
>>>
>>> Nicolas
>>>
>>>
>>> Le 17/12/2017 à 19:10, Michael Brohl a écrit :
>>>> Hi Nicolas,
>>>>
>>>> thanks for reporting!
>>>>
>>>> I guess that this is the reason why there was no logging at all. At 
>>>> r1818498 I added verbose logging.
>>>>
>>>> Thanks,
>>>>
>>>> Michael
>>>>
>>>>
>>>> Am 17.12.17 um 18:00 schrieb Nicolas Malin:
>>>>> Hello Michael,
>>>>>
>>>>> Le 13/12/2017 à 14:03, mbrohl@apache.org a écrit :
>>>>>> --- 
>>>>>> ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java 
>>>>>> (original)
>>>>>> +++ 
>>>>>> ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java 
>>>>>> Wed Dec 13 13:03:03 2017
>>>>>> @@ -78,7 +78,9 @@ public class JuelConnector {
>>>>>>               Object base = null;
>>>>>>               try {
>>>>>>                   base = prefix.eval(bindings, context);
>>>>>> -            } catch (Exception e) {}
>>>>>> +            } catch (Exception e) {
>>>>>> +                Debug.log(e, module);
>>>>>> +            }
>>>>>
>>>>> With this commit, my logs are now massively populate by
>>>>>
>>>>> 2017-12-17 17:32:52,542 |main |JuelConnector |F| null
>>>>> javax.el.PropertyNotFoundException: Cannot resolve identifier 
>>>>> 'updateServiceCtx'
>>>>>         at 
>>>>> de.odysseus.el.tree.impl.ast.AstIdentifier.eval(AstIdentifier.java:93) 
>>>>> ~[juel-impl-2.2.7.jar:2.2.7]
>>>>>         at 
>>>>> org.apache.ofbiz.base.util.string.JuelConnector$ExtendedAstDot.setValue(JuelConnector.java:116) 
>>>>> [ofbiz.jar:?]
>>>>>         ...
>>>>>
>>>>> I'm alone on this case ?
>>>>> I propose, if you want display the exception, to replace all 
>>>>> Debug.log(e, module); by
>>>>> if (Debug.verboseOn()) {Debug.logVerbose("failed to .... by " 
>>>>> e.toString(), module); }
>>>>>
>>>>> Like this we can display them without stacktrace when the verbose 
>>>>> mode will be enable.
>>>>>
>>>>> Cheers,
>>>>> Nicolas
>>>>
>>>
>>
>
>


Re: svn commit: r1818007 - in /ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/ base/util/string: FlexibleStringExpander.java JuelConnector.java UelFunctions.java UelUtil.java

Posted by Jacques Le Roux <ja...@les7arts.com>.
Thanks guys, this fixed OFBIZ-10058

Jacques


Le 17/12/2017 à 21:06, Michael Brohl a écrit :
> Hi Nicolas,
>
> great, seems I missed the 2nd similar code block. I saw too much code in the recent days... ;-)
>
> Thanks for taking care,
>
> regards,
>
> Michael
>
>
> Am 17.12.17 um 21:02 schrieb Nicolas Malin:
>> Thanks Michael
>>
>> I applied the same correction on the second one at 1818510.
>>
>> Thanks for the works !
>>
>> Cheers,
>>
>> Nicolas
>>
>>
>> Le 17/12/2017 à 19:10, Michael Brohl a écrit :
>>> Hi Nicolas,
>>>
>>> thanks for reporting!
>>>
>>> I guess that this is the reason why there was no logging at all. At r1818498 I added verbose logging.
>>>
>>> Thanks,
>>>
>>> Michael
>>>
>>>
>>> Am 17.12.17 um 18:00 schrieb Nicolas Malin:
>>>> Hello Michael,
>>>>
>>>> Le 13/12/2017 à 14:03, mbrohl@apache.org a écrit :
>>>>> --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java (original)
>>>>> +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java Wed Dec 13 13:03:03 2017
>>>>> @@ -78,7 +78,9 @@ public class JuelConnector {
>>>>>               Object base = null;
>>>>>               try {
>>>>>                   base = prefix.eval(bindings, context);
>>>>> -            } catch (Exception e) {}
>>>>> +            } catch (Exception e) {
>>>>> +                Debug.log(e, module);
>>>>> +            }
>>>>
>>>> With this commit, my logs are now massively populate by
>>>>
>>>> 2017-12-17 17:32:52,542 |main |JuelConnector |F| null
>>>> javax.el.PropertyNotFoundException: Cannot resolve identifier 'updateServiceCtx'
>>>>         at de.odysseus.el.tree.impl.ast.AstIdentifier.eval(AstIdentifier.java:93) ~[juel-impl-2.2.7.jar:2.2.7]
>>>>         at org.apache.ofbiz.base.util.string.JuelConnector$ExtendedAstDot.setValue(JuelConnector.java:116) [ofbiz.jar:?]
>>>>         ...
>>>>
>>>> I'm alone on this case ?
>>>> I propose, if you want display the exception, to replace all Debug.log(e, module); by
>>>> if (Debug.verboseOn()) {Debug.logVerbose("failed to .... by " e.toString(), module); }
>>>>
>>>> Like this we can display them without stacktrace when the verbose mode will be enable.
>>>>
>>>> Cheers,
>>>> Nicolas
>>>
>>
>


Re: svn commit: r1818007 - in /ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string: FlexibleStringExpander.java JuelConnector.java UelFunctions.java UelUtil.java

Posted by Michael Brohl <mi...@ecomify.de>.
Hi Nicolas,

great, seems I missed the 2nd similar code block. I saw too much code in 
the recent days... ;-)

Thanks for taking care,

regards,

Michael


Am 17.12.17 um 21:02 schrieb Nicolas Malin:
> Thanks Michael
>
> I applied the same correction on the second one at 1818510.
>
> Thanks for the works !
>
> Cheers,
>
> Nicolas
>
>
> Le 17/12/2017 à 19:10, Michael Brohl a écrit :
>> Hi Nicolas,
>>
>> thanks for reporting!
>>
>> I guess that this is the reason why there was no logging at all. At 
>> r1818498 I added verbose logging.
>>
>> Thanks,
>>
>> Michael
>>
>>
>> Am 17.12.17 um 18:00 schrieb Nicolas Malin:
>>> Hello Michael,
>>>
>>> Le 13/12/2017 à 14:03, mbrohl@apache.org a écrit :
>>>> --- 
>>>> ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java 
>>>> (original)
>>>> +++ 
>>>> ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java 
>>>> Wed Dec 13 13:03:03 2017
>>>> @@ -78,7 +78,9 @@ public class JuelConnector {
>>>>               Object base = null;
>>>>               try {
>>>>                   base = prefix.eval(bindings, context);
>>>> -            } catch (Exception e) {}
>>>> +            } catch (Exception e) {
>>>> +                Debug.log(e, module);
>>>> +            }
>>>
>>> With this commit, my logs are now massively populate by
>>>
>>> 2017-12-17 17:32:52,542 |main |JuelConnector |F| null
>>> javax.el.PropertyNotFoundException: Cannot resolve identifier 
>>> 'updateServiceCtx'
>>>         at 
>>> de.odysseus.el.tree.impl.ast.AstIdentifier.eval(AstIdentifier.java:93) 
>>> ~[juel-impl-2.2.7.jar:2.2.7]
>>>         at 
>>> org.apache.ofbiz.base.util.string.JuelConnector$ExtendedAstDot.setValue(JuelConnector.java:116) 
>>> [ofbiz.jar:?]
>>>         ...
>>>
>>> I'm alone on this case ?
>>> I propose, if you want display the exception, to replace all 
>>> Debug.log(e, module); by
>>> if (Debug.verboseOn()) {Debug.logVerbose("failed to .... by " 
>>> e.toString(), module); }
>>>
>>> Like this we can display them without stacktrace when the verbose 
>>> mode will be enable.
>>>
>>> Cheers,
>>> Nicolas
>>
>


Re: svn commit: r1818007 - in /ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string: FlexibleStringExpander.java JuelConnector.java UelFunctions.java UelUtil.java

Posted by Nicolas Malin <ni...@nereide.fr>.
Thanks Michael

I applied the same correction on the second one at 1818510.

Thanks for the works !

Cheers,

Nicolas


Le 17/12/2017 à 19:10, Michael Brohl a écrit :
> Hi Nicolas,
>
> thanks for reporting!
>
> I guess that this is the reason why there was no logging at all. At 
> r1818498 I added verbose logging.
>
> Thanks,
>
> Michael
>
>
> Am 17.12.17 um 18:00 schrieb Nicolas Malin:
>> Hello Michael,
>>
>> Le 13/12/2017 à 14:03, mbrohl@apache.org a écrit :
>>> --- 
>>> ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java 
>>> (original)
>>> +++ 
>>> ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java 
>>> Wed Dec 13 13:03:03 2017
>>> @@ -78,7 +78,9 @@ public class JuelConnector {
>>>               Object base = null;
>>>               try {
>>>                   base = prefix.eval(bindings, context);
>>> -            } catch (Exception e) {}
>>> +            } catch (Exception e) {
>>> +                Debug.log(e, module);
>>> +            }
>>
>> With this commit, my logs are now massively populate by
>>
>> 2017-12-17 17:32:52,542 |main |JuelConnector                 |F| null
>> javax.el.PropertyNotFoundException: Cannot resolve identifier 
>> 'updateServiceCtx'
>>         at 
>> de.odysseus.el.tree.impl.ast.AstIdentifier.eval(AstIdentifier.java:93) 
>> ~[juel-impl-2.2.7.jar:2.2.7]
>>         at 
>> org.apache.ofbiz.base.util.string.JuelConnector$ExtendedAstDot.setValue(JuelConnector.java:116) 
>> [ofbiz.jar:?]
>>         ...
>>
>> I'm alone on this case ?
>> I propose, if you want display the exception, to replace all 
>> Debug.log(e, module); by
>> if (Debug.verboseOn()) {Debug.logVerbose("failed to .... by " 
>> e.toString(), module); }
>>
>> Like this we can display them without stacktrace when the verbose 
>> mode will be enable.
>>
>> Cheers,
>> Nicolas
>


Re: svn commit: r1818007 - in /ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string: FlexibleStringExpander.java JuelConnector.java UelFunctions.java UelUtil.java

Posted by Michael Brohl <mi...@ecomify.de>.
Hi Nicolas,

thanks for reporting!

I guess that this is the reason why there was no logging at all. At 
r1818498 I added verbose logging.

Thanks,

Michael


Am 17.12.17 um 18:00 schrieb Nicolas Malin:
> Hello Michael,
>
> Le 13/12/2017 à 14:03, mbrohl@apache.org a écrit :
>> --- 
>> ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java 
>> (original)
>> +++ 
>> ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java 
>> Wed Dec 13 13:03:03 2017
>> @@ -78,7 +78,9 @@ public class JuelConnector {
>>               Object base = null;
>>               try {
>>                   base = prefix.eval(bindings, context);
>> -            } catch (Exception e) {}
>> +            } catch (Exception e) {
>> +                Debug.log(e, module);
>> +            }
>
> With this commit, my logs are now massively populate by
>
> 2017-12-17 17:32:52,542 |main |JuelConnector                 |F| null
> javax.el.PropertyNotFoundException: Cannot resolve identifier 
> 'updateServiceCtx'
>         at 
> de.odysseus.el.tree.impl.ast.AstIdentifier.eval(AstIdentifier.java:93) 
> ~[juel-impl-2.2.7.jar:2.2.7]
>         at 
> org.apache.ofbiz.base.util.string.JuelConnector$ExtendedAstDot.setValue(JuelConnector.java:116) 
> [ofbiz.jar:?]
>         ...
>
> I'm alone on this case ?
> I propose, if you want display the exception, to replace all 
> Debug.log(e, module); by
> if (Debug.verboseOn()) {Debug.logVerbose("failed to .... by " 
> e.toString(), module); }
>
> Like this we can display them without stacktrace when the verbose mode 
> will be enable.
>
> Cheers,
> Nicolas


Re: svn commit: r1818007 - in /ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string: FlexibleStringExpander.java JuelConnector.java UelFunctions.java UelUtil.java

Posted by Nicolas Malin <ni...@nereide.fr>.
Hello Michael,

Le 13/12/2017 à 14:03, mbrohl@apache.org a écrit :
> --- ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java (original)
> +++ ofbiz/ofbiz-framework/trunk/framework/base/src/main/java/org/apache/ofbiz/base/util/string/JuelConnector.java Wed Dec 13 13:03:03 2017
> @@ -78,7 +78,9 @@ public class JuelConnector {
>               Object base = null;
>               try {
>                   base = prefix.eval(bindings, context);
> -            } catch (Exception e) {}
> +            } catch (Exception e) {
> +                Debug.log(e, module);
> +            }

With this commit, my logs are now massively populate by

2017-12-17 17:32:52,542 |main |JuelConnector                 |F| null
javax.el.PropertyNotFoundException: Cannot resolve identifier 
'updateServiceCtx'
         at 
de.odysseus.el.tree.impl.ast.AstIdentifier.eval(AstIdentifier.java:93) 
~[juel-impl-2.2.7.jar:2.2.7]
         at 
org.apache.ofbiz.base.util.string.JuelConnector$ExtendedAstDot.setValue(JuelConnector.java:116) 
[ofbiz.jar:?]
         ...

I'm alone on this case ?
I propose, if you want display the exception, to replace all 
Debug.log(e, module); by
if (Debug.verboseOn()) {Debug.logVerbose("failed to .... by " 
e.toString(), module); }

Like this we can display them without stacktrace when the verbose mode 
will be enable.

Cheers,
Nicolas