 nsObj = dojo.ns.require(ns); if((nsObj)&&(nsObj.resolver)){ nsObj.resolve(widgetName); impl = findImplementation(lowerCaseWidgetName, nsObj.module); if(impl){return(imps[lowerCaseWidgetName] = impl)}; }   dojo.deprecated('dojo.widget.Manager.getImplementationName', 'Could not locate widget implementation for "' + widgetName + '" in "' + nsObj.module + '" registered to namespace "' + nsObj.name + '". ' + "Developers must specify correct namespaces for all non-Dojo widgets", "0.5"); 
 if(nsObj){nsObj.resolve(widgetName);} 
	this.getImplementationName = function(widgetName, ns){		/*		 * Locate an implementation (constructor) for 'widgetName' in namespace 'ns' 		 * widgetNames are case INSENSITIVE		 * 		 * 1. Return value from implementation cache, if available, for quick turnaround.		 * 2. Locate a namespace registration for 'ns'		 * 3. If no namespace found, register the conventional one (ns.widget)		 * 4. Allow the namespace resolver (if any) to load a module for this widget.		 * 5. Permute the widget name and capable rendering prefixes to locate, cache, and return 		 *    an appropriate widget implementation.		 * 6. If no implementation is found, attempt to load the namespace manifest,		 *    and then look again for an implementation to cache and return.		 * 7. Use the deprecated widgetPackages registration system to attempt to locate the widget		 * 8. Fail		 */		var lowerCaseWidgetName = widgetName.toLowerCase();		// default to dojo namespace		ns=ns||"dojo";		// use cache if available		var imps = knownWidgetImplementations[ns] || (knownWidgetImplementations[ns]={});		//if(!knownWidgetImplementations[ns]){knownWidgetImplementations[ns]={};}		var impl = imps[lowerCaseWidgetName];		if(impl){			return impl;		}				// (one time) store a list of the render prefixes we are capable of rendering		if(!renderPrefixCache.length){			buildPrefixCache();		}		// lookup namespace		var nsObj = dojo.ns.get(ns);		if(!nsObj){			// default to <ns>.widget by convention			dojo.ns.register(ns, ns + '.widget');			nsObj = dojo.ns.get(ns);		}				// allow the namespace to resolve the widget module		if(nsObj){nsObj.resolve(widgetName);}		// locate a widget implementation in the registered module for our current rendering environment		impl = findImplementation(lowerCaseWidgetName, nsObj.module);		if(impl){return(imps[lowerCaseWidgetName] = impl)};		// try to load a manifest to resolve this implemenation		nsObj = dojo.ns.require(ns);		if((nsObj)&&(nsObj.resolver)){			nsObj.resolve(widgetName);			impl = findImplementation(lowerCaseWidgetName, nsObj.module);			if(impl){return(imps[lowerCaseWidgetName] = impl)};		}			// this is an error condition under new rules		dojo.deprecated('dojo.widget.Manager.getImplementationName', 			'Could not locate widget implementation for "' + widgetName + '" in "' + nsObj.module + '" registered to namespace "' + nsObj.name + '". '													+ "Developers must specify correct namespaces for all non-Dojo widgets", "0.5");		// backward compat: if the user has not specified any namespace and their widget is not in dojo.widget.*		// search registered widget packages [sic]		// note: registerWidgetPackage itself is now deprecated 		for(var i=0; i<widgetPackages.length; i++){			impl = findImplementation(lowerCaseWidgetName, widgetPackages[i]);			if(impl){return(imps[lowerCaseWidgetName] = impl)};		}				throw new Error('Could not locate widget implementation for "' + widgetName + '" in "' + nsObj.module + '" registered to namespace "' + nsObj.name + '"');	}
6315	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/6315/2f1d2cb699c9d9329e8b782b0463156e211cb0f6/struts_dojo.js.uncompressed.js/buggy/src/main/resources/org/apache/struts2/static/dojo/struts_dojo.js.uncompressed.js