Commit dec7bfce88092bc01a5e3bdd3a8dd2978a2d6d46
Exists in
master
Merge branch 'tarefa-4644'
Showing
10 changed files
with
75 additions
and
10 deletions
Show diff stats
cit-esi-api/src/main/java/br/com/centralit/esi/api/runtime/RuntimeEnvironmentImpl.java
| @@ -309,7 +309,9 @@ public class RuntimeEnvironmentImpl implements RuntimeEnvironment { | @@ -309,7 +309,9 @@ public class RuntimeEnvironmentImpl implements RuntimeEnvironment { | ||
| 309 | ,false) | 309 | ,false) |
| 310 | .setInputMap(inputMap); | 310 | .setInputMap(inputMap); |
| 311 | 311 | ||
| 312 | - this.initialize(input, flowVersion, objects); | 312 | + MapObjects map = ConvertUtilsESI.cloneMap(inputMap); |
| 313 | + | ||
| 314 | + this.initialize(input, flowVersion, map); | ||
| 313 | } | 315 | } |
| 314 | 316 | ||
| 315 | @Override | 317 | @Override |
cit-esi-api/src/main/java/br/com/centralit/esi/api/util/ConvertUtilsESI.java
| @@ -30,6 +30,7 @@ import br.com.centralit.esi.api.business.rule.BusinessRule; | @@ -30,6 +30,7 @@ import br.com.centralit.esi.api.business.rule.BusinessRule; | ||
| 30 | import br.com.centralit.esi.api.design.model.FlowVariable; | 30 | import br.com.centralit.esi.api.design.model.FlowVariable; |
| 31 | import br.com.centralit.esi.api.design.model.FlowVersion; | 31 | import br.com.centralit.esi.api.design.model.FlowVersion; |
| 32 | import br.com.centralit.esi.api.enumerated.JavaClassEnum; | 32 | import br.com.centralit.esi.api.enumerated.JavaClassEnum; |
| 33 | +import br.com.centralit.esi.api.execution.map.MapObjects; | ||
| 33 | import br.com.centralit.esi.exception.EsiBusinessException; | 34 | import br.com.centralit.esi.exception.EsiBusinessException; |
| 34 | import br.com.centralit.esi.exception.EsiExecutionException; | 35 | import br.com.centralit.esi.exception.EsiExecutionException; |
| 35 | import br.com.centralit.framework.esi.enumerated.VariableTypeEnum; | 36 | import br.com.centralit.framework.esi.enumerated.VariableTypeEnum; |
| @@ -701,4 +702,18 @@ public class ConvertUtilsESI { | @@ -701,4 +702,18 @@ public class ConvertUtilsESI { | ||
| 701 | } | 702 | } |
| 702 | } | 703 | } |
| 703 | 704 | ||
| 705 | + public static MapObjects cloneMap(HashMap<String, Object> inputMap) { | ||
| 706 | + if (inputMap != null) { | ||
| 707 | + MapObjects map = new MapObjects(); | ||
| 708 | + for (String key : inputMap.keySet()) { | ||
| 709 | + Object obj = inputMap.get(key); | ||
| 710 | + if (obj != null) { | ||
| 711 | + map.put(key, obj); | ||
| 712 | + } | ||
| 713 | + } | ||
| 714 | + return map; | ||
| 715 | + }else{ | ||
| 716 | + return null; | ||
| 717 | + } | ||
| 718 | + } | ||
| 704 | } | 719 | } |
cit-esi-api/src/main/java/br/com/centralit/esi/api/util/ParseUtilsESI.java
| @@ -7,6 +7,11 @@ import java.util.HashMap; | @@ -7,6 +7,11 @@ import java.util.HashMap; | ||
| 7 | import org.apache.commons.lang.text.StrSubstitutor; | 7 | import org.apache.commons.lang.text.StrSubstitutor; |
| 8 | import org.json.JSONObject; | 8 | import org.json.JSONObject; |
| 9 | 9 | ||
| 10 | +import br.com.centralit.esi.api.design.model.ScriptCode; | ||
| 11 | +import br.com.centralit.esi.api.enumerated.ScriptEngineTypeEnum; | ||
| 12 | +import br.com.centralit.esi.api.execution.component.ExecuteScript; | ||
| 13 | +import br.com.centralit.esi.api.runtime.RuntimeEnvironment; | ||
| 14 | +import br.com.centralit.esi.api.runtime.RuntimeEnvironmentImpl; | ||
| 10 | import br.com.centralit.framework.util.UtilDate; | 15 | import br.com.centralit.framework.util.UtilDate; |
| 11 | 16 | ||
| 12 | public class ParseUtilsESI { | 17 | public class ParseUtilsESI { |
| @@ -28,6 +33,7 @@ public class ParseUtilsESI { | @@ -28,6 +33,7 @@ public class ParseUtilsESI { | ||
| 28 | 33 | ||
| 29 | private static String parseProperties(String str, HashMap<String, Object> map) { | 34 | private static String parseProperties(String str, HashMap<String, Object> map) { |
| 30 | String resolvedString = str; | 35 | String resolvedString = str; |
| 36 | + | ||
| 31 | for (String key : map.keySet()) { | 37 | for (String key : map.keySet()) { |
| 32 | String searchProperty = "${"+key+"."; | 38 | String searchProperty = "${"+key+"."; |
| 33 | int startPos = resolvedString.indexOf(searchProperty); | 39 | int startPos = resolvedString.indexOf(searchProperty); |
| @@ -41,7 +47,13 @@ public class ParseUtilsESI { | @@ -41,7 +47,13 @@ public class ParseUtilsESI { | ||
| 41 | Object obj = map.get(key); | 47 | Object obj = map.get(key); |
| 42 | int i = 1; | 48 | int i = 1; |
| 43 | while (obj != null && i < properties.length) { | 49 | while (obj != null && i < properties.length) { |
| 44 | - obj = parseProperty(obj, properties[i]); | 50 | + String[] values = properties[i].split("\\|"); |
| 51 | + obj = parseProperty(obj, values[0]); | ||
| 52 | + if (values.length > 1) { | ||
| 53 | + obj = applyScript(values[1], obj, map); | ||
| 54 | + arg = arg.replace("|", "\\|"); | ||
| 55 | + } | ||
| 56 | + | ||
| 45 | i++; | 57 | i++; |
| 46 | } | 58 | } |
| 47 | if (obj != null) { | 59 | if (obj != null) { |
| @@ -99,4 +111,19 @@ public class ParseUtilsESI { | @@ -99,4 +111,19 @@ public class ParseUtilsESI { | ||
| 99 | return null; | 111 | return null; |
| 100 | } | 112 | } |
| 101 | 113 | ||
| 114 | + | ||
| 115 | + private static Object applyScript(String method, Object value, HashMap<String, Object> map) { | ||
| 116 | + String parmName = "arg_"+method; | ||
| 117 | + String script = method+"("+parmName+");"; | ||
| 118 | + ScriptCode scriptCode = new ScriptCode(ScriptEngineTypeEnum.RHINO, script); | ||
| 119 | + | ||
| 120 | + HashMap<String, Object> input = new HashMap<String, Object>(); | ||
| 121 | + input.put(parmName, value); | ||
| 122 | + | ||
| 123 | + RuntimeEnvironment runtimeEnvironment = new RuntimeEnvironmentImpl(null, input); | ||
| 124 | + | ||
| 125 | + Object result = ExecuteScript.execute(runtimeEnvironment, method, scriptCode); | ||
| 126 | + | ||
| 127 | + return result; | ||
| 128 | + } | ||
| 102 | } | 129 | } |
cit-esi-web/src/main/java/br/com/centralit/listener/StartupListenerEsi.java
| @@ -832,8 +832,9 @@ public class StartupListenerEsi extends UtilStartup implements ApplicationListen | @@ -832,8 +832,9 @@ public class StartupListenerEsi extends UtilStartup implements ApplicationListen | ||
| 832 | str.append(uuid+".importPackage(Packages.org.json);\n"); | 832 | str.append(uuid+".importPackage(Packages.org.json);\n"); |
| 833 | str.append(uuid+".importPackage(Packages.br.com.centralit.esi.api.enumerated);\n"); | 833 | str.append(uuid+".importPackage(Packages.br.com.centralit.esi.api.enumerated);\n"); |
| 834 | str.append(uuid+".importPackage(Packages.br.com.centralit.framework.esi.environment);\n"); | 834 | str.append(uuid+".importPackage(Packages.br.com.centralit.framework.esi.environment);\n"); |
| 835 | - str.append(uuid+".importPackage(Packages.br.com.centralit.framework.esi.enumerated);\n\n"); | ||
| 836 | - | 835 | + str.append(uuid+".importPackage(Packages.br.com.centralit.framework.esi.enumerated);\n"); |
| 836 | + str.append(uuid+".importPackage(Packages.java.text);\n\n"); | ||
| 837 | + | ||
| 837 | str.append("var JSONArray = "+uuid+".JSONArray;\n"); | 838 | str.append("var JSONArray = "+uuid+".JSONArray;\n"); |
| 838 | str.append("var JSONObject = "+uuid+".JSONObject;\n"); | 839 | str.append("var JSONObject = "+uuid+".JSONObject;\n"); |
| 839 | str.append("var UtilDate = "+uuid+".UtilDate;\n"); | 840 | str.append("var UtilDate = "+uuid+".UtilDate;\n"); |
| @@ -843,12 +844,26 @@ public class StartupListenerEsi extends UtilStartup implements ApplicationListen | @@ -843,12 +844,26 @@ public class StartupListenerEsi extends UtilStartup implements ApplicationListen | ||
| 843 | str.append("var Boolean = "+uuid+".Boolean;\n"); | 844 | str.append("var Boolean = "+uuid+".Boolean;\n"); |
| 844 | str.append("var Double = "+uuid+".Double;\n"); | 845 | str.append("var Double = "+uuid+".Double;\n"); |
| 845 | str.append("var Calendar = "+uuid+".Calendar;\n"); | 846 | str.append("var Calendar = "+uuid+".Calendar;\n"); |
| 846 | - str.append("var GregorianCalendar = "+uuid+".GregorianCalendar;\n\n"); | ||
| 847 | - str.append("var parameterService = runtimeEnvironment.getObject(\"parameterService\");\n\n"); | ||
| 848 | - str.append("var EnvironmentVariable = importNames.EnvironmentVariable;\n\n"); | ||
| 849 | - str.append("var VariableTypeEnum = importNames.VariableTypeEnum;\n"); | ||
| 850 | - str.append("var HashMap = importNames.HashMap;\n"); | ||
| 851 | - str.append("var StringBuilder = importNames.StringBuilder;\n\n"); | 847 | + str.append("var GregorianCalendar = "+uuid+".GregorianCalendar;\n"); |
| 848 | + str.append("var EnvironmentVariable = "+uuid+".EnvironmentVariable;\n\n"); | ||
| 849 | + str.append("var VariableTypeEnum = "+uuid+".VariableTypeEnum;\n"); | ||
| 850 | + str.append("var HashMap = "+uuid+".HashMap;\n"); | ||
| 851 | + str.append("var StringBuilder = "+uuid+".StringBuilder;\n\n"); | ||
| 852 | + | ||
| 853 | + str.append("var numberFormat = "+uuid+".NumberFormat.getInstance(new importNames.Locale(\"pt\", \"BR\"));\n"); | ||
| 854 | + str.append("numberFormat.setMaximumFractionDigits(2);\n"); | ||
| 855 | + str.append("numberFormat.setMinimumFractionDigits(2);\n\n"); | ||
| 856 | + | ||
| 857 | + str.append("formatMoney = function(obj) {\n"); | ||
| 858 | + str.append(" var value = parseFloat(obj);\n"); | ||
| 859 | + str.append(" return numberFormat.format(value);\n"); | ||
| 860 | + str.append("};\n\n"); | ||
| 861 | + | ||
| 862 | + str.append("formatBoolean = function(obj) {\n"); | ||
| 863 | + str.append(" var value = \"\"+obj;\n"); | ||
| 864 | + str.append(" return value == '1' || value == 'true' || value == 'y' || value == 'yes' ? 'sim' : 'não';\n"); | ||
| 865 | + str.append("};\n\n"); | ||
| 866 | + | ||
| 852 | 867 | ||
| 853 | str.append("addOrUpdateObject = function(name, value) {\n"); | 868 | str.append("addOrUpdateObject = function(name, value) {\n"); |
| 854 | str.append(" runtimeEnvironment.addOrUpdateObject(name, value);\n"); | 869 | str.append(" runtimeEnvironment.addOrUpdateObject(name, value);\n"); |
cit-esi-web/src/main/webapp/assets/js/angular/custom/controller/CssController.js
| @@ -68,6 +68,7 @@ citApp.controller('CssController', ["$scope", "appService", "CssRepository", "$f | @@ -68,6 +68,7 @@ citApp.controller('CssController', ["$scope", "appService", "CssRepository", "$f | ||
| 68 | if ($scope.css.id) { | 68 | if ($scope.css.id) { |
| 69 | $scope.uploader.url += '&id=' + $scope.css.id; | 69 | $scope.uploader.url += '&id=' + $scope.css.id; |
| 70 | } | 70 | } |
| 71 | + $scope.uploader.url = encodeURI($scope.uploader.url); | ||
| 71 | 72 | ||
| 72 | $scope.uploader.queue[0].url = $scope.uploader.url; | 73 | $scope.uploader.queue[0].url = $scope.uploader.url; |
| 73 | $scope.uploader.uploadAll(); | 74 | $scope.uploader.uploadAll(); |
cit-esi-web/src/main/webapp/assets/js/angular/custom/controller/FileController.js
| @@ -69,6 +69,7 @@ citApp.controller('FileController', ["$scope", "appService", "FileRepository", " | @@ -69,6 +69,7 @@ citApp.controller('FileController', ["$scope", "appService", "FileRepository", " | ||
| 69 | if ($scope.file.id) { | 69 | if ($scope.file.id) { |
| 70 | $scope.uploader.url += '&id=' + $scope.file.id; | 70 | $scope.uploader.url += '&id=' + $scope.file.id; |
| 71 | } | 71 | } |
| 72 | + $scope.uploader.url = encodeURI($scope.uploader.url); | ||
| 72 | 73 | ||
| 73 | $scope.uploader.queue[0].url = $scope.uploader.url; | 74 | $scope.uploader.queue[0].url = $scope.uploader.url; |
| 74 | $scope.uploader.uploadAll(); | 75 | $scope.uploader.uploadAll(); |
cit-esi-web/src/main/webapp/assets/js/angular/custom/controller/ImageController.js
| @@ -67,6 +67,7 @@ citApp.controller('ImageController', ["$scope", "appService", "ImageRepository", | @@ -67,6 +67,7 @@ citApp.controller('ImageController', ["$scope", "appService", "ImageRepository", | ||
| 67 | if ($scope.image.id) { | 67 | if ($scope.image.id) { |
| 68 | $scope.uploader.url += '&id=' + $scope.image.id; | 68 | $scope.uploader.url += '&id=' + $scope.image.id; |
| 69 | } | 69 | } |
| 70 | + $scope.uploader.url = encodeURI($scope.uploader.url); | ||
| 70 | 71 | ||
| 71 | $scope.uploader.queue[0].url = $scope.uploader.url; | 72 | $scope.uploader.queue[0].url = $scope.uploader.url; |
| 72 | $scope.uploader.uploadAll(); | 73 | $scope.uploader.uploadAll(); |
cit-esi-web/src/main/webapp/assets/js/angular/custom/controller/JavaScriptController.js
| @@ -68,6 +68,7 @@ citApp.controller('JavaScriptController', ["$scope", "appService", "JavaScriptRe | @@ -68,6 +68,7 @@ citApp.controller('JavaScriptController', ["$scope", "appService", "JavaScriptRe | ||
| 68 | if ($scope.javaScript.id) { | 68 | if ($scope.javaScript.id) { |
| 69 | $scope.uploader.url += '&id=' + $scope.javaScript.id; | 69 | $scope.uploader.url += '&id=' + $scope.javaScript.id; |
| 70 | } | 70 | } |
| 71 | + $scope.uploader.url = encodeURI($scope.uploader.url); | ||
| 71 | 72 | ||
| 72 | $scope.uploader.queue[0].url = $scope.uploader.url; | 73 | $scope.uploader.queue[0].url = $scope.uploader.url; |
| 73 | $scope.uploader.uploadAll(); | 74 | $scope.uploader.uploadAll(); |
cit-esi-web/src/main/webapp/assets/js/angular/custom/controller/PageController.js
| @@ -69,6 +69,7 @@ citApp.controller('PageController', ["$scope", "appService", "PageRepository", " | @@ -69,6 +69,7 @@ citApp.controller('PageController', ["$scope", "appService", "PageRepository", " | ||
| 69 | if ($scope.page.id) { | 69 | if ($scope.page.id) { |
| 70 | $scope.uploader.url += '&id=' + $scope.page.id; | 70 | $scope.uploader.url += '&id=' + $scope.page.id; |
| 71 | } | 71 | } |
| 72 | + $scope.uploader.url = encodeURI($scope.uploader.url); | ||
| 72 | 73 | ||
| 73 | $scope.uploader.queue[0].url = $scope.uploader.url; | 74 | $scope.uploader.queue[0].url = $scope.uploader.url; |
| 74 | $scope.uploader.uploadAll(); | 75 | $scope.uploader.uploadAll(); |
cit-esi-web/src/main/webapp/assets/js/angular/custom/controller/ReportFileController.js
| @@ -73,6 +73,7 @@ citApp.controller('ReportFileController', ["$scope", "appService", "ReportReposi | @@ -73,6 +73,7 @@ citApp.controller('ReportFileController', ["$scope", "appService", "ReportReposi | ||
| 73 | if ($scope.report.id) { | 73 | if ($scope.report.id) { |
| 74 | $scope.uploader.url += '&id=' + $scope.report.id; | 74 | $scope.uploader.url += '&id=' + $scope.report.id; |
| 75 | } | 75 | } |
| 76 | + $scope.uploader.url = encodeURI($scope.uploader.url); | ||
| 76 | 77 | ||
| 77 | $scope.uploader.queue[0].url = $scope.uploader.url; | 78 | $scope.uploader.queue[0].url = $scope.uploader.url; |
| 78 | $scope.uploader.uploadAll(); | 79 | $scope.uploader.uploadAll(); |