summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorxwu2012-03-19 02:28:04 (EDT)
committer mwu2012-03-19 02:28:04 (EDT)
commit656586cc0a65973b9b0359e847da474ffa9ec760 (patch)
treecb2b2d55181f7ad7ce62bfec9a0896e289c53180
parent4f0ac449783829fad5ed21ad1c66fd5e6a58115e (diff)
downloadorg.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.java29
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;
+
}
/**