| author | xwu | 2012-03-19 02:28:04 (EDT) |
|---|---|---|
| committer | mwu | 2012-03-19 02:28:04 (EDT) |
| commit | 656586cc0a65973b9b0359e847da474ffa9ec760 (patch) (side-by-side diff) | |
| tree | cb2b2d55181f7ad7ce62bfec9a0896e289c53180 | |
| parent | 4f0ac449783829fad5ed21ad1c66fd5e6a58115e (diff) | |
| download | org.eclipse.birt-656586cc0a65973b9b0359e847da474ffa9ec760.zip org.eclipse.birt-656586cc0a65973b9b0359e847da474ffa9ec760.tar.gz org.eclipse.birt-656586cc0a65973b9b0359e847da474ffa9ec760.tar.bz2 | |
Summary:
Fix an issue 47308: [OS] Can not change joint column once defined.
Description of Issue:
Sometimes modification of the join conditions will not take effect.
Description of Resolution:
Modified the page logic of Data Set Joint wizard page in order to
correctly update the join conditions according to the user operations.
BUG(s) Resolved:
47308
Regression ( Yes/No ):
No
Manual Test Description:
Manual Test
| -rw-r--r-- | UI/org.eclipse.birt.report.designer.ui.data/src/org/eclipse/birt/report/designer/data/ui/dataset/JointDataSetPage.java | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/UI/org.eclipse.birt.report.designer.ui.data/src/org/eclipse/birt/report/designer/data/ui/dataset/JointDataSetPage.java b/UI/org.eclipse.birt.report.designer.ui.data/src/org/eclipse/birt/report/designer/data/ui/dataset/JointDataSetPage.java index 7c08254..7453b4c 100644 --- a/UI/org.eclipse.birt.report.designer.ui.data/src/org/eclipse/birt/report/designer/data/ui/dataset/JointDataSetPage.java +++ b/UI/org.eclipse.birt.report.designer.ui.data/src/org/eclipse/birt/report/designer/data/ui/dataset/JointDataSetPage.java @@ -116,6 +116,8 @@ public class JointDataSetPage extends WizardPage private String leftDataSetName; private String rightDataSetName; + private boolean selectionChanged = false; + private IPropertyPageContainer propertyPageContainer; private Text nameEditor; private Label nameLabel; @@ -185,6 +187,8 @@ public class JointDataSetPage extends WizardPage joinType = DesignChoiceConstants.JOIN_TYPE_INNER; + selectionChanged = false; + Utility.setSystemHelp( composite, IHelpConstants.CONEXT_ID_JOINTDATASET ); return composite; } @@ -483,6 +487,8 @@ public class JointDataSetPage extends WizardPage */ public void selectionChanged( SelectionChangedEvent event ) { + selectionChanged = true; + if ( event.getSource( ) instanceof ComboViewer ) { this.setPageMessage( Messages.getString( "JointDataSetPage.page.detail" ), //$NON-NLS-1$ @@ -1093,6 +1099,8 @@ public class JointDataSetPage extends WizardPage public void widgetSelected( SelectionEvent e ) { + selectionChanged = true; + if ( e.getSource( ) instanceof Button ) { if ( ( (Button) e.getSource( ) ).equals( innerJoinButton ) ) @@ -1153,25 +1161,11 @@ public class JointDataSetPage extends WizardPage if ( propertyPageContainer instanceof DataSetEditor ) { - boolean selectionChanged = true; handle = (JointDataSetHandle) ( (DataSetEditor) propertyPageContainer ).getModel( ); - Iterator iter = handle.getPropertyHandle( JointDataSet.JOIN_CONDITONS_PROP ) - .iterator( ); - JoinConditionHandle conditionHandle; - while ( iter.hasNext( ) ) - { - conditionHandle = (JoinConditionHandle) iter.next( ); - if ( ( conditionHandle.getLeftDataSet( ) != null && conditionHandle.getLeftDataSet( ) - .equals( this.leftDataSetName ) ) - && ( conditionHandle.getLeftDataSet( ) != null && conditionHandle.getRightDataSet( ) - .equals( this.rightDataSetName ) ) ) - { - selectionChanged = false; - conditionHandle.setJoinType( joinType ); - } - } if ( selectionChanged ) { + selectionChanged = false; + List datasetName = handle.getDataSetNames( ); for ( int i = 0; i < datasetName.size( ); i++ ) { @@ -1289,6 +1283,9 @@ public class JointDataSetPage extends WizardPage } } + + selectionChanged = false; + } /** |

