Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/gen/JoinColumnsPage.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/gen/JoinColumnsPage.java629
1 files changed, 0 insertions, 629 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/gen/JoinColumnsPage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/gen/JoinColumnsPage.java
deleted file mode 100644
index ec3ce3ac04..0000000000
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/wizards/gen/JoinColumnsPage.java
+++ /dev/null
@@ -1,629 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2010 Oracle. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0, which accompanies this distribution
- * and is available at http://www.eclipse.org/legal/epl-v10.html.
- *
- * Contributors:
- * Oracle - initial API and implementation
- ******************************************************************************/
-package org.eclipse.jpt.ui.internal.wizards.gen;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.TreeMap;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.jface.dialogs.IPageChangedListener;
-import org.eclipse.jface.dialogs.PageChangedEvent;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.IContentProvider;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerSorter;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.jpt.db.Column;
-import org.eclipse.jpt.db.Schema;
-import org.eclipse.jpt.db.Table;
-import org.eclipse.jpt.gen.internal.Association;
-import org.eclipse.jpt.gen.internal.ORMGenCustomizer;
-import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.ui.internal.util.TableLayoutComposite;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-
-public class JoinColumnsPage extends NewAssociationWizardPage {
-
- private Label joinColumnsDescLabel1;
- /*the table containing the association columns between table1 and table2
- * , or table1 and join table if many to many*/
- private TableViewer joinColumnsTable1;
- private ArrayList<SimpleJoin> tableDataModel1 = new ArrayList<SimpleJoin>();
- private Composite tablesGroup1;
-
- private Label joinColumnsDescLabel2;
- /*the table containing the association columns between join table and table2
- * if many to many*/
- private TableViewer joinColumnsTable2;
- private ArrayList<SimpleJoin> tableDataModel2 = new ArrayList<SimpleJoin>();
- private Composite tablesGroup2;
-
- static final String[] JOINCOLUMNS_TABLE_COLUMN_PROPERTIES = { "referrerColumn", "referencedColumn" };
-
- private static final int JOINCOLUMN1_COLUMN_INDEX = 0;
- private static final int JOINCOLUMN2_COLUMN_INDEX = 1;
-
- protected JoinColumnsPage(ORMGenCustomizer customizer ) {
- super(customizer, "JoinColumnsPage");
- setTitle( JptUiEntityGenMessages.GenerateEntitiesWizard_newAssoc_colsPage_title);
- setDescription(JptUiEntityGenMessages.GenerateEntitiesWizard_newAssoc_colsPage_desc);
- }
-
- public void createControl(Composite parent) {
- initializeDialogUnits(parent);
-
- Composite composite = new Composite(parent, SWT.NONE);
- GridLayout layout = new GridLayout();
- layout.numColumns = 1;
- composite.setLayout(layout);
- this.getHelpSystem().setHelp(composite, JpaHelpContextIds.GENERATE_ENTITIES_WIZARD_JOIN_COLUMNS);
-
- tablesGroup1 = new Composite(composite, SWT.SHADOW_ETCHED_IN);
- tablesGroup1.setLayoutData(new GridData());
- tablesGroup1.setLayout(new GridLayout(2, false));
- createJoinColumnsTableControl1(tablesGroup1);
-
- //createMtmJoinColumnsTable2(composite);
-
- setControl(composite);
- this.setPageComplete( false);
-
- ((WizardDialog)getContainer()).addPageChangedListener(new IPageChangedListener(){
- public void pageChanged(PageChangedEvent event) {
- if( event.getSelectedPage() == JoinColumnsPage.this ){
- ((Composite)JoinColumnsPage.this.getControl()).getParent().layout() ;
-
- }
- }
- });
- }
-
- private void createMtmJoinColumnsTable2(Composite composite) {
- tablesGroup2 = new Composite(composite, SWT.SHADOW_ETCHED_IN);
- tablesGroup2.setLayoutData(new GridData());
- tablesGroup2.setLayout(new GridLayout(2, false));
- createJoinColumnsTableControl2(tablesGroup2);
- }
-
- /**
- * Update wizard page UI with new table names
- */
- @Override
- public void updateWithNewTables() {
- String cardinality = this.getCardinality() ;
- if( Association.MANY_TO_MANY.equals( cardinality ) ){
- updateWithMtmTables();
- }else{
- updateWithOtmTables();
- }
- }
-
- /**
- * Update Wizard UI with a single TableViewer with columns from the two associated database tables
- */
- public void updateWithOtmTables() {
- TableColumn[] columns = joinColumnsTable1.getTable().getColumns();
- String table1Name = this.getReferrerTableName() ;
- String table2Name = this.getReferencedTableName() ;
-
- if( table1Name ==null || table2Name == null )
- return;
-
- columns[0].setText( table1Name );
- columns[1].setText( table2Name );
-
- //Hide the Join column table 2
- if( tablesGroup2 !=null )
- tablesGroup2.setVisible(false);
-
- tableDataModel1.clear();
- joinColumnsTable1.refresh();
-
- String msg = String.format(JptUiEntityGenMessages.GenerateEntitiesWizard_newAssoc_colsPage_label, table1Name, table2Name);
- joinColumnsDescLabel1.setText(msg);
- joinColumnsDescLabel1.setToolTipText( msg );
- tablesGroup1.layout();
-
- String[] referrerColumnValues = getTableColumns(table1Name);
- String[] referencedColumnValues = getTableColumns(table2Name);
-
- updateCellEditors(joinColumnsTable1, referrerColumnValues, referencedColumnValues);
-
-
- ((Composite)this.getControl()).layout() ;
- }
-
- /**
- * Update Wizard UI with a two TableViewers with the first with columns from table1 to the MTM join table
- * and the second one with columns from the MTM join table to table2
- */
- public void updateWithMtmTables() {
- TableColumn[] columns = joinColumnsTable1.getTable().getColumns();
- String table1Name = this.getReferrerTableName() ;
- String table2Name = this.getReferencedTableName() ;
- String joinTableName = this.getJoinTableName() ;
- if( table1Name==null || table2Name==null || joinTableName==null ){
- return;
- }
- if( tablesGroup2 == null ){
- createMtmJoinColumnsTable2( tablesGroup1.getParent());
- }
-
- columns[0].setText( table1Name==null?"":table1Name );
- columns[1].setText( table2Name==null?"":joinTableName );
-
- //Update join column TableViewer 1
- tableDataModel1.clear();
- joinColumnsTable1.refresh();
-
- String msg = String.format(JptUiEntityGenMessages.GenerateEntitiesWizard_newAssoc_colsPage_label, table1Name, joinTableName);
- joinColumnsDescLabel1.setText(msg);
- joinColumnsDescLabel1.setToolTipText( msg );
- String[] referrerColumnValues = getTableColumns(table1Name);
- String[] referencedColumnValues = getTableColumns(joinTableName);
-
- updateCellEditors(joinColumnsTable1, referrerColumnValues, referencedColumnValues );
-
- //Update join column TableViewer 2
- columns = joinColumnsTable2.getTable().getColumns();
- columns[0].setText( joinTableName==null?"":joinTableName );
- columns[1].setText( table2Name==null?"":table2Name );
- tablesGroup1.layout();
-
- tableDataModel2.clear();
- joinColumnsTable2.refresh();
- msg = String.format(JptUiEntityGenMessages.GenerateEntitiesWizard_newAssoc_colsPage_label, joinTableName, table2Name);
- joinColumnsDescLabel2.setText(msg);
- joinColumnsDescLabel2.setToolTipText( msg );
- referrerColumnValues = getTableColumns(joinTableName);
- referencedColumnValues = getTableColumns(table2Name);
- updateCellEditors(joinColumnsTable2, referrerColumnValues, referencedColumnValues );
-
- tablesGroup2.layout();
-
- //Show the Join column TableViewer 2
- tablesGroup2.setVisible(true);
-
-
- ((Composite)this.getControl()).layout(new Control[]{this.tablesGroup1, this.tablesGroup2});
- }
-
-
- private void createAddRemoveButtonComposite(Composite tablesGroup, final TableViewer joinColumnsTable, final ArrayList<SimpleJoin> tableDataModel) {
- //Add and Remove JoinColumns buttons
- Composite buttonComposite = new Composite(tablesGroup, SWT.NULL);
- GridLayout buttonLayout = new GridLayout(1, false);
- buttonComposite.setLayout(buttonLayout);
- GridData data = new GridData();
- data.horizontalAlignment = GridData.FILL;
- data.verticalAlignment = GridData.BEGINNING;
- buttonComposite.setLayoutData(data);
-
- Button addButton = new Button(buttonComposite, SWT.PUSH);
- addButton.setText( JptUiEntityGenMessages.add );
- GridData gridData = new GridData();
- gridData.horizontalAlignment = GridData.FILL;
- addButton.setLayoutData(gridData);
- addButton.addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {}
-
- @SuppressWarnings("unchecked")
- public void widgetSelected(SelectionEvent e) {
-
- SimpleJoin join = getDefaultNewJoin(joinColumnsTable);
- tableDataModel.add(join);
- joinColumnsTable.refresh();
-
- //Update Wizard model
- TreeMap<String, String> joins = null;
- if( joinColumnsTable == joinColumnsTable1 ){
- joins = (TreeMap<String, String>)getWizardDataModel().get(NewAssociationWizard.ASSOCIATION_JOIN_COLUMNS1 );
- }else{
- joins = (TreeMap<String, String>)getWizardDataModel().get(NewAssociationWizard.ASSOCIATION_JOIN_COLUMNS2 );
- }
- joins.put( join.foreignKey, join.primaryKey);
-
- updatePageComplete();
- }
- });
-
- Button removeButton = new Button(buttonComposite, SWT.PUSH);
- removeButton.setText( JptUiEntityGenMessages.remove );
- gridData = new GridData();
- gridData.horizontalAlignment = GridData.FILL;
- removeButton.setLayoutData(gridData);
- removeButton.addSelectionListener(new SelectionListener() {
- public void widgetDefaultSelected(SelectionEvent e) {}
-
- @SuppressWarnings("unchecked")
- public void widgetSelected(SelectionEvent e) {
- StructuredSelection selection = (StructuredSelection)joinColumnsTable.getSelection();
- if( selection.isEmpty())
- return;
- SimpleJoin join = (SimpleJoin)selection.getFirstElement();
-
- //Update TableViewer model
- tableDataModel.remove( join );
- //Update Wizard model
-
- TreeMap<String, String> joins = null;
- if( joinColumnsTable == joinColumnsTable1 ){
- joins = (TreeMap<String, String>)getWizardDataModel().get(NewAssociationWizard.ASSOCIATION_JOIN_COLUMNS1 );
- }else{
- joins = (TreeMap<String, String>)getWizardDataModel().get(NewAssociationWizard.ASSOCIATION_JOIN_COLUMNS2 );
- }
- joins.remove(join.foreignKey);
-
- joinColumnsTable.refresh();
- }
- });
-
- addButton.setFocus();
-
- }
-
- protected SimpleJoin getDefaultNewJoin(TableViewer joinColumnsTable) {
- String table1Name = "";
- String table2Name = "";
-
- TreeMap<String, String> existingJoins = null;
- if( joinColumnsTable == this.joinColumnsTable1 ){
- existingJoins = (TreeMap<String, String>)getWizardDataModel().get(NewAssociationWizard.ASSOCIATION_JOIN_COLUMNS1 );
- if( this.getJoinTableName() == null) {
- table1Name = this.getReferrerTableName();
- table2Name = this.getReferencedTableName() ;
- }else{
- table1Name = this.getReferrerTableName();
- table2Name = this.getJoinTableName() ;
- }
- }else{
- existingJoins = (TreeMap<String, String>)getWizardDataModel().get(NewAssociationWizard.ASSOCIATION_JOIN_COLUMNS2 );
- table1Name = this.getJoinTableName();
- table2Name = this.getReferencedTableName() ;
- }
- //find next available column
- String[] table1ColumnValues = getTableColumns(table1Name);
- String nextCol1 = "";
- for( String s: table1ColumnValues ){
- if( !existingJoins.keySet().contains(s)){
- nextCol1 = s;
- break;
- }
- }
-
- String[] table2ColumnValues = getTableColumns(table2Name);
- String nextCol2 = "";
- for( String s: table2ColumnValues ){
- if( !existingJoins.values().contains(s)){
- nextCol2 = s;
- break;
- }
- }
- return new SimpleJoin( nextCol1, nextCol2);
- }
-
- @Override
- public boolean canFlipToNextPage() {
- return isPageComplete();
- }
-
- public void updatePageComplete() {
- boolean ret = tableDataModel1.size()> 0 ;
- setPageComplete( ret );
- }
-
- private Label createLabel(Composite container, int span, String text) {
- Label label = new Label(container, SWT.NONE);
- label.setText(text);
- GridData gd = new GridData();
- gd.horizontalSpan = span;
- label.setLayoutData(gd);
- return label;
- }
-
- private void createJoinColumnsTableControl1(Composite tablesGroup) {
- joinColumnsDescLabel1 = createLabel(tablesGroup, 2, JptUiEntityGenMessages.GenerateEntitiesWizard_newAssoc_colsPage_label );
- joinColumnsTable1 = createJoinColumnsTableControl(tablesGroup, this.tableDataModel1);
- createAddRemoveButtonComposite(tablesGroup, joinColumnsTable1, tableDataModel1);
- }
-
- private void createJoinColumnsTableControl2(Composite tablesGroup) {
- joinColumnsDescLabel2 = createLabel(tablesGroup, 2, JptUiEntityGenMessages.GenerateEntitiesWizard_newAssoc_colsPage_label );
- joinColumnsTable2 = createJoinColumnsTableControl(tablesGroup, this.tableDataModel2);
- createAddRemoveButtonComposite(tablesGroup, joinColumnsTable2, tableDataModel2);
- }
-
- private TableViewer createJoinColumnsTableControl(Composite parent, ArrayList<SimpleJoin> tableDataModel ){
-
- TableLayoutComposite layout= new TableLayoutComposite(parent, SWT.NONE);
- addColumnLayoutData(layout);
-
- final org.eclipse.swt.widgets.Table table = new org.eclipse.swt.widgets.Table(layout, SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER );
- table.setHeaderVisible(true);
- table.setLinesVisible(true);
-
- TableColumn referrerColumn = new TableColumn(table, SWT.NONE, JOINCOLUMN1_COLUMN_INDEX);
- referrerColumn.setText("%table1");
- referrerColumn.setResizable(true);
-
- TableColumn referencedColumn = new TableColumn(table, SWT.NONE, JOINCOLUMN2_COLUMN_INDEX);
- referencedColumn.setText("%table2");
- referencedColumn.setResizable(true);
-
- GridData gd= new GridData(GridData.FILL_BOTH);
- gd.heightHint= SWTUtil.getTableHeightHint(table, 3);
- gd.widthHint = 300;
- layout.setLayoutData(gd);
-
- TableViewer newJoinColumnsTable = new TableViewer(table);
- newJoinColumnsTable.setUseHashlookup(true);
- newJoinColumnsTable.setLabelProvider(this.buildTableTableLabelProvider());
- newJoinColumnsTable.setContentProvider(this.buildTableTableContentProvider());
- newJoinColumnsTable.setSorter(new ViewerSorter() {
- @Override
- public int compare(Viewer viewer, Object e1, Object e2) {
- return ((SimpleJoin) e1).foreignKey.compareTo(((SimpleJoin) e2).foreignKey);
- }
- });
-
- newJoinColumnsTable.addPostSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- //handleTablesListSelectionChanged(event);
- }
- });
- populateTableDataModel();
- newJoinColumnsTable.setInput( tableDataModel );
- return newJoinColumnsTable;
- }
-
- @SuppressWarnings("unchecked")
- public void populateTableDataModel(){
- HashMap<String, Object> dataModel = getWizardDataModel();
- TreeMap<String, String> joinColumns = (TreeMap<String, String>)dataModel.get(NewAssociationWizard.ASSOCIATION_JOIN_COLUMNS1);
- if( joinColumns!= null ){
- for( String referrerColumn : joinColumns.keySet() ){
- tableDataModel1.add(new SimpleJoin(referrerColumn, joinColumns.get(referrerColumn) ));
- }
- }
-
- TreeMap<String, String> joinColumns2 = (TreeMap<String, String>)dataModel.get(NewAssociationWizard.ASSOCIATION_JOIN_COLUMNS2);
- if( joinColumns2!= null ){
- for( String referrerColumn : joinColumns2.keySet() ){
- tableDataModel2.add(new SimpleJoin(referrerColumn, joinColumns2.get(referrerColumn) ));
- }
- }
-
- }
-
- private IContentProvider buildTableTableContentProvider() {
- return new JoinColumnsContentProvider();
- }
-
-
- private IBaseLabelProvider buildTableTableLabelProvider() {
- return new JoinColumnsTableLabelProvider();
- }
-
-
- private void addColumnLayoutData(TableLayoutComposite layout) {
- layout.addColumnData(new ColumnWeightData(50, true));
- layout.addColumnData(new ColumnWeightData(50, true));
- }
-
-
- private void updateCellEditors(TableViewer joinColumnsTable, String[] referrerColumnValues, String[] referencedColumnValues ){
- joinColumnsTable.setColumnProperties(JOINCOLUMNS_TABLE_COLUMN_PROPERTIES);
- ComboBoxCellEditor[] editors = new ComboBoxCellEditor[JOINCOLUMNS_TABLE_COLUMN_PROPERTIES.length];
-
- editors[JOINCOLUMN1_COLUMN_INDEX]= new ComboBoxCellEditor(joinColumnsTable.getTable(), referrerColumnValues, SWT.SINGLE);
- editors[JOINCOLUMN2_COLUMN_INDEX]= new ComboBoxCellEditor(joinColumnsTable.getTable(), referencedColumnValues, SWT.SINGLE);
-
- joinColumnsTable.setCellEditors(editors);
- joinColumnsTable.setCellModifier(this.buildTableTableCellModifier(joinColumnsTable, referrerColumnValues, referencedColumnValues ));
- }
-
- public String[] getTableColumns(String tableName){
- Schema schema = (Schema)getWizardDataModel().get(NewAssociationWizard.ASSOCIATION_SCHEMA);
- Table table = schema.getTableNamed(tableName);
- List<String> list = new ArrayList<String>();
- for (Column column : table.getColumns()) {
- list.add(column.getName());
- }
- String[] ret = new String[list.size()];
- list.toArray(ret);
- return ret;
- }
-
- private ICellModifier buildTableTableCellModifier(TableViewer joinColumnsTable, String[] referrerColumnValues, String[] referencedColumnValues) {
- return new JoinColumnsCellModifier(joinColumnsTable, referrerColumnValues, referencedColumnValues);
- }
-
- /**
- * A ContentProvider translates the SimpleJoin list into a Collection for display
- *
- */
- private class JoinColumnsContentProvider implements IStructuredContentProvider {
-
- JoinColumnsContentProvider() {
- super();
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
- public void dispose() {}
- public Object[] getElements(Object inputElement) {
- return ((Collection<?>) inputElement).toArray();
- }
- }
-
- /**
- * Simple value object used as model backing the JFace table
- *
- */
- private class SimpleJoin {
- public SimpleJoin(String foreignKey, String primaryKey) {
- this.foreignKey = foreignKey;
- this.primaryKey = primaryKey;
- }
- public String foreignKey;
- public String primaryKey;
-
- @Override
- public String toString(){
- return "["+ this.foreignKey + " = " + this.primaryKey + "]";
- }
- }
-
- /**
- * A CellModifier to update the join columns in the wizard data model
- */
- private class JoinColumnsCellModifier implements ICellModifier {
- private TableViewer joinColumnsTable;
- private String[] referrerColumnValues;
- private String[] referencedColumnValues;
- JoinColumnsCellModifier(TableViewer joinColumnsTable, String[] referrerColumnValues, String[] referencedColumnValues) {
- super();
- this.joinColumnsTable = joinColumnsTable;
- this.referrerColumnValues = referrerColumnValues;
- this.referencedColumnValues = referencedColumnValues;
- }
-
- public boolean canModify(Object element, String property) {
- return true;
- }
-
- @SuppressWarnings("unchecked")
- public Object getValue(Object element, String property) {
-// SimpleJoin join = (SimpleJoin) element;
-// if (property.equals(JOINCOLUMNS_TABLE_COLUMN_PROPERTIES[JOINCOLUMN2_COLUMN_INDEX])) {
-// return join.primaryKey;
-// }
-// return join.foreignKey;
- // returnt the index of the value in the ComboxCellEditor
- ArrayList<SimpleJoin> tableDataModel = (ArrayList<SimpleJoin>) joinColumnsTable.getInput();
- for(int i=0; i< tableDataModel.size(); i ++ ){
- if( tableDataModel.get(i) == element )
- return new Integer(i);
- }
- return new Integer(0);
-
- }
-
- /**
- * element is the selected TableItem
- * value is the selected item index in the comboCellEditor
- */
- @SuppressWarnings("unchecked")
- public void modify(Object element, String property, Object value) {
- if ( ! (element instanceof TableItem)) {
- return;
- }
- Integer index = (Integer)value;
- TableItem item = (TableItem)element;
- boolean unchanged = false;
- SimpleJoin join = (SimpleJoin) item.getData();
- if (property.equals(JOINCOLUMNS_TABLE_COLUMN_PROPERTIES[JOINCOLUMN1_COLUMN_INDEX])) {
- unchanged = join.foreignKey.equals( referrerColumnValues[ index.intValue() ] );
- if (! unchanged) {
-
- //update the wizard datamodel
- TreeMap<String, String> joins = null;
- if( joinColumnsTable == joinColumnsTable1 ){
- joins = (TreeMap<String, String>)getWizardDataModel().get(NewAssociationWizard.ASSOCIATION_JOIN_COLUMNS1 );
- }else{
- joins = (TreeMap<String, String>)getWizardDataModel().get(NewAssociationWizard.ASSOCIATION_JOIN_COLUMNS2 );
- }
- joins.remove(join.foreignKey);
- joins.put(referrerColumnValues[ index.intValue() ], join.primaryKey);
-
- //Update the TableViewer model
- join.foreignKey = referrerColumnValues[ index.intValue()];
- joinColumnsTable.refresh();
- }
- return;
- }
-
- if (property.equals(JOINCOLUMNS_TABLE_COLUMN_PROPERTIES[JOINCOLUMN2_COLUMN_INDEX])) {
- unchanged = join.primaryKey.equals( referencedColumnValues[ index.intValue()] ) ;
- if (! unchanged) {
- //Update the TableViewer model
- join.primaryKey = referencedColumnValues[ index.intValue()] ;
-
- //Update wizard data model
- TreeMap<String, String> joins = null;
- if( joinColumnsTable == joinColumnsTable1 ){
- joins = (TreeMap<String, String>)getWizardDataModel().get(NewAssociationWizard.ASSOCIATION_JOIN_COLUMNS1 );
- }else{
- joins = (TreeMap<String, String>)getWizardDataModel().get(NewAssociationWizard.ASSOCIATION_JOIN_COLUMNS2 );
- }
- joins.put(join.foreignKey, join.primaryKey);
-
- joinColumnsTable.refresh();
- }
- }
-
-
- }
-
- }
-
- /**
- * A table label provider to return the join column names for display
- *
- */
- private final class JoinColumnsTableLabelProvider extends LabelProvider implements ITableLabelProvider {
- public Image getColumnImage(Object element, int columnIndex) {
- return null;
- }
- public String getColumnText(Object element, int columnIndex) {
- if( !(element instanceof SimpleJoin) )
- return null;
- switch (columnIndex) {
- case 0:
- return ((SimpleJoin)element).foreignKey;
- case 1:
- return ((SimpleJoin)element).primaryKey;
- default:
- Assert.isTrue(false);
- return null;
- }
- }
- @Override
- public String getText(Object element) {
- return getColumnText(element, 0); // needed to make the sorter work
- }
- }
-
-}

Back to the top