details: https://code.openbravo.com/erp/devel/pi/rev/87b13b8ceac8
changeset: 24266:87b13b8ceac8
user: Rafa Alonso <rafael.alonso <at> openbravo.com>
date: Sun Aug 17 18:01:11 2014 +0200
summary: Fixes issue 27351: 'getGlobalComponentResources' have to be set as
synchronized because multiple calls were corrupting the globalResources array
Marking variables as final was not necessary but a nice plus
(client.kernel)
(service.datasource)
diffstat:
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelComponentProvider.java
| 11 ++++++++-
modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceComponentProvider.java
| 11 ++++++++-
2 files changed, 18 insertions(+), 4 deletions(-)
diffs (46 lines):
diff -r 0ddec04e8ce3 -r 87b13b8ceac8
modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelComponentProvider.java
---
a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelComponentProvider.java
Fri Aug 15 08:57:47 2014 -0500
+++
b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/KernelComponentProvider.java
Sun Aug 17 18:01:11 2014 +0200
@@ -80,8 +80,15 @@
return versionParam;
}
- public List<ComponentResource> getGlobalComponentResources() {
- final List<ComponentResource> globalResources = new
ArrayList<ComponentResource>();
+ final List<ComponentResource> globalResources = new
ArrayList<ComponentResource>();
+
+ @Override
+ public synchronized List<ComponentResource> getGlobalComponentResources() {
+ if (globalResources.size() > 0) {
+ return globalResources;
+ }
+ globalResources.clear();
+
globalResources.add(createStaticResource("org.openbravo.client.kernel/"
+ KernelConstants.KERNEL_COMPONENT_TYPE + "/" +
KernelConstants.APPLICATION_COMPONENT_ID,
true));
diff -r 0ddec04e8ce3 -r 87b13b8ceac8
modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceComponentProvider.java
---
a/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceComponentProvider.java
Fri Aug 15 08:57:47 2014 -0500
+++
b/modules/org.openbravo.service.datasource/src/org/openbravo/service/datasource/DataSourceComponentProvider.java
Sun Aug 17 18:01:11 2014 +0200
@@ -75,12 +75,19 @@
return dataSourceComponent;
}
+ final List<ComponentResource> globalResources = new
ArrayList<ComponentResource>();
+
/**
* @return an empty String (no global resources)
* @see
org.openbravo.client.kernel.ComponentProvider#getGlobalComponentResources()
*/
- public List<ComponentResource> getGlobalComponentResources() {
- final List<ComponentResource> globalResources = new
ArrayList<ComponentResource>();
+ @Override
+ public synchronized List<ComponentResource> getGlobalComponentResources() {
+ if (globalResources.size() > 0) {
+ return globalResources;
+ }
+ globalResources.clear();
+
globalResources.add(createStaticResource(
"web/org.openbravo.service.datasource/js/ob-datasource-utilities.js",
true));
return globalResources;
------------------------------------------------------------------------------
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits