diff --git a/server/web3dbspider/services/events/factory.js b/server/web3dbspider/services/events/factory.js index 392df4c..9f90965 100644 --- a/server/web3dbspider/services/events/factory.js +++ b/server/web3dbspider/services/events/factory.js @@ -1,4 +1,26 @@ -function getEventHandle() { +const events = {}; + +async function internalAdd(clsName, modName) { + const modClass = require('./' + modName); + events[clsName] = { + 'clsName': clsName, + 'modName': modName, + 'class': modClass, + }; + if (modClass.staticInit) { + await modClass.staticInit(); + } +} + +async function add(clsName, modName) { + await internalAdd(clsName, modName); +} + +async function init() { + +} + +function getEventHandle(eventProc) { } @@ -6,5 +28,6 @@ function createEventHandle(eventProc, eventHandle) { } +exports.init = init; exports.getEventHandle = getEventHandle; exports.createEventHandle = createEventHandle; diff --git a/server/web3dbspider/services/factory.js b/server/web3dbspider/services/factory.js index 527e703..0815c6f 100644 --- a/server/web3dbspider/services/factory.js +++ b/server/web3dbspider/services/factory.js @@ -1,3 +1,4 @@ +const eventsFactory = require('./events/factory'); const services = {}; async function internalAdd(clsName, modName, isSingle) { @@ -24,6 +25,7 @@ async function addSingle(clsName, modName) { async function init() { await add(['PullDbEvent'], 'pull_dbevent'); await add(['DbEventProcess'], 'dbevent_process'); + await eventsFactory.init(); } function create(name, session = null) {