From 778340e291cf16d669bb5119ae71f3f955c4a15e Mon Sep 17 00:00:00 2001 From: "j.goderbauer" <j.goderbauer@adito.de> Date: Thu, 20 Sep 2018 13:48:57 +0200 Subject: [PATCH] Testprozess zum schnellen ausprobieren von JDito-Code --- .../_____SYSTEM_APPLICATION_NEON.aod | 1 + .../_test_clientProcess.aod | 7 ++ process/_test_clientProcess/process.js | 103 ++++++++++++++++++ 3 files changed, 111 insertions(+) create mode 100644 process/_test_clientProcess/_test_clientProcess.aod create mode 100644 process/_test_clientProcess/process.js diff --git a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod index 5a9a2413668..5dde13f0008 100644 --- a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod +++ b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod @@ -6,6 +6,7 @@ <node name="CONTACTS" kind="123" title="Contactmanagement"> <icon>VAADIN:STAR</icon> <node name="Group1" kind="123" title=""> + <node name="_test_clientProcess" kind="103" /> <node name="Vertriebsdashboard" kind="10090" /> <node name="Calendar_context" kind="10077" /> <node name="Org_context" kind="10077" /> diff --git a/process/_test_clientProcess/_test_clientProcess.aod b/process/_test_clientProcess/_test_clientProcess.aod new file mode 100644 index 00000000000..2d2705e6a54 --- /dev/null +++ b/process/_test_clientProcess/_test_clientProcess.aod @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.1.7"> + <name>_test_clientProcess</name> + <majorModelMode>DISTRIBUTED</majorModelMode> + <process>%aditoprj%/process/_test_clientProcess/process.js</process> + <alias>Data_alias</alias> +</process> diff --git a/process/_test_clientProcess/process.js b/process/_test_clientProcess/process.js new file mode 100644 index 00000000000..c0f670200b5 --- /dev/null +++ b/process/_test_clientProcess/process.js @@ -0,0 +1,103 @@ +import("system.SQLTYPES"); +import("system.util"); +import("system.logging"); +import("system.vars"); +import("system.db"); + +var u = {}; +(function (object) { + + + var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + + function InvalidCharacterError(message) { + this.message = message; + } + InvalidCharacterError.prototype = new Error; + InvalidCharacterError.prototype.name = 'InvalidCharacterError'; + + // encoder + // [https://gist.github.com/999166] by [https://github.com/nignag] + object.btoa || ( + object.btoa = function (input) { + var str = String(input); + for ( + // initialize result and counter + var block, charCode, idx = 0, map = chars, output = ''; + // if the next str index does not exist: + // change the mapping table to "=" + // check if d has no fractional digits + str.charAt(idx | 0) || (map = '=', idx % 1); + // "8 - idx % 1 * 8" generates the sequence 2, 4, 6, 8 + output += map.charAt(63 & block >> 8 - idx % 1 * 8) + ) { + charCode = str.charCodeAt(idx += 3/4); + if (charCode > 0xFF) { + throw new InvalidCharacterError("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range."); + } + block = block << 8 | charCode; + } + return output; + }); + + // decoder + // [https://gist.github.com/1020396] by [https://github.com/atk] + object.atob || ( + object.atob = function (input) { + var str = String(input).replace(/[=]+$/, ''); // #31: ExtendScript bad parse of /= + if (str.length % 4 == 1) { + throw new InvalidCharacterError("'atob' failed: The string to be decoded is not correctly encoded."); + } + for ( + // initialize result and counters + var bc = 0, bs, buffer, idx = 0, output = ''; + // get next character + buffer = str.charAt(idx++); + // character found in table? initialize bit storage and add its ascii value; + ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer, + // and if not first of each 4 characters, + // convert the first 8 bits to one ascii character + bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0 + ) { + // try to find character in table (0-63, not found => -1) + buffer = chars.indexOf(buffer); + } + return output; + }); + +}(u)); + + + +function uuidToBase64(uuid) { + return hexToBase64(uuid.replace("-", "", "g")); +} + +function hexToBase64(hexstring) { + return u.btoa(hexstring.match(/\w{2}/g).map(function(a) { + return String.fromCharCode(parseInt(a, 16)); + }).join("")); +} + + + + + + + + + +var id; +id = util.getNewUUID();//b592c499-84d9-4066-b883-0d79b5245bc1 +id = "b592c499-84d9-4066-b883-0d79b5245bc1"; +id = uuidToBase64(id); + +var cols = ["TESTID", "DATA", "USER_NEW", "DATE_NEW"]; +var vals = [id, "datahere", vars.get("$sys.user"), vars.get("$sys.staticdate")]; +var types = null; +//db.insertData("TEST", cols, types, vals); +var q = ["select " + cols.join(", ") + " from TEST where TESTID = ?", [ + [id, SQLTYPES.BINARY] +]]; +logging.log("query:" + db.translateStatement(q)); +logging.show(db.array(db.ROW, q)); \ No newline at end of file -- GitLab