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/mappings/details/JoinTableComposite.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/JoinTableComposite.java563
1 files changed, 0 insertions, 563 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/JoinTableComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/JoinTableComposite.java
deleted file mode 100644
index 8e99164894..0000000000
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/JoinTableComposite.java
+++ /dev/null
@@ -1,563 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2008 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.mappings.details;
-
-import java.util.Collection;
-import java.util.ListIterator;
-import org.eclipse.jpt.core.context.JoinColumn;
-import org.eclipse.jpt.core.context.JoinTable;
-import org.eclipse.jpt.core.context.Table;
-import org.eclipse.jpt.ui.WidgetFactory;
-import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.ui.internal.mappings.JptUiMappingsMessages;
-import org.eclipse.jpt.ui.internal.mappings.db.TableCombo;
-import org.eclipse.jpt.ui.internal.mappings.details.JoinColumnsComposite.IJoinColumnsEditor;
-import org.eclipse.jpt.ui.internal.util.PaneEnabler;
-import org.eclipse.jpt.ui.internal.widgets.AbstractFormPane;
-import org.eclipse.jpt.ui.internal.widgets.PostExecution;
-import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel;
-import org.eclipse.jpt.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | --------------------------------------------------------------- |
- * | Name: | |v| |
- * | --------------------------------------------------------------- |
- * | |
- * | - Join Columns ---------------------------------------------------------- |
- * | | | |
- * | | x Override Default | |
- * | | | |
- * | | --------------------------------------------------------------------- | |
- * | | | | | |
- * | | | JoinColumnsComposite | | |
- * | | | | | |
- * | | --------------------------------------------------------------------- | |
- * | ------------------------------------------------------------------------- |
- * | |
- * | - Inverse Join Columns -------------------------------------------------- |
- * | | | |
- * | | x Override Default | |
- * | | | |
- * | | --------------------------------------------------------------------- | |
- * | | | | | |
- * | | | JoinColumnsComposite | | |
- * | | | | | |
- * | | --------------------------------------------------------------------- | |
- * | ------------------------------------------------------------------------- |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see JoinTable
- * @see OneToManyMappingComposite - A container of this pane
- * @see ManyToManyMappingComposite - A container of this pane
- * @see JoinColumnsComposite
- *
- * @version 2.0
- * @since 1.0
- */
-public class JoinTableComposite extends AbstractFormPane<JoinTable>
-{
- private WritablePropertyValueModel<Boolean> inverseJoinColumnsPaneEnablerHolder;
- private WritablePropertyValueModel<Boolean> joinColumnsPaneEnablerHolder;
- private Button overrideDefaultInverseJoinColumnsCheckBox;
- private Button overrideDefaultJoinColumnsCheckBox;
-
- /**
- * Creates a new <code>JoinTableComposite</code>.
- *
- * @param parentPane The parent container of this one
- * @param subjectHolder The holder of this pane's subject
- * @param parent The parent container
- */
- public JoinTableComposite(AbstractFormPane<?> parentPane,
- PropertyValueModel<? extends JoinTable> subjectHolder,
- Composite parent) {
-
- super(parentPane, subjectHolder, parent, false);
- }
-
- /**
- * Creates a new <code>JoinTableComposite</code>.
- *
- * @param subjectHolder The holder of the subject <code>IJoinTable</code>
- * @param parent The parent container
- * @param widgetFactory The factory used to create various common widgets
- */
- public JoinTableComposite(PropertyValueModel<? extends JoinTable> subjectHolder,
- Composite parent,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, parent, widgetFactory);
- }
-
- private void addInverseJoinColumn(JoinTable joinTable) {
-
- InverseJoinColumnInJoinTableDialog dialog =
- new InverseJoinColumnInJoinTableDialog(shell(), joinTable, null);
-
- dialog.openDialog(buildAddInverseJoinColumnPostExecution());
- }
-
- private void addInverseJoinColumnFromDialog(InverseJoinColumnInJoinTableStateObject stateObject) {
-
- JoinTable subject = subject();
- int index = subject.specifiedInverseJoinColumnsSize();
-
- JoinColumn joinColumn = subject.addSpecifiedInverseJoinColumn(index);
- stateObject.updateJoinColumn(joinColumn);
- }
-
- private void addJoinColumn(JoinTable joinTable) {
-
- JoinColumnInJoinTableDialog dialog =
- new JoinColumnInJoinTableDialog(shell(), joinTable, null);
-
- dialog.openDialog(buildAddJoinColumnPostExecution());
- }
-
- private void addJoinColumnFromDialog(JoinColumnInJoinTableStateObject stateObject) {
-
- JoinTable subject = subject();
- int index = subject.specifiedJoinColumnsSize();
-
- JoinColumn joinColumn = subject().addSpecifiedJoinColumn(index);
- stateObject.updateJoinColumn(joinColumn);
- }
-
- private PostExecution<InverseJoinColumnInJoinTableDialog> buildAddInverseJoinColumnPostExecution() {
- return new PostExecution<InverseJoinColumnInJoinTableDialog>() {
- public void execute(InverseJoinColumnInJoinTableDialog dialog) {
- if (dialog.wasConfirmed()) {
- addInverseJoinColumnFromDialog(dialog.subject());
- }
- }
- };
- }
-
- private PostExecution<JoinColumnInJoinTableDialog> buildAddJoinColumnPostExecution() {
- return new PostExecution<JoinColumnInJoinTableDialog>() {
- public void execute(JoinColumnInJoinTableDialog dialog) {
- if (dialog.wasConfirmed()) {
- addJoinColumnFromDialog(dialog.subject());
- }
- }
- };
- }
-
- private PostExecution<InverseJoinColumnInJoinTableDialog> buildEditInverseJoinColumnPostExecution() {
- return new PostExecution<InverseJoinColumnInJoinTableDialog>() {
- public void execute(InverseJoinColumnInJoinTableDialog dialog) {
- if (dialog.wasConfirmed()) {
- editInverseJoinColumn(dialog.subject());
- }
- }
- };
- }
-
- private PostExecution<JoinColumnInJoinTableDialog> buildEditJoinColumnPostExecution() {
- return new PostExecution<JoinColumnInJoinTableDialog>() {
- public void execute(JoinColumnInJoinTableDialog dialog) {
- if (dialog.wasConfirmed()) {
- editJoinColumn(dialog.subject());
- }
- }
- };
- }
-
- private InverseJoinColumnsProvider buildInverseJoinColumnsEditor() {
- return new InverseJoinColumnsProvider();
- }
-
- private JoinColumnsProvider buildJoinColumnsEditor() {
- return new JoinColumnsProvider();
- }
-
- private SimplePropertyValueModel<Boolean> buildJoinColumnsPaneEnablerHolder() {
- return new SimplePropertyValueModel<Boolean>(Boolean.FALSE);
- }
-
- private WritablePropertyValueModel<Boolean> buildOverrideDefaultHolder() {
- return new SimplePropertyValueModel<Boolean>();
- }
-
- private SelectionListener buildOverrideDefaultInverseSelectionListener() {
- return new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateInverseJoinColumns();
- }
- };
- }
-
- private SelectionListener buildOverrideDefaultSelectionListener() {
- return new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- updateJoinColumns();
- }
- };
- }
-
- private Composite buildPane(Composite container, int groupBoxMargin) {
- return buildSubPane(container, 0, groupBoxMargin, 10, groupBoxMargin);
- }
-
- private TableCombo<JoinTable> buildTableCombo(Composite container) {
-
- return new TableCombo<JoinTable>(this, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(Table.DEFAULT_NAME_PROPERTY);
- propertyNames.add(Table.SPECIFIED_NAME_PROPERTY);
- }
-
- @Override
- protected String defaultValue() {
- return subject().getDefaultName();
- }
-
- @Override
- protected String schemaName() {
- return subject().getSchema();
- }
-
- @Override
- protected void setValue(String value) {
- subject().setSpecifiedName(value);
- }
-
- @Override
- protected org.eclipse.jpt.db.Table table() {
- return subject().getDbTable();
- }
-
- @Override
- protected String value() {
- return subject().getSpecifiedName();
- }
- };
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected void doPopulate() {
- super.doPopulate();
- updateJoinColumnPanesEnablement(true);
- }
-
- private void editInverseJoinColumn(InverseJoinColumnInJoinTableStateObject stateObject) {
- stateObject.updateJoinColumn(stateObject.getJoinColumn());
- }
-
- private void editInverseJoinColumn(JoinColumn joinColumn) {
-
- InverseJoinColumnInJoinTableDialog dialog =
- new InverseJoinColumnInJoinTableDialog(shell(), subject(), joinColumn);
-
- dialog.openDialog(buildEditInverseJoinColumnPostExecution());
- }
-
- private void editJoinColumn(JoinColumn joinColumn) {
-
- JoinColumnInJoinTableDialog dialog =
- new JoinColumnInJoinTableDialog(shell(), subject(), joinColumn);
-
- dialog.openDialog(buildEditJoinColumnPostExecution());
- }
-
- private void editJoinColumn(JoinColumnInJoinTableStateObject stateObject) {
- stateObject.updateJoinColumn(stateObject.getJoinColumn());
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- public void enableWidgets(boolean enabled) {
- super.enableWidgets(enabled);
- updateJoinColumnPanesEnablement(enabled);
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected void initialize() {
- super.initialize();
-
- joinColumnsPaneEnablerHolder = buildJoinColumnsPaneEnablerHolder();
- inverseJoinColumnsPaneEnablerHolder = buildJoinColumnsPaneEnablerHolder();
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected void initializeLayout(Composite container) {
-
- int groupBoxMargin = groupBoxMargin();
-
- // Name widgets
- TableCombo<JoinTable> tableCombo = buildTableCombo(container);
-
- buildLabeledComposite(
- buildPane(container, groupBoxMargin),
- JptUiMappingsMessages.JoinTableComposite_name,
- tableCombo.getControl(),
- JpaHelpContextIds.MAPPING_JOIN_TABLE_NAME
- );
-
- // Join Columns group pane
- Group joinColumnGroupPane = buildTitledPane(
- container,
- JptUiMappingsMessages.JoinTableComposite_joinColumn
- );
-
- // Override Default Join Columns check box
- overrideDefaultJoinColumnsCheckBox = buildCheckBox(
- buildSubPane(joinColumnGroupPane, 8),
- JptUiMappingsMessages.JoinTableComposite_overrideDefaultJoinColumns,
- buildOverrideDefaultHolder()
- );
-
- overrideDefaultJoinColumnsCheckBox.addSelectionListener(
- buildOverrideDefaultSelectionListener()
- );
-
- JoinColumnsComposite<JoinTable> joinColumnsComposite = new JoinColumnsComposite<JoinTable>(
- this,
- joinColumnGroupPane,
- buildJoinColumnsEditor()
- );
-
- installJoinColumnsPaneEnabler(joinColumnsComposite);
- removeFromEnablementControl(joinColumnsComposite.getControl());
-
- // Inverse Join Columns group pane
- Group inverseJoinColumnGroupPane = buildTitledPane(
- container,
- JptUiMappingsMessages.JoinTableComposite_inverseJoinColumn
- );
-
- // Override Default Inverse Join Columns check box
- overrideDefaultInverseJoinColumnsCheckBox = buildCheckBox(
- buildSubPane(inverseJoinColumnGroupPane, 8),
- JptUiMappingsMessages.JoinTableComposite_overrideDefaultInverseJoinColumns,
- buildOverrideDefaultHolder()
- );
-
- overrideDefaultInverseJoinColumnsCheckBox.addSelectionListener(
- buildOverrideDefaultInverseSelectionListener()
- );
-
- JoinColumnsComposite<JoinTable> inverseJoinColumnsComposite = new JoinColumnsComposite<JoinTable>(
- this,
- inverseJoinColumnGroupPane,
- buildInverseJoinColumnsEditor()
- );
-
- installInverseJoinColumnsPaneEnabler(inverseJoinColumnsComposite);
- removeFromEnablementControl(inverseJoinColumnsComposite.getControl());
- }
-
- private void installInverseJoinColumnsPaneEnabler(JoinColumnsComposite<JoinTable> pane) {
- new PaneEnabler(inverseJoinColumnsPaneEnablerHolder, pane);
- }
-
- private void installJoinColumnsPaneEnabler(JoinColumnsComposite<JoinTable> pane) {
- new PaneEnabler(joinColumnsPaneEnablerHolder, pane);
- }
-
- private void updateInverseJoinColumns() {
-
- if (isPopulating()) {
- return;
- }
-
- JoinTable joinTable = subject();
- boolean selected = overrideDefaultInverseJoinColumnsCheckBox.getSelection();
- setPopulating(true);
-
- try {
- // Add a join column by creating a specified one using the default
- // one if it exists
- if (selected) {
-
- JoinColumn defaultJoinColumn = joinTable.getDefaultInverseJoinColumn(); //TODO null check, override default button disabled
-
- if (defaultJoinColumn != null) {
- String columnName = defaultJoinColumn.getDefaultName();
- String referencedColumnName = defaultJoinColumn.getDefaultReferencedColumnName();
-
- JoinColumn joinColumn = joinTable.addSpecifiedInverseJoinColumn(0);
- joinColumn.setSpecifiedName(columnName);
- joinColumn.setSpecifiedReferencedColumnName(referencedColumnName);
- }
- }
- else {
- for (int index = joinTable.specifiedInverseJoinColumnsSize(); --index >= 0; ) {
- joinTable.removeSpecifiedInverseJoinColumn(index);
- }
- }
-
- inverseJoinColumnsPaneEnablerHolder.setValue(selected);
- }
- finally {
- setPopulating(false);
- }
- }
-
- private void updateJoinColumnPanesEnablement(boolean globalEnablement) {
-
- JoinTable subject = subject();
- boolean enabled = globalEnablement && (subject != null) && subject.containsSpecifiedJoinColumns();
- boolean inverseEnabled = globalEnablement && (subject != null) && subject.containsSpecifiedInverseJoinColumns();
-
- overrideDefaultJoinColumnsCheckBox .setSelection(enabled);
- overrideDefaultInverseJoinColumnsCheckBox.setSelection(inverseEnabled);
-
- joinColumnsPaneEnablerHolder .setValue(enabled);
- inverseJoinColumnsPaneEnablerHolder.setValue(inverseEnabled);
- }
-
- private void updateJoinColumns() {
-
- if (isPopulating()) {
- return;
- }
-
- JoinTable joinTable = subject();
- boolean selected = overrideDefaultJoinColumnsCheckBox.getSelection();
- setPopulating(true);
-
- try {
- // Add a join column by creating a specified one using the default
- // one if it exists
- if (selected) {
-
- JoinColumn defaultJoinColumn = joinTable.getDefaultJoinColumn(); //TODO null check, override default button disabled
-
- if (defaultJoinColumn != null) {
- String columnName = defaultJoinColumn.getDefaultName();
- String referencedColumnName = defaultJoinColumn.getDefaultReferencedColumnName();
-
- JoinColumn joinColumn = joinTable.addSpecifiedJoinColumn(0);
- joinColumn.setSpecifiedName(columnName);
- joinColumn.setSpecifiedReferencedColumnName(referencedColumnName);
- }
- }
- else {
- for (int index = joinTable.specifiedJoinColumnsSize(); --index >= 0; ) {
- joinTable.removeSpecifiedJoinColumn(index);
- }
- }
-
- joinColumnsPaneEnablerHolder.setValue(selected);
- }
- finally {
- setPopulating(false);
- }
- }
-
- private class InverseJoinColumnsProvider implements IJoinColumnsEditor<JoinTable> {
-
- public void addJoinColumn(JoinTable subject) {
- JoinTableComposite.this.addInverseJoinColumn(subject);
- }
-
- public JoinColumn defaultJoinColumn(JoinTable subject) {
- return subject.getDefaultInverseJoinColumn();
- }
-
- public String defaultPropertyName() {
- return JoinTable.DEFAULT_INVERSE_JOIN_COLUMN;
- }
-
- public void editJoinColumn(JoinTable subject, JoinColumn joinColumn) {
- JoinTableComposite.this.editInverseJoinColumn(joinColumn);
- }
-
- public boolean hasSpecifiedJoinColumns(JoinTable subject) {
- return subject.containsSpecifiedInverseJoinColumns();
- }
-
- public void removeJoinColumns(JoinTable subject, int[] selectedIndices) {
- for (int index = selectedIndices.length; --index >= 0; ) {
- subject.removeSpecifiedInverseJoinColumn(selectedIndices[index]);
- }
- }
-
- public ListIterator<JoinColumn> specifiedJoinColumns(JoinTable subject) {
- return subject.specifiedInverseJoinColumns();
- }
-
- public int specifiedJoinColumnsSize(JoinTable subject) {
- return subject.specifiedInverseJoinColumnsSize();
- }
-
- public String specifiedListPropertyName() {
- return JoinTable.SPECIFIED_INVERSE_JOIN_COLUMNS_LIST;
- }
- }
-
- private class JoinColumnsProvider implements IJoinColumnsEditor<JoinTable> {
-
- public void addJoinColumn(JoinTable subject) {
- JoinTableComposite.this.addJoinColumn(subject);
- }
-
- public JoinColumn defaultJoinColumn(JoinTable subject) {
- return subject.getDefaultJoinColumn();
- }
-
- public String defaultPropertyName() {
- return JoinTable.DEFAULT_JOIN_COLUMN;
- }
-
- public void editJoinColumn(JoinTable subject, JoinColumn joinColumn) {
- JoinTableComposite.this.editJoinColumn(joinColumn);
- }
-
- public boolean hasSpecifiedJoinColumns(JoinTable subject) {
- return subject.containsSpecifiedJoinColumns();
- }
-
- public void removeJoinColumns(JoinTable subject, int[] selectedIndices) {
- for (int index = selectedIndices.length; --index >= 0; ) {
- subject.removeSpecifiedJoinColumn(selectedIndices[index]);
- }
- }
-
- public ListIterator<JoinColumn> specifiedJoinColumns(JoinTable subject) {
- return subject.specifiedJoinColumns();
- }
-
- public int specifiedJoinColumnsSize(JoinTable subject) {
- return subject.specifiedJoinColumnsSize();
- }
-
- public String specifiedListPropertyName() {
- return JoinTable.SPECIFIED_JOIN_COLUMNS_LIST;
- }
- }
-} \ No newline at end of file

Back to the top