Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsComposite.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsComposite.java237
1 files changed, 0 insertions, 237 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsComposite.java
deleted file mode 100644
index f7ae337289..0000000000
--- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoiningStrategyJoinColumnsComposite.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2011 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.jpa.ui.internal.details;
-
-import org.eclipse.jpt.common.ui.internal.widgets.Pane;
-import org.eclipse.jpt.common.ui.internal.widgets.PostExecution;
-import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.SuperListIterableWrapper;
-import org.eclipse.jpt.common.utility.internal.model.value.CachingTransformationPropertyValueModel;
-import org.eclipse.jpt.common.utility.internal.model.value.ReadOnlyWritablePropertyValueModelWrapper;
-import org.eclipse.jpt.common.utility.internal.model.value.ValueListAdapter;
-import org.eclipse.jpt.common.utility.model.event.StateChangeEvent;
-import org.eclipse.jpt.common.utility.model.listener.StateChangeListener;
-import org.eclipse.jpt.common.utility.model.value.PropertyValueModel;
-import org.eclipse.jpt.jpa.core.context.JoinColumn;
-import org.eclipse.jpt.jpa.core.context.JoinColumnRelationship;
-import org.eclipse.jpt.jpa.core.context.JoinColumnRelationshipStrategy;
-import org.eclipse.jpt.jpa.core.context.ReadOnlyJoinColumn;
-import org.eclipse.jpt.jpa.core.context.ReadOnlyJoinColumnRelationshipStrategy;
-import org.eclipse.jpt.jpa.ui.internal.details.JoinColumnsComposite.JoinColumnsEditor;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here is the layout of this pane:
- * <pre>
- * ---------------------------------------------------------------------
- * | |
- * | JoinColumnsComposite |
- * | |
- * ---------------------------------------------------------------------
- * -------------------------------------------------------------------------</pre>
- *
- * @see JoinColumnRelationship
- * @see JoinColumnRelationshipStrategy
- * @see JoinColumnJoiningStrategyPane
- * @see JoinColumnInJoiningStrategyDialog
- *
- * @version 3.0
- * @since 2.0
- */
-public class JoiningStrategyJoinColumnsComposite
- extends Pane<ReadOnlyJoinColumnRelationshipStrategy>
-{
-
- private JoinColumnsComposite<ReadOnlyJoinColumnRelationshipStrategy> joinColumnsComposite;
-
- public JoiningStrategyJoinColumnsComposite(
- Pane<?> parentPane,
- PropertyValueModel<ReadOnlyJoinColumnRelationshipStrategy> subjectHolder,
- Composite parent) {
- super(parentPane, subjectHolder, parent);
- }
-
-
- @Override
- protected void initializeLayout(Composite container) {
- this.joinColumnsComposite = new JoinColumnsComposite<ReadOnlyJoinColumnRelationshipStrategy>(this, container, buildJoinColumnsProvider());
- this.joinColumnsComposite.installJoinColumnsPaneEnabler(new JoinColumnPaneEnablerHolder());
- }
-
- private JoinColumnsEditor<ReadOnlyJoinColumnRelationshipStrategy> buildJoinColumnsProvider() {
- return new JoinColumnsEditor<ReadOnlyJoinColumnRelationshipStrategy>() {
-
- public void addJoinColumn(ReadOnlyJoinColumnRelationshipStrategy subject) {
- JoiningStrategyJoinColumnsComposite.this.addJoinColumn(subject);
- }
-
- public boolean hasSpecifiedJoinColumns(ReadOnlyJoinColumnRelationshipStrategy subject) {
- return subject.hasSpecifiedJoinColumns();
- }
-
- public void editJoinColumn(ReadOnlyJoinColumnRelationshipStrategy subject, ReadOnlyJoinColumn joinColumn) {
- JoiningStrategyJoinColumnsComposite.this.editJoinColumn(subject, joinColumn);
- }
-
- public ReadOnlyJoinColumn getDefaultJoinColumn(ReadOnlyJoinColumnRelationshipStrategy subject) {
- return subject.getDefaultJoinColumn();
- }
-
- public String getDefaultPropertyName() {
- return ReadOnlyJoinColumnRelationshipStrategy.DEFAULT_JOIN_COLUMN_PROPERTY;
- }
-
- public String getSpecifiedJoinColumnsListPropertyName() {
- return ReadOnlyJoinColumnRelationshipStrategy.SPECIFIED_JOIN_COLUMNS_LIST;
- }
-
- public void removeJoinColumns(ReadOnlyJoinColumnRelationshipStrategy subject, int[] selectedIndices) {
- for (int index = selectedIndices.length; --index >= 0; ) {
- ((JoinColumnRelationshipStrategy) subject).removeSpecifiedJoinColumn(selectedIndices[index]);
- }
- }
-
- public ListIterable<ReadOnlyJoinColumn> getSpecifiedJoinColumns(ReadOnlyJoinColumnRelationshipStrategy subject) {
- return new SuperListIterableWrapper<ReadOnlyJoinColumn>(subject.getSpecifiedJoinColumns());
- }
-
- public int getSpecifiedJoinColumnsSize(ReadOnlyJoinColumnRelationshipStrategy subject) {
- return subject.getSpecifiedJoinColumnsSize();
- }
- };
- }
-
- void addJoinColumn(ReadOnlyJoinColumnRelationshipStrategy joiningStrategy) {
- JoinColumnInJoiningStrategyDialog dialog =
- new JoinColumnInJoiningStrategyDialog(getShell(), joiningStrategy, null);
- dialog.openDialog(buildAddJoinColumnPostExecution());
- }
-
- private PostExecution<JoinColumnInJoiningStrategyDialog> buildAddJoinColumnPostExecution() {
- return new PostExecution<JoinColumnInJoiningStrategyDialog>() {
- public void execute(JoinColumnInJoiningStrategyDialog dialog) {
- if (dialog.wasConfirmed()) {
- addJoinColumn(dialog.getSubject());
- }
- }
- };
- }
-
- void addJoinColumn(JoinColumnInJoiningStrategyStateObject stateObject) {
- JoinColumnRelationshipStrategy subject = (JoinColumnRelationshipStrategy) getSubject();
- JoinColumn joinColumn = subject.addSpecifiedJoinColumn();
- stateObject.updateJoinColumn(joinColumn);
- this.setSelectedJoinColumn(joinColumn);
- }
-
- public void setSelectedJoinColumn(JoinColumn joinColumn) {
- this.joinColumnsComposite.setSelectedJoinColumn(joinColumn);
- }
-
- void editJoinColumn(ReadOnlyJoinColumnRelationshipStrategy joiningStrategy, ReadOnlyJoinColumn joinColumn) {
- JoinColumnInJoiningStrategyDialog dialog =
- new JoinColumnInJoiningStrategyDialog(getShell(), joiningStrategy, joinColumn);
- dialog.openDialog(buildEditJoinColumnPostExecution());
- }
-
- private PostExecution<JoinColumnInJoiningStrategyDialog> buildEditJoinColumnPostExecution() {
- return new PostExecution<JoinColumnInJoiningStrategyDialog>() {
- public void execute(JoinColumnInJoiningStrategyDialog dialog) {
- if (dialog.wasConfirmed()) {
- updateJoinColumn(dialog.getSubject());
- }
- }
- };
- }
-
- void updateJoinColumn(JoinColumnInJoiningStrategyStateObject stateObject) {
- stateObject.updateJoinColumn(stateObject.getJoinColumn());
- }
-
- protected CachingTransformationPropertyValueModel<ReadOnlyJoinColumnRelationshipStrategy, Boolean> buildJoinColumnsPaneEnabledHolder() {
- return new CachingTransformationPropertyValueModel<ReadOnlyJoinColumnRelationshipStrategy, Boolean>(
- new ValueListAdapter<ReadOnlyJoinColumnRelationshipStrategy>(
- new ReadOnlyWritablePropertyValueModelWrapper<ReadOnlyJoinColumnRelationshipStrategy>(getSubjectHolder()),
- ReadOnlyJoinColumnRelationshipStrategy.SPECIFIED_JOIN_COLUMNS_LIST)) {
-
- @Override
- protected Boolean transform(ReadOnlyJoinColumnRelationshipStrategy value) {
- if (value == null) {
- return Boolean.FALSE;
- }
- return super.transform(value);
- }
-
- @Override
- protected Boolean transform_(ReadOnlyJoinColumnRelationshipStrategy value) {
- boolean virtual = value.getRelationship().getMapping().getPersistentAttribute().isVirtual();
- return Boolean.valueOf(! virtual && value.getSpecifiedJoinColumnsSize() > 0);
- }
- };
-
- }
-
-
- private class JoinColumnPaneEnablerHolder
- extends CachingTransformationPropertyValueModel<ReadOnlyJoinColumnRelationshipStrategy, Boolean>
- {
- private StateChangeListener stateChangeListener;
-
-
- public JoinColumnPaneEnablerHolder() {
- super(
- new ValueListAdapter<ReadOnlyJoinColumnRelationshipStrategy>(
- new ReadOnlyWritablePropertyValueModelWrapper<ReadOnlyJoinColumnRelationshipStrategy>(getSubjectHolder()),
- ReadOnlyJoinColumnRelationshipStrategy.SPECIFIED_JOIN_COLUMNS_LIST));
- this.stateChangeListener = buildStateChangeListener();
- }
-
-
- private StateChangeListener buildStateChangeListener() {
- return new StateChangeListener() {
- public void stateChanged(StateChangeEvent event) {
- valueStateChanged();
- }
- };
- }
-
- void valueStateChanged() {
- Object oldValue = this.cachedValue;
- Object newValue = transformNew(this.valueHolder.getValue());
- firePropertyChanged(VALUE, oldValue, newValue);
- }
-
- @Override
- protected Boolean transform(ReadOnlyJoinColumnRelationshipStrategy value) {
- if (value == null) {
- return Boolean.FALSE;
- }
- return super.transform(value);
- }
-
- @Override
- protected Boolean transform_(ReadOnlyJoinColumnRelationshipStrategy value) {
- boolean virtual = value.getRelationship().isVirtual();
- return Boolean.valueOf(! virtual && value.getSpecifiedJoinColumnsSize() > 0);
- }
-
- @Override
- protected void engageModel() {
- super.engageModel();
- this.valueHolder.addStateChangeListener(this.stateChangeListener);
- }
-
- @Override
- protected void disengageModel() {
- this.valueHolder.removeStateChangeListener(this.stateChangeListener);
- super.disengageModel();
- }
- }
-}

Back to the top