Bug 146508 table of contents and bookmarks in target report should be saved as expr. correctly
steps to reproduce: - create a report - add a label, and edit a drill through hyperlink to an existing report document on this label - switch to XML Source - notice this drill through hyperlink action definition expected behavior: - table of contents and bookmarks should be saved as expr. correctly actual behavior: - <expression name="targetBookmark">toc</expression>, "" was missing <body> <label id="4"> <text-property name="text">aaaaa</text-property> <structure name="action"> <property name="formatType">html</property> <property name="linkType">drill-through</property> <property name="reportName">../../../20060612/eclipse/plugins/org.eclipse.birt.report.viewer_2.1.0.N20060612-0630/birt/documents/6C07146F1A15E47DE28AEDBD13283C1D/temp/new_report_3.rptdocument</property> <expression name="targetBookmark">toc</expression> <property name="targetBookmarkType">toc</property> <property name="targetWindow">_blank</property> <property name="targetFileType">report-document</property> </structure> </label> </body>
UI/org.eclipse.birt.report.designer.ui/src/org/eclipse/birt/report/designer/ui/dialogs/HyperlinkBuilder.java
button.setLayoutData( new GridData( ) );
		button.setImage( IMAGE_OPEN_FILE );
		button.setToolTipText( TOOLTIP_BROWSE_FILE );
		button.addSelectionListener( new SelectionAdapter( ) {
			public void widgetSelected( SelectionEvent e )
			{
				FileDialog dialog = new FileDialog( UIUtil.getDefaultShell( ) );
				if ( needFilter )
				{
					dialog.setFilterExtensions( new String[]{
						fileExt
					} );
				}
				try
				{
					String filename = dialog.open( );
					if ( filename != null )
					{
						filename = new File( filename ).toURL( ).toString( );
						if ( needFilter )
						{
							filename = URIUtil.getRelativePath( getBasePath( ),
									filename );
						}
						filename = new Path( filename ).toString( );
						if ( needQuote )
						{
							filename = "\"" + filename + "\""; 
						}
						text.setText( filename );