src/sap.ui.support/src/sap/ui/support/supportRules/report/ReportProvider.js
function getReportHtml(oData) {
		return getResources().then(function () {
			var styles = [],
				scripts = [],
				html = '',
				i,
				template = {},
				reportContext = {};

			for (i = 0; i < arguments.length; i++) {
				switch (arguments[i].type) {
					case 'template': html = arguments[i].content; break;
					case 'css': styles.push(arguments[i].content); break;
					case 'js': scripts.push(arguments[i].content); break;
				}
			}

			template = Handlebars.compile(html);

			reportContext = {
				technicalInfo: oData.technical,
				issues: oData.issues,
				appInfo: oData.application,
				rules: oData.rules,
				rulePreset: oData.rulePreset,
				metadata: {
					title: oData.name + ' Analysis Results',
					title_TechnicalInfo: 'Technical Information',
					title_Issues: 'Issues',
					title_AppInfo: 'Application Information',
					title_SelectedRules: 'Available and (<span class="checked"></span>) Selected Rules',
					timestamp: new Date(),
					scope: oData.scope,
					analysisDuration: oData.analysisDuration,
					analysisDurationTitle: oData.analysisDurationTitle,
					styles: styles,
					scripts: scripts
				}
			};

			return template(reportContext);
		});
	}
function getReportHtml(oData) {
		return getResources().then(function () {
			var styles = [],
				scripts = [],
				html = '',
				i,
				template = {},
				reportContext = {};

			for (i = 0; i < arguments.length; i++) {
				switch (arguments[i].type) {
					case 'template': html = arguments[i].content; break;
					case 'css': styles.push(arguments[i].content); break;
					case 'js': scripts.push(arguments[i].content); break;
				}
			}

			template = Handlebars.compile(html);

			reportContext = {
				technicalInfo: oData.technical,
				issues: oData.issues,
				appInfo: oData.application,
				rules: oData.rules,
				rulePreset: oData.rulePreset,
				metadata: {
					title: oData.name + ' Analysis Results',
					title_TechnicalInfo: 'Technical Information',
					title_Issues: 'Issues',
					title_AppInfo: 'Application Information',
					title_SelectedRules: 'Available and (<span class="checked"></span>) Selected Rules',
					timestamp: new Date(),
					scope: oData.scope,
					analysisDuration: oData.analysisDuration,
					analysisDurationTitle: oData.analysisDurationTitle,
					styles: styles,
					scripts: scripts
				}
			};

			return template(reportContext);
		});
	}
function getReportHtml ( oData ) { return getResources ( ) . then ( function ( ) { var styles = [ ] , scripts = [ ] , html = '' , i , template = { } , reportContext = { } ; for ( i = 0 ; i < arguments . length ; i ++ ) { switch ( arguments [ i ] . type ) { case 'template' : html = arguments [ i ] . content ; break ; case 'css' : styles . push ( arguments [ i ] . content ) ; break ; case 'js' : scripts . push ( arguments [ i ] . content ) ; break ; } } template = Handlebars . compile ( html ) ; reportContext = { technicalInfo : oData . technical , issues : oData . issues , appInfo : oData . application , rules : oData . rules , rulePreset : oData . rulePreset , metadata : { title : oData . name + ' Analysis Results' , title_TechnicalInfo : 'Technical Information' , title_Issues : 'Issues' , title_AppInfo : 'Application Information' , title_SelectedRules : 'Available and (<span class="checked"></span>) Selected Rules' , timestamp : new Date ( ) , scope : oData . scope , analysisDuration : oData . analysisDuration , analysisDurationTitle : oData . analysisDurationTitle , styles : styles , scripts : scripts } } ; return template ( reportContext ) ; } ) ; }
Public functions 
Creates an html string containing the whole report.
@param {Object} oData - the data required to create a report
@returns {String}
Public functions Creates an html string containing the whole report .