Bug 149251 Inconsistent Handling of a Non-inheritable ROM Property
For a ROM property defined to be non-inheritable, an empty string property value should be consistently handled as an empty string, not as null. For example, an oda.dataSource extension defines a data source property with canInherit=false. When a oda-data-source handle get saved in a report design, it correctly includes the tag for such property, even when an empty string value is specified. <oda-data-source extensionID="my.oda.plugin" name="my Data Source" id="24"> ... <property name="ApplicationServer"></property> </oda-data-source> However, later when using the DE API to read its property value, a null is returned. Then when the report design is subsequently saved, the property tag is lost. Expects that an empty string value of a non-inhertiable property should be preserved.
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/core/DesignElement.java
* <li>The display property value of this element if set</li>
	 * <li>The name of element if set</li>
	 * <li>The localized display name of this kind of element, which is defined
	 * in metadata, if set</li>
	 * <li>The name of this kind of element, which is also defined in metadata
	 * </li>
	 * </ul>
	 * <p>
	 * User can also decide at which detail level the display label should be
	 * returned. The level could be one of the following 3 options:
	 * <ul>
	 * <li>USER_LABEL: Only the first 3 steps can be visited, if not found,
	 * return null</li>
	 * <li>SHORT_LABEL: All the above 5 steps can be visited. This will ensure
	 * there will be a return value</li>
	 * <li>FULL_LABEL: Besides the return value of SHORT_LABEL, this option
	 * says we need to return additional information. To get this, every child
	 * element needs to overwrite this method</li>
	 * </ul>
	 * 
	 * @param module
	 *            the module
	 * @param level
	 *            the description level.
	 * @return the display label of this element.
	 */
	public String getDisplayLabel( Module module, int level )
	{
		String displayLabel = module.getMessage( getDisplayNameID( ) );
		if ( StringUtil.isBlank( displayLabel ) )