Bug 210156 logger.entering methods causing NullPointerExceptions
Build ID: M20071023-1652 Steps To Reproduce: Run reports setting the birtReportEngine.changeLogLevel to Level.Fine More information: Line 46 of org.eclipse.birt.data.engine.impl.aggregation.AggregateTable goes like this: logger.entering( AggregateTable.class.getName( ), "AggregateTable", null ); This throws a null pointer exception in java.util.Logger.entering(String sourceClass, String sourceMethod, Object params[]) (Sun's j2sdk1.4.2_16) The expectation may have been that this would call the method with just Object param (as opposed to Object[] params). The fix would be to use the entering(String sourceClass, String sourceMethod) instead. Other Files that have this issue: Searching with this regexp: logger.entering\([^,;]*[\n]*,[\n]*[^,;]*[\n]*,[\n]*[^,;]*null there seem to be a couple more: 1. org.eclipse.birt.data.engine.impl.DataEngineImpl.defineDataSet( IBaseDataSetDesign dataSet ) 2. org.eclipse.birt.data.engine.impl.DataEngineImpl.defineDataSource( IBaseDataSourceDesign dataSource ) 3.
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/impl/DataEngineImpl.java
{
			DataSourceRuntime ds = (DataSourceRuntime) it.next( );
			try
			{
				closeDataSource( ds );
			}
			catch ( DataException e )
			{
				if ( logger.isLoggable( Level.FINE ) )
					logger.log( Level.FINE, "The data source ("
							+ ds + ") fails to shut down", e );
			}
		}
		
		this.dataSourceManager.close( );
		
		logger.logp( Level.INFO,
				DataEngineImpl.class.getName( ),
				"shutdown",
				"Data engine shuts down" );
		dataSetDesigns = null;
		dataSources = null;
		clearTempFile( );
		logger.exiting( DataEngineImpl.class.getName( ), "shutdown" );
	}
	
	private void clearTempFile( )
	{
		File tmpDir = new File( context.getTmpdir( ) + this.hashCode( ) );
		if( !tmpDir.exists( ) || !tmpDir.isDirectory( ))