diff options
author | kmoore | 2009-09-21 19:05:20 +0000 |
---|---|---|
committer | kmoore | 2009-09-21 19:05:20 +0000 |
commit | 79b69f118ce1449d16299b9a556177c7a1f3b3f7 (patch) | |
tree | 9f86f32d3f59b592b3040304c685b2193259645e /jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details | |
parent | 970f7c45a88f324e4f1a09a5d43ed87d43e2e3d1 (diff) | |
download | webtools.dali-79b69f118ce1449d16299b9a556177c7a1f3b3f7.tar.gz webtools.dali-79b69f118ce1449d16299b9a556177c7a1f3b3f7.tar.xz webtools.dali-79b69f118ce1449d16299b9a556177c7a1f3b3f7.zip |
Refactoring sequence generators to support schema and catalog in eclipselink 2.0
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details')
11 files changed, 386 insertions, 332 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/EclipseLinkIdMappingComposite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/EclipseLinkIdMappingComposite.java index 24d4b11f68..7952f866de 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/EclipseLinkIdMappingComposite.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/EclipseLinkIdMappingComposite.java @@ -9,21 +9,19 @@ ******************************************************************************/ package org.eclipse.jpt.eclipselink.ui.internal.details; -import org.eclipse.jpt.core.context.Column; import org.eclipse.jpt.core.context.Converter; import org.eclipse.jpt.core.context.ConvertibleMapping; import org.eclipse.jpt.core.context.IdMapping; -import org.eclipse.jpt.core.context.TemporalConverter; import org.eclipse.jpt.eclipselink.core.context.EclipseLinkConvert; import org.eclipse.jpt.eclipselink.core.context.EclipseLinkIdMapping; import org.eclipse.jpt.eclipselink.core.context.EclipseLinkMutable; import org.eclipse.jpt.ui.WidgetFactory; import org.eclipse.jpt.ui.details.JpaComposite; +import org.eclipse.jpt.ui.internal.details.AbstractIdMappingComposite; import org.eclipse.jpt.ui.internal.details.ColumnComposite; import org.eclipse.jpt.ui.internal.details.IdMappingGenerationComposite; import org.eclipse.jpt.ui.internal.details.JptUiDetailsMessages; import org.eclipse.jpt.ui.internal.details.TemporalTypeComposite; -import org.eclipse.jpt.ui.internal.widgets.FormPane; 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.TransformationPropertyValueModel; @@ -64,7 +62,7 @@ import org.eclipse.swt.widgets.Composite; * @version 2.2 * @since 2.1 */ -public class EclipseLinkIdMappingComposite extends FormPane<IdMapping> +public class EclipseLinkIdMappingComposite extends AbstractIdMappingComposite<IdMapping> implements JpaComposite { /** @@ -81,15 +79,6 @@ public class EclipseLinkIdMappingComposite extends FormPane<IdMapping> super(subjectHolder, parent, widgetFactory); } - protected PropertyValueModel<? extends Column> buildColumnHolder() { - return new TransformationPropertyValueModel<IdMapping, Column>(getSubjectHolder()) { - @Override - protected Column transform_(IdMapping value) { - return value.getColumn(); - } - }; - } - @Override protected void initializeLayout(Composite container) { initializeGeneralPane(container); @@ -112,6 +101,7 @@ public class EclipseLinkIdMappingComposite extends FormPane<IdMapping> new EclipseLinkMutableComposite(this, buildMutableHolder(), container); } + @Override protected void initializeTypePane(Composite container) { container = addCollapsableSection( @@ -156,22 +146,6 @@ public class EclipseLinkIdMappingComposite extends FormPane<IdMapping> return new EclipseLinkConvertComposite(convertHolder, container, getWidgetFactory()); } - protected WritablePropertyValueModel<Boolean> buildNoConverterHolder() { - return new PropertyAspectAdapter<IdMapping, Boolean>(getSubjectHolder(), ConvertibleMapping.SPECIFIED_CONVERTER_PROPERTY) { - @Override - protected Boolean buildValue_() { - return Boolean.valueOf(this.subject.getSpecifiedConverter() == null); - } - - @Override - protected void setValue_(Boolean value) { - if (value.booleanValue()) { - this.subject.setSpecifiedConverter(Converter.NO_CONVERTER); - } - } - }; - } - protected PropertyValueModel<EclipseLinkConvert> buildEclipseLinkConverterHolder(PropertyValueModel<Converter> converterHolder) { return new TransformationPropertyValueModel<Converter, EclipseLinkConvert>(converterHolder) { @Override @@ -180,26 +154,6 @@ public class EclipseLinkIdMappingComposite extends FormPane<IdMapping> } }; } - - protected WritablePropertyValueModel<Boolean> buildTemporalBooleanHolder() { - return new PropertyAspectAdapter<IdMapping, Boolean>(getSubjectHolder(), ConvertibleMapping.SPECIFIED_CONVERTER_PROPERTY) { - @Override - protected Boolean buildValue_() { - Converter converter = this.subject.getSpecifiedConverter(); - if (converter == null) { - return Boolean.FALSE; - } - return Boolean.valueOf(converter.getType() == Converter.TEMPORAL_CONVERTER); - } - - @Override - protected void setValue_(Boolean value) { - if (value.booleanValue()) { - this.subject.setSpecifiedConverter(Converter.TEMPORAL_CONVERTER); - } - } - }; - } protected WritablePropertyValueModel<Boolean> buildEclipseLinkConverterBooleanHolder() { return new PropertyAspectAdapter<IdMapping, Boolean>(getSubjectHolder(), ConvertibleMapping.SPECIFIED_CONVERTER_PROPERTY) { @@ -221,25 +175,6 @@ public class EclipseLinkIdMappingComposite extends FormPane<IdMapping> }; } - protected PropertyValueModel<Converter> buildSpecifiedConverterHolder() { - return new PropertyAspectAdapter<IdMapping, Converter>(getSubjectHolder(), ConvertibleMapping.SPECIFIED_CONVERTER_PROPERTY) { - @Override - protected Converter buildValue_() { - return this.subject.getSpecifiedConverter(); - } - }; - } - - protected PropertyValueModel<TemporalConverter> buildTemporalConverterHolder(PropertyValueModel<Converter> converterHolder) { - return new TransformationPropertyValueModel<Converter, TemporalConverter>(converterHolder) { - @Override - protected TemporalConverter transform_(Converter converter) { - return (converter != null && converter.getType() == Converter.TEMPORAL_CONVERTER) ? (TemporalConverter) converter : null; - } - }; - } - - protected PropertyValueModel<EclipseLinkMutable> buildMutableHolder() { return new PropertyAspectAdapter<IdMapping, EclipseLinkMutable>(getSubjectHolder()) { @Override diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEntityComposite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEntityComposite.java new file mode 100644 index 0000000000..f0a976bc31 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/java/AbstractJavaEclipseLinkEntityComposite.java @@ -0,0 +1,119 @@ +/******************************************************************************* + * Copyright (c) 2008, 2009 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.eclipselink.ui.internal.details.java; + +import org.eclipse.jpt.core.context.java.JavaEntity; +import org.eclipse.jpt.eclipselink.core.context.java.JavaEclipseLinkConverterHolder; +import org.eclipse.jpt.eclipselink.core.context.java.JavaEclipseLinkEntity; +import org.eclipse.jpt.eclipselink.core.context.java.JavaEclipseLinkCaching; +import org.eclipse.jpt.eclipselink.ui.internal.details.EclipseLinkEntityAdvancedComposite; +import org.eclipse.jpt.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages; +import org.eclipse.jpt.ui.WidgetFactory; +import org.eclipse.jpt.ui.internal.details.AbstractEntityComposite; +import org.eclipse.jpt.ui.internal.details.java.JavaInheritanceComposite; +import org.eclipse.jpt.ui.internal.details.java.JavaSecondaryTablesComposite; +import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; +import org.eclipse.jpt.utility.model.value.PropertyValueModel; +import org.eclipse.swt.widgets.Composite; + +/** + * The pane used for an EclipseLink Java entity. + * + * @see JavaEclipseLinkEntity + * @see EclipselinkJpaUiFactory - The factory creating this pane + * + * @version 2.1 + * @since 2.1 + */ +public abstract class AbstractJavaEclipseLinkEntityComposite<T extends JavaEntity> extends AbstractEntityComposite<T> +{ + /** + * Creates a new <code>EclipseLinkJavaEntityComposite</code>. + * + * @param subjectHolder The holder of the subject <code>JavaEntity</code> + * @param parent The parent container + * @param widgetFactory The factory used to create various common widgets + */ + protected AbstractJavaEclipseLinkEntityComposite(PropertyValueModel<? extends T> subjectHolder, + Composite parent, + WidgetFactory widgetFactory) { + + super(subjectHolder, parent, widgetFactory); + } + + + @Override + protected void initializeLayout(Composite container) { + initializeGeneralPane(container); + initializeCachingPane(container); + initializeQueriesPane(container); + initializeInheritancePane(container); + initializeAttributeOverridesPane(container); + initializeGeneratorsPane(container); + initializeConvertersPane(container); + initializeSecondaryTablesPane(container); + initializeAdvancedPane(container); + } + + protected void initializeCachingPane(Composite container) { + + container = addCollapsableSection( + addSubPane(container, 5), + EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_caching + ); + + new JavaEclipseLinkCachingComposite(this, buildCachingHolder(), container); + } + + private PropertyAspectAdapter<JavaEntity, JavaEclipseLinkCaching> buildCachingHolder() { + return new PropertyAspectAdapter<JavaEntity, JavaEclipseLinkCaching>( + getSubjectHolder()) + { + @Override + protected JavaEclipseLinkCaching buildValue_() { + return ((JavaEclipseLinkEntity) this.subject).getCaching(); + } + }; + + } + + protected void initializeConvertersPane(Composite container) { + + container = addCollapsableSection( + container, + EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters + ); + + new JavaEclipseLinkConvertersComposite(this, buildConverterHolderValueModel(), container); + } + + protected PropertyValueModel<JavaEclipseLinkConverterHolder> buildConverterHolderValueModel() { + return new PropertyAspectAdapter<JavaEntity, JavaEclipseLinkConverterHolder>(getSubjectHolder()) { + @Override + protected JavaEclipseLinkConverterHolder buildValue_() { + return ((JavaEclipseLinkEntity) this.subject).getConverterHolder(); + } + }; + } + + @Override + protected void addSecondaryTablesComposite(Composite container) { + new JavaSecondaryTablesComposite(this, container); + } + + @Override + protected void addInheritanceComposite(Composite container) { + new JavaInheritanceComposite(this, container); + } + + protected void initializeAdvancedPane(Composite container) { + new EclipseLinkEntityAdvancedComposite(this, container); + } +}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/java/JavaEclipseLinkEntityComposite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/java/JavaEclipseLinkEntityComposite.java index 1a46620708..f6434c109a 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/java/JavaEclipseLinkEntityComposite.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/java/JavaEclipseLinkEntityComposite.java @@ -10,16 +10,8 @@ package org.eclipse.jpt.eclipselink.ui.internal.details.java; import org.eclipse.jpt.core.context.java.JavaEntity; -import org.eclipse.jpt.eclipselink.core.context.java.JavaEclipseLinkConverterHolder; import org.eclipse.jpt.eclipselink.core.context.java.JavaEclipseLinkEntity; -import org.eclipse.jpt.eclipselink.core.context.java.JavaEclipseLinkCaching; -import org.eclipse.jpt.eclipselink.ui.internal.details.EclipseLinkEntityAdvancedComposite; -import org.eclipse.jpt.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages; import org.eclipse.jpt.ui.WidgetFactory; -import org.eclipse.jpt.ui.internal.details.AbstractEntityComposite; -import org.eclipse.jpt.ui.internal.details.java.JavaInheritanceComposite; -import org.eclipse.jpt.ui.internal.details.java.JavaSecondaryTablesComposite; -import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; import org.eclipse.jpt.utility.model.value.PropertyValueModel; import org.eclipse.swt.widgets.Composite; @@ -32,7 +24,7 @@ import org.eclipse.swt.widgets.Composite; * @version 2.1 * @since 2.1 */ -public class JavaEclipseLinkEntityComposite extends AbstractEntityComposite<JavaEntity> +public class JavaEclipseLinkEntityComposite extends AbstractJavaEclipseLinkEntityComposite<JavaEntity> { /** * Creates a new <code>EclipseLinkJavaEntityComposite</code>. @@ -48,72 +40,4 @@ public class JavaEclipseLinkEntityComposite extends AbstractEntityComposite<Java super(subjectHolder, parent, widgetFactory); } - - @Override - protected void initializeLayout(Composite container) { - initializeGeneralPane(container); - initializeCachingPane(container); - initializeQueriesPane(container); - initializeInheritancePane(container); - initializeAttributeOverridesPane(container); - initializeGeneratorsPane(container); - initializeConvertersPane(container); - initializeSecondaryTablesPane(container); - initializeAdvancedPane(container); - } - - protected void initializeCachingPane(Composite container) { - - container = addCollapsableSection( - addSubPane(container, 5), - EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_caching - ); - - new JavaEclipseLinkCachingComposite(this, buildCachingHolder(), container); - } - - private PropertyAspectAdapter<JavaEntity, JavaEclipseLinkCaching> buildCachingHolder() { - return new PropertyAspectAdapter<JavaEntity, JavaEclipseLinkCaching>( - getSubjectHolder()) - { - @Override - protected JavaEclipseLinkCaching buildValue_() { - return ((JavaEclipseLinkEntity) this.subject).getCaching(); - } - }; - - } - - protected void initializeConvertersPane(Composite container) { - - container = addCollapsableSection( - container, - EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_converters - ); - - new JavaEclipseLinkConvertersComposite(this, buildConverterHolderValueModel(), container); - } - - protected PropertyValueModel<JavaEclipseLinkConverterHolder> buildConverterHolderValueModel() { - return new PropertyAspectAdapter<JavaEntity, JavaEclipseLinkConverterHolder>(getSubjectHolder()) { - @Override - protected JavaEclipseLinkConverterHolder buildValue_() { - return ((JavaEclipseLinkEntity) this.subject).getConverterHolder(); - } - }; - } - - @Override - protected void addSecondaryTablesComposite(Composite container) { - new JavaSecondaryTablesComposite(this, container); - } - - @Override - protected void addInheritanceComposite(Composite container) { - new JavaInheritanceComposite(this, container); - } - - protected void initializeAdvancedPane(Composite container) { - new EclipseLinkEntityAdvancedComposite(this, container); - } }
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/AbstractEclipseLinkEntityMappingsDetailsPage.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/AbstractEclipseLinkEntityMappingsDetailsPage.java new file mode 100644 index 0000000000..df6e5a0345 --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/AbstractEclipseLinkEntityMappingsDetailsPage.java @@ -0,0 +1,167 @@ +/******************************************************************************* + * Copyright (c) 2008, 2009 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.eclipselink.ui.internal.details.orm; + +import org.eclipse.jpt.core.context.orm.EntityMappings; +import org.eclipse.jpt.eclipselink.core.context.orm.EclipseLinkConverterHolder; +import org.eclipse.jpt.eclipselink.core.context.orm.EclipseLinkEntityMappings; +import org.eclipse.jpt.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages; +import org.eclipse.jpt.ui.WidgetFactory; +import org.eclipse.jpt.ui.internal.JpaHelpContextIds; +import org.eclipse.jpt.ui.internal.details.db.CatalogCombo; +import org.eclipse.jpt.ui.internal.details.db.SchemaCombo; +import org.eclipse.jpt.ui.internal.details.orm.AbstractEntityMappingsDetailsPage; +import org.eclipse.jpt.ui.internal.details.orm.EntityMappingsGeneratorsComposite; +import org.eclipse.jpt.ui.internal.details.orm.JptUiDetailsOrmMessages; +import org.eclipse.jpt.ui.internal.details.orm.OrmPackageChooser; +import org.eclipse.jpt.ui.internal.details.orm.OrmQueriesComposite; +import org.eclipse.jpt.ui.internal.details.orm.PersistenceUnitMetadataComposite; +import org.eclipse.jpt.ui.internal.widgets.EnumFormComboViewer; +import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; +import org.eclipse.jpt.utility.model.value.PropertyValueModel; +import org.eclipse.swt.widgets.Composite; + +/** + * Here the layout of this pane: + * <pre> + * ----------------------------------------------------------------------------- + * | ------------------------------------------------------------------------- | + * | | | | + * | | XmlPackageChooser | | + * | | | | + * | ------------------------------------------------------------------------- | + * | ------------------------------------------------------------ | + * | Schema: | SchemaCombo | | + * | ------------------------------------------------------------ | + * | ------------------------------------------------------------ | + * | Catalog: | CatalogCombo | | + * | ------------------------------------------------------------ | + * | ------------------------------------------------------------ | + * | Access Type: | |v| | + * | ------------------------------------------------------------ | + * | | + * | ------------------------------------------------------------------------- | + * | | | | + * | | PersistenceUnitMetadataComposite | | + * | | | | + * | ------------------------------------------------------------------------- | + * | ------------------------------------------------------------------------- | + * | | | | + * | | OrmGeneratorsComposite | | + * | | | | + * | ------------------------------------------------------------------------- | + * | ------------------------------------------------------------------------- | + * | | | | + * | | OrmQueriesComposite | | + * | | | | + * | ------------------------------------------------------------------------- | + * | ------------------------------------------------------------------------- | + * | | | | + * | | ConvertersComposite | | + * | | | | + * | ------------------------------------------------------------------------- | + * -----------------------------------------------------------------------------</pre> + * + * @see EntityMappings + * @see AbstractEclipseLinkEntityMappingsDetailsPage - The parent container + * @see CatalogCombo + * @see EnumFormComboViewer + * @see EntityMappingsGeneratorsComposite + * @see OrmPackageChooser + * @see OrmQueriesComposite + * @see PersistenceUnitMetadataComposite + * @see SchemaCombo + * + * @version 2.2 + * @since 2.1 + */ +public abstract class AbstractEclipseLinkEntityMappingsDetailsPage extends AbstractEntityMappingsDetailsPage +{ + /** + * Creates a new <code>EclipseLinkEntityMappingsDetailsPage</code>. + * + * @param parent The parent container + * @param widgetFactory The factory used to create various common widgets + */ + protected AbstractEclipseLinkEntityMappingsDetailsPage(Composite parent, + WidgetFactory widgetFactory) { + + super(parent, widgetFactory); + } + + @Override + protected void initializeLayout(Composite container) { + + // Package widgets + new OrmPackageChooser(this, container); + + // Schema widgets + addLabeledComposite( + container, + JptUiDetailsOrmMessages.EntityMappingsDetailsPage_schema, + this.addSchemaCombo(container), + JpaHelpContextIds.ENTITY_ORM_SCHEMA + ); + + // Catalog widgets + addLabeledComposite( + container, + JptUiDetailsOrmMessages.EntityMappingsDetailsPage_catalog, + this.addCatalogCombo(container), + JpaHelpContextIds.ENTITY_ORM_CATALOG + ); + + // Access Type widgets + addLabeledComposite( + container, + JptUiDetailsOrmMessages.EntityMappingsDetailsPage_access, + this.addAccessTypeCombo(container), + JpaHelpContextIds.ENTITY_ORM_ACCESS + ); + + // Persistence Unit Metadata widgets + new PersistenceUnitMetadataComposite( + this, + this.buildPersistentUnitMetadataHolder(), + this.addSubPane(container, 5) + ); + + // Generators pane + this.buildEntityMappingsGeneratorsComposite(container); + + // Queries pane + new OrmQueriesComposite( + this, + container + ); + + // Converters section + container = addCollapsableSection( + container, + EclipseLinkUiDetailsMessages.EclipseLinkConvertersComposite_Label + ); + + new OrmEclipseLinkConvertersComposite( + this, + this.buildConverterHolder(), + container + ); + } + + private PropertyValueModel<EclipseLinkConverterHolder> buildConverterHolder() { + return new PropertyAspectAdapter<EntityMappings, EclipseLinkConverterHolder>(getSubjectHolder()) { + @Override + protected EclipseLinkConverterHolder buildValue_() { + return ((EclipseLinkEntityMappings) this.subject).getConverterHolder(); + } + }; + } + +}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkEntityComposite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkEntityComposite.java new file mode 100644 index 0000000000..5cbb46d47e --- /dev/null +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/AbstractOrmEclipseLinkEntityComposite.java @@ -0,0 +1,85 @@ +/******************************************************************************* + * Copyright (c) 2008, 2009 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.eclipselink.ui.internal.details.orm; + +import org.eclipse.jpt.core.context.orm.OrmEntity; +import org.eclipse.jpt.eclipselink.core.context.EclipseLinkCaching; +import org.eclipse.jpt.eclipselink.core.context.orm.EclipseLinkConverterHolder; +import org.eclipse.jpt.eclipselink.core.context.orm.OrmEclipseLinkEntity; +import org.eclipse.jpt.eclipselink.ui.internal.details.EclipseLinkEntityAdvancedComposite; +import org.eclipse.jpt.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages; +import org.eclipse.jpt.ui.WidgetFactory; +import org.eclipse.jpt.ui.internal.details.orm.AbstractOrmEntityComposite; +import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; +import org.eclipse.jpt.utility.model.value.PropertyValueModel; +import org.eclipse.swt.widgets.Composite; + +public abstract class AbstractOrmEclipseLinkEntityComposite extends AbstractOrmEntityComposite +{ + protected AbstractOrmEclipseLinkEntityComposite( + PropertyValueModel<? extends OrmEntity> subjectHolder, + Composite parent, WidgetFactory widgetFactory) { + super(subjectHolder, parent, widgetFactory); + } + + + @Override + protected void initializeLayout(Composite container) { + initializeGeneralPane(container); + initializeCachingPane(container); + initializeQueriesPane(container); + initializeInheritancePane(container); + initializeAttributeOverridesPane(container); + initializeGeneratorsPane(container); + initializeConvertersPane(container); + initializeSecondaryTablesPane(container); + initializeAdvancedPane(container); + } + + protected void initializeCachingPane(Composite container) { + container = addCollapsableSection( + addSubPane(container, 5), + EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_caching); + new OrmEclipseLinkCachingComposite(this, buildCachingHolder(), container); + } + + private PropertyAspectAdapter<OrmEntity, EclipseLinkCaching> buildCachingHolder() { + return new PropertyAspectAdapter<OrmEntity, EclipseLinkCaching>(getSubjectHolder()) { + @Override + protected EclipseLinkCaching buildValue_() { + return ((OrmEclipseLinkEntity) this.subject).getCaching(); + } + }; + } + + protected void initializeConvertersPane(Composite container) { + + container = addCollapsableSection( + container, + EclipseLinkUiDetailsMessages.EclipseLinkConvertersComposite_Label + ); + + new OrmEclipseLinkConvertersComposite(this, buildConverterHolder(), container); + } + + private PropertyValueModel<EclipseLinkConverterHolder> buildConverterHolder() { + return new PropertyAspectAdapter<OrmEntity, EclipseLinkConverterHolder>(getSubjectHolder()) { + @Override + protected EclipseLinkConverterHolder buildValue_() { + return ((OrmEclipseLinkEntity) this.subject).getConverterHolder(); + } + }; + } + + protected void initializeAdvancedPane(Composite container) { + new EclipseLinkEntityAdvancedComposite(this, container); + } +} diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsDetailsPage.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsDetailsPage.java index 9f4ff2a3ea..5a162d1452 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsDetailsPage.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/EclipseLinkEntityMappingsDetailsPage.java @@ -10,21 +10,14 @@ package org.eclipse.jpt.eclipselink.ui.internal.details.orm; import org.eclipse.jpt.core.context.orm.EntityMappings; -import org.eclipse.jpt.eclipselink.core.context.orm.EclipseLinkConverterHolder; -import org.eclipse.jpt.eclipselink.core.context.orm.EclipseLinkEntityMappings; -import org.eclipse.jpt.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages; import org.eclipse.jpt.ui.WidgetFactory; -import org.eclipse.jpt.ui.internal.JpaHelpContextIds; import org.eclipse.jpt.ui.internal.details.db.CatalogCombo; import org.eclipse.jpt.ui.internal.details.db.SchemaCombo; import org.eclipse.jpt.ui.internal.details.orm.EntityMappingsGeneratorsComposite; -import org.eclipse.jpt.ui.internal.details.orm.JptUiDetailsOrmMessages; import org.eclipse.jpt.ui.internal.details.orm.OrmPackageChooser; import org.eclipse.jpt.ui.internal.details.orm.OrmQueriesComposite; import org.eclipse.jpt.ui.internal.details.orm.PersistenceUnitMetadataComposite; import org.eclipse.jpt.ui.internal.widgets.EnumFormComboViewer; -import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.utility.model.value.PropertyValueModel; import org.eclipse.swt.widgets.Composite; /** @@ -81,7 +74,7 @@ import org.eclipse.swt.widgets.Composite; * @version 2.2 * @since 2.1 */ -public class EclipseLinkEntityMappingsDetailsPage extends org.eclipse.jpt.ui.internal.details.orm.EntityMappingsDetailsPage +public class EclipseLinkEntityMappingsDetailsPage extends AbstractEclipseLinkEntityMappingsDetailsPage { /** * Creates a new <code>EclipseLinkEntityMappingsDetailsPage</code>. @@ -95,72 +88,4 @@ public class EclipseLinkEntityMappingsDetailsPage extends org.eclipse.jpt.ui.int super(parent, widgetFactory); } - @Override - protected void initializeLayout(Composite container) { - - // Package widgets - new OrmPackageChooser(this, container); - - // Schema widgets - addLabeledComposite( - container, - JptUiDetailsOrmMessages.EntityMappingsDetailsPage_schema, - this.addSchemaCombo(container), - JpaHelpContextIds.ENTITY_ORM_SCHEMA - ); - - // Catalog widgets - addLabeledComposite( - container, - JptUiDetailsOrmMessages.EntityMappingsDetailsPage_catalog, - this.addCatalogCombo(container), - JpaHelpContextIds.ENTITY_ORM_CATALOG - ); - - // Access Type widgets - addLabeledComposite( - container, - JptUiDetailsOrmMessages.EntityMappingsDetailsPage_access, - this.addAccessTypeCombo(container), - JpaHelpContextIds.ENTITY_ORM_ACCESS - ); - - // Persistence Unit Metadata widgets - new PersistenceUnitMetadataComposite( - this, - this.buildPersistentUnitMetadataHolder(), - this.addSubPane(container, 5) - ); - - // Generators pane - this.buildEntityMappingsGeneratorsComposite(container); - - // Queries pane - new OrmQueriesComposite( - this, - container - ); - - // Converters section - container = addCollapsableSection( - container, - EclipseLinkUiDetailsMessages.EclipseLinkConvertersComposite_Label - ); - - new OrmEclipseLinkConvertersComposite( - this, - this.buildConverterHolder(), - container - ); - } - - private PropertyValueModel<EclipseLinkConverterHolder> buildConverterHolder() { - return new PropertyAspectAdapter<EntityMappings, EclipseLinkConverterHolder>(getSubjectHolder()) { - @Override - protected EclipseLinkConverterHolder buildValue_() { - return ((EclipseLinkEntityMappings) this.subject).getConverterHolder(); - } - }; - } - }
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMappingComposite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMappingComposite.java index 0b3f8911ee..29f74dcca7 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMappingComposite.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkBasicMappingComposite.java @@ -17,7 +17,7 @@ import org.eclipse.jpt.ui.internal.widgets.Pane; import org.eclipse.jpt.utility.model.value.PropertyValueModel; import org.eclipse.swt.widgets.Composite; -//Temporary to remove the Converters section from orm basic mapping. +//Remove the Converters section from 1.0 orm basic mappings. //This is supported in EclipseLink in version 1.1, but not 1.0 public class OrmEclipseLinkBasicMappingComposite extends EclipseLinkBasicMappingComposite { @@ -38,7 +38,7 @@ public class OrmEclipseLinkBasicMappingComposite extends EclipseLinkBasicMapping @Override //everything but the 'Defaine Converter' section. This is not supported in eclipselink 1.0, but is in 1.1 protected Pane<EclipseLinkConvert> buildConvertComposite(PropertyValueModel<EclipseLinkConvert> convertHolder, Composite container) { - return new OrmEclipseLinkConvertComposite(convertHolder, container, getWidgetFactory()); + return new OrmEclipseLinkConvert1_0Composite(convertHolder, container, getWidgetFactory()); } }
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkConvertComposite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkConvert1_0Composite.java index fc695e54d0..da275aae58 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkConvertComposite.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkConvert1_0Composite.java @@ -51,9 +51,9 @@ import org.eclipse.swt.widgets.Composite; * @since 2.1 */ -//Temporary to remove the Define Converters section from orm basic, id, version mapping. +//Removes the Define Converters section from orm basic, id, version mapping. //This is supported in EclipseLink in version 1.1, but not 1.0 -public class OrmEclipseLinkConvertComposite extends FormPane<EclipseLinkConvert> +public class OrmEclipseLinkConvert1_0Composite extends FormPane<EclipseLinkConvert> { /** @@ -72,7 +72,7 @@ public class OrmEclipseLinkConvertComposite extends FormPane<EclipseLinkConvert> * @param parentPane The parent container of this one * @param parent The parent container */ - public OrmEclipseLinkConvertComposite(PropertyValueModel<? extends EclipseLinkConvert> subjectHolder, + public OrmEclipseLinkConvert1_0Composite(PropertyValueModel<? extends EclipseLinkConvert> subjectHolder, Composite parent, WidgetFactory widgetFactory) { diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkEntityComposite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkEntityComposite.java index f645e85cba..ede8d0d13b 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkEntityComposite.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkEntityComposite.java @@ -10,28 +10,12 @@ *******************************************************************************/ package org.eclipse.jpt.eclipselink.ui.internal.details.orm; -import org.eclipse.jpt.core.context.AccessHolder; import org.eclipse.jpt.core.context.orm.OrmEntity; -import org.eclipse.jpt.eclipselink.core.context.EclipseLinkCaching; -import org.eclipse.jpt.eclipselink.core.context.orm.EclipseLinkConverterHolder; -import org.eclipse.jpt.eclipselink.core.context.orm.OrmEclipseLinkEntity; -import org.eclipse.jpt.eclipselink.ui.internal.details.EclipseLinkEntityAdvancedComposite; -import org.eclipse.jpt.eclipselink.ui.internal.details.EclipseLinkUiDetailsMessages; import org.eclipse.jpt.ui.WidgetFactory; -import org.eclipse.jpt.ui.internal.details.AbstractEntityComposite; -import org.eclipse.jpt.ui.internal.details.AccessTypeComposite; -import org.eclipse.jpt.ui.internal.details.EntityNameComposite; -import org.eclipse.jpt.ui.internal.details.IdClassComposite; -import org.eclipse.jpt.ui.internal.details.TableComposite; -import org.eclipse.jpt.ui.internal.details.orm.MetadataCompleteComposite; -import org.eclipse.jpt.ui.internal.details.orm.OrmInheritanceComposite; -import org.eclipse.jpt.ui.internal.details.orm.OrmJavaClassChooser; -import org.eclipse.jpt.ui.internal.details.orm.OrmSecondaryTablesComposite; -import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; import org.eclipse.jpt.utility.model.value.PropertyValueModel; import org.eclipse.swt.widgets.Composite; -public class OrmEclipseLinkEntityComposite extends AbstractEntityComposite<OrmEntity> +public class OrmEclipseLinkEntityComposite extends AbstractOrmEclipseLinkEntityComposite { public OrmEclipseLinkEntityComposite( PropertyValueModel<? extends OrmEntity> subjectHolder, @@ -39,89 +23,4 @@ public class OrmEclipseLinkEntityComposite extends AbstractEntityComposite<OrmEn super(subjectHolder, parent, widgetFactory); } - - @Override - protected void initializeLayout(Composite container) { - initializeGeneralPane(container); - initializeCachingPane(container); - initializeQueriesPane(container); - initializeInheritancePane(container); - initializeAttributeOverridesPane(container); - initializeGeneratorsPane(container); - initializeConvertersPane(container); - initializeSecondaryTablesPane(container); - initializeAdvancedPane(container); - } - - @Override - protected void initializeGeneralPane(Composite container) { - int groupBoxMargin = getGroupBoxMargin(); - - new OrmJavaClassChooser(this, getSubjectHolder(), addSubPane(container, 0, groupBoxMargin, 0, groupBoxMargin), false); - new TableComposite(this, container); - new EntityNameComposite(this, addSubPane(container, 0, groupBoxMargin, 0, groupBoxMargin)); - new AccessTypeComposite(this, buildAccessHolder(), addSubPane(container, 0, groupBoxMargin, 0, groupBoxMargin)); - new IdClassComposite(this, addSubPane(container, 0, groupBoxMargin, 0, groupBoxMargin), false); - new MetadataCompleteComposite(this, getSubjectHolder(), addSubPane(container, 0, groupBoxMargin, 0, groupBoxMargin)); - } - - protected PropertyValueModel<AccessHolder> buildAccessHolder() { - return new PropertyAspectAdapter<OrmEntity, AccessHolder>( - getSubjectHolder()) - { - @Override - protected AccessHolder buildValue_() { - return this.subject.getPersistentType(); - } - }; - } - - protected void initializeCachingPane(Composite container) { - container = addCollapsableSection( - addSubPane(container, 5), - EclipseLinkUiDetailsMessages.EclipseLinkTypeMappingComposite_caching); - new OrmEclipseLinkCachingComposite(this, buildCachingHolder(), container); - } - - private PropertyAspectAdapter<OrmEntity, EclipseLinkCaching> buildCachingHolder() { - return new PropertyAspectAdapter<OrmEntity, EclipseLinkCaching>(getSubjectHolder()) { - @Override - protected EclipseLinkCaching buildValue_() { - return ((OrmEclipseLinkEntity) this.subject).getCaching(); - } - }; - } - - @Override - protected void addInheritanceComposite(Composite container) { - new OrmInheritanceComposite(this, container); - } - - @Override - protected void addSecondaryTablesComposite(Composite container) { - new OrmSecondaryTablesComposite(this, container); - } - - protected void initializeConvertersPane(Composite container) { - - container = addCollapsableSection( - container, - EclipseLinkUiDetailsMessages.EclipseLinkConvertersComposite_Label - ); - - new OrmEclipseLinkConvertersComposite(this, buildConverterHolder(), container); - } - - private PropertyValueModel<EclipseLinkConverterHolder> buildConverterHolder() { - return new PropertyAspectAdapter<OrmEntity, EclipseLinkConverterHolder>(getSubjectHolder()) { - @Override - protected EclipseLinkConverterHolder buildValue_() { - return ((OrmEclipseLinkEntity) this.subject).getConverterHolder(); - } - }; - } - - protected void initializeAdvancedPane(Composite container) { - new EclipseLinkEntityAdvancedComposite(this, container); - } } diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMappingComposite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMappingComposite.java index b36fda1d25..053306b10c 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMappingComposite.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkIdMappingComposite.java @@ -17,7 +17,7 @@ import org.eclipse.jpt.ui.internal.widgets.Pane; import org.eclipse.jpt.utility.model.value.PropertyValueModel; import org.eclipse.swt.widgets.Composite; -//Removing the Converters section from EclipseLink 1.0 orm basic mapping. +//Remove the Converters section from 1.0 orm id mappings. //This is supported in EclipseLink in version 1.1, but not 1.0 public class OrmEclipseLinkIdMappingComposite extends EclipseLinkIdMappingComposite { @@ -38,6 +38,6 @@ public class OrmEclipseLinkIdMappingComposite extends EclipseLinkIdMappingCompos @Override //everything but the 'Define Converter' section. This is not supported in eclipselink 1.0, but is in 1.1 protected Pane<EclipseLinkConvert> buildConvertComposite(PropertyValueModel<EclipseLinkConvert> convertHolder, Composite container) { - return new OrmEclipseLinkConvertComposite(convertHolder, container, getWidgetFactory()); + return new OrmEclipseLinkConvert1_0Composite(convertHolder, container, getWidgetFactory()); } }
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkVersionMappingComposite.java b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkVersionMappingComposite.java index 1d378de359..d5c7a5f2a2 100644 --- a/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkVersionMappingComposite.java +++ b/jpa/plugins/org.eclipse.jpt.eclipselink.ui/src/org/eclipse/jpt/eclipselink/ui/internal/details/orm/OrmEclipseLinkVersionMappingComposite.java @@ -18,7 +18,7 @@ import org.eclipse.jpt.ui.internal.widgets.Pane; import org.eclipse.jpt.utility.model.value.PropertyValueModel; import org.eclipse.swt.widgets.Composite; -//Temporary to remove the Converters section from orm basic mapping. +//Remove the Converters section from 1.0 orm version mappings. //This is supported in EclipseLink in version 1.1, but not 1.0 public class OrmEclipseLinkVersionMappingComposite extends EclipseLinkVersionMappingComposite implements JpaComposite { @@ -40,6 +40,6 @@ public class OrmEclipseLinkVersionMappingComposite extends EclipseLinkVersionMap @Override //everything but the 'Defaine Converter' section. This is not supported in eclipselink 1.0, but is in 1.1 protected Pane<EclipseLinkConvert> buildConvertComposite(PropertyValueModel<EclipseLinkConvert> convertHolder, Composite container) { - return new OrmEclipseLinkConvertComposite(convertHolder, container, getWidgetFactory()); + return new OrmEclipseLinkConvert1_0Composite(convertHolder, container, getWidgetFactory()); } }
\ No newline at end of file |