Bug 152686 URL strings are not handled consistently in Report Design API
Using todays BIRT source cvs head, and 1.4 compiler compliance. What I'm seeing is the following: If I make the following report manipulation calls using BIRT API. String REPORT_LOC = "file:/c:/temp/birtbug/report.rptdesign"; DesignEngine designEngine = new DesignEngine(new DesignConfig()); SessionHandle session = designEngine.newSessionHandle(ULocale.getDefault()); //this works using a URL string design = session.openDesign(REPORT_LOC); ... do some work on the design and then call design.save() design.save calls XMLWriter( File outputFile, String signature ) in here the writer constructor tries to open a stream = new FileOutputStream( outputFile ); But this will fail, because the outputFile is a URL string and throws an exception. Expected: The report manipulation api, needs to handle URL strings consistently, or they need to seperate out the API to deal with URLS to reports seperately from api that just deals with java File objects.
model/org.eclipse.birt.report.model/src/org/eclipse/birt/report/model/api/ModuleHandle.java
/**
	 * Imports the selected styles in a <code>CssStyleSheetHandle</code> to
	 * the module. Each in the list is instance of
	 * <code>SharedStyleHandle</code> .If any style selected has a duplicate
	 * name with that of one style already existing in the report design, this
	 * method will rename it and then add it to the design.
	 * 
	 * @param stylesheet
	 *            the style sheet handle that contains all the selected styles
	 * @param selectedStyles
	 *            the selected style list
	 * 
	 * 
	 */
	abstract public void importCssStyles( CssStyleSheetHandle stylesheet,
			List selectedStyles );
	/**
	 * Sets the theme to a report.
	 * 
	 * @param themeName
	 *            the name of the theme
	 * @throws SemanticException
	 */
	public void setThemeName( String themeName ) throws SemanticException
	{
		ThemeCommand command = new ThemeCommand( (Module) getElement( ) );
		command.setTheme( themeName );
	}
	/**
	 * Returns the refresh rate when viewing the report.