Skip to content

Commit c4f1b1e

Browse files
committed
removed duplicated code
1 parent ef90207 commit c4f1b1e

File tree

2 files changed

+23
-76
lines changed

2 files changed

+23
-76
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Node-RED Watson Nodes for IBM Cloud
1313
- Migrate from deprecated getModels and getCustomizations methods in Speech to Text nodes.
1414
- Implement update classifier in Visual Recognition Util node.
1515
- In Visual Recognition Util node append 'positive_' to zip name if neither 'positive' not 'negative' not already there.
16+
- Removed duplicated code in Visual Recognition Util node.
1617

1718
### New in version 0.6.10
1819
- Needed to stringify json before addDocument in Discovery node.

services/visual_recognition/v3.js

Lines changed: 22 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,19 @@
1515
**/
1616

1717
module.exports = function(RED) {
18-
const SERVICE_IDENTIFIER = 'visual-recognition';
19-
const VisualRecognitionV3 = require('watson-developer-cloud/visual-recognition/v3');
18+
const SERVICE_IDENTIFIER = 'visual-recognition',
19+
VisualRecognitionV3 = require('watson-developer-cloud/visual-recognition/v3'),
20+
METHODS = {
21+
CREATECLASSIFER : 'createClassifier',
22+
LISTCLASSIFIERS : 'listClassifiers',
23+
UPDATECLASSIFIER : 'updateClassifier',
24+
GETCLASSIFIER : 'getClassifier',
25+
DELETECLASSIFIER : 'deleteClassifier',
26+
retrieveClassifiersList : 'listClassifiers',
27+
retrieveClassifierDetails : 'getClassifier',
28+
deleteClassifier : 'deleteClassifier'
29+
};
30+
2031
var pkg = require('../../package.json'),
2132
serviceutils = require('../../utilities/service-utils'),
2233
payloadutils = require('../../utilities/payload-utils'),
@@ -382,80 +393,24 @@ module.exports = function(RED) {
382393
return p;
383394
}
384395

385-
function invokeCreateClassifier(node, params) {
386-
var p = new Promise(function resolver(resolve, reject) {
387-
node.service.createClassifier(params, function(err, body) {
388-
if (err) {
389-
reject(err);
390-
} else {
391-
resolve(body);
392-
}
393-
});
394-
395-
});
396-
return p;
397-
}
398-
399-
function invokeUpdateClassifier(node, params, msg) {
400-
var p = new Promise(function resolver(resolve, reject) {
401-
params['classifier_id'] = msg.params['classifier_id'];
402-
node.service.updateClassifier(params, function(err, body) {
403-
if (err) {
404-
reject(err);
405-
} else {
406-
resolve(body);
407-
}
408-
});
409-
410-
});
411-
return p;
412-
}
413-
414-
function invokeListClassifiers(node, params) {
415-
var p = new Promise(function resolver(resolve, reject) {
416-
node.service.listClassifiers(params, function(err, body) {
417-
if (err) {
418-
reject(err);
419-
} else {
420-
resolve(body);
421-
}
422-
});
423-
});
424-
return p;
425-
}
426-
427-
function invokeGetClassifier(node, params, msg) {
396+
function invokeClassifierMethod(node, params, method) {
428397
var p = new Promise(function resolver(resolve, reject) {
429-
params['classifier_id'] = msg.params['classifier_id'];
430-
node.service.getClassifier(params, function(err, body) {
398+
node.service[method](params, function(err, body) {
431399
if (err) {
432400
reject(err);
433401
} else {
434402
resolve(body);
435403
}
436404
});
437-
});
438-
return p;
439-
}
440405

441-
function invokeDeleteClassifier(node, params, msg) {
442-
var p = new Promise(function resolver(resolve, reject) {
443-
params['classifier_id'] = msg.params['classifier_id'];
444-
node.service.deleteClassifier(params, function(err, body) {
445-
if (err) {
446-
reject(err);
447-
} else {
448-
resolve(body);
449-
}
450-
});
451406
});
452407
return p;
453408
}
454409

455410
function executeCreateClassifier(params, node, msg) {
456411
var p = prepareParamsClassifierFiles(params, node, msg)
457412
.then(function() {
458-
return invokeCreateClassifier(node, params);
413+
return invokeClassifierMethod(node, params, METHODS.CREATECLASSIFER);
459414
});
460415

461416
return p;
@@ -466,7 +421,7 @@ module.exports = function(RED) {
466421
// are essentially the same.
467422
var p = prepareParamsClassifierFiles(params, node, msg)
468423
.then(function() {
469-
return invokeUpdateClassifier(node, params, msg);
424+
return invokeClassifierMethod(node, params, METHODS.UPDATECLASSIFIER);
470425
});
471426

472427
return p;
@@ -490,25 +445,13 @@ module.exports = function(RED) {
490445
break;
491446

492447
case 'retrieveClassifiersList':
493-
p = invokeListClassifiers(node, params)
494-
.then(function(body) {
495-
return processTheResponse(body, feature, node, msg);
496-
});
497-
break;
498-
499448
case 'retrieveClassifierDetails':
500-
p = invokeGetClassifier(node, params, msg)
501-
.then(function(body) {
502-
return processTheResponse(body, feature, node, msg);
503-
});
504-
break;
505-
506449
case 'deleteClassifier':
507-
p = invokeDeleteClassifier(node, params, msg)
450+
p = invokeClassifierMethod(node, params, METHODS[feature])
508451
.then(function(body) {
509452
return processTheResponse(body, feature, node, msg);
510453
});
511-
break;
454+
break;
512455

513456
case 'deleteAllClassifiers':
514457
p = performDeleteAllClassifiers(params, node, msg);
@@ -530,6 +473,9 @@ module.exports = function(RED) {
530473
return executeService(feature, params, node, msg);
531474
//return Promise.resolve();
532475
} else {
476+
if (msg.params && msg.params['classifier_id']) {
477+
params['classifier_id'] = msg.params['classifier_id'];
478+
}
533479
return executeUtilService(feature, params, node, msg);
534480
// return Promise.resolve();
535481
}

0 commit comments

Comments
 (0)