Bug 188219 If a column name has colon will lead the exceptions when using it as a dimension[1101]
Description: If a column name has colon will lead the exceptions when using it as a dimension[1101] Build number: 2.2.0.v20070522-0630 Steps to reproduce: 1, New a computed column name such as a:b 2, Using the a:b column as a dimension in cube builder or 1, New a joint dataset and left all the columns name by default 2, New a cube using the joint dataset 3, Drag one column to dimension in cube builder Expected result: The column a:b or the column name has colon can be used as dimension without any exception Actual result: Exception occurs when using the a:b column as dimension Error log: A BIRT exception occurred. Plug-in Provider:Eclipse.org Plug-in Name:BIRT Model Plug-in ID:org.eclipse.birt.report.model Version:2.2.0.v20070522-0956 Error Code:Error.NameException.INVALID_NAME Error Message:The name "a:b" is invalid for it contains character ".", "/", "", "!", ";", "," .
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/core/namespace/ModuleNameHelper.java
/**
	 * Returns a unique name for the group element. The name is unique in the
	 * scope of the table.
	 * 
	 * @param element
	 *            the group element.
	 * @return unique name of group element.
	 * 
	 */
	private String getUniqueGroupName( GroupElement group )
	{
		if ( group == null || group.getContainer( ) == null )
			return null;
		ListingHandle listing = (ListingHandle) group.getContainer( )
				.getHandle( module );
		String groupName = (String) group.getLocalProperty( module,
				IGroupElementModel.GROUP_NAME_PROP );
		if ( StringUtil.isBlank( groupName ) )
		{
			GroupElement virtualGroup = (GroupElement) group.getVirtualParent( );
			while ( virtualGroup != null )
			{
				groupName = (String) virtualGroup.getLocalProperty(
						virtualGroup.getRoot( ),
						IGroupElementModel.GROUP_NAME_PROP );
				if ( !StringUtil.isBlank( groupName ) )
				{
					break;
				}
				virtualGroup = (GroupElement) virtualGroup.getVirtualParent( );