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