Bug 178179 The order of included css files keeps unchanged when reloading
Xingjie once asked Rima this question, and Rima answered that the order kept unchanged. The question and answer are listed following: About reload css. Now there is duplicate style name problem. Which css file is added at last, which file has the highest priority. For example design file has two css file. base.css and new.css . Base.css ----- StyleA ----- StyleB New.css -----StyleA -----StyleC So the priority of new.css is higher. So we can get three styles: New.css.styleA, StyleB, StyleC When I execute reload base.css action, There is two choices. One is : keep every thing. That means the priority of new.css is higher too. Second is: After reload, priority of base.css is higher. And in report design you will see New.css -----StyleA -----StyleC Base.css ----- StyleA ----- StyleB And we can get three styles: base.css.styleA, styleB, styleC Which is the better choice? I will let Xiong send a bug about the choice that in future we can know the behavior. [Rima Kanguri] Always the priority of the last file included is highest. In your example the styles defined in New.css takes higher priority always. Even when user performs a reload operation.
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/core/Module.java
/**
	 * The hash map for the id-to-element lookup.
	 */
	protected HashMap idMap = new HashMap( );
	/**
	 * The undo/redo stack for operations on this module.
	 */
	protected ActivityStack activityStack = new ActivityStack( );
	/**
	 * The save state used for dirty file detection. See
	 * {@link org.eclipse.birt.report.model.activity.ActivityStack}for details.
	 */
	protected int saveState = 0;
	/**
	 * The array of name spaces. The meanings of each name space is defined in
	 * {@link org.eclipse.birt.report.model.api.metadata.MetaDataConstants MetaDataConstants}.
	 */
	protected NameSpace nameSpaces[] = new NameSpace[NAME_SPACE_COUNT];
	/**
	 * The array of module name spaces. Each name space has the corresponding
	 * module name space.
	 */
	protected IModuleNameScope moduleNameSpaces[] = new IModuleNameScope[NAME_SPACE_COUNT];
	/**
	 * Internal table to store a bunch of user-defined messages. One message can
	 * be defined in several translations, one translation per locale.
	 */
	protected TranslationTable translations = new TranslationTable( );
	/**
	 * The property definition list of all the referencable structure list