Bug 148951 Wrong error msg when set nonexisted col as group key
Description: Wrong error msg when set nonexisted col as group key Steps to reproduce: 1. Insert a table, bind it to dataset 2. Add a group, input abc as group key which is invalid. 3. Preview Expected result: Friendly error msg to tell user the group key is wrong. Actual result: + Group key "abc" in group 1 cannot depend on column bindings defined in the group lower than itself. data.engine.InvalidGroupKey ( 1 time(s) ) detail : org.eclipse.birt.data.engine.core.DataException: Group key "OUNTR" in group 1 cannot depend on column bindings defined in the group lower than itself.
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 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";