diff options
author | kmoore | 2012-01-20 19:34:50 +0000 |
---|---|---|
committer | kmoore | 2012-01-20 19:34:50 +0000 |
commit | 24c129d119c664047d3bc869f49f3ece635b5fae (patch) | |
tree | 9b83afb0d526f9f88ddaf11f8ed20a4aaf548214 /jpa | |
parent | 2258fbd13be54d5fccdbb1d24970472f993b57c5 (diff) | |
download | webtools.dali-24c129d119c664047d3bc869f49f3ece635b5fae.tar.gz webtools.dali-24c129d119c664047d3bc869f49f3ece635b5fae.tar.xz webtools.dali-24c129d119c664047d3bc869f49f3ece635b5fae.zip |
removed SWTUtil.openDialog(PostExecution), this appears to be unnecessary
Diffstat (limited to 'jpa')
7 files changed, 113 insertions, 193 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractPrimaryKeyJoinColumnsComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractPrimaryKeyJoinColumnsComposite.java index d0ad966de4..66b2b626bd 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractPrimaryKeyJoinColumnsComposite.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/AbstractPrimaryKeyJoinColumnsComposite.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2011 Oracle. All rights reserved. + * Copyright (c) 2006, 2012 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. @@ -16,7 +16,6 @@ import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jpt.common.ui.internal.util.PaneEnabler; import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane; import org.eclipse.jpt.common.ui.internal.widgets.Pane; -import org.eclipse.jpt.common.ui.internal.widgets.PostExecution; import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.AbstractAdapter; import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter; import org.eclipse.jpt.common.utility.internal.iterables.ListIterable; @@ -83,31 +82,15 @@ public abstract class AbstractPrimaryKeyJoinColumnsComposite<T extends Entity> e null ); - dialog.openDialog(buildAddPrimaryKeyJoinColumnPostExecution()); - } - - private PostExecution<PrimaryKeyJoinColumnDialog> buildAddPrimaryKeyJoinColumnPostExecution() { - return new PostExecution<PrimaryKeyJoinColumnDialog>() { - public void execute(PrimaryKeyJoinColumnDialog dialog) { - if (dialog.wasConfirmed()) { - addJoinColumn(dialog.getSubject()); - } - } - }; + dialog.setBlockOnOpen(true); + dialog.open(); + if (dialog.wasConfirmed()) { + addJoinColumn(dialog.getSubject()); + } } protected abstract ListValueModel<? extends ReadOnlyPrimaryKeyJoinColumn> buildDefaultJoinColumnsListHolder(); - private PostExecution<PrimaryKeyJoinColumnDialog> buildEditPrimaryKeyJoinColumnPostExecution() { - return new PostExecution<PrimaryKeyJoinColumnDialog>() { - public void execute(PrimaryKeyJoinColumnDialog dialog) { - if (dialog.wasConfirmed()) { - editJoinColumn(dialog.getSubject()); - } - } - }; - } - private WritablePropertyValueModel<PrimaryKeyJoinColumn> buildJoinColumnHolder() { return new SimplePropertyValueModel<PrimaryKeyJoinColumn>(); } @@ -243,7 +226,11 @@ public abstract class AbstractPrimaryKeyJoinColumnsComposite<T extends Entity> e joinColumn ); - dialog.openDialog(buildEditPrimaryKeyJoinColumnPostExecution()); + dialog.setBlockOnOpen(true); + dialog.open(); + if (dialog.wasConfirmed()) { + editJoinColumn(dialog.getSubject()); + } } /* diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinTableComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinTableComposite.java index 2a911ccb3d..c00a0c46d6 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinTableComposite.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/JoinTableComposite.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2011 Oracle. All rights reserved. + * Copyright (c) 2005, 2012 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. @@ -11,7 +11,6 @@ package org.eclipse.jpt.jpa.ui.internal.details; import org.eclipse.jpt.common.ui.WidgetFactory; 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; @@ -203,7 +202,11 @@ public class JoinTableComposite InverseJoinColumnInJoinTableDialog dialog = new InverseJoinColumnInJoinTableDialog(getShell(), joinTable, null); - dialog.openDialog(buildAddInverseJoinColumnPostExecution()); + dialog.setBlockOnOpen(true); + dialog.open(); + if (dialog.wasConfirmed()) { + addInverseJoinColumnFromDialog(dialog.getSubject()); + } } void addInverseJoinColumnFromDialog(InverseJoinColumnInJoinTableStateObject stateObject) { @@ -220,27 +223,6 @@ public class JoinTableComposite this.inverseJoinColumnsComposite.setSelectedJoinColumn(joinColumn); } - private PostExecution<InverseJoinColumnInJoinTableDialog> buildAddInverseJoinColumnPostExecution() { - return new PostExecution<InverseJoinColumnInJoinTableDialog>() { - public void execute(InverseJoinColumnInJoinTableDialog dialog) { - if (dialog.wasConfirmed()) { - addInverseJoinColumnFromDialog(dialog.getSubject()); - } - } - }; - } - - private PostExecution<InverseJoinColumnInJoinTableDialog> buildEditInverseJoinColumnPostExecution() { - return new PostExecution<InverseJoinColumnInJoinTableDialog>() { - public void execute(InverseJoinColumnInJoinTableDialog dialog) { - if (dialog.wasConfirmed()) { - editInverseJoinColumn(dialog.getSubject()); - } - } - }; - } - - private InverseJoinColumnsProvider buildInverseJoinColumnsEditor() { return new InverseJoinColumnsProvider(); } @@ -273,7 +255,12 @@ public class JoinTableComposite InverseJoinColumnInJoinTableDialog dialog = new InverseJoinColumnInJoinTableDialog(getShell(), getSubject(), joinColumn); - dialog.openDialog(buildEditInverseJoinColumnPostExecution()); + + dialog.setBlockOnOpen(true); + dialog.open(); + if (dialog.wasConfirmed()) { + editInverseJoinColumn(dialog.getSubject()); + } } void updateInverseJoinColumns() { 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 index 0bf4a1229b..722ca90970 100644 --- 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 @@ -10,7 +10,6 @@ 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; @@ -111,17 +110,12 @@ public class JoiningStrategyJoinColumnsComposite 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()); - } - } - }; + + dialog.setBlockOnOpen(true); + dialog.open(); + if (dialog.wasConfirmed()) { + addJoinColumn(dialog.getSubject()); + } } void addJoinColumn(JoinColumnInJoiningStrategyStateObject stateObject) { @@ -138,17 +132,12 @@ public class JoiningStrategyJoinColumnsComposite 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()); - } - } - }; + + dialog.setBlockOnOpen(true); + dialog.open(); + if (dialog.wasConfirmed()) { + updateJoinColumn(dialog.getSubject()); + } } void updateJoinColumn(JoinColumnInJoiningStrategyStateObject stateObject) { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PrimaryKeyJoinColumnsInSecondaryTableComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PrimaryKeyJoinColumnsInSecondaryTableComposite.java index 1575109bfe..1df7456098 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PrimaryKeyJoinColumnsInSecondaryTableComposite.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/PrimaryKeyJoinColumnsInSecondaryTableComposite.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2011 Oracle. All rights reserved. + * Copyright (c) 2007, 2012 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. @@ -18,7 +18,6 @@ import org.eclipse.jpt.common.ui.internal.util.PaneEnabler; import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane; import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane; 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.CompositeListValueModel; @@ -112,17 +111,11 @@ public class PrimaryKeyJoinColumnsInSecondaryTableComposite extends Pane<ReadOnl PrimaryKeyJoinColumnInSecondaryTableDialog dialog = new PrimaryKeyJoinColumnInSecondaryTableDialog(getShell(), (SecondaryTable) getSubject(), null); - dialog.openDialog(buildAddPrimaryKeyJoinColumnPostExecution()); - } - - private PostExecution<PrimaryKeyJoinColumnInSecondaryTableDialog> buildAddPrimaryKeyJoinColumnPostExecution() { - return new PostExecution<PrimaryKeyJoinColumnInSecondaryTableDialog>() { - public void execute(PrimaryKeyJoinColumnInSecondaryTableDialog dialog) { - if (dialog.wasConfirmed()) { - addJoinColumn(dialog.getSubject()); - } - } - }; + dialog.setBlockOnOpen(true); + dialog.open(); + if (dialog.wasConfirmed()) { + addJoinColumn(dialog.getSubject()); + } } private PropertyValueModel<Boolean> buildControlBooleanHolder() { @@ -152,16 +145,6 @@ public class PrimaryKeyJoinColumnsInSecondaryTableComposite extends Pane<ReadOnl ); } - private PostExecution<PrimaryKeyJoinColumnInSecondaryTableDialog> buildEditPrimaryKeyJoinColumnPostExecution() { - return new PostExecution<PrimaryKeyJoinColumnInSecondaryTableDialog>() { - public void execute(PrimaryKeyJoinColumnInSecondaryTableDialog dialog) { - if (dialog.wasConfirmed()) { - editPrimaryKeyJoinColumn(dialog.getSubject()); - } - } - }; - } - String buildJoinColumnLabel(ReadOnlyPrimaryKeyJoinColumn joinColumn) { if (joinColumn.isDefault()) { @@ -290,7 +273,11 @@ public class PrimaryKeyJoinColumnsInSecondaryTableComposite extends Pane<ReadOnl joinColumn ); - dialog.openDialog(buildEditPrimaryKeyJoinColumnPostExecution()); + dialog.setBlockOnOpen(true); + dialog.open(); + if (dialog.wasConfirmed()) { + editPrimaryKeyJoinColumn(dialog.getSubject()); + } } void editPrimaryKeyJoinColumn(PrimaryKeyJoinColumnInSecondaryTableStateObject stateObject) { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ReferenceTableComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ReferenceTableComposite.java index 148a221b88..38e81fcad5 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ReferenceTableComposite.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/details/ReferenceTableComposite.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2011 Oracle. All rights reserved. + * Copyright (c) 2009, 2012 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. @@ -12,7 +12,6 @@ package org.eclipse.jpt.jpa.ui.internal.details; import java.util.Collection; import org.eclipse.jpt.common.ui.WidgetFactory; 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; @@ -86,7 +85,11 @@ public abstract class ReferenceTableComposite<T extends ReadOnlyReferenceTable> JoinColumnInReferenceTableDialog dialog = new JoinColumnInReferenceTableDialog(getShell(), referenceTable, null); - dialog.openDialog(buildAddJoinColumnPostExecution()); + dialog.setBlockOnOpen(true); + dialog.open(); + if (dialog.wasConfirmed()) { + addJoinColumnFromDialog(dialog.getSubject()); + } } void addJoinColumnFromDialog(JoinColumnInReferenceTableStateObject stateObject) { @@ -99,26 +102,6 @@ public abstract class ReferenceTableComposite<T extends ReadOnlyReferenceTable> this.joinColumnsComposite.setSelectedJoinColumn(joinColumn); } - private PostExecution<JoinColumnInReferenceTableDialog> buildAddJoinColumnPostExecution() { - return new PostExecution<JoinColumnInReferenceTableDialog>() { - public void execute(JoinColumnInReferenceTableDialog dialog) { - if (dialog.wasConfirmed()) { - addJoinColumnFromDialog(dialog.getSubject()); - } - } - }; - } - - private PostExecution<JoinColumnInReferenceTableDialog> buildEditJoinColumnPostExecution() { - return new PostExecution<JoinColumnInReferenceTableDialog>() { - public void execute(JoinColumnInReferenceTableDialog dialog) { - if (dialog.wasConfirmed()) { - editJoinColumn(dialog.getSubject()); - } - } - }; - } - protected JoinColumnsProvider buildJoinColumnsEditor() { return new JoinColumnsProvider(); } @@ -282,7 +265,11 @@ public abstract class ReferenceTableComposite<T extends ReadOnlyReferenceTable> JoinColumnInReferenceTableDialog dialog = new JoinColumnInReferenceTableDialog(getShell(), getSubject(), joinColumn); - dialog.openDialog(buildEditJoinColumnPostExecution()); + dialog.setBlockOnOpen(true); + dialog.open(); + if (dialog.wasConfirmed()) { + editJoinColumn(dialog.getSubject()); + } } void editJoinColumn(JoinColumnInReferenceTableStateObject stateObject) { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitJarFilesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitJarFilesComposite.java index be8a63a637..cf7d0b3e5c 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitJarFilesComposite.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitJarFilesComposite.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 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. @@ -10,13 +10,11 @@ package org.eclipse.jpt.jpa.ui.internal.persistence.details; import org.eclipse.core.resources.IProject; -import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.LabelProvider; -import org.eclipse.jpt.common.ui.internal.util.SWTUtil; +import org.eclipse.jface.window.Window; import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane; import org.eclipse.jpt.common.ui.internal.widgets.Pane; -import org.eclipse.jpt.common.ui.internal.widgets.PostExecution; import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter; import org.eclipse.jpt.common.utility.internal.iterables.ListIterable; import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValueModelAdapter; @@ -61,6 +59,8 @@ import org.eclipse.ui.dialogs.ElementTreeSelectionDialog; public abstract class PersistenceUnitJarFilesComposite extends Pane<PersistenceUnit> { + private WritablePropertyValueModel<JarFileRef> selectedItemHolder; + /** * Creates a new <code>PersistenceUnitJPAMappingDescriptorsComposite</code>. * @@ -74,6 +74,12 @@ public abstract class PersistenceUnitJarFilesComposite super(parentPane, parent, false); } + @Override + protected void initialize() { + super.initialize(); + this.selectedItemHolder = buildSelectedItemHolder(); + } + @Override @@ -88,7 +94,7 @@ public abstract class PersistenceUnitJarFilesComposite container, this.buildAdapter(), this.buildItemListHolder(), - this.buildSelectedItemHolder(), + this.selectedItemHolder, this.buildLabelProvider(), JpaHelpContextIds.PERSISTENCE_XML_GENERAL ) { @@ -119,7 +125,7 @@ public abstract class PersistenceUnitJarFilesComposite private Adapter buildAdapter() { return new AddRemoveListPane.AbstractAdapter() { public void addNewItem(ObjectListSelectionModel listSelectionModel) { - addJarFileRef(listSelectionModel); + addJarFileRef(); } public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) { @@ -176,7 +182,7 @@ public abstract class PersistenceUnitJarFilesComposite }; } - private void addJarFileRef(ObjectListSelectionModel listSelectionModel) { + private void addJarFileRef() { IProject project = getSubject().getJpaProject().getProject(); ElementTreeSelectionDialog dialog = new ArchiveFileSelectionDialog( @@ -186,38 +192,27 @@ public abstract class PersistenceUnitJarFilesComposite dialog.setTitle(JptUiPersistenceMessages.PersistenceUnitMappingFilesComposite_jarFileDialog_title); dialog.setMessage(JptUiPersistenceMessages.PersistenceUnitMappingFilesComposite_jarFileDialog_message); dialog.setInput(project); + + + dialog.setBlockOnOpen(true); - SWTUtil.show( - dialog, - buildSelectionDialogPostExecution(listSelectionModel) - ); + if (dialog.open() == Window.OK) { + for (Object result : dialog.getResult()) { + String filePath = (String) result; + if (jarFileRefExists(filePath)) { + continue; + } + JarFileRef jarFileRef = getSubject().addJarFileRef(filePath); + + this.selectedItemHolder.setValue(jarFileRef); + } + } } protected ArchiveFileSelectionDialog.DeploymentPathCalculator buildJarFileDeploymentPathCalculator() { return new ArchiveFileSelectionDialog.ModuleDeploymentPathCalculator(); } - private PostExecution<ElementTreeSelectionDialog> buildSelectionDialogPostExecution( - final ObjectListSelectionModel listSelectionModel) { - return new PostExecution<ElementTreeSelectionDialog>() { - public void execute(ElementTreeSelectionDialog dialog) { - if (dialog.getReturnCode() == IDialogConstants.CANCEL_ID) { - return; - } - - for (Object result : dialog.getResult()) { - String filePath = (String) result; - if (jarFileRefExists(filePath)) { - continue; - } - JarFileRef jarFileRef = getSubject().addJarFileRef(filePath); - - listSelectionModel.addSelectedValue(jarFileRef); - } - } - }; - } - private boolean jarFileRefExists(String fileName) { for (JarFileRef each : getSubject().getJarFileRefs()) { if (each.getFileName().equals(fileName)) { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java index da48c28094..89a4670acc 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2011 Oracle. All rights reserved. + * Copyright (c) 2008, 2012 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. @@ -15,15 +15,13 @@ import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; -import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.LabelProvider; +import org.eclipse.jface.window.Window; import org.eclipse.jpt.common.core.JptCommonCorePlugin; -import org.eclipse.jpt.common.ui.internal.util.SWTUtil; import org.eclipse.jpt.common.ui.internal.widgets.AddRemoveListPane; import org.eclipse.jpt.common.ui.internal.widgets.AddRemovePane.Adapter; 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.model.value.ItemPropertyListValueModelAdapter; import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter; @@ -52,12 +50,20 @@ import org.eclipse.ui.views.navigator.ResourceComparator; @SuppressWarnings("nls") public abstract class PersistenceUnitMappingFilesComposite extends Pane<PersistenceUnit> { - + + private WritablePropertyValueModel<MappingFileRef> selectedItemHolder; + public PersistenceUnitMappingFilesComposite( Pane<? extends PersistenceUnit> parentPane, Composite parent) { super(parentPane, parent); } + + @Override + protected void initialize() { + super.initialize(); + this.selectedItemHolder = buildSelectedItemHolder(); + } protected void addMappingFilesList(Composite container) { @@ -67,7 +73,7 @@ public abstract class PersistenceUnitMappingFilesComposite container, buildAdapter(), buildItemListHolder(), - buildSelectedItemHolder(), + this.selectedItemHolder, buildLabelProvider(), JpaHelpContextIds.PERSISTENCE_XML_GENERAL) { @@ -93,9 +99,7 @@ public abstract class PersistenceUnitMappingFilesComposite * * @param listSelectionModel The selection model used to select the new files */ - private void addJPAMappingDescriptor(ObjectListSelectionModel listSelectionModel) { - - IProject project = getSubject().getJpaProject().getProject(); + private void addJPAMappingDescriptor() { ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog( getShell(), @@ -107,18 +111,29 @@ public abstract class PersistenceUnitMappingFilesComposite dialog.setTitle(JptUiPersistenceMessages.PersistenceUnitMappingFilesComposite_mappingFileDialog_title); dialog.setMessage(JptUiPersistenceMessages.PersistenceUnitMappingFilesComposite_mappingFileDialog_message); dialog.addFilter(new XmlMappingFileViewerFilter(getSubject().getJpaProject())); - dialog.setInput(project); + dialog.setInput(getSubject().getJpaProject().getProject()); dialog.setComparator(new ResourceComparator(ResourceComparator.NAME)); - SWTUtil.show( - dialog, - buildSelectionDialogPostExecution(listSelectionModel)); + dialog.setBlockOnOpen(true); + if (dialog.open() == Window.OK) { + for (Object result : dialog.getResult()) { + IFile file = (IFile) result; + IProject project = file.getProject(); + IPath runtimePath = JptCommonCorePlugin.getResourceLocator(project).getRuntimePath(project, file.getFullPath()); + String fileName = runtimePath.toPortableString(); + if (mappingFileRefExists(fileName)) { + continue; + } + MappingFileRef mappingFileRef = getSubject().addSpecifiedMappingFileRef(fileName); + this.selectedItemHolder.setValue(mappingFileRef); + } + } } private Adapter buildAdapter() { return new AddRemoveListPane.AbstractAdapter() { public void addNewItem(ObjectListSelectionModel listSelectionModel) { - addJPAMappingDescriptor(listSelectionModel); + addJPAMappingDescriptor(); } public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) { @@ -193,33 +208,6 @@ public abstract class PersistenceUnitMappingFilesComposite return new SimplePropertyValueModel<MappingFileRef>(); } - private PostExecution<ElementTreeSelectionDialog> buildSelectionDialogPostExecution( - final ObjectListSelectionModel listSelectionModel) { - - return new PostExecution<ElementTreeSelectionDialog>() { - - public void execute(ElementTreeSelectionDialog dialog) { - - if (dialog.getReturnCode() == IDialogConstants.CANCEL_ID) { - return; - } - - for (Object result : dialog.getResult()) { - IFile file = (IFile) result; - IProject project = file.getProject(); - IPath runtimePath = JptCommonCorePlugin.getResourceLocator(project).getRuntimePath(project, file.getFullPath()); - String fileName = runtimePath.toPortableString(); - if (mappingFileRefExists(fileName)) { - continue; - } - MappingFileRef mappingFileRef = getSubject().addSpecifiedMappingFileRef(fileName); - - listSelectionModel.addSelectedValue(mappingFileRef); - } - } - }; - } - private boolean mappingFileRefExists(String fileName) { for (MappingFileRef mappingFileRef : getSubject().getSpecifiedMappingFileRefs()) { if( mappingFileRef.getFileName().equals(fileName)) { |