Bug 120215 BPS 40 - DE changes
1. all report elements' properties will be overidable with an expression. The binding expression will have access to report parameter, and static BIRT report objects only. 2) DE will provide api to get property binding expression for a given property on a report element handle. It's up to the engine to evaluate the property binding expression when the report gets executed. DE API changes -------------------------- a) DesignElementHandle will support the following two methods. - String (expression) GetPropertyBinding ( propertyName ) - void SetPropertyBinding( propertyName , String (expression) ) // Note get and set property methods are wrapper classes which actually use reportDesignHandle methods to retrive and set the property binding. b) rom.def changes Property bindings contains a list of binding expressions. ReportDesign element will be enhanced to support a new property called. <Property canInherit="false" detailType="propertyBinding" displayNameID="Element.Module.propertyBindings" isList="true" name="propertyBindings" type="structure"/> A new datatype - <Structure name="propertybinding"> <Member name="name" since="2.0" type="name"/> <Member name="id" returnType="any" since="2.0" type="string"/> // Use the unique id used to identify an element. <Member name="value" returnType="string" since="2.0" type="expression"/> </Structure>
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/i18n/MessageConstants.java
public static final String PROPERTY_VALUE_EXCEPTION_CHOICE_NOT_FOUND = "Error.PropertyValueException.CHOICE_NOT_FOUND"; 
	public static final String PROPERTY_VALUE_EXTENSION_SETTING_FORBIDDEN = "Error.PropertyValueException.EXTENSION_SETTING_FORBIDDEN"; 
	public static final String PROPERTY_VALUE_EXCEPTION_PROPERTY_CHANGE_FORBIDDEN = "Error.PropertyValueException.PROPERTY_CHANGE_FORBIDDEN"; 
	public static final String PROPERTY_VALUE_EXCEPTION_NOT_LIST_TYPE = "Error.PropertyValueException.NOT_LIST_TYPE"; 
	public static final String PROPERTY_VALUE_EXCEPTION_ITEM_NOT_FOUND = "Error.PropertyValueException.ITEM_NOT_FOUND"; 
	public static final String PROPERTY_VALUE_EXCEPTION_WRONG_ELEMENT_TYPE = "Error.PropertyValueException.WRONG_ELEMENT_TYPE"; 
	public static final String PROPERTY_VALUE_EXCEPTION_VALUE_EXISTS = "Error.PropertyValueException.VALUE_EXISTS"; 
	public static final String PROPERTY_VALUE_EXCEPTION_VALUE_REQUIRED = "Error.PropertyValueException.VALUE_REQUIRED"; 
	public static final String PROPERTY_VALUE_EXCEPTION_VALUE_LOCKED = "Error.PropertyValueException.VALUE_LOCKED"; 
	public static final String PROPERTY_VALUE_EXCEPTION_UNIT_NOT_ALLOWED = "Error.PropertyValueException.UNIT_NOT_ALLOWED"; 
	public static final String PROPERTY_VALUE_EXCEPTION_CHOICE_NOT_ALLOWED = "Error.PropertyValueException.CHOICE_NOT_ALLOWED"; 
	public static final String PROPERTY_VALUE_EXCEPTION_WRONG_ITEM_TYPE = "Error.PropertyValueException.WRONG_ITEM_TYPE"; 
	public static final String PROPERTY_VALUE_EXCEPTION_NEGATIVE_VALUE = "Error.PropertyValueException.NEGATIVE_VALUE"; 
	public static final String PROPERTY_VALUE_EXCEPTION_NON_POSITIVE_VALUE = "Error.PropertyValueException.NON_POSITIVE_VALUE"; 
	public static final String PROPERTY_VALUE_EXCEPTION_DOT_FORBIDDEN = "Error.PropertyValueException.DOT_FORBIDDEN"; 
	
	
	public static final String SEMANTIC_ERROR_INCONSITENT_TABLE_COL_COUNT = "Error.SemanticError.INCONSITENT_TABLE_COL_COUNT"; 
	public static final String SEMANTIC_ERROR_INCONSITENT_TABLE_COL_COUNT_COZ_DROP = "Error.SemanticError.INCONSITENT_TABLE_COL_COUNT_COZ_DROP"; 
	public static final String SEMANTIC_ERROR_OVERLAPPING_CELLS = "Error.SemanticError.OVERLAPPING_CELLS"; 
	public static final String SEMANTIC_ERROR_INCONSITENT_DROP_HEADINGS = "Error.SemanticError.INCONSITENT_TABLE_DROP_HEADINGS"; 	
	public static final String SEMANTIC_ERROR_INVALID_PAGE_SIZE = "Error.SemanticError.INVALID_PAGE_SIZE"; 
	public static final String SEMANTIC_ERROR_INVALID_PAGE_MARGINS = "Error.SemanticError.INVALID_PAGE_MARGINS"; 
	public static final String SEMANTIC_ERROR_MISSING_PAGE_SIZE = "Error.SemanticError.MISSING_PAGE_SIZE"; 
	public static final String SEMANTIC_ERROR_MISSING_MASTER_PAGE = "Error.SemanticError.MISSING_MASTER_PAGE"; 
	public static final String SEMANTIC_ERROR_INVALID_MULTI_COLUMN = "Error.SemanticError.INVALID_MULTI_COLUMN"; 
	public static final String SEMANTIC_ERROR_INCONSITENT_GRID_COL_COUNT = "Error.SemanticError.INCONSITENT_GRID_COL_COUNT"; 
	public static final String SEMANTIC_ERROR_INVALID_ELEMENT_REF = "Error.SemanticError.INVALID_ELEMENT_REF"; 
	public static final String SEMANTIC_ERROR_MISSING_SQL_STMT = "Error.SemanticError.MISSING_SQL_STMT"; 
	public static final String SEMANTIC_ERROR_INVALID_IMAGE_SCALE_VALUE = "Error.SemanticError.INVALID_IMAGE_SCALE_VALUE";