diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details')
13 files changed, 0 insertions, 2327 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/AccessTypeComboViewer.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/AccessTypeComboViewer.java deleted file mode 100644 index 55afba9db8..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/AccessTypeComboViewer.java +++ /dev/null @@ -1,186 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 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.xml.details; - -import org.eclipse.emf.common.command.CommandStack; -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.impl.AdapterImpl; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.jface.viewers.IBaseLabelProvider; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.LabelProvider; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.jpt.core.internal.AccessType; -import org.eclipse.jpt.core.internal.mappings.InheritanceType; -import org.eclipse.jpt.ui.internal.details.BaseJpaController; -import org.eclipse.jpt.ui.internal.mappings.JptUiMappingsMessages; -import org.eclipse.jpt.ui.internal.widgets.CComboViewer; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.custom.CCombo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -public class AccessTypeComboViewer extends BaseJpaController -{ - private AccessHolder accessHolder; - private Adapter accessHolderListener; - - private CComboViewer comboViewer; - - - public AccessTypeComboViewer(Composite parent, CommandStack theCommandStack, TabbedPropertySheetWidgetFactory widgetFactory) { - super(parent, theCommandStack, widgetFactory); - buildAccessHolderListener(); - } - - - private void buildAccessHolderListener() { - this.accessHolderListener = new AdapterImpl() { - public void notifyChanged(Notification notification) { - accessHolderChanged(notification); - } - }; - } - - @Override - protected void buildWidget(Composite parent) { - CCombo combo = getWidgetFactory().createCCombo(parent); - this.comboViewer = new CComboViewer(combo); - this.comboViewer.setLabelProvider(buildAccessTypeLabelProvider()); - this.comboViewer.add(AccessType.VALUES.toArray()); - - this.comboViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - AccessTypeComboViewer.this.accessTypeSelectionChanged(event.getSelection()); - } - }); - } - - private IBaseLabelProvider buildAccessTypeLabelProvider() { - return new LabelProvider() { - @Override - public String getText(Object element) { - if (element == AccessType.DEFAULT) { - return JptUiMappingsMessages.AccessTypeCombo_default; - } - return super.getText(element); - } - }; - } - - void accessTypeSelectionChanged(ISelection selection) { - if (selection instanceof IStructuredSelection) { - AccessType access = (AccessType) ((IStructuredSelection) selection).getFirstElement(); - if ( ! this.accessHolder.getAccess().equals(access)) { - this.accessHolder.setAccess(access); - } - } - } - - private void accessHolderChanged(Notification notification) { - if (notification.getFeatureID(accessHolder.featureClass()) == - this.accessHolder.featureId()) { - Display.getDefault().asyncExec( - new Runnable() { - public void run() { - populate(); - } - }); - } - } - - @Override - protected void engageListeners() { - if (this.accessHolder != null && this.accessHolder.wrappedObject() != null) { - this.accessHolder.wrappedObject().eAdapters().add(this.accessHolderListener); - } - } - - @Override - protected void disengageListeners() { - if (this.accessHolder != null && this.accessHolder.wrappedObject() != null) { - this.accessHolder.wrappedObject().eAdapters().remove(this.accessHolderListener); - } - } - - public final void populate(AccessHolder accessHolder) { - super.populate(accessHolder); - } - - @Override - public void doPopulate(EObject obj) { - this.accessHolder = (AccessHolder) obj; - populateCombo(); - } - - @Override - protected void doPopulate() { - populateCombo(); - } - - private void populateCombo() { - if (this.accessHolder.wrappedObject() == null) { - return; - } - - AccessType access = this.accessHolder.getAccess(); - - if (((IStructuredSelection) this.comboViewer.getSelection()).getFirstElement() != access) { - this.comboViewer.setSelection(new StructuredSelection(access)); - } - } - - - @Override - public Control getControl() { - return this.comboViewer.getCombo(); - } - - /** - * An interface to wrap an object that supports accessType - * An object of this type must be passed in to populate(EObject) - */ - public static interface AccessHolder extends EObject { - /** - * Return the AccessType from the wrapped object - * @return - */ - AccessType getAccess(); - - /** - * Set the AccessType on the wrapped object - * @param accessType - */ - void setAccess(AccessType accessType); - - /** - * Return the Class of the wrapped object - * @return - */ - Class featureClass(); - - /** - * Return the feature id of accessType on the wrapped object - * @return - */ - int featureId(); - - /** - * The wrapped EObject that the accessType is stored on - * @return - */ - EObject wrappedObject(); - } -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/CascadePersistCheckBox.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/CascadePersistCheckBox.java deleted file mode 100644 index 332079a3f8..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/CascadePersistCheckBox.java +++ /dev/null @@ -1,128 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 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.xml.details; - -import org.eclipse.emf.common.command.CommandStack; -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.impl.AdapterImpl; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.jpt.core.internal.content.orm.OrmPackage; -import org.eclipse.jpt.core.internal.content.orm.PersistenceUnitDefaults; -import org.eclipse.jpt.ui.internal.details.BaseJpaController; -import org.eclipse.jpt.ui.internal.xml.JptUiXmlMessages; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -public class CascadePersistCheckBox extends BaseJpaController -{ - private PersistenceUnitDefaults persistenceUnitDefaults; - private Adapter persistenceUnitDefaultsListener; - - private Button button; - - - public CascadePersistCheckBox(Composite parent, CommandStack theCommandStack, TabbedPropertySheetWidgetFactory widgetFactory) { - super(parent, theCommandStack, widgetFactory); - buildPeristenceUnitDefaultsListener(); - } - - private void buildPeristenceUnitDefaultsListener() { - this.persistenceUnitDefaultsListener = new AdapterImpl() { - public void notifyChanged(Notification notification) { - persistenceUnitDefaultsChanged(notification); - } - }; - } - - @Override - protected void buildWidget(Composite parent) { - this.button = getWidgetFactory().createButton( - parent, - JptUiXmlMessages.XMLEntityMappingsPage_CascadePersistCheckBox, - SWT.CHECK); - - this.button.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent event) { - CascadePersistCheckBox.this.cascadePersistSelectionChanged(); - } - - public void widgetDefaultSelected(SelectionEvent e) { - CascadePersistCheckBox.this.cascadePersistSelectionChanged(); - } - }); - } - - void cascadePersistSelectionChanged() { - boolean cascadePersist = this.button.getSelection(); - if (this.persistenceUnitDefaults.isCascadePersist() != cascadePersist) { - this.persistenceUnitDefaults.setCascadePersist(cascadePersist); - } - } - - private void persistenceUnitDefaultsChanged(Notification notification) { - if (notification.getFeatureID(PersistenceUnitDefaults.class) == - OrmPackage.PERSISTENCE_UNIT_DEFAULTS__CASCADE_PERSIST) { - Display.getDefault().asyncExec( - new Runnable() { - public void run() { - populate(); - } - }); - } - } - - @Override - protected void engageListeners() { - if (this.persistenceUnitDefaults != null) { - this.persistenceUnitDefaults.eAdapters().add(this.persistenceUnitDefaultsListener); - } - } - - @Override - protected void disengageListeners() { - if (this.persistenceUnitDefaults != null) { - this.persistenceUnitDefaults.eAdapters().remove(this.persistenceUnitDefaultsListener); - } - } - - @Override - public void doPopulate(EObject obj) { - this.persistenceUnitDefaults = (PersistenceUnitDefaults) obj; - populateButton(); - } - - @Override - protected void doPopulate() { - populateButton(); - } - - private void populateButton() { - boolean cascadePersist = false; - if (this.persistenceUnitDefaults != null) { - cascadePersist = this.persistenceUnitDefaults.isCascadePersist(); - } - - if (this.button.getSelection() != cascadePersist) { - this.button.setSelection(cascadePersist); - } - } - - - @Override - public Control getControl() { - return this.button; - } -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/CommonWidgets.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/CommonWidgets.java deleted file mode 100644 index 01e5c21461..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/CommonWidgets.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 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.xml.details; - -import org.eclipse.emf.common.command.CommandStack; -import org.eclipse.jpt.ui.internal.mappings.details.StringWithDefaultChooser; -import org.eclipse.jpt.ui.internal.xml.JptUiXmlMessages; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -public class CommonWidgets -{ - public static Label buildJavaClassLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { - Label label = widgetFactory.createLabel(parent, JptUiXmlMessages.PersistentTypePage_javaClassLabel); - return label; - } - - public static XmlJavaClassChooser buildJavaClassChooser( - Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory) { - return new XmlJavaClassChooser(parent, commandStack, widgetFactory); - } - - public static Label buildJavaAttributeNameLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { - Label label = widgetFactory.createLabel(parent, JptUiXmlMessages.PersistentAttributePage_javaAttributeLabel); - return label; - } - - public static XmlJavaAttributeChooser buildJavaAttributeChooser( - Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory) { - return new XmlJavaAttributeChooser(parent, commandStack, widgetFactory); - } - - - public static Label buildAccessLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { - return widgetFactory.createLabel(parent, JptUiXmlMessages.PersistentTypePage_AccessLabel); - } - - public static AccessTypeComboViewer buildAccessTypeComboViewer( - Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory) { - return new AccessTypeComboViewer(parent, commandStack, widgetFactory); - } - - - public static Label buildCatalogLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { - return widgetFactory.createLabel(parent, JptUiXmlMessages.XmlCatalogChooser_CatalogChooser); - } - - public static StringWithDefaultChooser buildCatalogChooser( - Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory) { - return new StringWithDefaultChooser(parent, commandStack, widgetFactory); - } - - - public static Label buildSchemaLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { - return widgetFactory.createLabel(parent, JptUiXmlMessages.XmlSchemaChooser_SchemaChooser); - } - - public static StringWithDefaultChooser buildSchemaChooser( - Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory) { - return new StringWithDefaultChooser(parent, commandStack, widgetFactory); - } - - - public static Label buildPackageLabel(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { - return widgetFactory.createLabel(parent, "Package:"); - } - - public static XmlPackageChooser buildXmlPackageChooser( - Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory) { - return new XmlPackageChooser(parent, commandStack, widgetFactory); - } - -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/MetaDataCompleteComboViewer.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/MetaDataCompleteComboViewer.java deleted file mode 100644 index 4d98719c2c..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/MetaDataCompleteComboViewer.java +++ /dev/null @@ -1,155 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 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.xml.details; - -import org.eclipse.emf.common.command.CommandStack; -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.impl.AdapterImpl; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.jface.viewers.IBaseLabelProvider; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.LabelProvider; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.jpt.core.internal.content.orm.OrmPackage; -import org.eclipse.jpt.core.internal.content.orm.XmlTypeMapping; -import org.eclipse.jpt.core.internal.mappings.DefaultFalseBoolean; -import org.eclipse.jpt.core.internal.mappings.InheritanceType; -import org.eclipse.jpt.ui.internal.details.BaseJpaController; -import org.eclipse.jpt.ui.internal.mappings.JptUiMappingsMessages; -import org.eclipse.jpt.ui.internal.widgets.CComboViewer; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.custom.CCombo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -public class MetaDataCompleteComboViewer extends BaseJpaController -{ - private XmlTypeMapping mapping; - private Adapter typeMappingListener; - - private CComboViewer comboViewer; - - - public MetaDataCompleteComboViewer(Composite parent, CommandStack theCommandStack, TabbedPropertySheetWidgetFactory widgetFactory) { - super(parent, theCommandStack, widgetFactory); - buildTypeMappingListener(); - } - - - private void buildTypeMappingListener() { - this.typeMappingListener = new AdapterImpl() { - public void notifyChanged(Notification notification) { - typeMappingChanged(notification); - } - }; - } - - @Override - protected void buildWidget(Composite parent) { - CCombo combo = getWidgetFactory().createCCombo(parent); - this.comboViewer = new CComboViewer(combo); - this.comboViewer.setLabelProvider(buildLabelProvider()); - this.comboViewer.add(DefaultFalseBoolean.VALUES.toArray()); - this.comboViewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - MetaDataCompleteComboViewer.this.metadataCompleteSelectionChanged(event.getSelection()); - } - }); - } - private IBaseLabelProvider buildLabelProvider() { - return new LabelProvider() { - @Override - public String getText(Object element) { - if (element == DefaultFalseBoolean.DEFAULT) { - //TODO need to move this to the model, don't want hardcoded String - return NLS.bind(JptUiMappingsMessages.MetaDataCompleteCombo_Default, "False"); - } - return super.getText(element); - } - }; - } - - void metadataCompleteSelectionChanged(ISelection selection) { - if (selection instanceof IStructuredSelection) { - DefaultFalseBoolean metadataComplete = (DefaultFalseBoolean) ((IStructuredSelection) selection).getFirstElement(); - if ( ! this.mapping.getMetadataComplete().equals(metadataComplete)) { - this.mapping.setMetadataComplete(metadataComplete); -// this.editingDomain.getCommandStack().execute( -// SetCommand.create( -// this.editingDomain, -// this.basicMapping, -// OrmPackage.eINSTANCE.getBasicMapping_Optional(), -// optional -// ) -// ); - } - } - } - - private void typeMappingChanged(Notification notification) { - if (notification.getFeatureID(XmlTypeMapping.class) == - OrmPackage.XML_TYPE_MAPPING__METADATA_COMPLETE) { - Display.getDefault().asyncExec( - new Runnable() { - public void run() { - populate(); - } - }); - } - } - - @Override - protected void engageListeners() { - if (this.mapping != null) { - this.mapping.eAdapters().add(this.typeMappingListener); - } - } - - @Override - protected void disengageListeners() { - if (this.mapping != null) { - this.mapping.eAdapters().remove(this.typeMappingListener); - } - } - - @Override - public void doPopulate(EObject obj) { - this.mapping = (XmlTypeMapping) obj; - populateCombo(); - } - - @Override - protected void doPopulate() { - populateCombo(); - } - - private void populateCombo() { - if (this.mapping == null) { - return; - } - - DefaultFalseBoolean metadataComplete = mapping.getMetadataComplete(); - - if (((IStructuredSelection) this.comboViewer.getSelection()).getFirstElement() != metadataComplete) { - this.comboViewer.setSelection(new StructuredSelection(metadataComplete)); - } - } - - - @Override - public Control getControl() { - return this.comboViewer.getCombo(); - } -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/PersistenceUnitMetadataSection.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/PersistenceUnitMetadataSection.java deleted file mode 100644 index 253d9c91c4..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/PersistenceUnitMetadataSection.java +++ /dev/null @@ -1,285 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 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.xml.details; - -import org.eclipse.emf.common.command.CommandStack; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.jpt.core.internal.AccessType; -import org.eclipse.jpt.core.internal.XmlEObject; -import org.eclipse.jpt.core.internal.content.orm.OrmPackage; -import org.eclipse.jpt.core.internal.content.orm.PersistenceUnitDefaults; -import org.eclipse.jpt.core.internal.content.orm.PersistenceUnitDefaultsInternal; -import org.eclipse.jpt.core.internal.content.orm.PersistenceUnitMetadata; -import org.eclipse.jpt.ui.internal.IJpaHelpContextIds; -import org.eclipse.jpt.ui.internal.details.BaseJpaController; -import org.eclipse.jpt.ui.internal.mappings.details.StringWithDefaultChooser; -import org.eclipse.jpt.ui.internal.mappings.details.StringWithDefaultChooser.StringHolder; -import org.eclipse.jpt.ui.internal.xml.JptUiXmlMessages; -import org.eclipse.jpt.ui.internal.xml.details.AccessTypeComboViewer.AccessHolder; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.forms.widgets.ExpandableComposite; -import org.eclipse.ui.forms.widgets.Section; -import org.eclipse.ui.help.IWorkbenchHelpSystem; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -public class PersistenceUnitMetadataSection extends BaseJpaController -{ - - private Section section; - private XmlMappingMetadataCompleteCheckBox xmlMappingMetadataCompleteCheckBox; - private StringWithDefaultChooser xmlSchemaChooser; - private StringWithDefaultChooser xmlCatalogChooser; - private AccessTypeComboViewer accessComboViewer; - private CascadePersistCheckBox cascadePersistCheckBox; - - public PersistenceUnitMetadataSection(Composite parent, CommandStack commandStack, TabbedPropertySheetWidgetFactory widgetFactory) { - super(parent, commandStack, widgetFactory); - } - - @Override - protected void buildWidget(Composite parent) { - IWorkbenchHelpSystem helpSystem = PlatformUI.getWorkbench().getHelpSystem(); - this.section = getWidgetFactory().createSection(parent, SWT.FLAT | ExpandableComposite.TWISTIE | ExpandableComposite.TITLE_BAR); - this.section.setText(JptUiXmlMessages.XMLEntityMappingsPage_PersistenceUnitSection); - - Composite persistenceUnitComposite = getWidgetFactory().createComposite(this.section); - this.section.setClient(persistenceUnitComposite); - - GridLayout layout = new GridLayout(2, false); - layout.marginWidth = 1; - persistenceUnitComposite.setLayout(layout); - - - this.xmlMappingMetadataCompleteCheckBox = buildXmlMappingMetadataCompleteCheckBox(persistenceUnitComposite); - GridData gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - gridData.horizontalSpan = 2; - this.xmlMappingMetadataCompleteCheckBox.getControl().setLayoutData(gridData); - helpSystem.setHelp(xmlMappingMetadataCompleteCheckBox.getControl(), IJpaHelpContextIds.ENTITY_ORM_XML); - - CommonWidgets.buildSchemaLabel(persistenceUnitComposite, getWidgetFactory()); - - this.xmlSchemaChooser = CommonWidgets.buildSchemaChooser(persistenceUnitComposite, this.commandStack, getWidgetFactory()); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - this.xmlSchemaChooser.getCombo().setLayoutData(gridData); - helpSystem.setHelp(xmlSchemaChooser.getControl(), IJpaHelpContextIds.ENTITY_ORM_SCHEMA); - - CommonWidgets.buildCatalogLabel(persistenceUnitComposite, getWidgetFactory()); - - this.xmlCatalogChooser = CommonWidgets.buildCatalogChooser(persistenceUnitComposite, this.commandStack, getWidgetFactory()); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - this.xmlCatalogChooser.getCombo().setLayoutData(gridData); - helpSystem.setHelp(xmlCatalogChooser.getControl(), IJpaHelpContextIds.ENTITY_ORM_CATALOG); - - CommonWidgets.buildAccessLabel(persistenceUnitComposite, getWidgetFactory()); - - this.accessComboViewer = CommonWidgets.buildAccessTypeComboViewer(persistenceUnitComposite, this.commandStack, getWidgetFactory()); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - this.accessComboViewer.getControl().setLayoutData(gridData); - helpSystem.setHelp(accessComboViewer.getControl(), IJpaHelpContextIds.ENTITY_ORM_ACCESS); - - - this.cascadePersistCheckBox = buildCascadePersistCheckBox(persistenceUnitComposite); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - gridData.horizontalSpan = 2; - this.cascadePersistCheckBox.getControl().setLayoutData(gridData); - helpSystem.setHelp(cascadePersistCheckBox.getControl(), IJpaHelpContextIds.ENTITY_ORM_CASCADE); - - } - - private XmlMappingMetadataCompleteCheckBox buildXmlMappingMetadataCompleteCheckBox(Composite parent) { - return new XmlMappingMetadataCompleteCheckBox(parent, this.commandStack, getWidgetFactory()); - } - - private CascadePersistCheckBox buildCascadePersistCheckBox(Composite parent) { - return new CascadePersistCheckBox(parent, this.commandStack, getWidgetFactory()); - } - - @Override - protected void engageListeners() { - } - - @Override - protected void disengageListeners() { - } - - @Override - public void doPopulate(EObject obj) { - PersistenceUnitMetadata persistenceUnitMetadata = (PersistenceUnitMetadata) obj; - this.xmlMappingMetadataCompleteCheckBox.populate(persistenceUnitMetadata); - if (persistenceUnitMetadata != null) { - this.accessComboViewer.populate(new MyAccessHolder(persistenceUnitMetadata.getPersistenceUnitDefaults())); - this.xmlSchemaChooser.populate(new SchemaHolder(persistenceUnitMetadata.getPersistenceUnitDefaults())); - this.xmlCatalogChooser.populate(new CatalogHolder(persistenceUnitMetadata.getPersistenceUnitDefaults())); - this.cascadePersistCheckBox.populate(persistenceUnitMetadata.getPersistenceUnitDefaults()); - } - else { - this.accessComboViewer.populate(new MyAccessHolder(null)); - this.xmlSchemaChooser.populate(new SchemaHolder(null)); - this.xmlCatalogChooser.populate(new CatalogHolder(null)); - this.cascadePersistCheckBox.populate(null); - } - } - private class MyAccessHolder extends XmlEObject implements AccessHolder{ - - private PersistenceUnitDefaultsInternal persistenceUnitDefaults; - MyAccessHolder(PersistenceUnitDefaults persistenceUnitDefaultsInternal) { - super(); - this.persistenceUnitDefaults = (PersistenceUnitDefaultsInternal) persistenceUnitDefaultsInternal; - } - public void setAccess(AccessType accessType) { - persistenceUnitDefaults.setAccess(accessType); - } - - public AccessType getAccess() { - return persistenceUnitDefaults.getAccess(); - } - - public Class featureClass() { - return PersistenceUnitDefaults.class; - } - - public int featureId() { - return OrmPackage.PERSISTENCE_UNIT_DEFAULTS__ACCESS; - } - - public EObject wrappedObject() { - return this.persistenceUnitDefaults; - } - } - - private class SchemaHolder extends XmlEObject implements StringHolder { - private PersistenceUnitDefaults persistenceUnitDefaults; - SchemaHolder(PersistenceUnitDefaults persistenceUnitDefaults) { - super(); - this.persistenceUnitDefaults = persistenceUnitDefaults; - } - - public Class featureClass() { - return PersistenceUnitDefaults.class; - } - - public int featureId() { - return OrmPackage.PERSISTENCE_UNIT_DEFAULTS__SCHEMA; - } - - public boolean supportsDefault() { - return false; - } - - public int defaultFeatureId() { - throw new UnsupportedOperationException(); - } - - public String defaultItem() { - return JptUiXmlMessages.PersistenceUnitMetadataSection_SchemaDefault; - } - - public String getString() { - return this.persistenceUnitDefaults.getSchema(); - } - - public void setString(String newSchema) { - this.persistenceUnitDefaults.setSchema(newSchema); - } - - public EObject wrappedObject() { - return this.persistenceUnitDefaults; - } - } - - private class CatalogHolder extends XmlEObject implements StringHolder { - private PersistenceUnitDefaults persistenceUnitDefaults; - CatalogHolder(PersistenceUnitDefaults persistenceUnitDefaults) { - super(); - this.persistenceUnitDefaults = persistenceUnitDefaults; - } - - public Class featureClass() { - return PersistenceUnitDefaults.class; - } - - public int featureId() { - return OrmPackage.PERSISTENCE_UNIT_DEFAULTS__CATALOG; - } - - public boolean supportsDefault() { - return false; - } - - public int defaultFeatureId() { - throw new UnsupportedOperationException(); - } - - public String defaultItem() { - return JptUiXmlMessages.PersistenceUnitMetadataSection_CatalogDefault; - } - - public String getString() { - return this.persistenceUnitDefaults.getCatalog(); - } - - public void setString(String string) { - this.persistenceUnitDefaults.setCatalog(string); - } - - public EObject wrappedObject() { - return this.persistenceUnitDefaults; - } - - } - - @Override - protected void doPopulate() { - this.xmlMappingMetadataCompleteCheckBox.populate(); - this.xmlSchemaChooser.populate(); - this.xmlCatalogChooser.populate(); - this.accessComboViewer.populate(); - this.cascadePersistCheckBox.populate(); - } - - @Override - public void dispose() { - this.xmlMappingMetadataCompleteCheckBox.dispose(); - this.xmlSchemaChooser.dispose(); - this.xmlCatalogChooser.dispose(); - this.accessComboViewer.dispose(); - this.cascadePersistCheckBox.dispose(); - super.dispose(); - } - - public Section getSection() { - return this.section; - } - - @Override - public Control getControl() { - return getSection(); - } - -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlDetailsProvider.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlDetailsProvider.java deleted file mode 100644 index 0bcd70ded8..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlDetailsProvider.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 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.xml.details; - -import org.eclipse.jpt.core.internal.JptCorePlugin; -import org.eclipse.jpt.core.internal.content.orm.IXmlContentNodes; -import org.eclipse.jpt.ui.internal.details.IJpaDetailsPage; -import org.eclipse.jpt.ui.internal.details.IJpaDetailsProvider; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -public class XmlDetailsProvider - implements IJpaDetailsProvider -{ - public XmlDetailsProvider() { - super(); - } - - public String fileContentType() { - return JptCorePlugin.ORM_XML_CONTENT_TYPE; - } - - public IJpaDetailsPage buildDetailsPage( - Composite parentComposite, Object contentNodeId, TabbedPropertySheetWidgetFactory widgetFactory) { - if (contentNodeId.equals(IXmlContentNodes.ENTITY_MAPPINGS_ID)) { - return new XmlEntityMappingsDetailsPage(parentComposite, widgetFactory); - } - else if (contentNodeId.equals(IXmlContentNodes.PERSISTENT_TYPE_ID)) { - return new XmlPersistentTypeDetailsPage(parentComposite, widgetFactory); - } - else if (contentNodeId.equals(IXmlContentNodes.PERSISTENT_ATTRIBUTE_ID)) { - return new XmlPersistentAttributeDetailsPage(parentComposite, widgetFactory); - } - - return null; - } - - public void dispose() { - // no op ... for now - } -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlEntityMappingsDetailsPage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlEntityMappingsDetailsPage.java deleted file mode 100644 index b70bde8825..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlEntityMappingsDetailsPage.java +++ /dev/null @@ -1,274 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 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.xml.details; - -import org.eclipse.emf.common.command.BasicCommandStack; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.jpt.core.internal.AccessType; -import org.eclipse.jpt.core.internal.IJpaContentNode; -import org.eclipse.jpt.core.internal.XmlEObject; -import org.eclipse.jpt.core.internal.content.orm.EntityMappings; -import org.eclipse.jpt.core.internal.content.orm.EntityMappingsInternal; -import org.eclipse.jpt.core.internal.content.orm.OrmPackage; -import org.eclipse.jpt.ui.internal.IJpaHelpContextIds; -import org.eclipse.jpt.ui.internal.details.BaseJpaDetailsPage; -import org.eclipse.jpt.ui.internal.mappings.details.StringWithDefaultChooser; -import org.eclipse.jpt.ui.internal.mappings.details.StringWithDefaultChooser.StringHolder; -import org.eclipse.jpt.ui.internal.xml.JptUiXmlMessages; -import org.eclipse.jpt.ui.internal.xml.details.AccessTypeComboViewer.AccessHolder; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.help.IWorkbenchHelpSystem; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -public class XmlEntityMappingsDetailsPage extends BaseJpaDetailsPage -{ - private EntityMappings entityMappings; - - private XmlPackageChooser xmlPackageChooser; - - private StringWithDefaultChooser xmlSchemaChooser; - - private StringWithDefaultChooser xmlCatalogChooser; - - private AccessTypeComboViewer accessComboViewer; - - private PersistenceUnitMetadataSection persistenceUnitMetadataSection; - - public XmlEntityMappingsDetailsPage(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { - super(parent, new BasicCommandStack(), widgetFactory); - } - - @Override - protected void initializeLayout(Composite composite) { - IWorkbenchHelpSystem helpSystem = PlatformUI.getWorkbench().getHelpSystem(); - GridLayout layout = new GridLayout(2, false); - layout.horizontalSpacing = 6; - composite.setLayout(layout); - - GridData gridData; - - CommonWidgets.buildPackageLabel(composite, getWidgetFactory()); - - this.xmlPackageChooser = CommonWidgets.buildXmlPackageChooser(composite, this.commandStack, getWidgetFactory()); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - this.xmlPackageChooser.getControl().setLayoutData(gridData); - helpSystem.setHelp(xmlPackageChooser.getControl(), IJpaHelpContextIds.ENTITY_ORM_PACKAGE); - - - CommonWidgets.buildSchemaLabel(composite, getWidgetFactory()); - - this.xmlSchemaChooser = CommonWidgets.buildSchemaChooser(composite, this.commandStack, getWidgetFactory()); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - this.xmlSchemaChooser.getCombo().setLayoutData(gridData); - helpSystem.setHelp(xmlSchemaChooser.getControl(), IJpaHelpContextIds.ENTITY_ORM_SCHEMA); - - - CommonWidgets.buildCatalogLabel(composite, getWidgetFactory()); - - this.xmlCatalogChooser = CommonWidgets.buildCatalogChooser(composite, this.commandStack, getWidgetFactory()); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - this.xmlCatalogChooser.getCombo().setLayoutData(gridData); - helpSystem.setHelp(xmlCatalogChooser.getControl(), IJpaHelpContextIds.ENTITY_ORM_CATALOG); - - - CommonWidgets.buildAccessLabel(composite, getWidgetFactory()); - - this.accessComboViewer = CommonWidgets.buildAccessTypeComboViewer(composite, this.commandStack, getWidgetFactory()); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - this.accessComboViewer.getControl().setLayoutData(gridData); - helpSystem.setHelp(accessComboViewer.getControl(), IJpaHelpContextIds.ENTITY_ORM_ACCESS); - - this.persistenceUnitMetadataSection = new PersistenceUnitMetadataSection(composite, this.commandStack, getWidgetFactory()); - - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - gridData.horizontalSpan = 2; - this.persistenceUnitMetadataSection.getSection().setLayoutData(gridData); - } - - - @Override - protected void doPopulate(IJpaContentNode contentNode) { - this.entityMappings = (EntityMappings) contentNode; - this.xmlPackageChooser.populate(this.entityMappings); - this.xmlSchemaChooser.populate(new SchemaHolder(this.entityMappings)); - this.xmlCatalogChooser.populate(new CatalogHolder(this.entityMappings)); - this.accessComboViewer.populate(new MyAccessHolder(this.entityMappings)); - if (this.entityMappings != null) { - this.persistenceUnitMetadataSection.populate(this.entityMappings.getPersistenceUnitMetadata()); - } - else { - this.persistenceUnitMetadataSection.populate(null); - } - } - - @Override - protected void doPopulate() { - this.xmlPackageChooser.populate(); - this.xmlSchemaChooser.populate(); - this.xmlCatalogChooser.populate(); - this.accessComboViewer.populate(); - this.persistenceUnitMetadataSection.populate(); - } - - @Override - public void dispose() { - this.xmlPackageChooser.dispose(); - this.xmlSchemaChooser.dispose(); - this.xmlCatalogChooser.dispose(); - this.accessComboViewer.dispose(); - this.persistenceUnitMetadataSection.dispose(); - super.dispose(); - } - - @Override - protected void engageListeners() { - } - - @Override - protected void disengageListeners() { - } - - - private class MyAccessHolder extends XmlEObject implements AccessHolder{ - - private EntityMappingsInternal entityMappings; - MyAccessHolder(EntityMappings entityMappings) { - super(); - this.entityMappings = (EntityMappingsInternal) entityMappings; - } - public void setAccess(AccessType accessType) { - entityMappings.setSpecifiedAccess(accessType); - } - - public AccessType getAccess() { - return entityMappings.getSpecifiedAccess(); - } - - public Class featureClass() { - return EntityMappingsInternal.class; - } - - public int featureId() { - return OrmPackage.ENTITY_MAPPINGS_INTERNAL__SPECIFIED_ACCESS; - } - - public EObject wrappedObject() { - return this.entityMappings; - } - - } - - private class SchemaHolder extends XmlEObject implements StringHolder { - private EntityMappingsInternal entityMappings; - SchemaHolder(EntityMappings entityMappings) { - super(); - this.entityMappings = (EntityMappingsInternal) entityMappings; - } - - public Class featureClass() { - return EntityMappingsInternal.class; - } - - public int featureId() { - return OrmPackage.ENTITY_MAPPINGS_INTERNAL__SPECIFIED_SCHEMA; - } - - public boolean supportsDefault() { - return true; - } - - public int defaultFeatureId() { - return OrmPackage.ENTITY_MAPPINGS_INTERNAL__DEFAULT_SCHEMA; - } - - public String defaultItem() { - String defaultSchema = this.entityMappings.getDefaultSchema(); - if (defaultSchema != null) { - return NLS.bind(JptUiXmlMessages.XMLEntityMappingsPage_SchemaDefault, defaultSchema); - } - return JptUiXmlMessages.XMLEntityMappingsPage_SchemaNoDefaultSpecified; - } - - public String getString() { - return this.entityMappings.getSpecifiedSchema(); - } - - public void setString(String newSchema) { - this.entityMappings.setSpecifiedSchema(newSchema); - } - - public EObject wrappedObject() { - return this.entityMappings; - } - } - - private class CatalogHolder extends XmlEObject implements StringHolder { - private EntityMappingsInternal entityMappings; - CatalogHolder(EntityMappings entityMappings) { - super(); - this.entityMappings = (EntityMappingsInternal) entityMappings; - } - - public Class featureClass() { - return EntityMappingsInternal.class; - } - - public int featureId() { - return OrmPackage.ENTITY_MAPPINGS_INTERNAL__SPECIFIED_CATALOG; - } - - public boolean supportsDefault() { - return true; - } - - public int defaultFeatureId() { - return OrmPackage.ENTITY_MAPPINGS_INTERNAL__DEFAULT_CATALOG; - } - - public String defaultItem() { - String defaultCatalog = this.entityMappings.getDefaultCatalog(); - if (defaultCatalog != null) { - return NLS.bind(JptUiXmlMessages.XMLEntityMappingsPage_CatalogDefault, defaultCatalog); - } - return JptUiXmlMessages.XMLEntityMappingsPage_CatalogNoDefaultSpecified; - } - - public String getString() { - return this.entityMappings.getSpecifiedCatalog(); - } - - public void setString(String newCatalog) { - this.entityMappings.setSpecifiedCatalog(newCatalog); - } - - public EObject wrappedObject() { - return this.entityMappings; - } - } -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlJavaAttributeChooser.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlJavaAttributeChooser.java deleted file mode 100644 index 8f58be68b4..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlJavaAttributeChooser.java +++ /dev/null @@ -1,133 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 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.xml.details; - -import org.eclipse.emf.common.command.CommandStack; -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.impl.AdapterImpl; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.jpt.core.internal.content.orm.OrmPackage; -import org.eclipse.jpt.core.internal.content.orm.XmlAttributeMapping; -import org.eclipse.jpt.core.internal.content.orm.XmlPersistentAttribute; -import org.eclipse.jpt.ui.internal.details.BaseJpaController; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -public class XmlJavaAttributeChooser extends BaseJpaController -{ - private XmlPersistentAttribute attribute; - private Adapter persistentAttributeListener; - - private Text text; - - - public XmlJavaAttributeChooser(Composite parent, CommandStack theCommandStack, TabbedPropertySheetWidgetFactory widgetFactory) { - super(parent, theCommandStack, widgetFactory); - buildPersistentAttributeListener(); - } - - - private void buildPersistentAttributeListener() { - this.persistentAttributeListener = new AdapterImpl() { - public void notifyChanged(Notification notification) { - persistentAttributeChanged(notification); - } - }; - } - - @Override - protected void buildWidget(Composite parent) { - text = getWidgetFactory().createText(parent, ""); - text.addModifyListener( - new ModifyListener() { - public void modifyText(ModifyEvent e) { - textModified(e); - } - }); - } - - private void textModified(ModifyEvent e) { - if (isPopulating()) { - return; - } - - String text = ((Text) e.getSource()).getText(); - attribute.setName(text); - - // TODO Does this need to be done? - //this.editingDomain.getCommandStack().execute(SetCommand.create(this.editingDomain, this.entity, MappingsPackage.eINSTANCE.getEntity_SpecifiedName(), text)); - } - - private void persistentAttributeChanged(Notification notification) { - if (notification.getFeatureID(XmlAttributeMapping.class) == - OrmPackage.XML_PERSISTENT_ATTRIBUTE__NAME) { - Display.getDefault().asyncExec( - new Runnable() { - public void run() { - populate(); - } - }); - } - } - - @Override - protected void engageListeners() { - if (attribute != null) { - attribute.eAdapters().add(persistentAttributeListener); - } - } - - @Override - protected void disengageListeners() { - if (attribute != null) { - attribute.eAdapters().remove(persistentAttributeListener); - } - } - - @Override - public void doPopulate(EObject obj) { - attribute = (obj == null) ? null : ((XmlAttributeMapping) obj).getPersistentAttribute(); - populateText(); - } - - @Override - protected void doPopulate() { - populateText(); - } - - private void populateText() { - if (attribute == null) { - text.clearSelection(); - return; - } - - String name = attribute.getName(); - - if (name == null) { - name = ""; - } - setTextData(name); - } - - private void setTextData(String textData) { - if (! textData.equals(text.getText())) { - text.setText(textData); - } - } - - public Control getControl() { - return text; - } -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlJavaClassChooser.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlJavaClassChooser.java deleted file mode 100644 index 43fead2876..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlJavaClassChooser.java +++ /dev/null @@ -1,249 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 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.xml.details; - -import org.eclipse.core.resources.IProject; -import org.eclipse.emf.common.command.CommandStack; -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.impl.AdapterImpl; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.jdt.core.IJavaElement; -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.jdt.core.search.IJavaSearchScope; -import org.eclipse.jdt.core.search.SearchEngine; -import org.eclipse.jdt.internal.ui.refactoring.contentassist.ControlContentAssistHelper; -import org.eclipse.jdt.internal.ui.refactoring.contentassist.JavaTypeCompletionProcessor; -import org.eclipse.jdt.ui.IJavaElementSearchConstants; -import org.eclipse.jdt.ui.JavaUI; -import org.eclipse.jface.window.Window; -import org.eclipse.jpt.core.internal.content.orm.OrmPackage; -import org.eclipse.jpt.core.internal.content.orm.XmlPersistentType; -import org.eclipse.jpt.core.internal.content.orm.XmlTypeMapping; -import org.eclipse.jpt.ui.internal.JptUiPlugin; -import org.eclipse.jpt.ui.internal.details.BaseJpaController; -import org.eclipse.jpt.ui.internal.xml.JptUiXmlMessages; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.dialogs.SelectionDialog; -import org.eclipse.ui.progress.IProgressService; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -//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 -public class XmlJavaClassChooser extends BaseJpaController -{ - private XmlPersistentType persistentType; - private Adapter persistentTypeListener; - - private Composite composite; - private Text text; - private JavaTypeCompletionProcessor javaTypeCompletionProcessor; - - public XmlJavaClassChooser(Composite parent, CommandStack theCommandStack, TabbedPropertySheetWidgetFactory widgetFactory) { - super(parent, theCommandStack, widgetFactory); - buildPersistentTypeListener(); - } - - - private void buildPersistentTypeListener() { - persistentTypeListener = new AdapterImpl() { - public void notifyChanged(Notification notification) { - persistentTypeChanged(notification); - } - }; - } - - @Override - protected void buildWidget(Composite parent) { - this.composite = getWidgetFactory().createComposite(parent); - GridLayout gridLayout = new GridLayout(); - gridLayout.marginHeight = 0; - gridLayout.marginWidth = 1; - gridLayout.numColumns = 2; - this.composite.setLayout(gridLayout); - - text = getWidgetFactory().createText(this.composite, ""); - GridData data = new GridData(); - data.grabExcessHorizontalSpace = true; - data.horizontalAlignment = GridData.FILL; - this.text.setLayoutData(data); - text.addModifyListener( - new ModifyListener() { - public void modifyText(ModifyEvent e) { - textModified(e); - } - }); - - //TODO bug 156185 - when this is fixed there should be api for this - this.javaTypeCompletionProcessor = new JavaTypeCompletionProcessor(false, false); - ControlContentAssistHelper.createTextContentAssistant(this.text, this.javaTypeCompletionProcessor); - - - Button browseButton = getWidgetFactory().createButton(this.composite, "Browse...", SWT.FLAT); - data = new GridData(); - browseButton.setLayoutData(data); - browseButton.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - IType type = chooseType(); - if (type != null) { - text.setText(type.getFullyQualifiedName()); - } - } - public void widgetDefaultSelected(SelectionEvent e) { - IType type = chooseType(); - if (type != null) { - text.setText(type.getFullyQualifiedName()); - } - } - }); - - } - - private void textModified(ModifyEvent e) { - if (isPopulating()) { - return; - } - - String text = ((Text) e.getSource()).getText(); - persistentType.setClass(text); - - // TODO Does this need to be done? - //this.editingDomain.getCommandStack().execute(SetCommand.create(this.editingDomain, this.entity, MappingsPackage.eINSTANCE.getEntity_SpecifiedName(), text)); - } - - - protected IType chooseType() { - IPackageFragmentRoot root= getPackageFragmentRoot(); - if (root == null) { - return null; - } - - IJavaElement[] elements= new IJavaElement[] { root.getJavaProject() }; - IJavaSearchScope scope= SearchEngine.createJavaSearchScope(elements); - IProgressService service = PlatformUI.getWorkbench().getProgressService(); - - SelectionDialog typeSelectionDialog; - try { - typeSelectionDialog = JavaUI.createTypeDialog(this.text.getShell(), service, scope, IJavaElementSearchConstants.CONSIDER_CLASSES, false, getType()); - } - catch (JavaModelException e) { - JptUiPlugin.log(e); - throw new RuntimeException(e); - } - typeSelectionDialog.setTitle(JptUiXmlMessages.XmlJavaClassChooser_XmlJavaClassDialog_title); - typeSelectionDialog.setMessage(JptUiXmlMessages.XmlJavaClassChooser_XmlJavaClassDialog_message); - - if (typeSelectionDialog.open() == Window.OK) { - return (IType) typeSelectionDialog.getResult()[0]; - } - return null; - } - - private String getType() { - return this.text.getText(); - } - - private IPackageFragmentRoot getPackageFragmentRoot() { - IProject project = this.persistentType.getJpaProject().getProject(); - IJavaProject root = JavaCore.create(project); - try { - return root.getAllPackageFragmentRoots()[0]; - } - catch (JavaModelException e) { - JptUiPlugin.log(e); - } - return null; - } - - private void persistentTypeChanged(Notification notification) { - if (notification.getFeatureID(XmlPersistentType.class) == - OrmPackage.XML_PERSISTENT_TYPE__CLASS) { - Display.getDefault().asyncExec( - new Runnable() { - public void run() { - populate(); - } - }); - } - } - - @Override - protected void engageListeners() { - if (persistentType != null) { - persistentType.eAdapters().add(persistentTypeListener); - } - } - - @Override - protected void disengageListeners() { - if (persistentType != null) { - persistentType.eAdapters().remove(persistentTypeListener); - } - } - - @Override - public void doPopulate(EObject obj) { - persistentType = (obj == null) ? null : ((XmlTypeMapping) obj).getPersistentType(); - populateText(); - } - - @Override - protected void doPopulate() { - populateText(); - } - - private void populateText() { - if (persistentType == null) { - text.clearSelection(); - return; - } - - IPackageFragmentRoot root = getPackageFragmentRoot(); - if (root != null) { - this.javaTypeCompletionProcessor.setPackageFragment(root.getPackageFragment("")); - } - - - String javaClass = persistentType.getClass_(); - - if (javaClass == null) { - setTextData(""); - } - else { - setTextData(javaClass); - } - } - - private void setTextData(String textData) { - if (! textData.equals(text.getText())) { - text.setText(textData); - } - } - - public Control getControl() { - return this.composite; - } -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlMappingMetadataCompleteCheckBox.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlMappingMetadataCompleteCheckBox.java deleted file mode 100644 index 5cdd03801e..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlMappingMetadataCompleteCheckBox.java +++ /dev/null @@ -1,128 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 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.xml.details; - -import org.eclipse.emf.common.command.CommandStack; -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.impl.AdapterImpl; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.jpt.core.internal.content.orm.OrmPackage; -import org.eclipse.jpt.core.internal.content.orm.PersistenceUnitMetadata; -import org.eclipse.jpt.ui.internal.details.BaseJpaController; -import org.eclipse.jpt.ui.internal.xml.JptUiXmlMessages; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -public class XmlMappingMetadataCompleteCheckBox extends BaseJpaController -{ - private PersistenceUnitMetadata persistenceUnitMetadata; - private Adapter persistenceUnitMetadataListener; - - private Button button; - - - public XmlMappingMetadataCompleteCheckBox(Composite parent, CommandStack theCommandStack, TabbedPropertySheetWidgetFactory widgetFactory) { - super(parent, theCommandStack, widgetFactory); - buildPeristenceUnitMetadataListener(); - } - - private void buildPeristenceUnitMetadataListener() { - this.persistenceUnitMetadataListener = new AdapterImpl() { - public void notifyChanged(Notification notification) { - persistenceUnitMetadataChanged(notification); - } - }; - } - - @Override - protected void buildWidget(Composite parent) { - this.button = getWidgetFactory().createButton( - parent, - JptUiXmlMessages.XMLEntityMappingsPage_XmlMappingMetadataCompleteCheckBox, - SWT.CHECK); - - this.button.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent event) { - XmlMappingMetadataCompleteCheckBox.this.xmlMappingMetadataCompleteSelectionChanged(); - } - - public void widgetDefaultSelected(SelectionEvent e) { - XmlMappingMetadataCompleteCheckBox.this.xmlMappingMetadataCompleteSelectionChanged(); - } - }); - } - - void xmlMappingMetadataCompleteSelectionChanged() { - boolean xmlMappingMetadataComplete = this.button.getSelection(); - if (this.persistenceUnitMetadata.isXmlMappingMetadataComplete() != xmlMappingMetadataComplete) { - this.persistenceUnitMetadata.setXmlMappingMetadataComplete(xmlMappingMetadataComplete); - } - } - - private void persistenceUnitMetadataChanged(Notification notification) { - if (notification.getFeatureID(PersistenceUnitMetadata.class) == - OrmPackage.PERSISTENCE_UNIT_METADATA__XML_MAPPING_METADATA_COMPLETE) { - Display.getDefault().asyncExec( - new Runnable() { - public void run() { - populate(); - } - }); - } - } - - @Override - protected void engageListeners() { - if (this.persistenceUnitMetadata != null) { - this.persistenceUnitMetadata.eAdapters().add(this.persistenceUnitMetadataListener); - } - } - - @Override - protected void disengageListeners() { - if (this.persistenceUnitMetadata != null) { - this.persistenceUnitMetadata.eAdapters().remove(this.persistenceUnitMetadataListener); - } - } - - @Override - public void doPopulate(EObject obj) { - this.persistenceUnitMetadata = (PersistenceUnitMetadata) obj; - populateButton(); - } - - @Override - protected void doPopulate() { - populateButton(); - } - - private void populateButton() { - boolean xmlMappingMetadataComplete = false; - if (this.persistenceUnitMetadata != null) { - xmlMappingMetadataComplete = this.persistenceUnitMetadata.isXmlMappingMetadataComplete(); - } - - if (this.button.getSelection() != xmlMappingMetadataComplete) { - this.button.setSelection(xmlMappingMetadataComplete); - } - } - - - @Override - public Control getControl() { - return this.button; - } -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPackageChooser.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPackageChooser.java deleted file mode 100644 index fbaf451347..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPackageChooser.java +++ /dev/null @@ -1,255 +0,0 @@ - /******************************************************************************* - * Copyright (c) 2006, 2007 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.xml.details; - -import org.eclipse.core.resources.IProject; -import org.eclipse.emf.common.command.CommandStack; -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.impl.AdapterImpl; -import org.eclipse.emf.ecore.EObject; -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.jdt.internal.ui.refactoring.contentassist.ControlContentAssistHelper; -import org.eclipse.jdt.internal.ui.refactoring.contentassist.JavaPackageCompletionProcessor; -import org.eclipse.jdt.ui.JavaElementLabelProvider; -import org.eclipse.jdt.ui.JavaUI; -import org.eclipse.jface.text.contentassist.IContentAssistProcessor; -import org.eclipse.jface.window.Window; -import org.eclipse.jpt.core.internal.XmlEObject; -import org.eclipse.jpt.core.internal.content.orm.EntityMappings; -import org.eclipse.jpt.core.internal.content.orm.EntityMappingsInternal; -import org.eclipse.jpt.core.internal.content.orm.OrmPackage; -import org.eclipse.jpt.ui.internal.JptUiPlugin; -import org.eclipse.jpt.ui.internal.details.BaseJpaController; -import org.eclipse.jpt.ui.internal.xml.JptUiXmlMessages; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.dialogs.SelectionDialog; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -public class XmlPackageChooser extends BaseJpaController -{ - private EntityMappingsInternal entityMappings; - private Adapter entityMappingsListener; - private IContentAssistProcessor contentAssistProcessor; - - private Composite composite; - private Text text; - - - public XmlPackageChooser(Composite parent, CommandStack theCommandStack, TabbedPropertySheetWidgetFactory widgetFactory) { - super(parent, theCommandStack, widgetFactory); - buildSchemaHolderListener(); - } - - - private void buildSchemaHolderListener() { - this.entityMappingsListener = new AdapterImpl() { - public void notifyChanged(Notification notification) { - entityMappingsChanged(notification); - } - }; - } - - @Override - protected void buildWidget(Composite parent) { - this.composite = getWidgetFactory().createComposite(parent); - GridLayout gridLayout = new GridLayout(); - gridLayout.marginHeight = 0; - gridLayout.marginWidth = 1; - gridLayout.numColumns = 2; - this.composite.setLayout(gridLayout); - this.text = getWidgetFactory().createText(this.composite, ""); - GridData data = new GridData(); - data.grabExcessHorizontalSpace = true; - data.horizontalAlignment = GridData.FILL; - this.text.setLayoutData(data); - this.contentAssistProcessor = new JavaPackageCompletionProcessor(new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_ROOT)); - ControlContentAssistHelper.createTextContentAssistant(this.text, this.contentAssistProcessor); - - this.text.addModifyListener( - new ModifyListener() { - public void modifyText(ModifyEvent e) { - textModified(e); - } - }); - - Button browseButton = getWidgetFactory().createButton(this.composite, "Browse...", SWT.FLAT); - data = new GridData(); - browseButton.setLayoutData(data); - browseButton.addSelectionListener(new SelectionListener() { - public void widgetSelected(SelectionEvent e) { - IPackageFragment packageFragment = choosePackage(); - if (packageFragment != null) { - text.setText(packageFragment.getElementName()); - } - } - public void widgetDefaultSelected(SelectionEvent e) { - IPackageFragment packageFragment = choosePackage(); - if (packageFragment != null) { - text.setText(packageFragment.getElementName()); - } - } - }); - } - - private void textModified(ModifyEvent e) { - if (isPopulating()) { - return; - } - - String text = ((Text) e.getSource()).getText(); - this.entityMappings.setPackage(text); - //TODO set a JEM Package?? - //.setJavaClass(JavaRefFactory.eINSTANCE.createClassRef(text)); - - // TODO Does this need to be done? - //this.editingDomain.getCommandStack().execute(SetCommand.create(this.editingDomain, this.entity, MappingsPackage.eINSTANCE.getEntity_SpecifiedName(), text)); - } - - private void entityMappingsChanged(Notification notification) { - if (notification.getFeatureID(EntityMappings.class) == - OrmPackage.ENTITY_MAPPINGS__PACKAGE) { - Display.getDefault().asyncExec( - new Runnable() { - public void run() { - populate(); - } - }); - } - } - - @Override - protected void engageListeners() { - if (this.entityMappings != null) { - entityMappings.eAdapters().add(this.entityMappingsListener); - } - } - - @Override - protected void disengageListeners() { - if (this.entityMappings != null) { - this.entityMappings.eAdapters().remove(this.entityMappingsListener); - } - } - - @Override - public void doPopulate(EObject obj) { - this.entityMappings = (EntityMappingsInternal) obj; - populateText(); - } - - @Override - protected void doPopulate() { - populateText(); - } - - private void populateText() { - if (entityMappings == null) { - text.clearSelection(); - return; - } - - IPackageFragmentRoot root = getPackageFragmentRoot(); - if (root != null) { - ((JavaPackageCompletionProcessor)this.contentAssistProcessor).setPackageFragmentRoot(root); - } - - String package_ = this.entityMappings.getPackage(); - - if (package_ == null) { - setTextData(""); - } - else { - setTextData(package_); - } - } - - private IPackageFragmentRoot getPackageFragmentRoot() { - IProject project = ((XmlEObject) this.entityMappings).getJpaProject().getProject(); - IJavaProject root = JavaCore.create(project); - try { - return root.getAllPackageFragmentRoots()[0]; - } - catch (JavaModelException e) { - JptUiPlugin.log(e); - } - return null; - } - - private void setTextData(String textData) { - if (! textData.equals(text.getText())) { - text.setText(textData); - } - } - - @Override - public Control getControl() { - return this.composite; - } - - /** - * Opens a selection dialog that allows to select a package. - * - * @return returns the selected package or <code>null</code> if the dialog has been canceled. - * The caller typically sets the result to the package input field. - * <p> - * Clients can override this method if they want to offer a different dialog. - * </p> - * - * @since 3.2 - */ - protected IPackageFragment choosePackage() { - SelectionDialog selectionDialog; - try { - selectionDialog = JavaUI.createPackageDialog(text.getShell(), getPackageFragmentRoot()); - } - catch (JavaModelException e) { - JptUiPlugin.log(e); - throw new RuntimeException(e); - } - selectionDialog.setTitle(JptUiXmlMessages.XmlPackageChooser_PackageDialog_title); - selectionDialog.setMessage(JptUiXmlMessages.XmlPackageChooser_PackageDialog_message); - selectionDialog.setHelpAvailable(false); - IPackageFragment pack= getPackageFragment(); - if (pack != null) { - selectionDialog.setInitialSelections(new Object[] { pack }); - } - - if (selectionDialog.open() == Window.OK) { - return (IPackageFragment) selectionDialog.getResult()[0]; - } - return null; - } - - /** - * Returns the package fragment corresponding to the current input. - * - * @return a package fragment or <code>null</code> if the input - * could not be resolved. - */ - public IPackageFragment getPackageFragment() { - String packageString = this.text.getText(); - return getPackageFragmentRoot().getPackageFragment(packageString); - } -} diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPersistentAttributeDetailsPage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPersistentAttributeDetailsPage.java deleted file mode 100644 index 66aaf7fab7..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPersistentAttributeDetailsPage.java +++ /dev/null @@ -1,223 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 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.xml.details; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.ListIterator; -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.impl.AdapterImpl; -import org.eclipse.jpt.core.internal.IJpaContentNode; -import org.eclipse.jpt.core.internal.IPersistentAttribute; -import org.eclipse.jpt.core.internal.IPersistentType; -import org.eclipse.jpt.core.internal.content.orm.OrmPackage; -import org.eclipse.jpt.core.internal.content.orm.XmlAttributeMapping; -import org.eclipse.jpt.core.internal.content.orm.XmlPersistentAttribute; -import org.eclipse.jpt.core.internal.content.orm.XmlPersistentType; -import org.eclipse.jpt.ui.internal.details.PersistentAttributeDetailsPage; -import org.eclipse.jpt.ui.internal.java.details.IAttributeMappingUiProvider; -import org.eclipse.jpt.ui.internal.java.mappings.properties.BasicMappingUiProvider; -import org.eclipse.jpt.ui.internal.java.mappings.properties.EmbeddedIdMappingUiProvider; -import org.eclipse.jpt.ui.internal.java.mappings.properties.EmbeddedMappingUiProvider; -import org.eclipse.jpt.ui.internal.java.mappings.properties.IdMappingUiProvider; -import org.eclipse.jpt.ui.internal.java.mappings.properties.ManyToManyMappingUiProvider; -import org.eclipse.jpt.ui.internal.java.mappings.properties.ManyToOneMappingUiProvider; -import org.eclipse.jpt.ui.internal.java.mappings.properties.OneToManyMappingUiProvider; -import org.eclipse.jpt.ui.internal.java.mappings.properties.OneToOneMappingUiProvider; -import org.eclipse.jpt.ui.internal.java.mappings.properties.TransientMappingUiProvider; -import org.eclipse.jpt.ui.internal.java.mappings.properties.VersionMappingUiProvider; -import org.eclipse.jpt.ui.internal.widgets.CComboViewer; -import org.eclipse.jpt.utility.internal.CollectionTools; -import org.eclipse.jpt.utility.internal.iterators.ArrayIterator; -import org.eclipse.jpt.utility.internal.iterators.CloneListIterator; -import org.eclipse.jpt.utility.internal.iterators.EmptyListIterator; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.ui.part.PageBook; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -public class XmlPersistentAttributeDetailsPage - extends PersistentAttributeDetailsPage -{ - private XmlJavaAttributeChooser javaAttributeChooser; - - private Adapter persistentTypeListener; - - private IPersistentType persistentType; - - private List<IAttributeMappingUiProvider> attributeMappingUiProviders; - - public XmlPersistentAttributeDetailsPage(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { - super(parent, widgetFactory); - buildPersistentTypeListener(); - } - - private void buildPersistentTypeListener() { - this.persistentTypeListener = new AdapterImpl() { - @Override - public void notifyChanged(Notification notification) { - persistentTypeChanged(notification); - } - }; - } - - void persistentTypeChanged(Notification notification) { - if (notification.getFeatureID(XmlPersistentType.class) == - OrmPackage.XML_PERSISTENT_TYPE__SPECIFIED_ATTRIBUTE_MAPPINGS) { - Display.getDefault().asyncExec( - new Runnable() { - public void run() { - updateEnbabledState(); - } - }); - } - } - - @Override - public ListIterator<IAttributeMappingUiProvider> attributeMappingUiProviders() { - if (this.attributeMappingUiProviders == null) { - this.attributeMappingUiProviders = new ArrayList<IAttributeMappingUiProvider>(); - this.addAttributeMappingUiProvidersTo(this.attributeMappingUiProviders); - } - return new CloneListIterator<IAttributeMappingUiProvider>(this.attributeMappingUiProviders); - - } - - protected void addAttributeMappingUiProvidersTo(List<IAttributeMappingUiProvider> providers) { - providers.add(BasicMappingUiProvider.instance()); - providers.add(EmbeddedMappingUiProvider.instance()); - providers.add(EmbeddedIdMappingUiProvider.instance()); - providers.add(IdMappingUiProvider.instance()); - providers.add(ManyToManyMappingUiProvider.instance()); - providers.add(ManyToOneMappingUiProvider.instance()); - providers.add(OneToManyMappingUiProvider.instance()); - providers.add(OneToOneMappingUiProvider.instance()); - providers.add(TransientMappingUiProvider.instance()); - providers.add(VersionMappingUiProvider.instance()); - } - - @Override - protected ListIterator<IAttributeMappingUiProvider> defaultAttributeMappingUiProviders() { - return EmptyListIterator.instance(); - } - - @Override - protected IAttributeMappingUiProvider defaultAttributeMappingUiProvider(String key) { - throw new UnsupportedOperationException("Xml attributeMappings should not be default"); - } - - @Override - //bug 192035 - no default mapping option in xml - protected IAttributeMappingUiProvider[] attributeMappingUiProvidersFor(IPersistentAttribute persistentAttribute) { - return CollectionTools.array(attributeMappingUiProviders(), new IAttributeMappingUiProvider[CollectionTools.size(attributeMappingUiProviders())]); - } - - @Override - protected void initializeLayout(Composite composite) { - composite.setLayout(new GridLayout(2, false)); - - GridData gridData; - - CommonWidgets.buildJavaAttributeNameLabel(composite, getWidgetFactory()); - - this.javaAttributeChooser = CommonWidgets.buildJavaAttributeChooser(composite, this.commandStack, getWidgetFactory()); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - this.javaAttributeChooser.getControl().setLayoutData(gridData); - - - buildMappingLabel(composite); - - CComboViewer mappingCombo = buildMappingCombo(composite); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - mappingCombo.getCombo().setLayoutData(gridData); - - PageBook book = buildMappingPageBook(composite); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.FILL; - gridData.grabExcessHorizontalSpace = true; - gridData.grabExcessVerticalSpace = true; - gridData.horizontalSpan = 2; - book.setLayoutData(gridData); - } - - @Override - protected void engageListeners() { - super.engageListeners(); - if (getAttribute() != null) { - this.persistentType = getAttribute().typeMapping().getPersistentType(); - this.persistentType.eAdapters().add(this.persistentTypeListener); - } - } - - @Override - protected void disengageListeners() { - if (this.persistentType != null) { - this.persistentType.eAdapters().remove(this.persistentTypeListener); - this.persistentType = null; - } - super.disengageListeners(); - } - - @Override - protected void doPopulate(IJpaContentNode persistentAttributeNode) { - super.doPopulate(persistentAttributeNode); - if (persistentAttributeNode == null) { - this.javaAttributeChooser.populate(null); - } - else { - XmlAttributeMapping mapping = ((XmlPersistentAttribute) persistentAttributeNode).getMapping(); - this.javaAttributeChooser.populate(mapping); - updateEnbabledState(); - } - } - - @Override - protected void doPopulate() { - super.doPopulate(); - this.javaAttributeChooser.populate(); - updateEnbabledState(); - } - - @Override - public void dispose() { - this.javaAttributeChooser.dispose(); - super.dispose(); - } - - public void updateEnbabledState() { - if (getAttribute() == null || getAttribute().eContainer() == null) { - return; - } - boolean enabled = !((XmlPersistentAttribute) getAttribute()).isVirtual(); - updateEnabledState(enabled, getControl()); - } - - public void updateEnabledState(boolean enabled, Control control) { - control.setEnabled(enabled); - if (control instanceof Composite) { - for (Iterator<Control> i = new ArrayIterator<Control>(((Composite) control).getChildren()); i.hasNext(); ) { - updateEnabledState(enabled, i.next()); - } - } - } -}
\ No newline at end of file diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPersistentTypeDetailsPage.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPersistentTypeDetailsPage.java deleted file mode 100644 index 0c21e16c81..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/xml/details/XmlPersistentTypeDetailsPage.java +++ /dev/null @@ -1,184 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 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.xml.details; - -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.ListIterator; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.jpt.core.internal.AccessType; -import org.eclipse.jpt.core.internal.IJpaContentNode; -import org.eclipse.jpt.core.internal.XmlEObject; -import org.eclipse.jpt.core.internal.content.orm.OrmPackage; -import org.eclipse.jpt.core.internal.content.orm.XmlPersistentType; -import org.eclipse.jpt.core.internal.content.orm.XmlTypeMapping; -import org.eclipse.jpt.ui.internal.details.PersistentTypeDetailsPage; -import org.eclipse.jpt.ui.internal.java.details.ITypeMappingUiProvider; -import org.eclipse.jpt.ui.internal.java.mappings.properties.EmbeddableUiProvider; -import org.eclipse.jpt.ui.internal.java.mappings.properties.EntityUiProvider; -import org.eclipse.jpt.ui.internal.java.mappings.properties.MappedSuperclassUiProvider; -import org.eclipse.jpt.ui.internal.widgets.CComboViewer; -import org.eclipse.jpt.ui.internal.xml.JptUiXmlMessages; -import org.eclipse.jpt.ui.internal.xml.details.AccessTypeComboViewer.AccessHolder; -import org.eclipse.jpt.utility.internal.iterators.CloneListIterator; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.ui.part.PageBook; -import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory; - -public class XmlPersistentTypeDetailsPage extends PersistentTypeDetailsPage -{ - private XmlJavaClassChooser javaClassChooser; - - private MetaDataCompleteComboViewer metadataCompleteComboViewer; - - private AccessTypeComboViewer accessComboViewer; - - //Storing these here instead of querying IJpaPlatformUI, because the orm.xml schema - //is not extensible. We only need to support extensibility for java - private List<ITypeMappingUiProvider> xmlTypeMappingUiProviders; - - public XmlPersistentTypeDetailsPage(Composite parent, TabbedPropertySheetWidgetFactory widgetFactory) { - super(parent, widgetFactory); - } - - public ListIterator<ITypeMappingUiProvider> typeMappingUiProviders() { - if (this.xmlTypeMappingUiProviders == null) { - this.xmlTypeMappingUiProviders = new ArrayList<ITypeMappingUiProvider>(); - this.addXmlTypeMappingUiProvidersTo(this.xmlTypeMappingUiProviders); - } - return new CloneListIterator<ITypeMappingUiProvider>(this.xmlTypeMappingUiProviders); - } - - protected void addXmlTypeMappingUiProvidersTo(Collection<ITypeMappingUiProvider> providers) { - providers.add(EntityUiProvider.instance()); - providers.add(MappedSuperclassUiProvider.instance()); - providers.add(EmbeddableUiProvider.instance()); - } - - @Override - protected void initializeLayout(Composite composite) { - composite.setLayout(new GridLayout(2, false)); - - GridData gridData; - - CommonWidgets.buildJavaClassLabel(composite, getWidgetFactory()); - - this.javaClassChooser = CommonWidgets.buildJavaClassChooser(composite, this.commandStack, getWidgetFactory()); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - this.javaClassChooser.getControl().setLayoutData(gridData); - - buildTypeMappingLabel(composite); - - CComboViewer typeMappingCombo = buildTypeMappingCombo(composite); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - typeMappingCombo.getCombo().setLayoutData(gridData); - - buildMetadataCompleteLabel(composite); - this.metadataCompleteComboViewer = new MetaDataCompleteComboViewer(composite, this.commandStack, getWidgetFactory()); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - this.metadataCompleteComboViewer.getControl().setLayoutData(gridData); - - CommonWidgets.buildAccessLabel(composite, getWidgetFactory()); - this.accessComboViewer = CommonWidgets.buildAccessTypeComboViewer(composite, this.commandStack, getWidgetFactory()); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.BEGINNING; - gridData.grabExcessHorizontalSpace = true; - this.accessComboViewer.getControl().setLayoutData(gridData); - - PageBook typeMappingPageBook = buildTypeMappingPageBook(composite); - gridData = new GridData(); - gridData.horizontalAlignment = SWT.FILL; - gridData.verticalAlignment = SWT.FILL; - gridData.grabExcessHorizontalSpace = true; - gridData.grabExcessVerticalSpace = true; - gridData.horizontalSpan = 2; - typeMappingPageBook.setLayoutData(gridData); - } - - private Label buildMetadataCompleteLabel(Composite parent ) { - return getWidgetFactory().createLabel(parent, JptUiXmlMessages.PersistentTypePage_MetadataCompleteLabel); - } - - @Override - protected void doPopulate(IJpaContentNode persistentTypeNode) { - super.doPopulate(persistentTypeNode); - if (persistentTypeNode == null) { - this.javaClassChooser.populate(null); - this.metadataCompleteComboViewer.populate(null); - this.accessComboViewer.populate(new MyAccessHolder(null)); - } - else { - XmlTypeMapping mapping = ((XmlPersistentType) persistentTypeNode).getMapping(); - this.javaClassChooser.populate(mapping); - this.metadataCompleteComboViewer.populate(mapping); - this.accessComboViewer.populate(new MyAccessHolder(mapping)); - } - } - - @Override - protected void doPopulate() { - super.doPopulate(); - this.javaClassChooser.populate(); - this.metadataCompleteComboViewer.populate(); - this.accessComboViewer.populate(); - } - - @Override - public void dispose() { - this.javaClassChooser.dispose(); - this.metadataCompleteComboViewer.dispose(); - this.accessComboViewer.dispose(); - super.dispose(); - } - - - private class MyAccessHolder extends XmlEObject implements AccessHolder{ - - private XmlTypeMapping xmlTypeMapping; - MyAccessHolder(XmlTypeMapping xmlTypeMapping) { - super(); - this.xmlTypeMapping = xmlTypeMapping; - } - public void setAccess(AccessType accessType) { - xmlTypeMapping.setSpecifiedAccess(accessType); - } - - public AccessType getAccess() { - return xmlTypeMapping.getSpecifiedAccess(); - } - - public Class featureClass() { - return XmlTypeMapping.class; - } - - public int featureId() { - return OrmPackage.XML_TYPE_MAPPING__SPECIFIED_ACCESS; - } - - public EObject wrappedObject() { - return this.xmlTypeMapping; - } - } - -} |