details:   https://code.openbravo.com/erp/devel/pi/rev/756e6fab2ecf
changeset: 32684:756e6fab2ecf
user:      Asier Lostalé <asier.lostale <at> openbravo.com>
date:      Thu Sep 14 13:25:35 2017 +0200
summary:   fixed 36857: invalid js generated if \u2028 or \u2029 chars are in 
recent docs

  Implemented temporary fix until freemarker gets updated. Dynamic js resources
  now escape those special characters.

diffstat:

 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/SessionDynamicResourceComponent.java
 |  12 +++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

diffs (27 lines):

diff -r d936b7f0882f -r 756e6fab2ecf 
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/SessionDynamicResourceComponent.java
--- 
a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/SessionDynamicResourceComponent.java
  Thu Sep 14 12:37:20 2017 +0200
+++ 
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/SessionDynamicResourceComponent.java
  Thu Sep 14 13:25:35 2017 +0200
@@ -52,7 +52,7 @@
       log.debug("Generation of session dynamic resource {} took {} ms", 
component.getId(),
           System.currentTimeMillis() - t);
     }
-    return result.toString();
+    return escapeInvalidJSCharacters(result.toString());
   }
 
   @Override
@@ -79,4 +79,14 @@
     }
     return componentList;
   }
+
+  private String escapeInvalidJSCharacters(String js) {
+    if (js == null) {
+      return null;
+    }
+
+    // TODO: workaround for issue in current freemarker version, it should be 
removed once it gets
+    // updated (see issue #36857)
+    return js.replace("\u2028", "\\u2028").replace("\u2029", "\\u2029");
+  }
 }

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to