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
*/
	public Level findCachedLevel( String elementName )
	{
		if ( elementName == null )
			return null;
		String namespace = StringUtil.extractNamespace( elementName );
		String name = StringUtil.extractName( elementName );
		if ( namespace == null )
			return (Level) cachedLevelNames.get( name );
		Library lib = module.getLibraryWithNamespace( namespace );
		return lib == null ? null : (Level) ( (ModuleNameHelper) lib
				.getNameHelper( ) ).findCachedLevel( name );
	}
	/**
	 * 
	 */
	public void clearCachedLevels( )
	{
		cachedLevelNames = null;
		List libs = module.getAllLibraries( );
		if ( libs == null )
			return;
		for ( int i = 0; i < libs.size( ); i++ )
		{
			Library lib = (Library) libs.get( i );
			( (ModuleNameHelper) lib.getNameHelper( ) ).cachedLevelNames = null;
		}
	}	
}