diff options
Diffstat (limited to 'js/src/Ice/ServantManager.js')
-rw-r--r-- | js/src/Ice/ServantManager.js | 478 |
1 files changed, 239 insertions, 239 deletions
diff --git a/js/src/Ice/ServantManager.js b/js/src/Ice/ServantManager.js index fef9f26c0e2..816b78a2489 100644 --- a/js/src/Ice/ServantManager.js +++ b/js/src/Ice/ServantManager.js @@ -7,94 +7,55 @@ // // ********************************************************************** -(function(global){ - require("Ice/Class"); - require("Ice/Debug"); - require("Ice/ExUtil"); - require("Ice/HashMap"); - require("Ice/LocalException"); - require("Ice/StringUtil"); +var Ice = require("../Ice/ModuleRegistry").Ice; +Ice.__M.require(module, "Ice", + [ + "../Ice/Class", + "../Ice/Debug", + "../Ice/ExUtil", + "../Ice/HashMap", + "../Ice/LocalException", + "../Ice/StringUtil" + ]); + +var Debug = Ice.Debug; +var ExUtil = Ice.ExUtil; +var HashMap = Ice.HashMap; +var StringUtil = Ice.StringUtil; - var Ice = global.Ice || {}; - - var Debug = Ice.Debug; - var ExUtil = Ice.ExUtil; - var HashMap = Ice.HashMap; - var StringUtil = Ice.StringUtil; - - // - // Only for use by Ice.ObjectAdatperI. - // - var ServantManager = Ice.Class({ - __init__: function(instance, adapterName) - { - this._instance = instance; - this._adapterName = adapterName; - this._servantMapMap = new HashMap(); // Map<Ice.Identity, Map<String, Ice.Object> > - this._servantMapMap.keyComparator = HashMap.compareEquals; - this._defaultServantMap = new HashMap(); // Map<String, Ice.Object> - this._locatorMap = new HashMap(); // Map<String, Ice.ServantLocator> - }, - addServant: function(servant, ident, facet) +// +// Only for use by Ice.ObjectAdatperI. +// +var ServantManager = Ice.Class({ + __init__: function(instance, adapterName) + { + this._instance = instance; + this._adapterName = adapterName; + this._servantMapMap = new HashMap(); // Map<Ice.Identity, Map<String, Ice.Object> > + this._servantMapMap.keyComparator = HashMap.compareEquals; + this._defaultServantMap = new HashMap(); // Map<String, Ice.Object> + this._locatorMap = new HashMap(); // Map<String, Ice.ServantLocator> + }, + addServant: function(servant, ident, facet) + { + Debug.assert(this._instance !== null); // Must not be called after destruction. + + if(facet === null) { - Debug.assert(this._instance !== null); // Must not be called after destruction. - - if(facet === null) - { - facet = ""; - } - - var m = this._servantMapMap.get(ident); - if(m === undefined) - { - m = new HashMap(); - this._servantMapMap.set(ident, m); - } - else - { - if(m.has(facet)) - { - var ex = new Ice.AlreadyRegisteredException(); - ex.id = this._instance.identityToString(ident); - ex.kindOfObject = "servant"; - if(facet.length > 0) - { - ex.id += " -f " + StringUtil.escapeString(facet, ""); - } - throw ex; - } - } + facet = ""; + } - m.set(facet, servant); - }, - addDefaultServant: function(servant, category) + var m = this._servantMapMap.get(ident); + if(m === undefined) { - Debug.assert(this._instance !== null); // Must not be called after destruction - - var obj = this._defaultServantMap.get(category); - if(obj !== undefined) - { - var ex = new Ice.AlreadyRegisteredException(); - ex.kindOfObject = "default servant"; - ex.id = category; - throw ex; - } - - this._defaultServantMap.set(category, servant); - }, - removeServant: function(ident, facet) + m = new HashMap(); + this._servantMapMap.set(ident, m); + } + else { - Debug.assert(this._instance !== null); // Must not be called after destruction. - - if(facet === null) + if(m.has(facet)) { - facet = ""; - } - - var m = this._servantMapMap.get(ident); - if(m === undefined || !m.has(facet)) - { - var ex = new Ice.NotRegisteredException(); + var ex = new Ice.AlreadyRegisteredException(); ex.id = this._instance.identityToString(ident); ex.kindOfObject = "servant"; if(facet.length > 0) @@ -103,195 +64,234 @@ } throw ex; } + } - var obj = m.get(facet); - m.delete(facet); + m.set(facet, servant); + }, + addDefaultServant: function(servant, category) + { + Debug.assert(this._instance !== null); // Must not be called after destruction - if(m.size === 0) - { - this._servantMapMap.delete(ident); - } - - return obj; - }, - removeDefaultServant: function(category) + var obj = this._defaultServantMap.get(category); + if(obj !== undefined) { - Debug.assert(this._instance !== null); // Must not be called after destruction. + var ex = new Ice.AlreadyRegisteredException(); + ex.kindOfObject = "default servant"; + ex.id = category; + throw ex; + } - var obj = this._defaultServantMap.get(category); - if(obj === undefined) - { - var ex = new Ice.NotRegisteredException(); - ex.kindOfObject = "default servant"; - ex.id = category; - throw ex; - } + this._defaultServantMap.set(category, servant); + }, + removeServant: function(ident, facet) + { + Debug.assert(this._instance !== null); // Must not be called after destruction. - this._defaultServantMap.delete(category); - return obj; - }, - removeAllFacets: function(ident) + if(facet === null) { - Debug.assert(this._instance !== null); // Must not be called after destruction. + facet = ""; + } - var m = this._servantMapMap.get(ident); - if(m === undefined) + var m = this._servantMapMap.get(ident); + if(m === undefined || !m.has(facet)) + { + var ex = new Ice.NotRegisteredException(); + ex.id = this._instance.identityToString(ident); + ex.kindOfObject = "servant"; + if(facet.length > 0) { - var ex = new Ice.NotRegisteredException(); - ex.id = this._instance.identityToString(ident); - ex.kindOfObject = "servant"; - throw ex; + ex.id += " -f " + StringUtil.escapeString(facet, ""); } + throw ex; + } - this._servantMapMap.delete(ident); + var obj = m.get(facet); + m.delete(facet); - return m; - }, - findServant: function(ident, facet) + if(m.size === 0) { - // - // This assert is not valid if the adapter dispatch incoming - // requests from bidir connections. This method might be called if - // requests are received over the bidir connection after the - // adapter was deactivated. - // - //Debug.assert(this._instance !== null); // Must not be called after destruction. - - if(facet === null) - { - facet = ""; - } + this._servantMapMap.delete(ident); + } - var m = this._servantMapMap.get(ident); - var obj = null; - if(m === undefined) - { - obj = this._defaultServantMap.get(ident.category); - if(obj === undefined) - { - obj = this._defaultServantMap.get(""); - } - } - else - { - obj = m.get(facet); - } + return obj; + }, + removeDefaultServant: function(category) + { + Debug.assert(this._instance !== null); // Must not be called after destruction. - return obj === undefined ? null : obj; - }, - findDefaultServant: function(category) + var obj = this._defaultServantMap.get(category); + if(obj === undefined) { - Debug.assert(this._instance !== null); // Must not be called after destruction. + var ex = new Ice.NotRegisteredException(); + ex.kindOfObject = "default servant"; + ex.id = category; + throw ex; + } + + this._defaultServantMap.delete(category); + return obj; + }, + removeAllFacets: function(ident) + { + Debug.assert(this._instance !== null); // Must not be called after destruction. - var ds = this._defaultServantMap.get(category); - return ds === undefined ? null : ds; - }, - findAllFacets: function(ident) + var m = this._servantMapMap.get(ident); + if(m === undefined) { - Debug.assert(this._instance !== null); // Must not be called after destruction. + var ex = new Ice.NotRegisteredException(); + ex.id = this._instance.identityToString(ident); + ex.kindOfObject = "servant"; + throw ex; + } - var m = this._servantMapMap.get(ident); - if(m !== undefined) - { - return m.clone(); - } + this._servantMapMap.delete(ident); + + return m; + }, + findServant: function(ident, facet) + { + // + // This assert is not valid if the adapter dispatch incoming + // requests from bidir connections. This method might be called if + // requests are received over the bidir connection after the + // adapter was deactivated. + // + //Debug.assert(this._instance !== null); // Must not be called after destruction. - return new HashMap(); - }, - hasServant: function(ident) + if(facet === null) { - // - // This assert is not valid if the adapter dispatch incoming - // requests from bidir connections. This method might be called if - // requests are received over the bidir connection after the - // adapter was deactivated. - // - //Debug.assert(this._instance !== null); // Must not be called after destruction. - - var m = this._servantMapMap.get(ident); - if(m === undefined) - { - return false; - } - else + facet = ""; + } + + var m = this._servantMapMap.get(ident); + var obj = null; + if(m === undefined) + { + obj = this._defaultServantMap.get(ident.category); + if(obj === undefined) { - Debug.assert(m.size > 0); - return true; + obj = this._defaultServantMap.get(""); } - }, - addServantLocator: function(locator, category) + } + else { - Debug.assert(this._instance !== null); // Must not be called after destruction. + obj = m.get(facet); + } - var l = this._locatorMap.get(category); - if(l !== undefined) - { - var ex = new Ice.AlreadyRegisteredException(); - ex.id = StringUtil.escapeString(category, ""); - ex.kindOfObject = "servant locator"; - throw ex; - } + return obj === undefined ? null : obj; + }, + findDefaultServant: function(category) + { + Debug.assert(this._instance !== null); // Must not be called after destruction. + + var ds = this._defaultServantMap.get(category); + return ds === undefined ? null : ds; + }, + findAllFacets: function(ident) + { + Debug.assert(this._instance !== null); // Must not be called after destruction. + + var m = this._servantMapMap.get(ident); + if(m !== undefined) + { + return m.clone(); + } - this._locatorMap.set(category, locator); - }, - removeServantLocator: function(category) + return new HashMap(); + }, + hasServant: function(ident) + { + // + // This assert is not valid if the adapter dispatch incoming + // requests from bidir connections. This method might be called if + // requests are received over the bidir connection after the + // adapter was deactivated. + // + //Debug.assert(this._instance !== null); // Must not be called after destruction. + + var m = this._servantMapMap.get(ident); + if(m === undefined) { - Debug.assert(this._instance !== null); // Must not be called after destruction. + return false; + } + else + { + Debug.assert(m.size > 0); + return true; + } + }, + addServantLocator: function(locator, category) + { + Debug.assert(this._instance !== null); // Must not be called after destruction. - var l = this._locatorMap.get(category); - if(l === undefined) - { - var ex = new Ice.NotRegisteredException(); - ex.id = StringUtil.escapeString(category, ""); - ex.kindOfObject = "servant locator"; - throw ex; - } - this._locatorMap.delete(category); - return l; - }, - findServantLocator: function(category) + var l = this._locatorMap.get(category); + if(l !== undefined) + { + var ex = new Ice.AlreadyRegisteredException(); + ex.id = StringUtil.escapeString(category, ""); + ex.kindOfObject = "servant locator"; + throw ex; + } + + this._locatorMap.set(category, locator); + }, + removeServantLocator: function(category) + { + Debug.assert(this._instance !== null); // Must not be called after destruction. + + var l = this._locatorMap.get(category); + if(l === undefined) { - // - // This assert is not valid if the adapter dispatch incoming - // requests from bidir connections. This method might be called if - // requests are received over the bidir connection after the - // adapter was deactivated. - // - //Debug.assert(this._instance !== null); // Must not be called after destruction. - - var l = this._locatorMap.get(category); - return l === undefined ? null : l; - }, + var ex = new Ice.NotRegisteredException(); + ex.id = StringUtil.escapeString(category, ""); + ex.kindOfObject = "servant locator"; + throw ex; + } + this._locatorMap.delete(category); + return l; + }, + findServantLocator: function(category) + { // - // Only for use by Ice.ObjectAdapterI. + // This assert is not valid if the adapter dispatch incoming + // requests from bidir connections. This method might be called if + // requests are received over the bidir connection after the + // adapter was deactivated. // - destroy: function() - { - Debug.assert(this._instance !== null); // Must not be called after destruction. - var logger = this._instance.initializationData().logger; - this._servantMapMap.clear(); + //Debug.assert(this._instance !== null); // Must not be called after destruction. - var locatorMap = this._locatorMap.clone(); - this._locatorMap.clear(); - this._instance = null; + var l = this._locatorMap.get(category); + return l === undefined ? null : l; + }, + // + // Only for use by Ice.ObjectAdapterI. + // + destroy: function() + { + Debug.assert(this._instance !== null); // Must not be called after destruction. + var logger = this._instance.initializationData().logger; + this._servantMapMap.clear(); - for(var e = locatorMap.entries; e !== null; e = e.next) + var locatorMap = this._locatorMap.clone(); + this._locatorMap.clear(); + this._instance = null; + + for(var e = locatorMap.entries; e !== null; e = e.next) + { + var locator = e.value; + try { - var locator = e.value; - try - { - locator.deactivate(e.key); - } - catch(ex) - { - var s = "exception during locator deactivation:\n" + "object adapter: `" + this._adapterName + - "'\n" + "locator category: `" + e.key + "'\n" + ExUtil.toString(ex); - logger.error(s); - } + locator.deactivate(e.key); + } + catch(ex) + { + var s = "exception during locator deactivation:\n" + "object adapter: `" + this._adapterName + + "'\n" + "locator category: `" + e.key + "'\n" + ExUtil.toString(ex); + logger.error(s); } } - }); - - Ice.ServantManager = ServantManager; - global.Ice = Ice; -}(typeof (global) === "undefined" ? window : global)); + } +}); + +Ice.ServantManager = ServantManager; +module.exports.Ice = Ice; |