Bug 190092 NPE throws out in preview when left one requied column member value empty[1102]
Description: NPE throws out in preview when left one requied column member value empty. Build number: 2.2.0.v20070531-0630 Steps to reproduce: 1, New a crosstab 2, Specify the filter 3, Specify the target level, filter condition 4, If there are some column member value, such as year, quarter and month. Only specify year and quarter. 5, Preview(or preview the attached report design) Expected result: No NPE throws out. And suggestion is we can do some restrict in GUI, if the we don't specify all the member value the GUI don't allow user left the page. But DATA part should handle the NPE exception Actual result: NPE throws out Error log: org.eclipse.birt.report.service.api.ReportServiceException: Error happened while running the report; nested exception is: java.lang.NullPointerException org.eclipse.birt.data.engine.olap.data.impl.dimension.DimensionFilterHelper.find(DimensionFilterHelper.java:69) org.eclipse.birt.data.engine.olap.data.impl.dimension.DimensionFilterHelper.find(DimensionFilterHelper.java:45) org.eclipse.birt.data.engine.olap.data.impl.dimension.Dimension.find(Dimension.java:165) org.eclipse.birt.data.engine.olap.data.api.CubeQueryExecutorHelper.getSimpleFilterResult(CubeQueryExecutorHelper.java:1397) org.eclipse.birt.data.engine.olap.data.api.CubeQueryExecutorHelper.getFilterResult(CubeQueryExecutorHelper.java:1280) org.eclipse.birt.data.engine.olap.data.api.CubeQueryExecutorHelper.onePassExecute(CubeQueryExecutorHelper.java:552) org.eclipse.birt.data.engine.olap.data.api.CubeQueryExecutorHelper.applyAggrFilter(CubeQueryExecutorHelper.java:503) org.eclipse.birt.data.engine.olap.data.api.CubeQueryExecutorHelper.execute(CubeQueryExecutorHelper.java:299)
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/i18n/ResourceConstants.java
public final static String MATCH_ERROR = "data.engine.MatchError";
	public final static String UNSUPPORTED_DATA_TYPE = "data.engine.BadOperandType";
	
	public final static String BAD_PARAM_COUNT = "data.engine.BadParameterCount";
	public final static String BAD_PARAM_TYPE = "data.engine.BadParameterType";
	public final static String NO_SOLUTION_FOUND = "data.engine.NoIrrSolution";
	public final static String EXPECT_BOOLEAN_RETURN_TYPE = "data.engine.BadFetchScriptReturnType";
	public final static String BAD_INTERVAL_UNIT = "data.engine.BadIntervalUnit";
	public final static String INVALID_FIELD_NAME = "data.engine.InvalidFieldName";
	public final static String BAD_GROUP_KEY_TYPE = "data.engine.BadGroupKeyType";
	public final static String BAD_GROUP_INTERVAL_TYPE = "data.engine.group.interval";
	public final static String BAD_GROUP_INTERVAL_TYPE_ROWID = "data.engine.group.interval.Rowid";
	public final static String BAD_GROUP_INTERVAL_INVALID = "data.engine.group.interval.invalid";
	public final static String UNSUPPORTED_FILTER_ON_GROUP="data.engine.NoSupportFilterOnGroup";
	public final static String INVALID_TOP_BOTTOM_ARGUMENT="data.engine.InvalidTopBottomArgument";
	public final static String INVALID_TOP_BOTTOM_N_ARGUMENT="data.engine.InvalidTopBottomNArgument";
	public final static String INVALID_TOP_BOTTOM_PERCENT_ARGUMENT="data.engine.InvalidTopBottomPercentArgument";
	public final static String INVALID_TOP_BOTTOM_N="data.engine.InvalidTopBottomN";
	public final static String INVALID_PERCENTILE_ARGUMENT="data.engine.InvalidPercentileArgument";
	public final static String INVALID_QUARTILE_ARGUMENT="data.engine.InvalidQuartileArgument";
	
	public final static String ILLEGAL_PARAMETER_FUN = "data.engine.BadAggrFuncParam";
	public final static String RESET_RATE = "data.engine.ResetRateGuess";
	public final static String UNSUPPORTTED_COND_OPERATOR = "data.engine.UnsupportedCondOp";
	public final static String EXPRESSION_CANNOT_BE_NULL_OR_BLANK = "data.engine.EmptyExpression";	
			
	public final static String INVALID_JOIN_TYPE="data.engine.InvalidJoinType";
	public final static String INVALID_JOIN_OPERATOR="data.engine.InvalidJoinOperator";
	public final static String NAMED_PARAMETER_NOT_FOUND  = "data.engine.BadDataSetParamName";