diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details')
18 files changed, 0 insertions, 2808 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/AccessTypeComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/AccessTypeComposite.java deleted file mode 100644 index 0844be523f..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/AccessTypeComposite.java +++ /dev/null @@ -1,109 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 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.ui.internal.orm.details; - -import java.util.Collection; -import org.eclipse.jpt.core.context.AccessType; -import org.eclipse.jpt.core.context.orm.OrmTypeMapping; -import org.eclipse.jpt.ui.internal.orm.JptUiOrmMessages; -import org.eclipse.jpt.ui.internal.widgets.AbstractFormPane; -import org.eclipse.jpt.ui.internal.widgets.EnumFormComboViewer; -import org.eclipse.jpt.utility.model.value.PropertyValueModel; -import org.eclipse.swt.widgets.Composite; - -/** - * Here the layout of this pane: - * <pre> - * ----------------------------------------------------------------------------- - * | ------------------------------------------------------------ | - * | Access Type: | |v| | - * | ------------------------------------------------------------ | - * -----------------------------------------------------------------------------</pre> - * - * @see XmlTypeMapping - * @see OrmPersistentTypeDetailsPage - A container of this pane - * - * @version 2.0 - * @since 1.0 - */ -public class AccessTypeComposite extends AbstractFormPane<OrmTypeMapping> { - - /** - * Creates a new <code>AccessTypeComposite</code>. - * - * @param parentPane The parent container of this one - * @param subjectHolder The holder of this pane's subject - * @param parent The parent container - */ - public AccessTypeComposite(AbstractFormPane<?> parentPane, - PropertyValueModel<? extends OrmTypeMapping> subjectHolder, - Composite parent) { - - super(parentPane, subjectHolder, parent); - } - - private EnumFormComboViewer<OrmTypeMapping, AccessType> buildAccessTypeComboViewer(Composite container) { - - return new EnumFormComboViewer<OrmTypeMapping, AccessType>(this, container) { - - @Override - protected void addPropertyNames(Collection<String> propertyNames) { - super.addPropertyNames(propertyNames); - propertyNames.add(OrmTypeMapping.DEFAULT_ACCESS_PROPERTY); - propertyNames.add(OrmTypeMapping.SPECIFIED_ACCESS_PROPERTY); - } - - @Override - protected AccessType[] choices() { - return AccessType.values(); - } - - @Override - protected AccessType defaultValue() { - return subject().getDefaultAccess(); - } - - @Override - protected String displayString(AccessType value) { - return buildDisplayString( - JptUiOrmMessages.class, - AccessTypeComposite.this, - value - ); - } - - @Override - protected AccessType getValue() { - return subject().getSpecifiedAccess(); - } - - @Override - protected void setValue(AccessType value) { - subject().setSpecifiedAccess(value); - } - }; - } - - /* - * (non-Javadoc) - */ - @Override - protected void initializeLayout(Composite container) { - - EnumFormComboViewer<OrmTypeMapping, AccessType> comboViewer = - buildAccessTypeComboViewer(container); - - buildLabeledComposite( - container, - JptUiOrmMessages.AccessTypeComposite_access, - comboViewer.getControl() - ); - } -}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/EntityMappingsDetailsPage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/EntityMappingsDetailsPage.java deleted file mode 100644 index 9f91caa1c0..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/EntityMappingsDetailsPage.java +++ /dev/null @@ -1,249 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 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.ui.internal.orm.details; - -import java.util.Collection; -import org.eclipse.jpt.core.context.AccessType; -import org.eclipse.jpt.core.context.orm.EntityMappings; -import org.eclipse.jpt.core.context.orm.PersistenceUnitMetadata; -import org.eclipse.jpt.ui.WidgetFactory; -import org.eclipse.jpt.ui.internal.JpaHelpContextIds; -import org.eclipse.jpt.ui.internal.details.AbstractJpaDetailsPage; -import org.eclipse.jpt.ui.internal.mappings.db.CatalogCombo; -import org.eclipse.jpt.ui.internal.mappings.db.SchemaCombo; -import org.eclipse.jpt.ui.internal.orm.JptUiOrmMessages; -import org.eclipse.jpt.ui.internal.widgets.EnumFormComboViewer; -import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel; -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 | | - * | | | | - * | ------------------------------------------------------------------------- | - * -----------------------------------------------------------------------------</pre> - * - * @see EntityMappings - * @see EntityMappingsDetailsPage - The parent container - * @see CatalogCombo - * @see EnumFormComboViewer - * @see OrmGeneratorsComposite - * @see OrmPackageChooser - * @see OrmQueriesComposite - * @see PersistenceUnitMetadataComposite - * @see SchemaCombo - * - * @version 2.0 - * @since 2.0 - */ -public class EntityMappingsDetailsPage extends AbstractJpaDetailsPage<EntityMappings> -{ - /** - * Creates a new <code>XmlEntityMappingsDetailsPage</code>. - * - * @param parent The parent container - * @param widgetFactory The factory used to create various common widgets - */ - public EntityMappingsDetailsPage(Composite parent, - WidgetFactory widgetFactory) { - - super(parent, widgetFactory); - } - - private EnumFormComboViewer<EntityMappings, AccessType> buildAccessTypeCombo(Composite container) { - - return new EnumFormComboViewer<EntityMappings, AccessType>(this, container) { - - @Override - protected void addPropertyNames(Collection<String> propertyNames) { - super.addPropertyNames(propertyNames); - propertyNames.add(EntityMappings.DEFAULT_ACCESS_PROPERTY); - propertyNames.add(EntityMappings.SPECIFIED_ACCESS_PROPERTY); - } - - @Override - protected AccessType[] choices() { - return AccessType.values(); - } - - @Override - protected AccessType defaultValue() { - return subject().getDefaultAccess(); - } - - @Override - protected String displayString(AccessType value) { - return buildDisplayString( - JptUiOrmMessages.class, - EntityMappingsDetailsPage.this, - value - ); - } - - @Override - protected AccessType getValue() { - return subject().getAccess(); - } - - @Override - protected void setValue(AccessType value) { - subject().setSpecifiedAccess(value); - } - }; - } - - private CatalogCombo<EntityMappings> buildCatalogCombo(Composite container) { - - return new CatalogCombo<EntityMappings>(this, container) { - - @Override - protected void addPropertyNames(Collection<String> propertyNames) { - super.addPropertyNames(propertyNames); - propertyNames.add(EntityMappings.DEFAULT_CATALOG_PROPERTY); - propertyNames.add(EntityMappings.SPECIFIED_CATALOG_PROPERTY); - } - - @Override - protected String defaultValue() { - return subject().getDefaultCatalog(); - } - - @Override - protected void setValue(String value) { - subject().setSpecifiedCatalog(value); - } - - @Override - protected String value() { - return subject().getSpecifiedCatalog(); - } - }; - } - - private PropertyValueModel<PersistenceUnitMetadata> buildPersistentUnitMetadaHolder() { - return new TransformationPropertyValueModel<EntityMappings, PersistenceUnitMetadata>(getSubjectHolder()) { - @Override - protected PersistenceUnitMetadata transform_(EntityMappings value) { - return value.getPersistenceUnitMetadata(); - } - }; - } - - private SchemaCombo<EntityMappings> buildSchemaCombo(Composite container) { - - return new SchemaCombo<EntityMappings>(this, container) { - - @Override - protected void addPropertyNames(Collection<String> propertyNames) { - super.addPropertyNames(propertyNames); - propertyNames.add(EntityMappings.DEFAULT_SCHEMA_PROPERTY); - propertyNames.add(EntityMappings.SPECIFIED_SCHEMA_PROPERTY); - } - - @Override - protected String defaultValue() { - return subject().getDefaultSchema(); - } - - @Override - protected void setValue(String value) { - subject().setSpecifiedSchema(value); - } - - @Override - protected String value() { - return subject().getSpecifiedSchema(); - } - }; - } - - /* - * (non-Javadoc) - */ - @Override - protected void initializeLayout(Composite container) { - - // Package widgets - new OrmPackageChooser(this, container); - - // Schema widgets - buildLabeledComposite( - container, - JptUiOrmMessages.EntityMappingsDetailsPage_schema, - buildSchemaCombo(container), - JpaHelpContextIds.ENTITY_ORM_SCHEMA - ); - - // Catalog widgets - buildLabeledComposite( - container, - JptUiOrmMessages.EntityMappingsDetailsPage_catalog, - buildCatalogCombo(container), - JpaHelpContextIds.ENTITY_ORM_CATALOG - ); - - // Access Type widgets - buildLabeledComposite( - container, - JptUiOrmMessages.EntityMappingsDetailsPage_access, - buildAccessTypeCombo(container), - JpaHelpContextIds.ENTITY_ORM_ACCESS - ); - - // Persistence Unit Metadata widgets - new PersistenceUnitMetadataComposite( - this, - buildPersistentUnitMetadaHolder(), - buildSubPane(container, 5) - ); - - // Generators pane - new OrmGeneratorsComposite( - this, - buildSubPane(container, 5) - ); - - // Queries pane - new OrmQueriesComposite( - this, - buildSubPane(container, 5) - ); - } -}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmDetailsProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmDetailsProvider.java deleted file mode 100644 index 3556e7c717..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmDetailsProvider.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 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.ui.internal.orm.details; - -import org.eclipse.jpt.core.JpaStructureNode; -import org.eclipse.jpt.core.context.orm.OrmStructureNodes; -import org.eclipse.jpt.ui.WidgetFactory; -import org.eclipse.jpt.ui.details.JpaDetailsPage; -import org.eclipse.jpt.ui.details.JpaDetailsProvider; -import org.eclipse.swt.widgets.Composite; - -/** - * This provider is responsible for creating the {@link JpaDetailsPage} - * when the information comes from the XML file (either from the persistence - * configuration or from the Mappings Descriptor). - * - * @version 2.0 - * @since 1.0 - */ -public class OrmDetailsProvider - implements JpaDetailsProvider -{ - public OrmDetailsProvider() { - super(); - } - - public JpaDetailsPage<? extends JpaStructureNode> buildDetailsPage( - Composite parent, - Object contentNodeId, - WidgetFactory widgetFactory) { - - if (contentNodeId == OrmStructureNodes.ENTITY_MAPPINGS_ID) { - return new EntityMappingsDetailsPage(parent, widgetFactory); - } - - if (contentNodeId == OrmStructureNodes.PERSISTENT_TYPE_ID) { - return new OrmPersistentTypeDetailsPage(parent, widgetFactory); - } - - if (contentNodeId == OrmStructureNodes.PERSISTENT_ATTRIBUTE_ID) { - return new OrmPersistentAttributeDetailsPage(parent, widgetFactory); - } - - return null; - } -}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmEntityComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmEntityComposite.java deleted file mode 100644 index 804df18739..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmEntityComposite.java +++ /dev/null @@ -1,53 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 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.ui.internal.orm.details; - -import org.eclipse.jpt.core.context.orm.OrmEntity; -import org.eclipse.jpt.ui.WidgetFactory; -import org.eclipse.jpt.ui.internal.mappings.details.AbstractEntityComposite; -import org.eclipse.jpt.utility.model.value.PropertyValueModel; -import org.eclipse.swt.widgets.Composite; - -/** - * The pane used for an ORM entity. - * - * @see OrmEntity - * @see BaseJpaUiFactory - The factory creating this pane - * @see OrmSecondaryTablesComposite - * - * @version 2.0 - * @since 1.0 - */ -public class OrmEntityComposite extends AbstractEntityComposite<OrmEntity> -{ - /** - * Creates a new <code>OrmEntityComposite</code>. - * - * @param subjectHolder The holder of the subject <code>OrmEntity</code> - * @param parent The parent container - * @param widgetFactory The factory used to create various common widgets - */ - public OrmEntityComposite(PropertyValueModel<? extends OrmEntity> subjectHolder, - Composite parent, - WidgetFactory widgetFactory) { - - super(subjectHolder, parent, widgetFactory); - } - - @Override - protected void buildSecondaryTablesComposite(Composite container) { - new OrmSecondaryTablesComposite(this, container); - } - - @Override - protected void buildInheritanceComposite(Composite container) { - new OrmInheritanceComposite(this, container); - } -}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmEntityUiProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmEntityUiProvider.java deleted file mode 100644 index 4f5b7a98f3..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmEntityUiProvider.java +++ /dev/null @@ -1,63 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 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.ui.internal.orm.details; - -import org.eclipse.jpt.core.MappingKeys; -import org.eclipse.jpt.core.context.orm.OrmEntity; -import org.eclipse.jpt.ui.JpaUiFactory; -import org.eclipse.jpt.ui.WidgetFactory; -import org.eclipse.jpt.ui.details.JpaComposite; -import org.eclipse.jpt.ui.details.TypeMappingUiProvider; -import org.eclipse.jpt.ui.internal.JpaMappingImageHelper; -import org.eclipse.jpt.ui.internal.mappings.JptUiMappingsMessages; -import org.eclipse.jpt.utility.model.value.PropertyValueModel; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.Composite; - -public class OrmEntityUiProvider implements TypeMappingUiProvider<OrmEntity> -{ - // singleton - private static final OrmEntityUiProvider INSTANCE = new OrmEntityUiProvider(); - - /** - * Return the singleton. - */ - public static TypeMappingUiProvider<OrmEntity> instance() { - return INSTANCE; - } - - /** - * Ensure non-instantiability. - */ - private OrmEntityUiProvider() { - super(); - } - - public String getMappingKey() { - return MappingKeys.ENTITY_TYPE_MAPPING_KEY; - } - - public String getLabel() { - return JptUiMappingsMessages.PersistentTypePage_EntityLabel; - } - - public Image getImage() { - return JpaMappingImageHelper.imageForTypeMapping(getMappingKey()); - } - - public JpaComposite buildPersistentTypeMappingComposite( - JpaUiFactory factory, - PropertyValueModel<OrmEntity> subjectHolder, - Composite parent, - WidgetFactory widgetFactory) { - - return factory.createOrmEntityComposite(subjectHolder, parent, widgetFactory); - } -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmGeneratorsComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmGeneratorsComposite.java deleted file mode 100644 index f0aa440737..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmGeneratorsComposite.java +++ /dev/null @@ -1,465 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 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.ui.internal.orm.details; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.ListIterator; -import org.eclipse.jface.viewers.ILabelProvider; -import org.eclipse.jface.viewers.LabelProvider; -import org.eclipse.jpt.core.context.Generator; -import org.eclipse.jpt.core.context.orm.EntityMappings; -import org.eclipse.jpt.core.context.orm.OrmGenerator; -import org.eclipse.jpt.core.context.orm.OrmSequenceGenerator; -import org.eclipse.jpt.core.context.orm.OrmTableGenerator; -import org.eclipse.jpt.ui.internal.orm.JptUiOrmMessages; -import org.eclipse.jpt.ui.internal.util.ControlSwitcher; -import org.eclipse.jpt.ui.internal.util.PaneEnabler; -import org.eclipse.jpt.ui.internal.widgets.AbstractPane; -import org.eclipse.jpt.ui.internal.widgets.AddRemoveListPane; -import org.eclipse.jpt.ui.internal.widgets.NewNameDialog; -import org.eclipse.jpt.ui.internal.widgets.NewNameDialogBuilder; -import org.eclipse.jpt.ui.internal.widgets.PostExecution; -import org.eclipse.jpt.ui.internal.widgets.AddRemovePane.Adapter; -import org.eclipse.jpt.utility.internal.CollectionTools; -import org.eclipse.jpt.utility.internal.Transformer; -import org.eclipse.jpt.utility.internal.iterators.TransformationIterator; -import org.eclipse.jpt.utility.internal.model.value.CompositeListValueModel; -import org.eclipse.jpt.utility.internal.model.value.ItemPropertyListValueModelAdapter; -import org.eclipse.jpt.utility.internal.model.value.ListAspectAdapter; -import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel; -import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel; -import org.eclipse.jpt.utility.internal.model.value.swing.ObjectListSelectionModel; -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.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.ui.part.PageBook; - -/** - * This pane shows the list of named queries and named native queries. - * <p> - * Here the layout of this pane: - * <pre> - * ----------------------------------------------------------------------------- - * | ------------------------------------------------------------------------- | - * | | | | - * | | AddRemoveListPane | | - * | | | | - * | ------------------------------------------------------------------------- | - * | ------------------------------------------------------------------------- | - * | | | | - * | | OrmSequenceGeneratorComposite or OrmTableGeneratorComposite | | - * | | | | - * | ------------------------------------------------------------------------- | - * -----------------------------------------------------------------------------</pre> - * - * @see EntityMappings - * @see OrmGenerator - * @see OrmSequenceGenerator - * @see OrmTableGenerator - * @see EntityComposite - The parent container - * @see OrmSequenceGeneratorComposite - * @see OrmTableGeneratorComposite - * - * @version 2.0 - * @since 2.0 - */ -public class OrmGeneratorsComposite extends AbstractPane<EntityMappings> -{ - private WritablePropertyValueModel<OrmGenerator> generatorHolder; - private OrmSequenceGeneratorComposite sequenceGeneratorPane; - private OrmTableGeneratorComposite tableGeneratorPane; - private AddRemoveListPane<EntityMappings> listPane; - - /** - * Creates a new <code>OrmGeneratorsComposite</code>. - * - * @param parentPane The parent container of this one - * @param parent The parent container - */ - public OrmGeneratorsComposite(AbstractPane<? extends EntityMappings> parentPane, - Composite parent) { - - super(parentPane, parent); - } - - private void addSequenceGenerator(ObjectListSelectionModel listSelectionModel) { - - NewNameDialogBuilder builder = new NewNameDialogBuilder(shell()); - builder.setDialogTitle(JptUiOrmMessages.OrmGeneratorsComposite_addSequenceGeneratorTitle); - builder.setDescription(JptUiOrmMessages.OrmGeneratorsComposite_addSequenceGeneratorDescription); - builder.setDescriptionTitle(JptUiOrmMessages.OrmGeneratorsComposite_addSequenceGeneratorDescriptionTitle); - builder.setLabelText(JptUiOrmMessages.OrmGeneratorsComposite_label); - builder.setExistingNames(sequenceGeneratorNames()); - - NewNameDialog dialog = builder.buildDialog(); - dialog.openDialog(buildNewSequenceGeneratorPostExecution(listSelectionModel)); - } - - private void addTableGenerator(ObjectListSelectionModel listSelectionModel) { - - NewNameDialogBuilder builder = new NewNameDialogBuilder(shell()); - builder.setDialogTitle(JptUiOrmMessages.OrmGeneratorsComposite_addTableGeneratorTitle); - builder.setDescription(JptUiOrmMessages.OrmGeneratorsComposite_addTableGeneratorDescription); - builder.setDescriptionTitle(JptUiOrmMessages.OrmGeneratorsComposite_addTableGeneratorDescriptionTitle); - builder.setLabelText(JptUiOrmMessages.OrmGeneratorsComposite_label); - builder.setExistingNames(tableGeneratorNames()); - - NewNameDialog dialog = builder.buildDialog(); - dialog.openDialog(buildNewTableGeneratorPostExecution(listSelectionModel)); - } - - private ListValueModel<OrmGenerator> buildDisplayableGeneratorListHolder() { - return new ItemPropertyListValueModelAdapter<OrmGenerator>( - buildGeneratorsListHolder(), - Generator.NAME_PROPERTY - ); - } - - private PostExecution<NewNameDialog> buildEditGeneratorPostExecution() { - return new PostExecution<NewNameDialog>() { - public void execute(NewNameDialog dialog) { - if (dialog.wasConfirmed()) { - OrmGenerator generator = generatorHolder.getValue(); - generator.setName(dialog.getName()); - } - } - }; - } - - private Adapter buildGeneratorAdapter() { - - return new AddRemoveListPane.AbstractAdapter() { - - @Override - public String addButtonText() { - return JptUiOrmMessages.OrmGeneratorsComposite_addSequenceGenerator; - } - - public void addNewItem(ObjectListSelectionModel listSelectionModel) { - addSequenceGenerator(listSelectionModel); - } - - @Override - public boolean hasOptionalButton() { - return true; - } - - @Override - public String optionalButtonText() { - return JptUiOrmMessages.OrmGeneratorsComposite_edit; - } - - @Override - public void optionOnSelection(ObjectListSelectionModel listSelectionModel) { - editGenerator(listSelectionModel); - } - - public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) { - for (Object item : listSelectionModel.selectedValues()) { - if (item instanceof OrmSequenceGenerator) { - subject().removeSequenceGenerator((OrmSequenceGenerator) item); - } - else { - subject().removeTableGenerator((OrmTableGenerator) item); - } - } - } - }; - } - - private WritablePropertyValueModel<OrmGenerator> buildGeneratorHolder() { - return new SimplePropertyValueModel<OrmGenerator>(); - } - - private ILabelProvider buildGeneratorLabelProvider() { - return new LabelProvider() { - @Override - public String getText(Object element) { - OrmGenerator generator = (OrmGenerator) element; - String name = generator.getName(); - - if (name == null) { - int index = -1; - - if (generator instanceof OrmSequenceGenerator) { - index = CollectionTools.indexOf(subject().sequenceGenerators(), generator); - } - else { - index = CollectionTools.indexOf(subject().tableGenerators(), generator); - } - - name = NLS.bind(JptUiOrmMessages.OrmGeneratorsComposite_displayString, index); - } - - return name; - } - }; - } - - private ListValueModel<OrmGenerator> buildGeneratorsListHolder() { - List<ListValueModel<? extends OrmGenerator>> list = new ArrayList<ListValueModel<? extends OrmGenerator>>(); - list.add(buildSequenceGeneratorListHolder()); - list.add(buildTableGeneratorListHolder()); - return new CompositeListValueModel<ListValueModel<? extends OrmGenerator>, OrmGenerator>(list); - } - - private PostExecution<NewNameDialog> buildNewSequenceGeneratorPostExecution(final ObjectListSelectionModel listSelectionModel) { - return new PostExecution<NewNameDialog>() { - public void execute(NewNameDialog dialog) { - if (dialog.wasConfirmed()) { - OrmSequenceGenerator generator = subject().addSequenceGenerator(subject().sequenceGeneratorsSize()); - generator.setName(dialog.getName()); - generatorHolder.setValue(generator); - listSelectionModel.setSelectedValue(generator); - } - } - }; - } - - private Runnable buildNewTableGeneratorAction(final ObjectListSelectionModel selectionModel) { - return new Runnable() { - public void run() { - addTableGenerator(selectionModel); - } - }; - } - - private PostExecution<NewNameDialog> buildNewTableGeneratorPostExecution(final ObjectListSelectionModel listSelectionModel) { - return new PostExecution<NewNameDialog>() { - public void execute(NewNameDialog dialog) { - if (dialog.wasConfirmed()) { - OrmTableGenerator generator = subject().addTableGenerator(subject().tableGeneratorsSize()); - generator.setName(dialog.getName()); - generatorHolder.setValue(generator); - listSelectionModel.setSelectedValue(generator); - } - } - }; - } - - private PropertyValueModel<Boolean> buildPaneEnablerHolder() { - return new TransformationPropertyValueModel<EntityMappings, Boolean>(getSubjectHolder()) { - @Override - protected Boolean transform(EntityMappings value) { - return (value != null); - } - }; - } - - private Transformer<OrmGenerator, Control> buildPaneTransformer() { - return new Transformer<OrmGenerator, Control>() { - public Control transform(OrmGenerator generator) { - - if (generator == null) { - return null; - } - - if (generator instanceof OrmSequenceGenerator) { - return sequenceGeneratorPane.getControl(); - } - - return tableGeneratorPane.getControl(); - } - }; - } - - private PropertyValueModel<OrmSequenceGenerator> buildSequenceGeneratorHolder() { - return new TransformationPropertyValueModel<OrmGenerator, OrmSequenceGenerator>(generatorHolder) { - @Override - protected OrmSequenceGenerator transform_(OrmGenerator value) { - return (value instanceof OrmSequenceGenerator) ? (OrmSequenceGenerator) value : null; - } - }; - } - - private ListValueModel<OrmSequenceGenerator> buildSequenceGeneratorListHolder() { - return new ListAspectAdapter<EntityMappings, OrmSequenceGenerator>( - getSubjectHolder(), - EntityMappings.SEQUENCE_GENERATORS_LIST) - { - @Override - protected ListIterator<OrmSequenceGenerator> listIterator_() { - return subject.sequenceGenerators(); - } - - @Override - protected int size_() { - return subject.sequenceGeneratorsSize(); - } - }; - } - - private PropertyValueModel<OrmTableGenerator> buildTableGeneratorHolder() { - return new TransformationPropertyValueModel<OrmGenerator, OrmTableGenerator>(generatorHolder) { - @Override - protected OrmTableGenerator transform_(OrmGenerator value) { - return (value instanceof OrmTableGenerator) ? (OrmTableGenerator) value : null; - } - }; - } - - private ListValueModel<OrmTableGenerator> buildTableGeneratorListHolder() { - return new ListAspectAdapter<EntityMappings, OrmTableGenerator>( - getSubjectHolder(), - EntityMappings.TABLE_GENERATORS_LIST) - { - @Override - protected ListIterator<OrmTableGenerator> listIterator_() { - return subject.tableGenerators(); - } - - @Override - protected int size_() { - return subject.tableGeneratorsSize(); - } - }; - } - - private void editGenerator(ObjectListSelectionModel listSelectionModel) { - - OrmGenerator generator = generatorHolder.getValue(); - - NewNameDialogBuilder builder = new NewNameDialogBuilder(shell()); - builder.setLabelText(JptUiOrmMessages.OrmGeneratorsComposite_label); - builder.setName(generator.getName()); - - if (generator instanceof OrmSequenceGenerator) { - builder.setDialogTitle(JptUiOrmMessages.OrmGeneratorsComposite_editSequenceGeneratorTitle); - builder.setDescription(JptUiOrmMessages.OrmGeneratorsComposite_editSequenceGeneratorDescription); - builder.setDescriptionTitle(JptUiOrmMessages.OrmGeneratorsComposite_editSequenceGeneratorDescriptionTitle); - builder.setExistingNames(sequenceGeneratorNames()); - } - else { - builder.setDialogTitle(JptUiOrmMessages.OrmGeneratorsComposite_editTableGeneratorTitle); - builder.setDescription(JptUiOrmMessages.OrmGeneratorsComposite_editTableGeneratorDescription); - builder.setDescriptionTitle(JptUiOrmMessages.OrmGeneratorsComposite_editTableGeneratorDescriptionTitle); - builder.setExistingNames(tableGeneratorNames()); - } - - NewNameDialog dialog = builder.buildDialog(); - dialog.openDialog(buildEditGeneratorPostExecution()); - } - - /* - * (non-Javadoc) - */ - @Override - protected void initialize() { - super.initialize(); - generatorHolder = buildGeneratorHolder(); - } - - /* - * (non-Javadoc) - */ - @Override - protected void initializeLayout(Composite container) { - - container = buildCollapsableSection( - container, - JptUiOrmMessages.OrmGeneratorsComposite_groupBox - ); - - // List pane - listPane = buildListPane(container); - installPaneEnabler(); - - // Property pane - PropertyValueModel<OrmSequenceGenerator> sequenceGeneratorHolder = - buildSequenceGeneratorHolder(); - PropertyValueModel<OrmTableGenerator> tableGeneratorHolder = - buildTableGeneratorHolder(); - - PageBook pageBook = new PageBook(container, SWT.NULL); - pageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - // Sequence Generator property pane - sequenceGeneratorPane = new OrmSequenceGeneratorComposite( - this, - sequenceGeneratorHolder, - pageBook - ); - - // Table Generator property pane - tableGeneratorPane = new OrmTableGeneratorComposite( - this, - tableGeneratorHolder, - pageBook - ); - - addAlignRight(sequenceGeneratorPane); - addAlignRight(tableGeneratorPane); - installPaneSwitcher(pageBook); - } - - private AddRemoveListPane<EntityMappings> buildListPane(Composite container) { - - return new AddRemoveListPane<EntityMappings>( - this, - container, - buildGeneratorAdapter(), - buildDisplayableGeneratorListHolder(), - generatorHolder, - buildGeneratorLabelProvider() - ) - { - @Override - protected void addCustomButtonAfterAddButton(Composite container, - String helpId) { - - Button button = buildButton( - container, - JptUiOrmMessages.OrmGeneratorsComposite_addTableGenerator, - helpId, - buildNewTableGeneratorAction(getSelectionModel()) - ); - - addAlignRight(button); - } - }; - } - - private void installPaneEnabler() { - new PaneEnabler( - buildPaneEnablerHolder(), - listPane - ); - } - - private void installPaneSwitcher(PageBook pageBook) { - new ControlSwitcher(generatorHolder, buildPaneTransformer(), pageBook); - } - - private Iterator<String> sequenceGeneratorNames() { - return new TransformationIterator<OrmSequenceGenerator, String>(subject().sequenceGenerators()) { - @Override - protected String transform(OrmSequenceGenerator next) { - return next.getName(); - } - }; - } - - private Iterator<String> tableGeneratorNames() { - return new TransformationIterator<OrmTableGenerator, String>(subject().tableGenerators()) { - @Override - protected String transform(OrmTableGenerator next) { - return next.getName(); - } - }; - } -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmInheritanceComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmInheritanceComposite.java deleted file mode 100644 index 292a29943b..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmInheritanceComposite.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 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.ui.internal.orm.details; - -import org.eclipse.jpt.core.context.orm.OrmEntity; -import org.eclipse.jpt.ui.internal.mappings.details.AbstractInheritanceComposite; -import org.eclipse.jpt.ui.internal.widgets.AbstractPane; -import org.eclipse.swt.widgets.Composite; - -/** - * The pane used for java inheritance. - * - * @see OrmEntity - * @see OrmPrimaryKeyJoinColumnsComposite - * - * @version 2.0 - * @since 1.0 - */ -public class OrmInheritanceComposite extends AbstractInheritanceComposite<OrmEntity> { - - /** - * Creates a new <code>OrmInheritanceComposite</code>. - * - * @param parentPane The parent container of this one - * @param parent The parent container - */ - public OrmInheritanceComposite(AbstractPane<OrmEntity> parentPane, - Composite parent) { - - super(parentPane, parent); - } - - @Override - protected void buildPrimaryKeyJoinColumnsComposite(Composite container) { - new OrmPrimaryKeyJoinColumnsComposite(this, container); - } -}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmJavaAttributeChooser.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmJavaAttributeChooser.java deleted file mode 100644 index 724b32a756..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmJavaAttributeChooser.java +++ /dev/null @@ -1,89 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 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.ui.internal.orm.details; - -import org.eclipse.jpt.core.context.orm.OrmAttributeMapping; -import org.eclipse.jpt.ui.internal.orm.JptUiOrmMessages; -import org.eclipse.jpt.ui.internal.widgets.AbstractFormPane; -import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Text; - -/** - * @see OrmPersistentAttributeDetailsPage - The parent container - * - * @version 2.0 - * @since 1.0 - */ -public class OrmJavaAttributeChooser extends AbstractFormPane<OrmAttributeMapping> -{ - private Text text; - - /** - * Creates a new <code>XmlJavaAttributeChooser</code>. - * - * @param parentPane The parent container of this one - * @param subjectHolder The holder of this pane's subject - * @param parent The parent container - */ - public OrmJavaAttributeChooser(AbstractFormPane<?> parentPane, - PropertyValueModel<OrmAttributeMapping> subjectHolder, - Composite parent) { - - super(parentPane, subjectHolder, parent); - } - - private WritablePropertyValueModel<String> buildNameHolder() { - return new PropertyAspectAdapter<OrmAttributeMapping, String>(getSubjectHolder(), OrmAttributeMapping.NAME_PROPERTY) { - @Override - protected String buildValue_() { - return subject.getName(); - } - - @Override - protected void setValue_(String value) { - if (subject.getPersistentAttribute().isVirtual()) { - return; - } - if (value.length() == 0) { - value = null; - } - subject.setName(value); - } - }; - } - - /* - * (non-Javadoc) - */ - @Override - public void enableWidgets(boolean enabled) { - super.enableWidgets(enabled); - - if (!text.isDisposed()) { - text.setEnabled(enabled); - } - } - - /* - * (non-Javadoc) - */ - @Override - protected void initializeLayout(Composite container) { - - text = buildLabeledText( - container, - JptUiOrmMessages.OrmJavaAttributeChooser_javaAttribute, - buildNameHolder() - ); - } -}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmJavaClassChooser.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmJavaClassChooser.java deleted file mode 100644 index 44dec7dcef..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmJavaClassChooser.java +++ /dev/null @@ -1,143 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 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.ui.internal.orm.details; - -import org.eclipse.core.resources.IProject; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.IPackageFragmentRoot; -import org.eclipse.jdt.core.IType; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jpt.core.context.orm.OrmTypeMapping; -import org.eclipse.jpt.ui.JptUiPlugin; -import org.eclipse.jpt.ui.internal.orm.JptUiOrmMessages; -import org.eclipse.jpt.ui.internal.widgets.AbstractFormPane; -import org.eclipse.jpt.ui.internal.widgets.ClassChooserPane; -import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -/** - * Here the layout of this pane: - * <pre> - * ----------------------------------------------------------------------------- - * | | - * | ClassChooserPane | - * | | - * -----------------------------------------------------------------------------</pre> - * - * TODO possibly help the user and if they have chosen a package at the - * entity-mappings level only insert the class name in the xml file if they - * choose a class from the package. - * Not sure if this should be driven by the UI or by ui api in the model - * - * @see OrmTypeMapping - * @see OrmPersistentTypeDetailsPage - The parent container - * @see ClassChooserPane - * - * @version 2.0 - * @since 1.0 - */ -public class OrmJavaClassChooser extends AbstractFormPane<OrmTypeMapping> { - - /** - * Creates a new <code>XmlJavaClassChooser</code>. - * - * @param parentPane The parent controller of this one - * @param subjectHolder The holder of this pane's subject - * @param parent The parent container - */ - public OrmJavaClassChooser(AbstractFormPane<?> parentPane, - PropertyValueModel<? extends OrmTypeMapping> subjectHolder, - Composite parent) { - - super(parentPane, subjectHolder, parent); - } - - /** - * Creates a new <code>XmlJavaClassChooser</code>. - * - * @param subjectHolder The holder of this pane's subject - * @param parent The parent container - * @param widgetFactory The factory used to create various common widgets - */ - public OrmJavaClassChooser(PropertyValueModel<? extends OrmTypeMapping> subjectHolder, - Composite parent, - TabbedPropertySheetWidgetFactory widgetFactory) { - - super(subjectHolder, parent, widgetFactory); - } - - private ClassChooserPane<OrmTypeMapping> initializeClassChooser(Composite container) { - - return new ClassChooserPane<OrmTypeMapping>(this, container) { - - @Override - protected WritablePropertyValueModel<String> buildTextHolder() { - return new PropertyAspectAdapter<OrmTypeMapping, String>(getSubjectHolder(), OrmTypeMapping.CLASS_PROPERTY) { - @Override - protected String buildValue_() { - return subject.getClass_(); - } - - @Override - protected void setValue_(String value) { - subject.setClass(value); - } - }; - } - - @Override - protected String className() { - return subject().getClass_(); - } - - @Override - protected String labelText() { - return JptUiOrmMessages.OrmJavaClassChooser_javaClass; - } - - @Override - protected IPackageFragmentRoot packageFragmentRoot() { - IProject project = subject().getJpaProject().getProject(); - IJavaProject root = JavaCore.create(project); - - try { - return root.getAllPackageFragmentRoots()[0]; - } - catch (JavaModelException e) { - JptUiPlugin.log(e); - } - - return null; - } - - @Override - protected void promptType() { - IType type = chooseType(); - - if (type != null) { - String className = type.getFullyQualifiedName('.'); - subject().setClass(className); - } - } - }; - } - - /* - * (non-Javadoc) - */ - @Override - protected void initializeLayout(Composite container) { - initializeClassChooser(container); - } -}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmPackageChooser.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmPackageChooser.java deleted file mode 100644 index a5b555e3ab..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmPackageChooser.java +++ /dev/null @@ -1,120 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 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.ui.internal.orm.details; - -import org.eclipse.core.resources.IProject; -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jdt.core.IPackageFragment; -import org.eclipse.jdt.core.IPackageFragmentRoot; -import org.eclipse.jdt.core.JavaCore; -import org.eclipse.jdt.core.JavaModelException; -import org.eclipse.jpt.core.context.orm.EntityMappings; -import org.eclipse.jpt.ui.JptUiPlugin; -import org.eclipse.jpt.ui.internal.orm.JptUiOrmMessages; -import org.eclipse.jpt.ui.internal.widgets.AbstractFormPane; -import org.eclipse.jpt.ui.internal.widgets.PackageChooserPane; -import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel; -import org.eclipse.swt.widgets.Composite; - -/** - * Here the layout of this pane: - * <pre> - * ----------------------------------------------------------------------------- - * | | - * | PackageChooserPane | - * | | - * -----------------------------------------------------------------------------</pre> - * - * @see EntityMappings - * @see EntityMappingsDetailsPage - The parent container - * @see PackageChooserPane - * - * @version 2.0 - * @since 2.0 - */ -public class OrmPackageChooser extends AbstractFormPane<EntityMappings> -{ - /** - * Creates a new <code>XmlPackageChooser</code>. - * - * @param parentPane The parent controller of this one - * @param parent The parent container - */ - public OrmPackageChooser(AbstractFormPane<? extends EntityMappings> parentPane, - Composite parent) { - - super(parentPane, parent); - } - - /* - * (non-Javadoc) - */ - @Override - protected void initializeLayout(Composite container) { - - initializePackageChooserPane(container); - } - - private void initializePackageChooserPane(Composite container) { - - new PackageChooserPane<EntityMappings>(this, container) { - @Override - protected WritablePropertyValueModel<String> buildTextHolder() { - return new PropertyAspectAdapter<EntityMappings, String>(getSubjectHolder(), EntityMappings.PACKAGE_PROPERTY) { - @Override - protected String buildValue_() { - return subject.getPackage(); - } - - @Override - protected void setValue_(String value) { - subject.setPackage(value); - } - }; - } - - @Override - protected String labelText() { - return JptUiOrmMessages.EntityMappingsDetailsPage_package; - } - - @Override - protected IPackageFragmentRoot packageFragmentRoot() { - IProject project = subject().getJpaProject().getProject(); - IJavaProject root = JavaCore.create(project); - - try { - return root.getAllPackageFragmentRoots()[0]; - } - catch (JavaModelException e) { - JptUiPlugin.log(e); - } - - return null; - } - - @Override - protected String packageName() { - return subject().getPackage(); - } - - @Override - protected void promptPackage() { - IPackageFragment packageFragment = choosePackage(); - - if (packageFragment != null) { - String packageName = packageFragment.getElementName(); - subject().setPackage(packageName); - } - } - }; - } -}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmPersistentAttributeDetailsPage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmPersistentAttributeDetailsPage.java deleted file mode 100644 index 9d072f5e95..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmPersistentAttributeDetailsPage.java +++ /dev/null @@ -1,181 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 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.ui.internal.orm.details; - -import java.util.ArrayList; -import java.util.Iterator; -import org.eclipse.jpt.core.context.AttributeMapping; -import org.eclipse.jpt.core.context.PersistentAttribute; -import org.eclipse.jpt.core.context.orm.OrmAttributeMapping; -import org.eclipse.jpt.core.context.orm.OrmPersistentAttribute; -import org.eclipse.jpt.ui.WidgetFactory; -import org.eclipse.jpt.ui.details.AttributeMappingUiProvider; -import org.eclipse.jpt.ui.details.JpaComposite; -import org.eclipse.jpt.ui.internal.details.PersistentAttributeDetailsPage; -import org.eclipse.jpt.ui.internal.mappings.details.OrmPersistentAttributeMapAsComposite; -import org.eclipse.jpt.ui.internal.util.PaneEnabler; -import org.eclipse.jpt.ui.internal.widgets.AbstractPane; -import org.eclipse.jpt.utility.internal.CollectionTools; -import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel; -import org.eclipse.jpt.utility.model.value.PropertyValueModel; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.part.PageBook; - -/** - * The default implementation of the details page used for the XML persistent - * attribute. - * <p> - * Here the layout of this pane: - * <pre> - * ----------------------------------------------------------------------------- - * | ------------------------------------------------------------------------- | - * | | | | - * | | OrmPersistentAttributeMapAsComposite | | - * | | | | - * | ------------------------------------------------------------------------- | - * | ------------------------------------------------------------------------- | - * | | | | - * | | Attribute mapping pane | | - * | | | | - * | ------------------------------------------------------------------------- | - * -----------------------------------------------------------------------------</pre> - * - * @see OrmPersistentAttribute - * @see OrmPersistentAttributeMapAsComposite - * - * @version 2.0 - * @since 2.0 - */ -@SuppressWarnings("nls") -public class OrmPersistentAttributeDetailsPage extends PersistentAttributeDetailsPage<OrmPersistentAttribute> -{ - /** - * Creates a new <code>OrmPersistentAttributeDetailsPage</code>. - * - * @param parent The parent container - * @param widgetFactory The factory used to create various common widgets - */ - public OrmPersistentAttributeDetailsPage(Composite parent, - WidgetFactory widgetFactory) { - - super(parent, widgetFactory); - } - - /* - * (non-Javadoc) - */ - @Override - public Iterator<AttributeMappingUiProvider<? extends AttributeMapping>> attributeMappingUiProviders() { - return jpaPlatformUi().ormAttributeMappingUiProviders(); - } - - /* - * (non-Javadoc) - */ - @Override - @SuppressWarnings("unchecked") - protected AttributeMappingUiProvider<? extends AttributeMapping>[] attributeMappingUiProvidersFor(PersistentAttribute persistentAttribute) { - //bug 192035 - no default mapping option in xml - return CollectionTools.array(attributeMappingUiProviders(), new AttributeMappingUiProvider[CollectionTools.size(attributeMappingUiProviders())]); - } - - private PropertyValueModel<Boolean> buildPaneEnablerHolder() { - return new TransformationPropertyValueModel<OrmPersistentAttribute, Boolean>(getSubjectHolder()) { - @Override - protected Boolean transform_(OrmPersistentAttribute value) { - return !value.isVirtual(); - } - }; - } - - /* - * (non-Javadoc) - */ - @Override - protected AttributeMappingUiProvider<AttributeMapping> defaultAttributeMappingUiProvider(String key) { - throw new UnsupportedOperationException("Xml attributeMappings should not be default"); - } - - /* - * (non-Javadoc) - */ - @Override - protected Iterator<AttributeMappingUiProvider<? extends AttributeMapping>> defaultAttributeMappingUiProviders() { - return jpaPlatformUi().defaultOrmAttributeMappingUiProviders(); - } - - private PropertyValueModel<OrmAttributeMapping> getMappingHolder() { - return new TransformationPropertyValueModel<PersistentAttribute, OrmAttributeMapping>(getSubjectHolder()) { - @Override - protected OrmAttributeMapping transform_(PersistentAttribute value) { - return (OrmAttributeMapping) value.getMapping(); - } - }; - } - - /* - * (non-Javadoc) - */ - @Override - protected void initializeLayout(Composite container) { - - ArrayList<AbstractPane<?>> panes = new ArrayList<AbstractPane<?>>(2); - - // Map As composite - OrmPersistentAttributeMapAsComposite mapAsPane = new OrmPersistentAttributeMapAsComposite( - this, - buildSubPane(container, 0, 0, 5, 0) - ); - - panes.add(mapAsPane); - - // Entity type widgets - OrmJavaAttributeChooser javaAttributePane = - new OrmJavaAttributeChooser(this, getMappingHolder(), container); - - panes.add(javaAttributePane); - - // Mapping properties pane - PageBook attributePane = buildMappingPageBook(container); - - GridData gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.TOP; - gridData.grabExcessHorizontalSpace = true; - gridData.grabExcessVerticalSpace = true; - - attributePane.setLayoutData(gridData); - - installPaneEnabler(panes); - } - - private void installPaneEnabler(ArrayList<AbstractPane<?>> panes) { - new PaneEnabler(buildPaneEnablerHolder(), panes); - } - - /* - * (non-Javadoc) - */ - @Override - protected void mappingPageChanged(JpaComposite mappingComposite) { - if (mappingComposite == null) { - return; - } - boolean enabled = false; - - if (subject() != null && subject().getParent() != null) { - enabled = !subject().isVirtual(); - } - - mappingComposite.enableWidgets(enabled); - } -}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmPersistentTypeDetailsPage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmPersistentTypeDetailsPage.java deleted file mode 100644 index 1e9faf0bdf..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmPersistentTypeDetailsPage.java +++ /dev/null @@ -1,194 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 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.ui.internal.orm.details; - -import java.util.Iterator; -import org.eclipse.jpt.core.context.PersistentType; -import org.eclipse.jpt.core.context.TypeMapping; -import org.eclipse.jpt.core.context.orm.OrmPersistentType; -import org.eclipse.jpt.core.context.orm.OrmTypeMapping; -import org.eclipse.jpt.ui.WidgetFactory; -import org.eclipse.jpt.ui.details.TypeMappingUiProvider; -import org.eclipse.jpt.ui.internal.details.PersistentTypeDetailsPage; -import org.eclipse.jpt.ui.internal.mappings.details.OrmPersistentTypeMapAsComposite; -import org.eclipse.jpt.ui.internal.orm.JptUiOrmMessages; -import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel; -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.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.part.PageBook; - -/** - * The default implementation of the details page used for the XML persistent - * attribute. - * <p> - * Here the layout of this pane: - * <pre> - * ----------------------------------------------------------------------------- - * | ------------------------------------------------------------------------- | - * | | | | - * | | OrmJavaClassChooser | | - * | | | | - * | ------------------------------------------------------------------------- | - * | ------------------------------------------------------------------------- | - * | | | | - * | | OrmPersistentTypeMapAsComposite | | - * | | | | - * | ------------------------------------------------------------------------- | - * | | - * | X Metadata Complete | - * | | - * | ------------------------------------------------------------------------- | - * | | | | - * | | OrmJavaClassChooser | | - * | | | | - * | ------------------------------------------------------------------------- | - * | ------------------------------------------------------------------------- | - * | | | | - * | | Type mapping pane | | - * | | | | - * | ------------------------------------------------------------------------- | - * -----------------------------------------------------------------------------</pre> - * - * @see OrmPersistentType - * @see OrmJavaClassChooser - * @see AccessTypeComposite - * @see OrmPersistentTypeMapAsComposite - * - * @version 2.0 - * @since 2.0 - */ -public class OrmPersistentTypeDetailsPage extends PersistentTypeDetailsPage<OrmPersistentType> -{ - /** - * Creates a new <code>OrmPersistentTypeDetailsPage</code>. - * - * @param parent The parent container - * @param widgetFactory The factory used to create various common widgets - */ - public OrmPersistentTypeDetailsPage(Composite parent, - WidgetFactory widgetFactory) { - - super(parent, widgetFactory); - } - - private PropertyValueModel<OrmTypeMapping> buildMappingHolder() { - return new PropertyAspectAdapter<OrmPersistentType, OrmTypeMapping>(getSubjectHolder(), PersistentType.MAPPING_PROPERTY) { - @Override - protected OrmTypeMapping buildValue_() { - return subject.getMapping(); - } - }; - } - - private WritablePropertyValueModel<Boolean> buildMetadataCompleteHolder() { - return new PropertyAspectAdapter<OrmTypeMapping, Boolean>( - buildMappingHolder(), - OrmTypeMapping.DEFAULT_METADATA_COMPLETE_PROPERTY, - OrmTypeMapping.SPECIFIED_METADATA_COMPLETE_PROPERTY) - { - @Override - protected Boolean buildValue_() { - return subject.getSpecifiedMetadataComplete(); - } - - @Override - protected void setValue_(Boolean value) { - subject.setSpecifiedMetadataComplete(value); - } - - @Override - protected void subjectChanged() { - Object oldValue = this.getValue(); - super.subjectChanged(); - Object newValue = this.getValue(); - - // Make sure the default value is appended to the text - if (oldValue == newValue && newValue == null) { - this.fireAspectChange(Boolean.TRUE, newValue); - } - } - }; - } - - private PropertyValueModel<String> buildMetadataCompleteStringHolder() { - - return new TransformationPropertyValueModel<Boolean, String>(buildMetadataCompleteHolder()) { - - @Override - protected String transform(Boolean value) { - - if ((subject() != null) && (value == null)) { - - boolean defaultValue = subject().getMapping().isDefaultMetadataComplete(); - String defaultStringValue = defaultValue ? JptUiOrmMessages.Boolean_True : - JptUiOrmMessages.Boolean_False; - - return NLS.bind( - JptUiOrmMessages.OrmPersistentTypeDetailsPage_metadataCompleteWithDefault, - defaultStringValue - ); - } - - return JptUiOrmMessages.OrmPersistentTypeDetailsPage_metadataComplete; - } - }; - } - - /* - * (non-Javadoc) - */ - @Override - protected void initializeLayout(Composite container) { - - // Type Mapping widgets - new OrmPersistentTypeMapAsComposite( - this, - buildSubPane(container, 0, 0, 5, 0) - ); - - // Java class widgets - new OrmJavaClassChooser(this, buildMappingHolder(), container); - - // Access widgets - new AccessTypeComposite(this, buildMappingHolder(), container); - - // Metadata complete widgets - buildTriStateCheckBoxWithDefault( - container, - JptUiOrmMessages.OrmPersistentTypeDetailsPage_metadataComplete, - buildMetadataCompleteHolder(), - buildMetadataCompleteStringHolder() - ); - - // Type mapping pane - PageBook typeMappingPageBook = buildTypeMappingPageBook(container); - - GridData gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.TOP; - gridData.grabExcessHorizontalSpace = true; - gridData.grabExcessVerticalSpace = true; - - typeMappingPageBook.setLayoutData(gridData); - } - - /* - * (non-Javadoc) - */ - @Override - public Iterator<TypeMappingUiProvider<? extends TypeMapping>> typeMappingUiProviders() { - return jpaPlatformUi().ormTypeMappingUiProviders(); - } -}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmPrimaryKeyJoinColumnsComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmPrimaryKeyJoinColumnsComposite.java deleted file mode 100644 index 337a51aac8..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmPrimaryKeyJoinColumnsComposite.java +++ /dev/null @@ -1,78 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 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.ui.internal.orm.details; - -import java.util.ListIterator; -import org.eclipse.jpt.core.context.PrimaryKeyJoinColumn; -import org.eclipse.jpt.core.context.orm.OrmEntity; -import org.eclipse.jpt.core.context.orm.OrmPrimaryKeyJoinColumn; -import org.eclipse.jpt.ui.internal.mappings.details.AbstractPrimaryKeyJoinColumnsComposite; -import org.eclipse.jpt.ui.internal.widgets.AbstractPane; -import org.eclipse.jpt.utility.internal.model.value.ListAspectAdapter; -import org.eclipse.jpt.utility.model.value.ListValueModel; -import org.eclipse.swt.widgets.Composite; - -/** - * @see OrmEntity - * @see OrmInheritanceComposite - The container of this pane - * - * @version 2.0 - * @since 2.0 - */ -public class OrmPrimaryKeyJoinColumnsComposite extends AbstractPrimaryKeyJoinColumnsComposite<OrmEntity> -{ - - /** - * Creates a new <code>OrmPrimaryKeyJoinColumnsComposite</code>. - * - * @param parentPane The parent controller of this one - * @param parent The parent container - */ - public OrmPrimaryKeyJoinColumnsComposite(AbstractPane<? extends OrmEntity> subjectHolder, - Composite parent) { - - super(subjectHolder, parent); - } - - @Override - protected ListValueModel<OrmPrimaryKeyJoinColumn> buildDefaultJoinColumnsListHolder() { - return new ListAspectAdapter<OrmEntity, OrmPrimaryKeyJoinColumn>( - getSubjectHolder(), - OrmEntity.DEFAULT_PRIMARY_KEY_JOIN_COLUMNS_LIST) - { - @Override - protected ListIterator<OrmPrimaryKeyJoinColumn> listIterator_() { - return subject.defaultPrimaryKeyJoinColumns(); - } -//TODO defaultPrimaryKeyJoinColumnsSize when I can change the API -// @Override -// protected int size_() { -// return subject.defaultPrimaryKeyJoinColumnsSize(); -// } - }; - } - - @Override - protected void switchDefaultToSpecified() { - ListIterator<OrmPrimaryKeyJoinColumn> defaultJoinColumns = subject().defaultPrimaryKeyJoinColumns(); - - int index = 0; - while (defaultJoinColumns.hasNext()) { - OrmPrimaryKeyJoinColumn defaultJoinColumn = defaultJoinColumns.next(); - String columnName = defaultJoinColumn.getName(); - String referencedColumnName = defaultJoinColumn.getReferencedColumnName(); - - PrimaryKeyJoinColumn pkJoinColumn = subject().addSpecifiedPrimaryKeyJoinColumn(index++); - pkJoinColumn.setSpecifiedName(columnName); - pkJoinColumn.setSpecifiedReferencedColumnName(referencedColumnName); - } - } - -}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmQueriesComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmQueriesComposite.java deleted file mode 100644 index b15e641cca..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmQueriesComposite.java +++ /dev/null @@ -1,87 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 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.ui.internal.orm.details; - -import org.eclipse.jpt.core.context.orm.EntityMappings; -import org.eclipse.jpt.ui.internal.mappings.details.QueriesComposite; -import org.eclipse.jpt.ui.internal.orm.JptUiOrmMessages; -import org.eclipse.jpt.ui.internal.util.PaneEnabler; -import org.eclipse.jpt.ui.internal.widgets.AbstractPane; -import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel; -import org.eclipse.jpt.utility.model.value.PropertyValueModel; -import org.eclipse.swt.widgets.Composite; - -/** - * Here the layout of this pane: - * <pre> - * ----------------------------------------------------------------------------- - * | ------------------------------------------------------------------------- | - * | | | | - * | | QueriesComposite | | - * | | | | - * | ------------------------------------------------------------------------- | - * -----------------------------------------------------------------------------</pre> - * - * @see EntityMappings - * @see EntityMappingsDetailsPage - The parent container - * @see QueriesComposite - * - * @version 2.0 - * @since 2.0 - */ -public class OrmQueriesComposite extends AbstractPane<EntityMappings> { - - /** - * Creates a new <code>OrmQueriesComposite</code>. - * - * @param parentPane The parent container of this one - * @param parent The parent container - */ - public OrmQueriesComposite(AbstractPane<? extends EntityMappings> parentPane, - Composite parent) { - - super(parentPane, parent); - } - - private PropertyValueModel<Boolean> buildPaneEnablerHolder() { - return new TransformationPropertyValueModel<EntityMappings, Boolean>(getSubjectHolder()) { - @Override - protected Boolean transform(EntityMappings value) { - return (value != null); - } - }; - } - - /* - * (non-Javadoc) - */ - @Override - protected void initializeLayout(Composite container) { - - container = buildCollapsableSection( - container, - JptUiOrmMessages.OrmQueriesComposite_groupBox - ); - - QueriesComposite queriesComposite = new QueriesComposite( - this, - container - ); - - installPaneEnabler(queriesComposite); - } - - private void installPaneEnabler(QueriesComposite queriesComposite) { - new PaneEnabler( - buildPaneEnablerHolder(), - queriesComposite - ); - } -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmSecondaryTablesComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmSecondaryTablesComposite.java deleted file mode 100644 index 2a69d5928f..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmSecondaryTablesComposite.java +++ /dev/null @@ -1,204 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 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.ui.internal.orm.details; - -import java.util.ArrayList; -import java.util.List; -import java.util.ListIterator; -import org.eclipse.jpt.core.context.Entity; -import org.eclipse.jpt.core.context.SecondaryTable; -import org.eclipse.jpt.core.context.Table; -import org.eclipse.jpt.core.context.orm.OrmEntity; -import org.eclipse.jpt.core.context.orm.OrmSecondaryTable; -import org.eclipse.jpt.ui.internal.JpaHelpContextIds; -import org.eclipse.jpt.ui.internal.mappings.JptUiMappingsMessages; -import org.eclipse.jpt.ui.internal.mappings.details.AbstractSecondaryTablesComposite; -import org.eclipse.jpt.ui.internal.mappings.details.PrimaryKeyJoinColumnsInSecondaryTableComposite; -import org.eclipse.jpt.ui.internal.mappings.details.SecondaryTableDialog; -import org.eclipse.jpt.ui.internal.util.PaneEnabler; -import org.eclipse.jpt.ui.internal.widgets.AbstractFormPane; -import org.eclipse.jpt.ui.internal.widgets.AddRemoveListPane; -import org.eclipse.jpt.utility.internal.model.value.CompositeListValueModel; -import org.eclipse.jpt.utility.internal.model.value.ItemPropertyListValueModelAdapter; -import org.eclipse.jpt.utility.internal.model.value.ListAspectAdapter; -import org.eclipse.jpt.utility.internal.model.value.ListPropertyValueModelAdapter; -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.swt.widgets.Composite; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -/** - * Here the layout of this pane: - * <pre> - * ----------------------------------------------------------------------------- - * | ------------------------------------------------------------------------- | - * | | | | - * | | AddRemoveListPane | | - * | | | | - * | ------------------------------------------------------------------------- | - * | ------------------------------------------------------------------------- | - * | | | | - * | | PrimaryKeyJoinColumnsInSecondaryTableComposite | | - * | | | | - * | ------------------------------------------------------------------------- | - * -----------------------------------------------------------------------------</pre> - * - * @see OrmEntity - * @see OrmEntityComposite - The container of this pane - * @see AddRemoveListPane - * @see PrimaryKeyJoinColumnsInSecondaryTableComposite - * - * @version 2.0 - * @since 1.0 - */ -public class OrmSecondaryTablesComposite extends AbstractSecondaryTablesComposite<OrmEntity> -{ - /** - * Creates a new <code>OrmSecondaryTablesComposite</code>. - * - * @param parentPane The parent container of this one - * @param parent The parent container - */ - public OrmSecondaryTablesComposite(AbstractFormPane<? extends OrmEntity> parentPane, - Composite parent) { - - super(parentPane, parent); - } - - /** - * Creates a new <code>SecondaryTablesComposite</code>. - * - * @param subjectHolder The holder of the subject <code>IEntity</code> - * @param parent The parent container - * @param widgetFactory The factory used to create various common widgets - */ - public OrmSecondaryTablesComposite(PropertyValueModel<? extends OrmEntity> subjectHolder, - Composite parent, - TabbedPropertySheetWidgetFactory widgetFactory) { - - super(subjectHolder, parent, widgetFactory); - } - - private WritablePropertyValueModel<Boolean> buildDefineInXmlHolder() { - return new DefineInXmlHolder(); - } - - private ListValueModel<OrmSecondaryTable> buildSecondaryTablesListHolder() { - List<ListValueModel<OrmSecondaryTable>> list = new ArrayList<ListValueModel<OrmSecondaryTable>>(); - list.add(buildSpecifiedSecondaryTablesListHolder()); - list.add(buildVirtualSecondaryTablesListHolder()); - return new CompositeListValueModel<ListValueModel<OrmSecondaryTable>, OrmSecondaryTable>(list); - } - - private ListValueModel<OrmSecondaryTable> buildSecondaryTablesListModel() { - return new ItemPropertyListValueModelAdapter<OrmSecondaryTable>(buildSecondaryTablesListHolder(), - Table.SPECIFIED_NAME_PROPERTY); - } - - private ListValueModel<OrmSecondaryTable> buildSpecifiedSecondaryTablesListHolder() { - return new ListAspectAdapter<OrmEntity, OrmSecondaryTable>(getSubjectHolder(), Entity.SPECIFIED_SECONDARY_TABLES_LIST) { - @Override - protected ListIterator<OrmSecondaryTable> listIterator_() { - return subject.specifiedSecondaryTables(); - } - - @Override - protected int size_() { - return subject.specifiedSecondaryTablesSize(); - } - }; - } - - private ListValueModel<OrmSecondaryTable> buildVirtualSecondaryTablesListHolder() { - return new ListAspectAdapter<OrmEntity, OrmSecondaryTable>(getSubjectHolder(), OrmEntity.VIRTUAL_SECONDARY_TABLES_LIST) { - @Override - protected ListIterator<OrmSecondaryTable> listIterator_() { - return subject.virtualSecondaryTables(); - } - - @Override - protected int size_() { - return subject.virtualSecondaryTablesSize(); - } - }; - } - - @Override - protected void initializeLayout(Composite container) { - - int groupBoxMargin = groupBoxMargin(); - - WritablePropertyValueModel<SecondaryTable> secondaryTableHolder = - buildSecondaryTableHolder(); - - WritablePropertyValueModel<Boolean> defineInXmlHolder = - buildDefineInXmlHolder(); - - // Override Define In XML check box - buildCheckBox( - buildSubPane(container, 0, groupBoxMargin), - JptUiMappingsMessages.OrmSecondaryTablesComposite_defineInXml, - defineInXmlHolder - ); - - // Secondary Tables add/remove list pane - AddRemoveListPane<Entity> listPane = new AddRemoveListPane<Entity>( - this, - buildSubPane(container, 0, groupBoxMargin, 0, groupBoxMargin), - buildSecondaryTablesAdapter(), - buildSecondaryTablesListModel(), - secondaryTableHolder, - buildSecondaryTableLabelProvider(), - JpaHelpContextIds.MAPPING_JOIN_TABLE_COLUMNS//TODO need a help context id for this - ); - - installListPaneEnabler(defineInXmlHolder, listPane); - - // Primary Key Join Columns pane - new PrimaryKeyJoinColumnsInSecondaryTableComposite( - this, - secondaryTableHolder, - container - ); - } - - private void installListPaneEnabler(WritablePropertyValueModel<Boolean> defineInXmlHolder, - AddRemoveListPane<Entity> listPane) { - - new PaneEnabler(defineInXmlHolder, listPane); - } - - @Override - protected SecondaryTableDialog buildSecondaryTableDialogForAdd() { - //defaultSchema and defaultCatalog should not be taken from the Table in this case. The table default schema could be what is the specified schema on the java table. - return new SecondaryTableDialog(getControl().getShell(), subject().getJpaProject(), subject().getEntityMappings().getDefaultSchema(), subject().getEntityMappings().getDefaultCatalog()); - } - - private class DefineInXmlHolder extends ListPropertyValueModelAdapter<Boolean> - implements WritablePropertyValueModel<Boolean> { - - public DefineInXmlHolder() { - super(buildVirtualSecondaryTablesListHolder()); - } - - @Override - protected Boolean buildValue() { - if (subject() == null) { - return Boolean.FALSE; - } - return Boolean.valueOf(subject().secondaryTablesDefinedInXml()); - } - - public void setValue(Boolean value) { - subject().setSecondaryTablesDefinedInXml(value.booleanValue()); - } - } -}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmSequenceGeneratorComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmSequenceGeneratorComposite.java deleted file mode 100644 index 18a8421638..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmSequenceGeneratorComposite.java +++ /dev/null @@ -1,131 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 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.ui.internal.orm.details; - -import java.util.Collection; -import org.eclipse.jpt.core.context.orm.OrmSequenceGenerator; -import org.eclipse.jpt.db.Schema; -import org.eclipse.jpt.ui.internal.JpaHelpContextIds; -import org.eclipse.jpt.ui.internal.mappings.JptUiMappingsMessages; -import org.eclipse.jpt.ui.internal.mappings.db.SequenceCombo; -import org.eclipse.jpt.ui.internal.orm.JptUiOrmMessages; -import org.eclipse.jpt.ui.internal.widgets.AbstractPane; -import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel; -import org.eclipse.swt.widgets.Composite; - -/** - * Here the layout of this pane: - * <pre> - * ----------------------------------------------------------------------------- - * | ----------------------------------------------------- | - * | Name: | I | | - * | ----------------------------------------------------- | - * | ----------------------------------------------------- | - * | Sequence Generator: | SequenceCombo | | - * | ----------------------------------------------------- | - * -----------------------------------------------------------------------------</pre> - * - * @see OrmSequenceGenerator - * @see EntityMappings - * @see OrmGeneratorsComposite - The parent container - * @see SequenceCombo - * - * @version 2.0 - * @since 2.0 - */ -public class OrmSequenceGeneratorComposite extends AbstractPane<OrmSequenceGenerator> -{ - /** - * Creates a new <code>OrmSequenceGeneratorComposite</code>. - * - * @param parentPane The parent pane of this one - * @param subjectHolder The holder of this pane's subject - * @param parent The parent container - */ - public OrmSequenceGeneratorComposite(AbstractPane<?> parentPane, - PropertyValueModel<OrmSequenceGenerator> subjectHolder, - Composite parent) { - - super(parentPane, subjectHolder, parent, false); - } - - private WritablePropertyValueModel<String> buildGeneratorNameHolder() { - return new PropertyAspectAdapter<OrmSequenceGenerator, String>(getSubjectHolder(), OrmSequenceGenerator.NAME_PROPERTY) { - @Override - protected String buildValue_() { - return subject.getName(); - } - - @Override - public void setValue_(String value) { - subject.setName(value); - } - }; - } - - private SequenceCombo<OrmSequenceGenerator> buildSequenceNameCombo(Composite parent) { - - return new SequenceCombo<OrmSequenceGenerator>(this, parent) { - - @Override - protected void addPropertyNames(Collection<String> propertyNames) { - super.addPropertyNames(propertyNames); - propertyNames.add(OrmSequenceGenerator.DEFAULT_SEQUENCE_NAME_PROPERTY); - propertyNames.add(OrmSequenceGenerator.SPECIFIED_SEQUENCE_NAME_PROPERTY); - } - - @Override - protected String defaultValue() { - return JptUiMappingsMessages.SequenceGeneratorComposite_default; - } - - @Override - protected Schema schema() { - // TODO - return null; - } - - @Override - protected void setValue(String value) { - subject().setSpecifiedSequenceName(value); - } - - @Override - protected String value() { - return subject().getSpecifiedSequenceName(); - } - }; - } - - /* - * (non-Javadoc) - */ - @Override - protected void initializeLayout(Composite container) { - - // Name widgets - buildLabeledText( - container, - JptUiOrmMessages.OrmSequenceGeneratorComposite_name, - buildGeneratorNameHolder(), - JpaHelpContextIds.MAPPING_SEQUENCE_GENERATOR_NAME - ); - - // Sequence Generator widgets - buildLabeledComposite( - container, - JptUiOrmMessages.OrmSequenceGeneratorComposite_sequence, - buildSequenceNameCombo(container), - JpaHelpContextIds.MAPPING_SEQUENCE_GENERATOR_SEQUENCE - ); - } -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmTableGeneratorComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmTableGeneratorComposite.java deleted file mode 100644 index 3f0f24f1ed..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/OrmTableGeneratorComposite.java +++ /dev/null @@ -1,282 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 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.ui.internal.orm.details; - -import java.util.Collection; -import org.eclipse.jpt.core.context.Generator; -import org.eclipse.jpt.core.context.TableGenerator; -import org.eclipse.jpt.core.context.orm.OrmTableGenerator; -import org.eclipse.jpt.db.Table; -import org.eclipse.jpt.ui.internal.JpaHelpContextIds; -import org.eclipse.jpt.ui.internal.mappings.db.ColumnCombo; -import org.eclipse.jpt.ui.internal.mappings.db.TableCombo; -import org.eclipse.jpt.ui.internal.orm.JptUiOrmMessages; -import org.eclipse.jpt.ui.internal.widgets.AbstractPane; -import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel; -import org.eclipse.swt.widgets.Composite; - -/** - * Here the layout of this pane: - * <pre> - * ----------------------------------------------------------------------------- - * | ----------------------------------------------- | - * | Name: | I | | - * | ----------------------------------------------- | - * | ----------------------------------------------- | - * | Table: | I |v| | - * | ----------------------------------------------- | - * | ----------------------------------------------- | - * | Primary Key Column: | I |v| | - * | ----------------------------------------------- | - * | ----------------------------------------------- | - * | Value Column: | I |v| | - * | ----------------------------------------------- | - * | ----------------------------------------------- | - * | Primary Key Column Value: | I |v| | - * | ----------------------------------------------- | - * -----------------------------------------------------------------------------</pre> - * - * @see OrmTableGenerator - * @see OrmGeneratorsComposite - The parent container - * - * @version 2.0 - * @since 1.0 - */ -public class OrmTableGeneratorComposite extends AbstractPane<OrmTableGenerator> -{ - /** - * Creates a new <code>OrmTableGeneratorComposite</code>. - * - * @param parentPane The parent pane of this one - * @param subjectHolder The holder of this pane's subject - * @param parent The parent container - */ - public OrmTableGeneratorComposite(AbstractPane<?> parentPane, - PropertyValueModel<OrmTableGenerator> subjectHolder, - Composite parent) { - - super(parentPane, subjectHolder, parent, false); - } - - private WritablePropertyValueModel<String> buildGeneratorNameHolder() { - return new PropertyAspectAdapter<OrmTableGenerator, String>(getSubjectHolder(), Generator.NAME_PROPERTY) { - @Override - protected String buildValue_() { - return subject.getName(); - } - - @Override - public void setValue_(String value) { - subject.setName(value); - } - }; - } - - private ColumnCombo<OrmTableGenerator> buildPkColumnNameCombo(Composite parent) { - - return new ColumnCombo<OrmTableGenerator>(this, parent) { - - @Override - protected void addPropertyNames(Collection<String> propertyNames) { - super.addPropertyNames(propertyNames); - propertyNames.add(TableGenerator.DEFAULT_PK_COLUMN_NAME_PROPERTY); - propertyNames.add(TableGenerator.SPECIFIED_PK_COLUMN_NAME_PROPERTY); - } - - @Override - protected String defaultValue() { - return subject().getDefaultPkColumnName(); - } - - @Override - protected void setValue(String value) { - subject().setSpecifiedPkColumnName(value); - } - - @Override - protected Table getDBTable_() { - return subject().getDbTable(); - } - - @Override - protected String value() { - return subject().getSpecifiedPkColumnName(); - } - }; - } - - private ColumnCombo<OrmTableGenerator> buildPkColumnValueCombo(Composite parent) { - - return new ColumnCombo<OrmTableGenerator>(this, parent) { - - @Override - protected void addPropertyNames(Collection<String> propertyNames) { - super.addPropertyNames(propertyNames); - propertyNames.add(TableGenerator.DEFAULT_PK_COLUMN_VALUE_PROPERTY); - propertyNames.add(TableGenerator.SPECIFIED_PK_COLUMN_VALUE_PROPERTY); - } - - @Override - protected String defaultValue() { - return subject().getDefaultPkColumnValue(); - } - - @Override - protected void setValue(String value) { - subject().setSpecifiedPkColumnValue(value); - } - - @Override - protected Table getDBTable_() { - return subject().getDbTable(); - } - - @Override - protected String value() { - return subject().getSpecifiedPkColumnValue(); - } - }; - } - - private TableCombo<OrmTableGenerator> buildTableNameCombo(Composite parent) { - - return new TableCombo<OrmTableGenerator>(this, parent) { - - @Override - protected void addPropertyNames(Collection<String> propertyNames) { - super.addPropertyNames(propertyNames); - propertyNames.add(TableGenerator.DEFAULT_TABLE_PROPERTY); - propertyNames.add(TableGenerator.SPECIFIED_TABLE_PROPERTY); - propertyNames.add(TableGenerator.DEFAULT_SCHEMA_PROPERTY); - propertyNames.add(TableGenerator.SPECIFIED_SCHEMA_PROPERTY); - propertyNames.add(TableGenerator.DEFAULT_CATALOG_PROPERTY); - propertyNames.add(TableGenerator.SPECIFIED_CATALOG_PROPERTY); - } - - @Override - protected void propertyChanged(String propertyName) { - super.propertyChanged(propertyName); - if (propertyName == TableGenerator.DEFAULT_SCHEMA_PROPERTY - || propertyName == TableGenerator.SPECIFIED_SCHEMA_PROPERTY - || propertyName == TableGenerator.DEFAULT_CATALOG_PROPERTY - || propertyName == TableGenerator.SPECIFIED_CATALOG_PROPERTY ) { - repopulate(); - } - } - - @Override - protected String defaultValue() { - return subject().getDefaultTable(); - } - - @Override - protected String schemaName() { - return subject().getSchema(); - } - - @Override - protected void setValue(String value) { - subject().setSpecifiedTable(value); - } - - @Override - protected Table table() { - return subject().getDbTable(); - } - - @Override - protected String value() { - return subject().getSpecifiedTable(); - } - }; - } - - private ColumnCombo<OrmTableGenerator> buildValueColumnCombo(Composite parent) { - - return new ColumnCombo<OrmTableGenerator>(this, parent) { - - @Override - protected void addPropertyNames(Collection<String> propertyNames) { - super.addPropertyNames(propertyNames); - propertyNames.add(TableGenerator.DEFAULT_VALUE_COLUMN_NAME_PROPERTY); - propertyNames.add(TableGenerator.SPECIFIED_VALUE_COLUMN_NAME_PROPERTY); - } - - @Override - protected String defaultValue() { - return subject().getDefaultValueColumnName(); - } - - @Override - protected void setValue(String value) { - subject().setSpecifiedValueColumnName(value); - } - - @Override - protected Table getDBTable_() { - return subject().getDbTable(); - } - - @Override - protected String value() { - return subject().getSpecifiedValueColumnName(); - } - }; - } - - /* - * (non-Javadoc) - */ - @Override - protected void initializeLayout(Composite container) { - - // Name widgets - buildLabeledText( - container, - JptUiOrmMessages.OrmTableGeneratorComposite_name, - buildGeneratorNameHolder(), - JpaHelpContextIds.MAPPING_TABLE_GENERATOR_NAME - ); - - // Table widgets - buildLabeledComposite( - container, - JptUiOrmMessages.OrmTableGeneratorComposite_table, - buildTableNameCombo(container), - JpaHelpContextIds.MAPPING_TABLE_GENERATOR_TABLE - ); - - // Primary Key Column widgets - buildLabeledComposite( - container, - JptUiOrmMessages.OrmTableGeneratorComposite_pkColumn, - buildPkColumnNameCombo(container), - JpaHelpContextIds.MAPPING_TABLE_GENERATOR_PRIMARY_KEY_COLUMN - ); - - // Value Column widgets - buildLabeledComposite( - container, - JptUiOrmMessages.OrmTableGeneratorComposite_valueColumn, - buildValueColumnCombo(container), - JpaHelpContextIds.MAPPING_TABLE_GENERATOR_VALUE_COLUMN - ); - - // Primary Key Column Value widgets - buildLabeledComposite( - container, - JptUiOrmMessages.OrmTableGeneratorComposite_pkColumnValue, - buildPkColumnValueCombo(container), - JpaHelpContextIds.MAPPING_TABLE_GENERATOR_PRIMARY_KEY_COLUMN_VALUE - ); - } -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/PersistenceUnitMetadataComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/PersistenceUnitMetadataComposite.java deleted file mode 100644 index afd330628f..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/orm/details/PersistenceUnitMetadataComposite.java +++ /dev/null @@ -1,263 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 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.ui.internal.orm.details; - -import java.util.Collection; -import org.eclipse.jpt.core.context.AccessType; -import org.eclipse.jpt.core.context.orm.PersistenceUnitDefaults; -import org.eclipse.jpt.core.context.orm.PersistenceUnitMetadata; -import org.eclipse.jpt.ui.internal.JpaHelpContextIds; -import org.eclipse.jpt.ui.internal.mappings.db.CatalogCombo; -import org.eclipse.jpt.ui.internal.mappings.db.SchemaCombo; -import org.eclipse.jpt.ui.internal.orm.JptUiOrmMessages; -import org.eclipse.jpt.ui.internal.widgets.AbstractFormPane; -import org.eclipse.jpt.ui.internal.widgets.EnumFormComboViewer; -import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter; -import org.eclipse.jpt.utility.internal.model.value.TransformationPropertyValueModel; -import org.eclipse.jpt.utility.model.value.PropertyValueModel; -import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel; -import org.eclipse.swt.widgets.Composite; - -/** - * Here the layout of this pane: - * <pre> - * ----------------------------------------------------------------------------- - * | | - * | - Persistence Unit ------------------------------------------------------ | - * | | - * | x XML Mapping Metadata Complete | - * | | - * | x Cascade Persist | - * | | - * | ------------------------------------------------------------ | - * | Schema: | SchemaCombo | | - * | ------------------------------------------------------------ | - * | ------------------------------------------------------------ | - * | Catalog: | CatalogCombo | | - * | ------------------------------------------------------------ | - * | ------------------------------------------------------------ | - * | Access Type: | |v| | - * | ------------------------------------------------------------ | - * -----------------------------------------------------------------------------</pre> - * - * @see PersistenceUnitMetadata - * @see PersistenceUnitDefaults - * @see EntityMappingsDetailsPage - The parent container - * @see CatalogCombo - * @see SchemaCombo - * @see EnumFormComboViewer - * - * @version 2.0 - * @since 2.0 - */ -@SuppressWarnings("nls") -public class PersistenceUnitMetadataComposite extends AbstractFormPane<PersistenceUnitMetadata> -{ - /** - * Creates a new <code>PersistenceUnitMetadataComposite</code>. - * - * @param parentPane The parent container of this one - * @param subjectHolder The holder of this pane's subject - * @param parent The parent container - */ - public PersistenceUnitMetadataComposite(AbstractFormPane<?> parentPane, - PropertyValueModel<? extends PersistenceUnitMetadata> subjectHolder, - Composite parent) { - - super(parentPane, subjectHolder, parent); - } - - private EnumFormComboViewer<PersistenceUnitDefaults, AccessType> buildAccessTypeCombo(Composite container) { - - return new EnumFormComboViewer<PersistenceUnitDefaults, AccessType>(this, buildPersistenceUnitDefaultsHolder(), container) { - - @Override - protected void addPropertyNames(Collection<String> propertyNames) { - super.addPropertyNames(propertyNames); - propertyNames.add(PersistenceUnitDefaults.ACCESS_PROPERTY); - } - - @Override - protected AccessType[] choices() { - return AccessType.values(); - } - - @Override - protected AccessType defaultValue() { - return null; - } - - @Override - protected String displayString(AccessType value) { - return buildDisplayString( - JptUiOrmMessages.class, - PersistenceUnitMetadataComposite.this, - value - ); - } - - @Override - protected AccessType getValue() { - return subject().getAccess(); - } - - @Override - protected void setValue(AccessType value) { - subject().setAccess(value); - } - }; - } - - private WritablePropertyValueModel<Boolean> buildCascadePersistHolder() { - return new PropertyAspectAdapter<PersistenceUnitDefaults, Boolean>(buildPersistenceUnitDefaultsHolder(), PersistenceUnitDefaults.CASCADE_PERSIST_PROPERTY) { - @Override - protected Boolean buildValue_() { - return subject.isCascadePersist(); - } - - @Override - protected void setValue_(Boolean value) { - subject.setCascadePersist(value); - } - }; - } - - private CatalogCombo<PersistenceUnitDefaults> buildCatalogCombo(Composite container) { - - return new CatalogCombo<PersistenceUnitDefaults>(this, buildPersistenceUnitDefaultsHolder(), container) { - - @Override - protected void addPropertyNames(Collection<String> propertyNames) { - super.addPropertyNames(propertyNames); - propertyNames.add(PersistenceUnitDefaults.DEFAULT_CATALOG_PROPERTY); - propertyNames.add(PersistenceUnitDefaults.SPECIFIED_CATALOG_PROPERTY); - } - - @Override - protected String defaultValue() { - return subject().getDefaultCatalog(); - } - - @Override - protected void setValue(String value) { - subject().setSpecifiedCatalog(value); - } - - @Override - protected String value() { - return subject().getSpecifiedCatalog(); - } - }; - } - - private PropertyValueModel<PersistenceUnitDefaults> buildPersistenceUnitDefaultsHolder() { - return new TransformationPropertyValueModel<PersistenceUnitMetadata, PersistenceUnitDefaults>(getSubjectHolder()) { - @Override - protected PersistenceUnitDefaults transform_(PersistenceUnitMetadata value) { - return value.getPersistenceUnitDefaults(); - } - }; - } - - private SchemaCombo<PersistenceUnitDefaults> buildSchemaCombo(Composite container) { - - return new SchemaCombo<PersistenceUnitDefaults>(this, buildPersistenceUnitDefaultsHolder(), container) { - - @Override - protected void addPropertyNames(Collection<String> propertyNames) { - super.addPropertyNames(propertyNames); - propertyNames.add(PersistenceUnitDefaults.DEFAULT_SCHEMA_PROPERTY); - propertyNames.add(PersistenceUnitDefaults.SPECIFIED_SCHEMA_PROPERTY); - } - - @Override - protected String defaultValue() { - return subject().getDefaultSchema(); - } - - @Override - protected void setValue(String value) { - subject().setSpecifiedSchema(value); - } - - @Override - protected String value() { - return subject().getSpecifiedSchema(); - } - }; - } - - private WritablePropertyValueModel<Boolean> buildXmlMappingMetadataCompleteHolder() { - return new PropertyAspectAdapter<PersistenceUnitMetadata, Boolean>(getSubjectHolder(), PersistenceUnitMetadata.XML_MAPPING_METADATA_COMPLETE_PROPERTY) { - @Override - protected Boolean buildValue_() { - return subject.isXmlMappingMetadataComplete(); - } - - @Override - protected void setValue_(Boolean value) { - subject.setXmlMappingMetadataComplete(value); - } - }; - } - - /* - * (non-Javadoc) - */ - @Override - protected void initializeLayout(Composite container) { - - // Section - container = buildCollapsableSection( - container, - JptUiOrmMessages.PersistenceUnitMetadataComposite_persistenceUnitSection - ); - - // XML mapping metadata complete check box - buildCheckBox( - container, - JptUiOrmMessages.PersistenceUnitMetadataComposite_xmlMappingMetadataCompleteCheckBox, - buildXmlMappingMetadataCompleteHolder(), - JpaHelpContextIds.ENTITY_ORM_XML - ); - - // Cascade Persist widgets - buildCheckBox( - container, - JptUiOrmMessages.PersistenceUnitMetadataComposite_cascadePersistCheckBox, - buildCascadePersistHolder(), - JpaHelpContextIds.ENTITY_ORM_CASCADE - ); - - // Schema widgets - buildLabeledComposite( - container, - JptUiOrmMessages.PersistenceUnitMetadataComposite_schema, - buildSchemaCombo(container), - JpaHelpContextIds.ENTITY_ORM_SCHEMA - ); - - // Catalog widgets - buildLabeledComposite( - container, - JptUiOrmMessages.PersistenceUnitMetadataComposite_catalog, - buildCatalogCombo(container), - JpaHelpContextIds.ENTITY_ORM_CATALOG - ); - - // Access Type widgets - buildLabeledComposite( - container, - JptUiOrmMessages.PersistenceUnitMetadataComposite_access, - buildAccessTypeCombo(container), - JpaHelpContextIds.ENTITY_ORM_ACCESS - ); - } -} |