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
import org.eclipse.birt.data.engine.api.IPreparedQuery;
import org.eclipse.birt.data.engine.api.IQueryDefinition;
import org.eclipse.birt.data.engine.api.IQueryResults;
import org.eclipse.birt.data.engine.api.IResultMetaData;
import org.eclipse.birt.data.engine.api.IScriptDataSetDesign;
import org.eclipse.birt.data.engine.api.IScriptDataSourceDesign;
import org.eclipse.birt.data.engine.api.IShutdownListener;
import org.eclipse.birt.data.engine.core.DataException;
import org.eclipse.birt.data.engine.executor.DataSetCacheManager;
import org.eclipse.birt.data.engine.i18n.ResourceConstants;
import org.eclipse.birt.data.engine.impl.document.QueryResults;
import org.eclipse.birt.data.engine.olap.api.IPreparedCubeQuery;
import org.eclipse.birt.data.engine.olap.api.query.ICubeQueryDefinition;
import org.eclipse.birt.data.engine.olap.impl.query.PreparedCubeQuery;
import org.eclipse.birt.data.engine.script.JSDataSources;
import org.mozilla.javascript.Scriptable;
/**
 * Implementation of DataEngine class
 */
public class DataEngineImpl extends DataEngine
{
	
	private HashMap					dataSources = new HashMap();
	
	
	private HashMap					dataSetDesigns = new HashMap();
	
	
	private Scriptable				dataSourcesJSObject;