Bug 180249 BPS39 - Centralized Chart Engine API
Centralized and clearer Engine API -Create one single entry point class ChartEngine in an api package so it's easy to find (with access to IGenerator, Serializer, Device Renderers) -Create a new IGenerator interface instead of exposing the Generator class.
chart/org.eclipse.birt.chart.engine/src/org/eclipse/birt/chart/factory/Generator.java
icsc = csc;
		}
		else if ( icsc instanceof ChartScriptContext )
		{
			
			( (ChartScriptContext) icsc ).setLogger( logger );
		}
		if ( externalContext != null && icsc instanceof ChartScriptContext )
		{
			( (ChartScriptContext) icsc ).setExternalContext( externalContext );
		}
		final Chart cmRunTime = icsc.getChartInstance( );
		
		prepareStyles( cmRunTime, externalProcessor );
		
		ScriptHandler sh = rtc.getScriptHandler( );
		if ( sh == null ) 
		
		{
			sh = new ScriptHandler( );
			rtc.setScriptHandler( sh );
			sh.setScriptClassLoader( rtc.getScriptClassLoader( ) );
			sh.setScriptContext( icsc );
			final String sScriptContent = cmRunTime.getScript( );
			if ( externalContext != null
					&& externalContext.getScriptable( ) != null )
			{
				sh.init( externalContext.getScriptable( ) );
			}
			else