Bug 328221 Several error messages are confusing/useless
Build Identifier: BIRT 2.5.2 I've fixed a couple of error messages in BIRT 2.5.2 which are confusing/useless. See the attached patches. I'm aware that this patch is for an old version of BIRT but maybe they are still useful for someone stuck with BIRT 2.5.2. I didn't check whether the errors are still there in 2.6; feel free to have a look. Bugs fixed: 1. When a pre-compiled method is run and an error happens, the source of the method is included (so you get more than "There was an error in __bm_OPEN"). 2. Instead of "data.engine.BadFetchScriptReturnType", you get a real error message with the method name and the value returned. 3. If logging is enabled for jdbc.Statement, the log would fill with thousands of stack traces warning that "setSpecification is not supported." Feel free to use the patches in any legal way. Reproducible: Always
data/org.eclipse.birt.data/src/org/eclipse/birt/data/engine/i18n/ResourceConstants.java
public final static String INVALID_FIELD_INDEX = "data.engine.InvalidFieldIndex";
	public final static String FAIL_PREPARE_EXECUTION = "data.engine.fail.prepareExecution";
	
	public final static String MATCH_ERROR = "data.engine.MatchError";
	
	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 BAD_GROUP_INTERVAL_RANGE = "data.engine.group.intervalRange.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 UNSUPPORTTED_COND_OPERATOR = "data.engine.UnsupportedCondOp";
	public final static String EXPRESSION_CANNOT_BE_NULL_OR_BLANK = "data.engine.EmptyExpression";	
	public final static String AGGREGATION_ARGUMENT_CANNOT_BE_BLANK = "data.engine.AggregationBinding.EmptyArgument";
			
	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";
	public final static String FAIL_COMPUTE_OUTPUT_PARAMETER_VALUE  = "data.engine.FailComputeOutputParameterValue";
	public final static String Linked_REPORT_PARAM_ALLOW_MULTI_VALUES = "data.engine.LinkedReportParamAllowMultiValues";
	
	
	public final static String EMPTY_BINDING_NAME = "data.engine.EmptyBindingName";