Skip to content
Snippets Groups Projects
Commit dbfe335e authored by David Büchler's avatar David Büchler
Browse files

The flag if an external webservice should be used is now used in the code. If...

The flag if an external webservice should be used is now used in the code. If true, the parameterized callbackfunction gets called. See DuplicateScannerUtils._isUseExternalWebservice
parent 400d8c71
No related branches found
No related tags found
No related merge requests found
......@@ -235,6 +235,8 @@ pQueryTargetRecords, pDuplicateFieldsConfig, pCallExternalWebserviceFunction)
logging.log("in RebuildDuplicatesCache -> ");
let alreadyIdentifiedIds = [];
let targetRecordsData = db.table(pQueryTargetRecords);
let useExternalWebservice = DuplicateScannerUtils._isUseExternalWebservice(pFilterName, pTargetEntity);
logging.log("useExternalWebservice -> " + useExternalWebservice);
logging.log("targetRecordsData -> " + JSON.stringify(targetRecordsData));
//If the contact id loading query has no results, stop.
......@@ -271,7 +273,7 @@ pQueryTargetRecords, pDuplicateFieldsConfig, pCallExternalWebserviceFunction)
logging.log("idValue -> " + idValue);
let foundDuplicates = DuplicateScannerUtils.ScanForDuplicates(pFilterName, pTargetEntity,
entityFieldValuesRay, resultFields, idField, idValue, pCallExternalWebserviceFunction)
entityFieldValuesRay, resultFields, idField, idValue, pCallExternalWebserviceFunction, useExternalWebservice)
// logging.log("foundDuplicates -> " + JSON.stringify(foundDuplicates));
logging.log("foundDuplicates -> " + foundDuplicates);
......@@ -379,9 +381,21 @@ DuplicateScannerUtils._loadResultFields = function(pFilterName, pTargetEntity)
return db.array(db.COLUMN, duplicateResultFields);
}
DuplicateScannerUtils._isUseExternalWebservice = function(pFilterName, pTargetEntity)
{
let scannerUseExternalWebserviceQuery = SqlCondition.begin()
.andPrepare("DUPLICATESCANNER.FILTER_NAME", pFilterName)
.andPrepare("DUPLICATESCANNER.ENTITY_TO_SCAN_NAME", pTargetEntity)
.buildSql("select EXTERNAL_SERVICE_USAGE_ALLOWED from DUPLICATESCANNER"
, "1=2");
logging.log("scannerUseExternalWebserviceQuery -> " + scannerUseExternalWebserviceQuery);
let isUseWebservice = db.cell(scannerUseExternalWebserviceQuery);
return (isUseWebservice == 0) ? false : true;
}
DuplicateScannerUtils.ScanForDuplicates = function(pFilterName, pTargetEntity, pFilterFieldValueRays,
pTargetEntityResultFields, pRecordIdFieldToIgnore, pRecordIdValueToIgnore, pCallExternalWebserviceFunction)
pTargetEntityResultFields, pRecordIdFieldToIgnore, pRecordIdValueToIgnore, pCallExternalWebserviceFunction, pUseExternalWebservice)
{
let possibleDuplicates = [];
let ignoredRecordFilter = _DuplicateScannerUtils._getIgnoreRecordFilter(pRecordIdFieldToIgnore, pRecordIdValueToIgnore, pTargetEntity);
......@@ -398,29 +412,18 @@ pTargetEntityResultFields, pRecordIdFieldToIgnore, pRecordIdValueToIgnore, pCall
if(preFilter == null)
return null;
let useExternalWebservice = false;//todo
possibleDuplicates = DuplicateScannerUtils._callIndexSearch(pTargetEntity, preFilter, pFilterFieldValueRays, pTargetEntityResultFields, 100);
possibleDuplicates = possibleDuplicates[indexsearch.HITS];
if(useExternalWebservice)
{
possibleDuplicates = DuplicateScannerUtils._callIndexSearch(pTargetEntity, preFilter, pFilterFieldValueRays, pTargetEntityResultFields, 100);
possibleDuplicates = possibleDuplicates[indexsearch.HITS];
if(possibleDuplicates.length > 0)
possibleDuplicates = pCallExternalWebserviceFunction.apply(this, [possibleDuplicates]);
}
else
{
logging.log("pTargetEntity -> " + pTargetEntity);
logging.log("preFilter -> " + preFilter);
logging.log("pFilterFieldValueRays -> " + pFilterFieldValueRays);
logging.log("pRecordIdFieldToIgnore -> " + pRecordIdFieldToIgnore);
//(pTargetEntity, pPreFilterJson, pEntityFieldValueRays, pResultIndexFields, pResultFields, pResultSetRows)
//run actual index duplicate search
possibleDuplicates = DuplicateScannerUtils._callIndexSearch(pTargetEntity, preFilter, pFilterFieldValueRays, pTargetEntityResultFields, 100);
possibleDuplicates = possibleDuplicates[indexsearch.HITS];
}
if(pUseExternalWebservice && possibleDuplicates.length > 0 && pCallExternalWebserviceFunction != null)
possibleDuplicates = pCallExternalWebserviceFunction.apply(this, [possibleDuplicates]);
logging.log("pTargetEntity -> " + pTargetEntity);
logging.log("preFilter -> " + preFilter);
logging.log("pFilterFieldValueRays -> " + pFilterFieldValueRays);
logging.log("pRecordIdFieldToIgnore -> " + pRecordIdFieldToIgnore);
logging.log("possibleDuplicates -> " + possibleDuplicates);
return possibleDuplicates;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment