diff options
Diffstat (limited to 'dgbuilder/red/nodes/index.js')
-rw-r--r-- | dgbuilder/red/nodes/index.js | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/dgbuilder/red/nodes/index.js b/dgbuilder/red/nodes/index.js deleted file mode 100644 index 3d5ad719..00000000 --- a/dgbuilder/red/nodes/index.js +++ /dev/null @@ -1,134 +0,0 @@ -/** - * Copyright 2013, 2014 IBM Corp. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - **/ -var registry = require("./registry"); -var credentials = require("./credentials"); -var flows = require("./flows"); -var Node = require("./Node"); - -/** - * Registers a node constructor - * @param type - the string type name - * @param constructor - the constructor function for this node type - * @param opts - optional additional options for the node - */ -function registerType(type,constructor,opts) { - if (opts && opts.credentials) { - credentials.register(type,opts.credentials); - } - registry.registerType(type,constructor); -} - -/** - * Called from a Node's constructor function, invokes the super-class - * constructor and attaches any credentials to the node. - * @param node the node object being created - * @param def the instance definition for the node - */ -function createNode(node,def) { - Node.call(node,def); - var creds = credentials.get(node.id); - if (creds) { - node.credentials = creds; - } -} - -function init(_settings,storage) { - credentials.init(storage); - flows.init(storage); - registry.init(_settings); -} - -function checkTypeInUse(id) { - var nodeInfo = registry.getNodeInfo(id); - if (!nodeInfo) { - throw new Error("Unrecognised id: "+info); - } - var inUse = {}; - flows.each(function(n) { - inUse[n.type] = (inUse[n.type]||0)+1; - }); - var nodesInUse = []; - nodeInfo.types.forEach(function(t) { - if (inUse[t]) { - nodesInUse.push(t); - } - }); - if (nodesInUse.length > 0) { - var msg = nodesInUse.join(", "); - throw new Error("Type in use: "+msg); - } -} - -function removeNode(id) { - checkTypeInUse(id); - return registry.removeNode(id); -} - -function removeModule(module) { - var info = registry.getNodeModuleInfo(module); - for (var i=0;i<info.nodes.length;i++) { - checkTypeInUse(info.nodes[i]); - } - return registry.removeModule(module); -} - - -function disableNode(id) { - checkTypeInUse(id); - return registry.disableNode(id); -} - -module.exports = { - // Lifecycle - init: init, - load: registry.load, - - // Node registry - createNode: createNode, - getNode: flows.get, - - addNode: registry.addNode, - removeNode: removeNode, - - addModule: registry.addModule, - removeModule: removeModule, - - enableNode: registry.enableNode, - disableNode: disableNode, - - // Node type registry - registerType: registerType, - getType: registry.get, - getNodeInfo: registry.getNodeInfo, - getNodeModuleInfo: registry.getNodeModuleInfo, - getNodeList: registry.getNodeList, - getNodeConfigs: registry.getNodeConfigs, - getNodeConfig: registry.getNodeConfig, - clearRegistry: registry.clear, - cleanNodeList: registry.cleanNodeList, - - // Flow handling - loadFlows: flows.load, - stopFlows: flows.stopFlows, - setFlows: flows.setFlows, - getFlows: flows.getFlows, - - // Credentials - addCredentials: credentials.add, - getCredentials: credentials.get, - deleteCredentials: credentials.delete -} - |