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
composite.setLayout( new GridLayout( 2, false ) );
		new Label( composite, SWT.NONE ).setText( LABEL_SELECT_TYPE );
		noneRadio = new Button( composite, SWT.RADIO );
		noneRadio.setText( RADIO_NONE );
		addRadioListener( noneRadio,
				DesignChoiceConstants.ACTION_LINK_TYPE_NONE );
		UIUtil.createBlankLabel( composite );
		uriRadio = new Button( composite, SWT.RADIO );
		uriRadio.setText( RADIO_URI );
		addRadioListener( uriRadio,
				DesignChoiceConstants.ACTION_LINK_TYPE_HYPERLINK );
		if ( !( SessionHandleAdapter.getInstance( ).getReportDesignHandle( ) instanceof LibraryHandle ) )
		{
			UIUtil.createBlankLabel( composite );
			bookmarkRadio = new Button( composite, SWT.RADIO );
			bookmarkRadio.setText( RADIO_BOOKMARK );
			addRadioListener( bookmarkRadio,
					DesignChoiceConstants.ACTION_LINK_TYPE_BOOKMARK_LINK );
		}
		UIUtil.createBlankLabel( composite );
		drillRadio = new Button( composite, SWT.RADIO );
		drillRadio.setText( RADIO_DRILLTHROUGH );
		addRadioListener( drillRadio,
				DesignChoiceConstants.ACTION_LINK_TYPE_DRILL_THROUGH );
	}
	private void switchTo( String type )
	{
		selectedType = type;
		clearArea( );
		closeTargetReport( );