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
public void dropLibrary( LibraryHandle library ) throws SemanticException
	{
		if ( library == null )
			return;
		LibraryCommand command = new LibraryCommand( module );
		command.dropLibrary( (Library) library.getElement( ) );
	}
	/**
	 * Reloads the library with the given library file path. If the library
	 * already is included directly, reload it. If the library is not included,
	 * exception will be thrown.
	 * <p>
	 * Call this method cautiously ONLY on the condition that the library file
	 * is REALLY changed outside. After reload successfully, the command stack
	 * is cleared.
	 * 
	 * @param libraryToReload
	 *            the library instance
	 * @throws SemanticException
	 *             if error is encountered when handling
	 *             <code>IncludeLibrary</code> structure list. Or it maybe
	 *             because that the given library is not found in the design. Or
	 *             that the library has descedents in the current module
	 * @throws DesignFileException
	 *             if the library file is not found, or has fatal error.
	 */
	public void reloadLibrary( LibraryHandle libraryToReload )
			throws SemanticException, DesignFileException
	{
		if ( libraryToReload == null )