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
displayArea.setLayout( new GridLayout( 3, false ) );
		if ( DesignChoiceConstants.ACTION_LINK_TYPE_HYPERLINK.equals( type ) )
		{
			switchToURI( );
		}
		else if ( DesignChoiceConstants.ACTION_LINK_TYPE_BOOKMARK_LINK.equals( type ) )
		{
			switchToBookmark( );
		}
		else if ( DesignChoiceConstants.ACTION_LINK_TYPE_DRILL_THROUGH.equals( type ) )
		{
			switchToDrillthrough( );
		}
		initDisplayArea( );
		displayArea.layout( );
	}
	private void switchToURI( )
	{
		new Label( displayArea, SWT.NONE ).setText( REQUIED_MARK
				+ LABEL_LOCATION );
		locationEditor = new Text( displayArea, SWT.BORDER | SWT.SINGLE );
		locationEditor.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) );
		locationEditor.addModifyListener( new ModifyListener( ) {
			public void modifyText( ModifyEvent e )
			{
				updateButtons( );
			}
		} );
		Composite buttonArea = new Composite( displayArea, SWT.NONE );
		buttonArea.setLayout( UIUtil.createGridLayoutWithoutMargin( 2, true ) );