mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-22 06:45:37 +08:00
Ref T658, improved matching script examples
This commit is contained in:
committed by
Mat Sutcliffe
parent
f6d078de34
commit
2ef150a3ea
34
resources/share/matchingscript/changeAirline.reverse.js
Normal file
34
resources/share/matchingscript/changeAirline.reverse.js
Normal file
@@ -0,0 +1,34 @@
|
||||
// This is a demo file demonstrating some capabilities of the
|
||||
// matching script engine
|
||||
// This script runs after(!) the reverse lookup 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 {
|
||||
// EASYJET?
|
||||
if (inObject.airlineIcao === "EJU") {
|
||||
outObject.airlineIcao = "EZY";
|
||||
outObject.dbAirlineIcaoId = 2217;
|
||||
outObject.logMessage = "Changing EJU to EZY"; // display log
|
||||
outObject.modelString = ""; // invalidate any model
|
||||
outObject.dbModelId = -1; // invalidate
|
||||
outObject.modified = true;
|
||||
outObject.rerun = true; // treat the changed values as coming from network
|
||||
} else {
|
||||
outObject.logMessage = "No airline change, keeping " + inObject.airlineIcao;
|
||||
}
|
||||
} catch (err) {
|
||||
return err.toString();
|
||||
}
|
||||
|
||||
return outObject;
|
||||
})
|
||||
60
resources/share/matchingscript/demo.matching.js
Normal file
60
resources/share/matchingscript/demo.matching.js
Normal file
@@ -0,0 +1,60 @@
|
||||
// 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
|
||||
|
||||
} catch (err) {
|
||||
return err.toString();
|
||||
}
|
||||
|
||||
return outObject;
|
||||
})
|
||||
@@ -1,61 +0,0 @@
|
||||
// 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();
|
||||
}
|
||||
|
||||
})
|
||||
58
resources/share/matchingscript/neutralAircraft.matching.js
Normal file
58
resources/share/matchingscript/neutralAircraft.matching.js
Normal file
@@ -0,0 +1,58 @@
|
||||
// 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.hasAirlineIcao) {
|
||||
if (matchedObject.hasUnmodifiedDesignators) {
|
||||
lm = "Model with exact aircraft " + inObject.aircraftIcao + " airline " + inObject.virtualAirlineIcao;
|
||||
} else if (!matchedObject.hasModifiedAircraftFamily && !matchedObject.hasModifiedAirlineIcaoDesignator) {
|
||||
lm = "Model matching with same family " + matchedObject.aircraftFamily + " and airline " + matchedObject.airlineIcao;
|
||||
} else if (!matchedObject.hasModifiedAirlineIcaoDesignator) {
|
||||
lm = "Model matching with same airline: " + matchedObject.aircraftIcao + "/" + matchedObject.airlineIcao;
|
||||
} else {
|
||||
var combinedType = inObject.combinedType;
|
||||
var family = inObject.aircraftFamily;
|
||||
var searchColor = "ffffff";
|
||||
var mscl = modelSet.findAircraftFamilyWithClosestColorLivery(family, searchColor);
|
||||
if (mscl && 0 > mscl.length) {
|
||||
lm = "Color livery model found for " + combinedType + ": " + mscl;
|
||||
} else {
|
||||
mscl = modelSet.findClosestCombinedTypeWithClosestColorLivery(combinedType, searchColor);
|
||||
if (!mscl || 0 === mscl.length) {
|
||||
// not found
|
||||
mscl = "PIPER CHEROKEE 180"; // some hardcoded value, change to your preferred default
|
||||
lm = "No color livery model found for " + combinedType + ". Using hardcoded: " + 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
|
||||
|
||||
} catch (err) {
|
||||
return err.toString();
|
||||
}
|
||||
|
||||
return outObject;
|
||||
})
|
||||
25
resources/share/matchingscript/stub.js
Normal file
25
resources/share/matchingscript/stub.js
Normal file
@@ -0,0 +1,25 @@
|
||||
// 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 {
|
||||
|
||||
outObject.logMessage = "matching script"; // display log
|
||||
|
||||
} catch (err) {
|
||||
return err.toString();
|
||||
}
|
||||
|
||||
return outObject;
|
||||
})
|
||||
Reference in New Issue
Block a user