diff options
author | kmoore | 2007-05-08 17:21:41 +0000 |
---|---|---|
committer | kmoore | 2007-05-08 17:21:41 +0000 |
commit | 8d7e9637af1a4d5372d7f5c3d5f54292e843a7c4 (patch) | |
tree | 5b9891cb596194d0cf9d416888f8b9344b8bee9c /jpa/plugins/org.eclipse.jpt.ui | |
parent | 6bae753eba0cf1d9920a7a3b549f2465de9f4688 (diff) | |
download | webtools.dali-8d7e9637af1a4d5372d7f5c3d5f54292e843a7c4.tar.gz webtools.dali-8d7e9637af1a4d5372d7f5c3d5f54292e843a7c4.tar.xz webtools.dali-8d7e9637af1a4d5372d7f5c3d5f54292e843a7c4.zip |
185983 - added model and UI support for m-1 and 1-1 optional element
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui')
2 files changed, 103 insertions, 1 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/ManyToOneComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/ManyToOneComposite.java index 6281db5a14..cf883ea06a 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/ManyToOneComposite.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/ManyToOneComposite.java @@ -11,9 +11,13 @@ package org.eclipse.jpt.ui.internal.mappings.details; import org.eclipse.emf.common.command.CommandStack; import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.impl.EObjectImpl; +import org.eclipse.jpt.core.internal.mappings.DefaultTrueBoolean; import org.eclipse.jpt.core.internal.mappings.IManyToOne; +import org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage; import org.eclipse.jpt.ui.internal.IJpaHelpContextIds; import org.eclipse.jpt.ui.internal.details.BaseJpaComposite; +import org.eclipse.jpt.ui.internal.mappings.details.EnumComboViewer.EnumHolder; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; @@ -31,6 +35,8 @@ public class ManyToOneComposite extends BaseJpaComposite private EnumComboViewer fetchTypeComboViewer; + private EnumComboViewer optionalComboViewer; + private JoinColumnComposite joinColumnComposite; public ManyToOneComposite(Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory) { @@ -79,6 +85,14 @@ public class ManyToOneComposite extends BaseJpaComposite this.fetchTypeComboViewer.getControl().setLayoutData(gridData); helpSystem.setHelp(fetchTypeComboViewer.getControl(), IJpaHelpContextIds.MAPPING_FETCH_TYPE); + CommonWidgets.buildOptionalLabel(generalComposite, getWidgetFactory()); + this.optionalComboViewer = CommonWidgets.buildEnumComboViewer(generalComposite, this.commandStack, getWidgetFactory()); + gridData = new GridData(); + gridData.horizontalAlignment = SWT.FILL; + gridData.verticalAlignment = SWT.BEGINNING; + gridData.grabExcessHorizontalSpace = true; + this.optionalComboViewer.getControl().setLayoutData(gridData); + this.joinColumnComposite = new JoinColumnComposite(generalComposite, this.commandStack, getWidgetFactory()); gridData = new GridData(); gridData.horizontalAlignment = GridData.FILL; @@ -95,12 +109,14 @@ public class ManyToOneComposite extends BaseJpaComposite this.manyToOne = (IManyToOne) obj; this.targetEntityChooser.populate(this.manyToOne); this.fetchTypeComboViewer.populate(CommonWidgets.buildSingleRelationshipMappingFetchEnumHolder(this.manyToOne)); + this.optionalComboViewer.populate(new OptionalHolder(this.manyToOne)); this.joinColumnComposite.populate(this.manyToOne); } public void doPopulate() { this.targetEntityChooser.populate(); this.fetchTypeComboViewer.populate(); + this.optionalComboViewer.populate(); this.joinColumnComposite.populate(); } @@ -114,8 +130,42 @@ public class ManyToOneComposite extends BaseJpaComposite public void dispose() { this.targetEntityChooser.dispose(); this.fetchTypeComboViewer.dispose(); + this.optionalComboViewer.dispose(); this.joinColumnComposite.dispose(); super.dispose(); } - + + private class OptionalHolder extends EObjectImpl implements EnumHolder { + + private IManyToOne manyToOne; + + OptionalHolder(IManyToOne manyToOne) { + super(); + this.manyToOne = manyToOne; + } + + public Object get() { + return this.manyToOne.getOptional(); + } + + public void set(Object enumSetting) { + this.manyToOne.setOptional((DefaultTrueBoolean) enumSetting); + } + + public Class featureClass() { + return IManyToOne.class; + } + + public int featureId() { + return JpaCoreMappingsPackage.IMANY_TO_ONE__OPTIONAL; + } + + public EObject wrappedObject() { + return this.manyToOne; + } + + public Object[] enumValues() { + return DefaultTrueBoolean.VALUES.toArray(); + } + } } diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/OneToOneComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/OneToOneComposite.java index a79c66f14b..90a43ac24f 100644 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/OneToOneComposite.java +++ b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/OneToOneComposite.java @@ -11,8 +11,14 @@ package org.eclipse.jpt.ui.internal.mappings.details; import org.eclipse.emf.common.command.CommandStack; import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.impl.EObjectImpl; +import org.eclipse.jpt.core.internal.mappings.DefaultTrueBoolean; +import org.eclipse.jpt.core.internal.mappings.IBasic; import org.eclipse.jpt.core.internal.mappings.IOneToOne; +import org.eclipse.jpt.core.internal.mappings.JpaCoreMappingsPackage; +import org.eclipse.jpt.ui.internal.IJpaHelpContextIds; import org.eclipse.jpt.ui.internal.details.BaseJpaComposite; +import org.eclipse.jpt.ui.internal.mappings.details.EnumComboViewer.EnumHolder; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; @@ -30,6 +36,8 @@ public class OneToOneComposite extends BaseJpaComposite private MappedByCombo mappedByCombo; + private EnumComboViewer optionalComboViewer; + private JoinColumnComposite joinColumnComposite; public OneToOneComposite(Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory) { @@ -88,6 +96,13 @@ public class OneToOneComposite extends BaseJpaComposite gridData.grabExcessHorizontalSpace = true; this.mappedByCombo.getControl().setLayoutData(gridData); + CommonWidgets.buildOptionalLabel(generalComposite, getWidgetFactory()); + this.optionalComboViewer = CommonWidgets.buildEnumComboViewer(generalComposite, this.commandStack, getWidgetFactory()); + gridData = new GridData(); + gridData.horizontalAlignment = SWT.FILL; + gridData.verticalAlignment = SWT.BEGINNING; + gridData.grabExcessHorizontalSpace = true; + this.optionalComboViewer.getControl().setLayoutData(gridData); this.joinColumnComposite = new JoinColumnComposite(generalComposite, this.commandStack, getWidgetFactory()); gridData = new GridData(); @@ -106,6 +121,7 @@ public class OneToOneComposite extends BaseJpaComposite this.targetEntityChooser.populate(this.oneToOne); this.fetchTypeComboViewer.populate(CommonWidgets.buildSingleRelationshipMappingFetchEnumHolder(this.oneToOne)); this.mappedByCombo.populate(this.oneToOne); + this.optionalComboViewer.populate(new OptionalHolder(this.oneToOne)); this.joinColumnComposite.populate(this.oneToOne); } @@ -113,6 +129,7 @@ public class OneToOneComposite extends BaseJpaComposite this.targetEntityChooser.populate(); this.fetchTypeComboViewer.populate(); this.mappedByCombo.populate(); + this.optionalComboViewer.populate(); this.joinColumnComposite.populate(); } @@ -127,8 +144,43 @@ public class OneToOneComposite extends BaseJpaComposite this.targetEntityChooser.dispose(); this.fetchTypeComboViewer.dispose(); this.mappedByCombo.dispose(); + this.optionalComboViewer.dispose(); this.joinColumnComposite.dispose(); super.dispose(); } + private class OptionalHolder extends EObjectImpl implements EnumHolder { + + private IOneToOne oneToOne; + + OptionalHolder(IOneToOne oneToOne) { + super(); + this.oneToOne = oneToOne; + } + + public Object get() { + return this.oneToOne.getOptional(); + } + + public void set(Object enumSetting) { + this.oneToOne.setOptional((DefaultTrueBoolean) enumSetting); + } + + public Class featureClass() { + return IOneToOne.class; + } + + public int featureId() { + return JpaCoreMappingsPackage.IONE_TO_ONE__OPTIONAL; + } + + public EObject wrappedObject() { + return this.oneToOne; + } + + public Object[] enumValues() { + return DefaultTrueBoolean.VALUES.toArray(); + } + } + } |