From 1839c77ab962d5cf6076c40551047bde7d309f99 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Wed, 5 Jun 2019 00:23:23 +0200 Subject: [PATCH] Ref T658, matching script demos --- .../share/matchingscript/matchingDemo.js | 61 +++++++++++++++++++ resources/share/matchingscript/reverseDemo.js | 14 ++--- 2 files changed, 67 insertions(+), 8 deletions(-) diff --git a/resources/share/matchingscript/matchingDemo.js b/resources/share/matchingscript/matchingDemo.js index e69de29bb..8a1d5e794 100644 --- a/resources/share/matchingscript/matchingDemo.js +++ b/resources/share/matchingscript/matchingDemo.js @@ -0,0 +1,61 @@ +// this is a demo file demonstrating some capabilities of the +// matching script engine +// this script runs after(!) the matching has been completed +// +// inObject values as from network +// outObject to be returned back to matching engine +// matchedObject the result so far, same as inObject for reverse lookup +// modelSet user's current model set, not available in reverse lookup +// webServices wraps access to swift web services +// +// outObject.rerun = true => rerun matching or reverse lookup after the value has been changed again, like a 2nd pass +// outObject.modified = true => tell matching or reverse lookup that something has been changed +// +(function() { + // avoid breaking matching/reverse lookup + try { + + // the logic we implement + var lm = ""; + if (inObject.callsign == 'DAMBZ') { + var ms = "PIPER CHEROKEE 180"; // must exist in model set + if (modelSet.containsModelString(ms)) { + lm = "Model set contains "; + lm += ms; + outObject.modelString = ms; + outObject.modified = true; // tell we have changed the values + lm += ". Changed model for DAMBZ"; + } + } else { + if (inObject.hasAirlineIcao) { + if (matchedObject.hasUnmodifiedDesignators) { + lm = "Model with exact aircraft " + inObject.aircraftIcao + " airline " + inObject.virtualAirlineIcao; + } else { + var combinedType = inObject.combinedType; + var white = "ffffff"; + var mscl = modelSet.findCombinedTypeWithClosestColorLivery(combinedType, white); + if (!mscl || 0 === mscl.length) { + // not found + mscl = "PIPER CHEROKEE 180"; // some hardcoded value + lm = "No color livery model found for " + combinedType + ". Using: " + mscl; + } else { + lm = "Color livery model found for " + combinedType + ": " + mscl; + } + outObject.modelString = mscl; + outObject.modified = true; // tell we have changed the values + } + } else { + // no airline, so most likely some small or military aircraft + lm = "Model without airline"; + } + } + + outObject.logMessage = lm; // display log + return outObject; + +} +catch(err) { + return err.toString(); +} + +}) diff --git a/resources/share/matchingscript/reverseDemo.js b/resources/share/matchingscript/reverseDemo.js index db134a16f..54a884cd9 100644 --- a/resources/share/matchingscript/reverseDemo.js +++ b/resources/share/matchingscript/reverseDemo.js @@ -1,16 +1,14 @@ (function() { // inObject - // returnObject + // outObject // modelSet, not available in reverse lookup - returnObject.aircraftIcao = "C172"; - returnObject.modified = true; - returnObject.rerun = true; - returnObject.logMessage = "Changed to C172"; + outObject.aircraftIcao = "C172"; + outObject.modified = true; + outObject.rerun = true; + outObject.logMessage = "Changed to C172"; - return returnObject; + return outObject; // string return is possible // return "Changed ICAO to C172"; }) - -