Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2007-05-08 17:21:41 +0000
committerkmoore2007-05-08 17:21:41 +0000
commit8d7e9637af1a4d5372d7f5c3d5f54292e843a7c4 (patch)
tree5b9891cb596194d0cf9d416888f8b9344b8bee9c /jpa/plugins/org.eclipse.jpt.ui
parent6bae753eba0cf1d9920a7a3b549f2465de9f4688 (diff)
downloadwebtools.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')
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/ManyToOneComposite.java52
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/mappings/details/OneToOneComposite.java52
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();
+ }
+ }
+
}

Back to the top