Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2010-03-31 17:00:14 +0000
committerkmoore2010-03-31 17:00:14 +0000
commitffa21d362700471abe4fdab6ea7870cfb2eb06b7 (patch)
tree87a2a0d4f45acaec0224d419da1d8e5951844df1 /jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org
parent949557ac3916a58b7f2211b5b0cbefb2f1d9a501 (diff)
downloadwebtools.dali-ffa21d362700471abe4fdab6ea7870cfb2eb06b7.tar.gz
webtools.dali-ffa21d362700471abe4fdab6ea7870cfb2eb06b7.tar.xz
webtools.dali-ffa21d362700471abe4fdab6ea7870cfb2eb06b7.zip
307113 - incorrect default class names in virtual orm.xml attribute mappings
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org')
-rw-r--r--jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/EclipseLinkCustomizerComposite.java135
1 files changed, 82 insertions, 53 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/EclipseLinkCustomizerComposite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/EclipseLinkCustomizerComposite.java
index c843eb76f1..d755bc71eb 100644
--- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/EclipseLinkCustomizerComposite.java
+++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/EclipseLinkCustomizerComposite.java
@@ -11,18 +11,22 @@ package org.eclipse.jpt.eclipselink.ui.internal.details;
import org.eclipse.jpt.core.JpaProject;
import org.eclipse.jpt.eclipselink.core.context.EclipseLinkCustomizer;
-import org.eclipse.jpt.ui.internal.widgets.ClassChooserPane;
+import org.eclipse.jpt.ui.internal.details.JptUiDetailsMessages;
+import org.eclipse.jpt.ui.internal.widgets.ClassChooserComboPane;
import org.eclipse.jpt.ui.internal.widgets.Pane;
import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
+import org.eclipse.jpt.utility.internal.model.value.PropertyListValueModelAdapter;
+import org.eclipse.jpt.utility.model.value.ListValueModel;
import org.eclipse.jpt.utility.model.value.PropertyValueModel;
import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
+import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
/**
*
* @see EclipseLinkCustomizer
*
- * @version 2.1
+ * @version 2.3
* @since 2.1
*/
public class EclipseLinkCustomizerComposite extends Pane<EclipseLinkCustomizer>
@@ -42,63 +46,88 @@ public class EclipseLinkCustomizerComposite extends Pane<EclipseLinkCustomizer>
@Override
protected void initializeLayout(Composite container) {
- addCustomizerClassChooser(container);
+ new CustomizerClassChooserComboPane(this, container);
}
-
- private ClassChooserPane<EclipseLinkCustomizer> addCustomizerClassChooser(Composite container) {
- return new ClassChooserPane<EclipseLinkCustomizer>(this, container) {
+ private class CustomizerClassChooserComboPane
+ extends ClassChooserComboPane<EclipseLinkCustomizer>
+ {
+ public CustomizerClassChooserComboPane(Pane<EclipseLinkCustomizer> parentPane, Composite parent) {
+ super(parentPane, parent);
+ }
- @Override
- protected WritablePropertyValueModel<String> buildTextHolder() {
- return new PropertyAspectAdapter<EclipseLinkCustomizer, String>(getSubjectHolder(), EclipseLinkCustomizer.SPECIFIED_CUSTOMIZER_CLASS_PROPERTY) {
- @Override
- protected String buildValue_() {
- return this.subject.getSpecifiedCustomizerClass();
- }
+ @Override
+ protected String getClassName() {
+ return getSubject().getSpecifiedCustomizerClass();
+ }
- @Override
- protected void setValue_(String value) {
+ @Override
+ protected void setClassName(String className) {
+ getSubject().setSpecifiedCustomizerClass(className);
+ }
+
+ @Override
+ protected String getLabelText() {
+ return EclipseLinkUiDetailsMessages.EclipseLinkCustomizerComposite_classLabel;
+ }
+
+ @Override
+ protected JpaProject getJpaProject() {
+ return getSubject().getJpaProject();
+ }
+
+ @Override
+ protected String getSuperInterfaceName() {
+ return EclipseLinkCustomizer.ECLIPSELINK_DESCRIPTOR_CUSTOMIZER_CLASS_NAME;
+ }
+
+ @Override
+ protected char getEnclosingTypeSeparator() {
+ return getSubject().getCustomizerClassEnclosingTypeSeparator();
+ }
- if (value.length() == 0) {
- value = null;
- }
+ @Override
+ protected WritablePropertyValueModel<String> buildTextHolder() {
+ return new PropertyAspectAdapter<EclipseLinkCustomizer, String>(
+ getSubjectHolder(),
+ EclipseLinkCustomizer.SPECIFIED_CUSTOMIZER_CLASS_PROPERTY,
+ EclipseLinkCustomizer.DEFAULT_CUSTOMIZER_CLASS_PROPERTY) {
- this.subject.setSpecifiedCustomizerClass(value);
+ @Override
+ protected String buildValue_() {
+ String value = this.subject.getSpecifiedCustomizerClass();
+ return (value == null) ? defaultText(this.subject) : value;
+ }
+
+ @Override
+ protected void setValue_(String value) {
+ if (value == null
+ || value.length() == 0
+ || value.equals(defaultText(this.subject))) {
+ value = null;
}
- };
- }
-
- @Override
- protected String getClassName() {
- return getSubject().getSpecifiedCustomizerClass();
- }
-
- @Override
- protected String getLabelText() {
- return EclipseLinkUiDetailsMessages.EclipseLinkCustomizerComposite_classLabel;
- }
-
- @Override
- protected JpaProject getJpaProject() {
- return getSubject().getJpaProject();
- }
-
- @Override
- protected void setClassName(String className) {
- getSubject().setSpecifiedCustomizerClass(className);
- }
-
- @Override
- protected String getSuperInterfaceName() {
- return EclipseLinkCustomizer.ECLIPSELINK_DESCRIPTOR_CUSTOMIZER_CLASS_NAME;
- }
-
- @Override
- protected char getEnclosingTypeSeparator() {
- return getSubject().getCustomizerClassEnclosingTypeSeparator();
- }
- };
- }
+ this.subject.setSpecifiedCustomizerClass(value);
+ }
+ };
+ }
+ protected String defaultText(EclipseLinkCustomizer customizer) {
+ String defaultClassName = customizer.getDefaultCustomizerClass();
+ return (defaultClassName == null) ?
+ JptUiDetailsMessages.NoneSelected
+ : NLS.bind(JptUiDetailsMessages.DefaultWithOneParam, defaultClassName);
+ }
+
+ @Override
+ protected ListValueModel<String> buildClassListHolder() {
+ return new PropertyListValueModelAdapter<String>(
+ new PropertyAspectAdapter<EclipseLinkCustomizer, String>(
+ getSubjectHolder(), EclipseLinkCustomizer.DEFAULT_CUSTOMIZER_CLASS_PROPERTY) {
+ @Override
+ protected String buildValue_() {
+ return defaultText(this.subject);
+ }
+ });
+ }
+ }
}

Back to the top