Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 108210 Details for
Bug 236743
change schema does not update list of tables
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
proposed patch - 2_0_maintenance stream
236743.txt (text/plain), 16.79 KB, created by
Karen Butzke
on 2008-07-23 11:28:11 EDT
(
hide
)
Description:
proposed patch - 2_0_maintenance stream
Filename:
MIME Type:
Creator:
Karen Butzke
Created:
2008-07-23 11:28:11 EDT
Size:
16.79 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jpt.ui >Index: src/org/eclipse/jpt/ui/internal/mappings/details/SecondaryTableDialog.java >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/SecondaryTableDialog.java,v >retrieving revision 1.10 >diff -u -r1.10 SecondaryTableDialog.java >--- src/org/eclipse/jpt/ui/internal/mappings/details/SecondaryTableDialog.java 29 Apr 2008 13:15:50 -0000 1.10 >+++ src/org/eclipse/jpt/ui/internal/mappings/details/SecondaryTableDialog.java 23 Jul 2008 15:25:36 -0000 >@@ -12,7 +12,6 @@ > import java.util.Iterator; > import org.eclipse.jface.dialogs.Dialog; > import org.eclipse.jpt.core.JpaProject; >-import org.eclipse.jpt.core.context.Entity; > import org.eclipse.jpt.core.context.SecondaryTable; > import org.eclipse.jpt.db.ConnectionProfile; > import org.eclipse.jpt.db.Database; >@@ -21,6 +20,8 @@ > import org.eclipse.jpt.utility.internal.CollectionTools; > import org.eclipse.osgi.util.NLS; > import org.eclipse.swt.SWT; >+import org.eclipse.swt.events.SelectionEvent; >+import org.eclipse.swt.events.SelectionListener; > import org.eclipse.swt.graphics.Point; > import org.eclipse.swt.layout.GridData; > import org.eclipse.swt.layout.GridLayout; >@@ -32,11 +33,13 @@ > > public class SecondaryTableDialog extends Dialog { > >- //if creating a new JoinColumn, this will be null, >- //specify the JoinColumnOwner instead in the appropriate construtor >+ //if creating a new SecondaryTable, this will be null, >+ //specify the defaultSchema and defaultCatalog instead in the appropriate construtor > private SecondaryTable secondaryTable; >- private Entity entity; >- >+ private JpaProject jpaProject; >+ private String defaultSchema; >+ private String defaultCatalog; >+ > protected Combo nameCombo; > protected Combo catalogCombo; > protected Combo schemaCombo; >@@ -48,15 +51,17 @@ > private boolean defaultSchemaSelected; > private boolean defaultCatalogSelected; > >- public SecondaryTableDialog(Shell parent, Entity entity) { >+ public SecondaryTableDialog(Shell parent, JpaProject jpaProject, String defaultSchema, String defaultCatalog) { > super(parent); >- this.entity = entity; >+ this.jpaProject = jpaProject; >+ this.defaultSchema = defaultSchema; >+ this.defaultCatalog = defaultCatalog; > } > >- public SecondaryTableDialog(Shell parent, SecondaryTable secondaryTable, Entity entity) { >+ public SecondaryTableDialog(Shell parent, SecondaryTable secondaryTable, JpaProject jpaProject) { > super(parent); > this.secondaryTable = secondaryTable; >- this.entity = entity; >+ this.jpaProject = jpaProject; > } > > @Override >@@ -73,12 +78,10 @@ > } > > protected String getTitle() { >- if (secondaryTable != null) { >+ if (this.secondaryTable != null) { > return JptUiMappingsMessages.SecondaryTableDialog_editSecondaryTable; > } >- else { >- return JptUiMappingsMessages.SecondaryTableDialog_addSecondaryTable; >- } >+ return JptUiMappingsMessages.SecondaryTableDialog_addSecondaryTable; > } > > @Override >@@ -123,6 +126,18 @@ > this.schemaCombo.setLayoutData(gridData); > populateSchemaCombo(); > >+ >+ this.schemaCombo.addSelectionListener(new SelectionListener() { >+ >+ public void widgetSelected(SelectionEvent e) { >+ repopulateNameCombo(); >+ } >+ >+ public void widgetDefaultSelected(SelectionEvent e) { >+ repopulateNameCombo(); >+ } >+ }); >+ > return composite; > } > >@@ -131,17 +146,28 @@ > } > > private ConnectionProfile getConnectionProfile() { >- JpaProject project = (this.secondaryTable == null) ? this.entity.getJpaProject() : this.secondaryTable.getJpaProject(); >- return project.getConnectionProfile(); >+ return this.jpaProject.getConnectionProfile(); >+ } >+ >+ protected Schema getDefaultTableSchema() { >+ if (this.secondaryTable != null) { >+ return getTableSchema(this.secondaryTable.getDefaultSchema()); >+ } >+ return getTableSchema(this.defaultSchema); > } > >+ > protected Schema getTableSchema() { >+ if (this.secondaryTable != null) { >+ return getTableSchema(this.secondaryTable.getSchema()); >+ } >+ return getTableSchema(this.defaultSchema); >+ } >+ >+ protected Schema getTableSchema(String schemaName) { > Database database = this.getDatabase(); > if (database != null) { >- if (this.secondaryTable != null) { >- return database.schemaNamed(this.secondaryTable.getSchema()); >- } >- return database.schemaNamed(this.entity.getTable().getSchema()); >+ return database.schemaNamed(schemaName); > } > return null; > } >@@ -162,11 +188,42 @@ > } > } > >+ protected void repopulateNameCombo() { >+ String nameText = this.nameCombo.getText(); >+ this.nameCombo.removeAll(); >+ >+ Schema schema = null; >+ if (this.schemaCombo.getSelectionIndex() == 0) { >+ schema = this.getDefaultTableSchema(); >+ } >+ else if (this.schemaCombo.getText() != null) { >+ schema = this.getTableSchema(this.schemaCombo.getText()); >+ } >+ else { >+ schema = this.getTableSchema(); >+ } >+ >+ if (schema != null) { >+ Iterator<String> tables = schema.tableNames(); >+ for (Iterator<String> stream = CollectionTools.sort( tables); stream.hasNext(); ) { >+ this.nameCombo.add(stream.next()); >+ } >+ } >+ >+ this.nameCombo.setText(nameText); >+ } >+ > protected void populateSchemaCombo() { >+ String defaultSchema; > if (getSecondaryTable() != null) { >- this.schemaCombo.add(NLS.bind(JptUiMappingsMessages.SecondaryTableDialog_defaultSchema, getSecondaryTable().getDefaultSchema())); >+ defaultSchema = getSecondaryTable().getDefaultSchema(); >+ } >+ else { >+ defaultSchema = this.defaultSchema; >+ } >+ if (defaultSchema != null) { >+ this.schemaCombo.add(NLS.bind(JptUiMappingsMessages.SecondaryTableDialog_defaultSchema, defaultSchema)); > } >- > Database database = this.getDatabase(); > > if (database != null) { >@@ -184,12 +241,23 @@ > this.schemaCombo.select(0); > } > } >+ else { >+ this.schemaCombo.select(0); >+ } > } > > protected void populateCatalogCombo() { >+ String defaultCatalog; > if (getSecondaryTable() != null) { >- this.catalogCombo.add(NLS.bind(JptUiMappingsMessages.SecondaryTableDialog_defaultCatalog, getSecondaryTable().getDefaultCatalog())); >+ defaultCatalog = getSecondaryTable().getDefaultCatalog(); >+ } >+ else { >+ defaultCatalog = this.defaultCatalog; > } >+ if (defaultCatalog != null) { >+ this.catalogCombo.add(NLS.bind(JptUiMappingsMessages.SecondaryTableDialog_defaultCatalog, defaultCatalog)); >+ } >+ > Database database = this.getDatabase(); > > if (database != null) { >@@ -207,6 +275,9 @@ > this.catalogCombo.select(0); > } > } >+ else { >+ this.catalogCombo.select(0); >+ } > } > > protected Combo getNameCombo() { >Index: src/org/eclipse/jpt/ui/internal/mappings/details/JoinTableComposite.java >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/JoinTableComposite.java,v >retrieving revision 1.25 >diff -u -r1.25 JoinTableComposite.java >--- src/org/eclipse/jpt/ui/internal/mappings/details/JoinTableComposite.java 15 Apr 2008 19:41:10 -0000 1.25 >+++ src/org/eclipse/jpt/ui/internal/mappings/details/JoinTableComposite.java 23 Jul 2008 15:25:36 -0000 >@@ -227,6 +227,21 @@ > super.addPropertyNames(propertyNames); > propertyNames.add(Table.DEFAULT_NAME_PROPERTY); > propertyNames.add(Table.SPECIFIED_NAME_PROPERTY); >+ propertyNames.add(Table.DEFAULT_SCHEMA_PROPERTY); >+ propertyNames.add(Table.SPECIFIED_SCHEMA_PROPERTY); >+ propertyNames.add(Table.DEFAULT_CATALOG_PROPERTY); >+ propertyNames.add(Table.SPECIFIED_CATALOG_PROPERTY); >+ } >+ >+ @Override >+ protected void propertyChanged(String propertyName) { >+ super.propertyChanged(propertyName); >+ if (propertyName == Table.DEFAULT_SCHEMA_PROPERTY >+ || propertyName == Table.SPECIFIED_SCHEMA_PROPERTY >+ || propertyName == Table.DEFAULT_CATALOG_PROPERTY >+ || propertyName == Table.SPECIFIED_CATALOG_PROPERTY ) { >+ repopulate(); >+ } > } > > @Override >Index: src/org/eclipse/jpt/ui/internal/mappings/details/TableGeneratorComposite.java >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/TableGeneratorComposite.java,v >retrieving revision 1.23 >diff -u -r1.23 TableGeneratorComposite.java >--- src/org/eclipse/jpt/ui/internal/mappings/details/TableGeneratorComposite.java 9 Jul 2008 17:01:52 -0000 1.23 >+++ src/org/eclipse/jpt/ui/internal/mappings/details/TableGeneratorComposite.java 23 Jul 2008 15:25:36 -0000 >@@ -299,6 +299,21 @@ > super.addPropertyNames(propertyNames); > propertyNames.add(TableGenerator.DEFAULT_TABLE_PROPERTY); > propertyNames.add(TableGenerator.SPECIFIED_TABLE_PROPERTY); >+ propertyNames.add(TableGenerator.DEFAULT_SCHEMA_PROPERTY); >+ propertyNames.add(TableGenerator.SPECIFIED_SCHEMA_PROPERTY); >+ propertyNames.add(TableGenerator.DEFAULT_CATALOG_PROPERTY); >+ propertyNames.add(TableGenerator.SPECIFIED_CATALOG_PROPERTY); >+ } >+ >+ @Override >+ protected void propertyChanged(String propertyName) { >+ super.propertyChanged(propertyName); >+ if (propertyName == TableGenerator.DEFAULT_SCHEMA_PROPERTY >+ || propertyName == TableGenerator.SPECIFIED_SCHEMA_PROPERTY >+ || propertyName == TableGenerator.DEFAULT_CATALOG_PROPERTY >+ || propertyName == TableGenerator.SPECIFIED_CATALOG_PROPERTY ) { >+ repopulate(); >+ } > } > > @Override >Index: src/org/eclipse/jpt/ui/internal/mappings/details/AbstractSecondaryTablesComposite.java >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/AbstractSecondaryTablesComposite.java,v >retrieving revision 1.1 >diff -u -r1.1 AbstractSecondaryTablesComposite.java >--- src/org/eclipse/jpt/ui/internal/mappings/details/AbstractSecondaryTablesComposite.java 6 Mar 2008 15:56:12 -0000 1.1 >+++ src/org/eclipse/jpt/ui/internal/mappings/details/AbstractSecondaryTablesComposite.java 23 Jul 2008 15:25:36 -0000 >@@ -85,8 +85,12 @@ > String schema = dialog.getSelectedSchema(); > SecondaryTable secondaryTable = this.subject().addSpecifiedSecondaryTable(index); > secondaryTable.setSpecifiedName(name); >- secondaryTable.setSpecifiedCatalog(catalog); >- secondaryTable.setSpecifiedSchema(schema); >+ if (!dialog.isDefaultCatalogSelected()) { >+ secondaryTable.setSpecifiedCatalog(catalog); >+ } >+ if (!dialog.isDefaultSchemaSelected()) { >+ secondaryTable.setSpecifiedSchema(schema); >+ } > > listSelectionModel.setSelectedValue(secondaryTable); > } >@@ -110,11 +114,15 @@ > }; > } > >+ protected SecondaryTableDialog buildSecondaryTableDialogForAdd() { >+ return new SecondaryTableDialog(getControl().getShell(), subject().getJpaProject(), subject().getTable().getDefaultSchema(), subject().getTable().getDefaultCatalog()); >+ } >+ > protected AddRemoveListPane.Adapter buildSecondaryTablesAdapter() { > return new AddRemoveListPane.AbstractAdapter() { > > public void addNewItem(ObjectListSelectionModel listSelectionModel) { >- SecondaryTableDialog dialog = new SecondaryTableDialog(getControl().getShell(), subject()); >+ SecondaryTableDialog dialog = buildSecondaryTableDialogForAdd(); > addSecondaryTableFromDialog(dialog, listSelectionModel); > } > >@@ -131,7 +139,7 @@ > @Override > public void optionOnSelection(ObjectListSelectionModel listSelectionModel) { > SecondaryTable secondaryTable = (SecondaryTable) listSelectionModel.selectedValue(); >- SecondaryTableDialog dialog = new SecondaryTableDialog(getControl().getShell(), secondaryTable, subject()); >+ SecondaryTableDialog dialog = new SecondaryTableDialog(getControl().getShell(), secondaryTable, subject().getJpaProject()); > editSecondaryTableFromDialog(dialog, secondaryTable); > } > >Index: src/org/eclipse/jpt/ui/internal/mappings/details/TableComposite.java >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/TableComposite.java,v >retrieving revision 1.16 >diff -u -r1.16 TableComposite.java >--- src/org/eclipse/jpt/ui/internal/mappings/details/TableComposite.java 26 Mar 2008 18:57:51 -0000 1.16 >+++ src/org/eclipse/jpt/ui/internal/mappings/details/TableComposite.java 23 Jul 2008 15:25:36 -0000 >@@ -146,9 +146,24 @@ > super.addPropertyNames(propertyNames); > propertyNames.add(Table.DEFAULT_NAME_PROPERTY); > propertyNames.add(Table.SPECIFIED_NAME_PROPERTY); >+ propertyNames.add(Table.DEFAULT_SCHEMA_PROPERTY); >+ propertyNames.add(Table.SPECIFIED_SCHEMA_PROPERTY); >+ propertyNames.add(Table.DEFAULT_CATALOG_PROPERTY); >+ propertyNames.add(Table.SPECIFIED_CATALOG_PROPERTY); > } > > @Override >+ protected void propertyChanged(String propertyName) { >+ super.propertyChanged(propertyName); >+ if (propertyName == Table.DEFAULT_SCHEMA_PROPERTY >+ || propertyName == Table.SPECIFIED_SCHEMA_PROPERTY >+ || propertyName == Table.DEFAULT_CATALOG_PROPERTY >+ || propertyName == Table.SPECIFIED_CATALOG_PROPERTY ) { >+ repopulate(); >+ } >+ } >+ >+ @Override > protected String defaultValue() { > return subject().getDefaultName(); > } >Index: src/org/eclipse/jpt/ui/internal/orm/details/OrmSecondaryTablesComposite.java >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmSecondaryTablesComposite.java,v >retrieving revision 1.2 >diff -u -r1.2 OrmSecondaryTablesComposite.java >--- src/org/eclipse/jpt/ui/internal/orm/details/OrmSecondaryTablesComposite.java 24 Apr 2008 02:04:15 -0000 1.2 >+++ src/org/eclipse/jpt/ui/internal/orm/details/OrmSecondaryTablesComposite.java 23 Jul 2008 15:25:37 -0000 >@@ -21,6 +21,7 @@ > import org.eclipse.jpt.ui.internal.mappings.JptUiMappingsMessages; > import org.eclipse.jpt.ui.internal.mappings.details.AbstractSecondaryTablesComposite; > import org.eclipse.jpt.ui.internal.mappings.details.PrimaryKeyJoinColumnsInSecondaryTableComposite; >+import org.eclipse.jpt.ui.internal.mappings.details.SecondaryTableDialog; > import org.eclipse.jpt.ui.internal.util.PaneEnabler; > import org.eclipse.jpt.ui.internal.widgets.AbstractFormPane; > import org.eclipse.jpt.ui.internal.widgets.AddRemoveListPane; >@@ -175,6 +176,12 @@ > new PaneEnabler(defineInXmlHolder, listPane); > } > >+ @Override >+ protected SecondaryTableDialog buildSecondaryTableDialogForAdd() { >+ //defaultSchema and defaultCatalog should not be taken from the Table in this case. The table default schema could be what is the specified schema on the java table. >+ return new SecondaryTableDialog(getControl().getShell(), subject().getJpaProject(), subject().getEntityMappings().getDefaultSchema(), subject().getEntityMappings().getDefaultCatalog()); >+ } >+ > private class DefineInXmlHolder extends ListPropertyValueModelAdapter<Boolean> > implements WritablePropertyValueModel<Boolean> { > >Index: src/org/eclipse/jpt/ui/internal/orm/details/OrmTableGeneratorComposite.java >=================================================================== >RCS file: /cvsroot/webtools/org.eclipse.jpa/components/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmTableGeneratorComposite.java,v >retrieving revision 1.4 >diff -u -r1.4 OrmTableGeneratorComposite.java >--- src/org/eclipse/jpt/ui/internal/orm/details/OrmTableGeneratorComposite.java 4 Apr 2008 19:46:03 -0000 1.4 >+++ src/org/eclipse/jpt/ui/internal/orm/details/OrmTableGeneratorComposite.java 23 Jul 2008 15:25:37 -0000 >@@ -156,6 +156,21 @@ > super.addPropertyNames(propertyNames); > propertyNames.add(TableGenerator.DEFAULT_TABLE_PROPERTY); > propertyNames.add(TableGenerator.SPECIFIED_TABLE_PROPERTY); >+ propertyNames.add(TableGenerator.DEFAULT_SCHEMA_PROPERTY); >+ propertyNames.add(TableGenerator.SPECIFIED_SCHEMA_PROPERTY); >+ propertyNames.add(TableGenerator.DEFAULT_CATALOG_PROPERTY); >+ propertyNames.add(TableGenerator.SPECIFIED_CATALOG_PROPERTY); >+ } >+ >+ @Override >+ protected void propertyChanged(String propertyName) { >+ super.propertyChanged(propertyName); >+ if (propertyName == TableGenerator.DEFAULT_SCHEMA_PROPERTY >+ || propertyName == TableGenerator.SPECIFIED_SCHEMA_PROPERTY >+ || propertyName == TableGenerator.DEFAULT_CATALOG_PROPERTY >+ || propertyName == TableGenerator.SPECIFIED_CATALOG_PROPERTY ) { >+ repopulate(); >+ } > } > > @Override
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 236743
: 108210