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
* plan generation must be deferred 
	 * to execution time since necessary result set metadata 
	 * might not be available at Prepare time.
	 * @param	querySpec	An IReportQueryDefn object that specifies
	 * 				the data access and data transforms services
	 * 				needed from DtE to produce a set of query results.
	 * @return		The PreparedQuery object that contains a prepared 
	 * 				ReportQuery ready for execution.
	 * @throws 		DataException if error occurs in Data Engine
	 */
	public IPreparedQuery prepare( IQueryDefinition querySpec )
		throws DataException
	{
	    return prepare( querySpec, null );
	}
	/*
	 * If user wants to use data set cache option, this method should be called
	 * to pass cache option information from the upper layer.
	 * 
	 * @see org.eclipse.birt.data.engine.api.DataEngine#prepare(org.eclipse.birt.data.engine.api.IQueryDefinition,
	 *      java.util.Map)
	 */
	public IPreparedQuery prepare( IQueryDefinition querySpec,
	        						Map appContext )
		throws DataException
	{
		if ( logger.isLoggable( Level.FINER ) )
			logger.entering( DataEngineImpl.class.getName( ),
					"prepare",
					LogUtil.toString( querySpec ) );