Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details')
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitClassesComposite.java392
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitConnectionComposite.java150
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitConnectionDatabaseComposite.java153
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitConnectionGeneralComposite.java104
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitGeneralComposite.java266
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitJarFilesComposite.java57
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java446
-rw-r--r--jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitPropertiesComposite.java398
8 files changed, 0 insertions, 1966 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitClassesComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitClassesComposite.java
deleted file mode 100644
index 1e1e61ec98..0000000000
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitClassesComposite.java
+++ /dev/null
@@ -1,392 +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.persistence.details;
-
-import java.util.ListIterator;
-import org.eclipse.core.resources.IProject;
-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.ui.IJavaElementSearchConstants;
-import org.eclipse.jdt.ui.JavaUI;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jpt.core.context.java.JavaPersistentType;
-import org.eclipse.jpt.core.context.persistence.ClassRef;
-import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.ui.JptUiPlugin;
-import org.eclipse.jpt.ui.internal.JpaMappingImageHelper;
-import org.eclipse.jpt.ui.internal.JptUiIcons;
-import org.eclipse.jpt.ui.internal.JptUiMessages;
-import org.eclipse.jpt.ui.internal.persistence.JptUiPersistenceMessages;
-import org.eclipse.jpt.ui.internal.widgets.AbstractPane;
-import org.eclipse.jpt.ui.internal.widgets.AddRemoveListPane;
-import org.eclipse.jpt.ui.internal.widgets.AddRemovePane.Adapter;
-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.PropertyAspectAdapter;
-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.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.dialogs.SelectionDialog;
-import org.eclipse.ui.progress.IProgressService;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | |
- * | Description |
- * | |
- * | ------------------------------------------------------------------------- |
- * | | | |
- * | | AddRemoveListPane | |
- * | | | |
- * | ------------------------------------------------------------------------- |
- * | |
- * | x Exclude Unlisted Mapped Classes |
- * | |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see PersistenceUnit
- * @see PersistenceUnitGeneralComposite - The parent container
- * @see AddRemoveListPane
- *
- * @version 2.0
- * @since 2.0
- */
-@SuppressWarnings("nls")
-public class PersistenceUnitClassesComposite extends AbstractPane<PersistenceUnit>
-{
- /**
- * Creates a new <code>PersistenceUnitMappedClassesComposite</code>.
- *
- * @param parentPane The parent pane of this one
- * @param parent The parent container
- */
- public PersistenceUnitClassesComposite(AbstractPane<? extends PersistenceUnit> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- private void addMappedClass(ObjectListSelectionModel listSelectionModel) {
-
- IType type = chooseType();
-
- if (type != null) {
- ClassRef classRef = subject().addSpecifiedClassRef();
- classRef.setClassName(type.getFullyQualifiedName('.'));
- listSelectionModel.setSelectedValue(classRef);
- }
- }
-
- private Adapter buildAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addMappedClass(listSelectionModel);
- }
-
- @Override
- public boolean enableOptionOnSelectionChange(ObjectListSelectionModel listSelectionModel) {
- if (!super.enableOptionOnSelectionChange(listSelectionModel)) {
- return false;
- }
-
- return findType((ClassRef) listSelectionModel.selectedValue()) != null;
- }
-
- @Override
- public boolean hasOptionalButton() {
- return true;
- }
-
- @Override
- public String optionalButtonText() {
- return JptUiPersistenceMessages.PersistenceUnitClassesComposite_open;
- }
-
- @Override
- public void optionOnSelection(ObjectListSelectionModel listSelectionModel) {
- openMappedClass((ClassRef) listSelectionModel.selectedValue());
- }
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- subject().removeSpecifiedClassRef((ClassRef) item);
- }
- }
- };
- }
-
- private WritablePropertyValueModel<Boolean> buildExcludeUnlistedMappedClassesHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, Boolean>(
- getSubjectHolder(),
- PersistenceUnit.DEFAULT_EXCLUDE_UNLISTED_CLASSED_PROPERTY,
- PersistenceUnit.SPECIFIED_EXCLUDE_UNLISTED_CLASSED_PROPERTY)
- {
- @Override
- protected Boolean buildValue_() {
- return subject.getSpecifiedExcludeUnlistedClasses();
- }
-
- @Override
- protected void setValue_(Boolean value) {
- subject.setSpecifiedExcludeUnlistedClasses(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> buildExcludeUnlistedMappedClassesStringHolder() {
-
- return new TransformationPropertyValueModel<Boolean, String>(buildExcludeUnlistedMappedClassesHolder()) {
-
- @Override
- protected String transform(Boolean value) {
-
- if ((subject() != null) && (value == null)) {
-
- Boolean defaultValue = subject().getDefaultExcludeUnlistedClasses();
-
- if (defaultValue != null) {
-
- String defaultStringValue = defaultValue ? JptUiPersistenceMessages.Boolean_True :
- JptUiPersistenceMessages.Boolean_False;
-
- return NLS.bind(
- JptUiPersistenceMessages.PersistenceUnitClassesComposite_excludeUnlistedMappedClassesWithDefault,
- defaultStringValue
- );
- }
- }
-
- return JptUiPersistenceMessages.PersistenceUnitClassesComposite_excludeUnlistedMappedClasses;
- }
- };
- }
-
- private ILabelProvider buildLabelProvider() {
- return new LabelProvider() {
- @Override
- public Image getImage(Object element) {
- ClassRef classRef = (ClassRef) element;
- JavaPersistentType persistentType = classRef.getJavaPersistentType();
- Image image = null;
-
- if (persistentType != null) {
- image = JpaMappingImageHelper.imageForTypeMapping(persistentType.getMappingKey());
- }
-
- if (image != null) {
- return image;
- }
-
- return JptUiPlugin.getImage(JptUiIcons.WARNING);
- }
-
- @Override
- public String getText(Object element) {
- ClassRef classRef = (ClassRef) element;
- String name = classRef.getClassName();
-
- if (name == null) {
- name = JptUiPersistenceMessages.PersistenceUnitClassesComposite_mappedClassesNoName;
- }
-
- return name;
- }
- };
- }
-
- private ListValueModel<ClassRef> buildItemListHolder() {
- return new ItemPropertyListValueModelAdapter<ClassRef>(
- buildListHolder(),
- ClassRef.JAVA_PERSISTENT_TYPE_PROPERTY,
- ClassRef.CLASS_NAME_PROPERTY
- );
- }
-
- private ListValueModel<ClassRef> buildListHolder() {
- return new ListAspectAdapter<PersistenceUnit, ClassRef>(getSubjectHolder(), PersistenceUnit.SPECIFIED_CLASS_REF_LIST) {
- @Override
- protected ListIterator<ClassRef> listIterator_() {
- return subject.specifiedClassRefs();
- }
-
- @Override
- protected int size_() {
- return subject.specifiedClassRefsSize();
- }
- };
- }
-
- private WritablePropertyValueModel<ClassRef> buildSelectedItemHolder() {
- return new SimplePropertyValueModel<ClassRef>();
- }
-
- /**
- * Prompts the user the Open Type dialog.
- *
- * @return Either the selected type or <code>null</code> if the user
- * cancelled the dialog
- */
- private IType chooseType() {
-
- IPackageFragmentRoot root = packageFragmentRoot();
-
- 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(
- shell(),
- service,
- scope,
- IJavaElementSearchConstants.CONSIDER_CLASSES,
- false,
- ""
- );
- }
- catch (JavaModelException e) {
- JptUiPlugin.log(e);
- return null;
- }
-
- typeSelectionDialog.setTitle(JptUiMessages.ClassChooserPane_dialogTitle);
- typeSelectionDialog.setMessage(JptUiMessages.ClassChooserPane_dialogMessage);
-
- if (typeSelectionDialog.open() == Window.OK) {
- return (IType) typeSelectionDialog.getResult()[0];
- }
-
- return null;
- }
-
- private IType findType(ClassRef classRef) {
- String className = classRef.getClassName();
-
- if (className != null) {
- try {
- return subject().getJpaProject().getJavaProject().findType(className);
- }
- catch (JavaModelException e) {
- JptUiPlugin.log(e);
- }
- }
-
- return null;
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected void initializeLayout(Composite container) {
-
- // Description
- buildMultiLineLabel(
- container,
- JptUiPersistenceMessages.PersistenceUnitClassesComposite_description
- );
-
- // List pane
- new AddRemoveListPane<PersistenceUnit>(
- this,
- container,
- buildAdapter(),
- buildItemListHolder(),
- buildSelectedItemHolder(),
- buildLabelProvider()
- )
- {
- @Override
- protected void initializeTable(Table table) {
- super.initializeTable(table);
-
- Composite container = table.getParent();
- GridData gridData = (GridData) container.getLayoutData();
- gridData.heightHint = 75;
- }
- };
-
- buildTriStateCheckBoxWithDefault(
- container,
- JptUiPersistenceMessages.PersistenceUnitClassesComposite_excludeUnlistedMappedClasses,
- buildExcludeUnlistedMappedClassesHolder(),
- buildExcludeUnlistedMappedClassesStringHolder()
- );
- }
-
- private void openMappedClass(ClassRef classRef) {
-
- IType type = findType(classRef);
-
- if (type != null) {
- try {
- IJavaElement javaElement = type.getParent();
- JavaUI.openInEditor(javaElement, true, true);
- }
- catch (PartInitException e) {
- JptUiPlugin.log(e);
- }
- catch (JavaModelException e) {
- JptUiPlugin.log(e);
- }
- }
- }
-
- private 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;
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitConnectionComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitConnectionComposite.java
deleted file mode 100644
index ab3d703856..0000000000
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitConnectionComposite.java
+++ /dev/null
@@ -1,150 +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.persistence.details;
-
-import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.ui.WidgetFactory;
-import org.eclipse.jpt.ui.details.JpaPageComposite;
-import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.ui.internal.persistence.JptUiPersistenceMessages;
-import org.eclipse.jpt.ui.internal.widgets.AbstractFormPane;
-import org.eclipse.jpt.utility.model.value.PropertyValueModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | |
- * | - General --------------------------------------------------------------- |
- * | ------------------------------------------------------------------------- |
- * | | | |
- * | | PersistenceUnitConnectionGeneralComposite | |
- * | | | |
- * | ------------------------------------------------------------------------- |
- * | |
- * | - Database -------------------------------------------------------------- |
- * | ------------------------------------------------------------------------- |
- * | | | |
- * | | PersistenceUnitConnectionDatabaseComposite | |
- * | | | |
- * | ------------------------------------------------------------------------- |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see PersistenceUnit
- * @see PersistenceUnitConnectionGeneralComposite
- * @see PersistenceUnitConnectionDatabaseComposite
- *
- * @version 2.0
- * @since 2.0
- */
-public class PersistenceUnitConnectionComposite extends AbstractFormPane<PersistenceUnit>
- implements JpaPageComposite<PersistenceUnit>
-{
- /**
- * Creates a new <code>PersistenceUnitConnectionComposite</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 PersistenceUnitConnectionComposite(PropertyValueModel<PersistenceUnit> subjectHolder,
- Composite container,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, container, widgetFactory);
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected Composite buildContainer(Composite parent) {
-
- GridLayout layout = new GridLayout(1, true);
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.marginTop = 0;
- layout.marginLeft = 0;
- layout.marginBottom = 0;
- layout.marginRight = 0;
- layout.verticalSpacing = 15;
-
- Composite container = buildPane(parent, layout);
- updateGridData(container);
-
- return container;
- }
-
- /*
- * (non-Javadoc)
- */
- public String getHelpID() {
- return JpaHelpContextIds.PERSISTENCE_UNIT_CONNECTION;
- }
-
- private void initializeDatabasePane(Composite container) {
-
- container = buildSection(
- container,
- JptUiPersistenceMessages.PersistenceUnitConnectionComposite_database
- );
-
- new PersistenceUnitConnectionDatabaseComposite(this, container);
- }
-
- private void initializeGeneralPane(Composite container) {
-
- container = buildSection(
- container,
- JptUiPersistenceMessages.PersistenceUnitConnectionComposite_general
- );
-
- new PersistenceUnitConnectionGeneralComposite(this, container);
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected void initializeLayout(Composite container) {
-
- initializeGeneralPane(container);
- initializeDatabasePane(container);
- }
-
- /*
- * (non-Javadoc)
- */
- public Image getPageImage() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- */
- public String getPageText() {
- return JptUiPersistenceMessages.PersistenceUnitConnectionComposite_connection;
- }
-
- private void updateGridData(Composite container) {
-
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitConnectionDatabaseComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitConnectionDatabaseComposite.java
deleted file mode 100644
index 3c3a3aaeb2..0000000000
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitConnectionDatabaseComposite.java
+++ /dev/null
@@ -1,153 +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.persistence.details;
-
-import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.core.context.persistence.PersistenceUnitTransactionType;
-import org.eclipse.jpt.ui.internal.persistence.JptUiPersistenceMessages;
-import org.eclipse.jpt.ui.internal.util.ControlEnabler;
-import org.eclipse.jpt.ui.internal.widgets.AbstractPane;
-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;
-import org.eclipse.swt.widgets.Text;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | ------------------------------------------------ |
- * | JTA Datasource Name: | I | |
- * | ------------------------------------------------ |
- * | ------------------------------------------------ |
- * | Non-JTA Datasource Name: | I | |
- * | ------------------------------------------------ |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see PersistenceUnit
- * @see PersistenceUnitConnectionComposite - The parent container
- *
- * @version 2.0
- * @since 2.0
- */
-public class PersistenceUnitConnectionDatabaseComposite extends AbstractPane<PersistenceUnit>
-{
- /**
- * Creates a new <code>PersistenceUnitConnectionDatabaseComposite</code>.
- *
- * @param parentPane The parent pane of this one
- * @param parent The parent container
- */
- public PersistenceUnitConnectionDatabaseComposite(AbstractPane<PersistenceUnit> subjectHolder,
- Composite container) {
-
- super(subjectHolder, container);
- }
-
- private PropertyValueModel<Boolean> buildJTADatasourceNameBooleanHolder() {
- return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
- @Override
- protected Boolean transform_(PersistenceUnitTransactionType value) {
- return value == PersistenceUnitTransactionType.JTA;
- }
- };
- }
-
- private WritablePropertyValueModel<String> buildJTADatasourceNameHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.JTA_DATA_SOURCE_PROPERTY) {
- @Override
- protected String buildValue_() {
- return subject.getJtaDataSource();
- }
-
- @Override
- protected void setValue_(String value) {
- if (value.length() == 0) {
- value = null;
- }
- subject.setJtaDataSource(value);
- }
- };
- }
-
- private PropertyValueModel<Boolean> buildNonJTADatasourceNameBooleanHolder() {
- return new TransformationPropertyValueModel<PersistenceUnitTransactionType, Boolean>(buildTransactionTypeHolder()) {
- @Override
- protected Boolean transform_(PersistenceUnitTransactionType value) {
- return value == PersistenceUnitTransactionType.RESOURCE_LOCAL;
- }
- };
- }
-
- private WritablePropertyValueModel<String> buildNonJTADatasourceNameHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.NON_JTA_DATA_SOURCE_PROPERTY) {
- @Override
- protected String buildValue_() {
- return subject.getNonJtaDataSource();
- }
-
- @Override
- protected void setValue_(String value) {
- if (value.length() == 0) {
- value = null;
- }
- subject.setNonJtaDataSource(value);
- }
- };
- }
-
- private PropertyValueModel<PersistenceUnitTransactionType> buildTransactionTypeHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, PersistenceUnitTransactionType>(
- getSubjectHolder(),
- PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY,
- PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY)
- {
- @Override
- protected PersistenceUnitTransactionType buildValue_() {
- return subject.getTransactionType();
- }
- };
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected void initializeLayout(Composite container) {
-
- // JTA Datasource Name widgets
- Text text = buildLabeledText(
- container,
- JptUiPersistenceMessages.PersistenceUnitConnectionDatabaseComposite_jtaDatasourceName,
- buildJTADatasourceNameHolder()
- );
-
- installJTADatasourceNameEnabler(text);
-
- // Non-JTA Datasource Name widgets
- text = buildLabeledText(
- container,
- JptUiPersistenceMessages.PersistenceUnitConnectionDatabaseComposite_nonJtaDatasourceName,
- buildNonJTADatasourceNameHolder()
- );
-
- installNonJTADatasourceNameEnabler(text);
- }
-
- private void installJTADatasourceNameEnabler(Text text) {
- new ControlEnabler(buildJTADatasourceNameBooleanHolder(), text);
- }
-
- private void installNonJTADatasourceNameEnabler(Text text) {
- new ControlEnabler(buildNonJTADatasourceNameBooleanHolder(), text);
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitConnectionGeneralComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitConnectionGeneralComposite.java
deleted file mode 100644
index 4149abc57b..0000000000
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitConnectionGeneralComposite.java
+++ /dev/null
@@ -1,104 +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.persistence.details;
-
-import java.util.Collection;
-import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.core.context.persistence.PersistenceUnitTransactionType;
-import org.eclipse.jpt.ui.internal.persistence.JptUiPersistenceMessages;
-import org.eclipse.jpt.ui.internal.widgets.AbstractPane;
-import org.eclipse.jpt.ui.internal.widgets.EnumFormComboViewer;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | ------------------------------------------------------ |
- * | Transaction Type: | |v| |
- * | ------------------------------------------------------ |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see PersistenceUnit
- * @see PersistenceUnitConnectionComposite - The parent container
- *
- * @version 2.0
- * @since 2.0
- */
-public class PersistenceUnitConnectionGeneralComposite extends AbstractPane<PersistenceUnit>
-{
- /**
- * Creates a new <code>PersistenceUnitConnectionGeneralComposite</code>.
- *
- * @param parentPane The parent pane of this one
- * @param parent The parent container
- */
- public PersistenceUnitConnectionGeneralComposite(AbstractPane<PersistenceUnit> subjectHolder,
- Composite container) {
-
- super(subjectHolder, container);
- }
-
- private EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType> buildTransactionTypeCombo(Composite container) {
-
- return new EnumFormComboViewer<PersistenceUnit, PersistenceUnitTransactionType>(this, container) {
-
- @Override
- protected void addPropertyNames(Collection<String> propertyNames) {
- super.addPropertyNames(propertyNames);
- propertyNames.add(PersistenceUnit.SPECIFIED_TRANSACTION_TYPE_PROPERTY);
- propertyNames.add(PersistenceUnit.DEFAULT_TRANSACTION_TYPE_PROPERTY);
- }
-
- @Override
- protected PersistenceUnitTransactionType[] choices() {
- return PersistenceUnitTransactionType.values();
- }
-
- @Override
- protected PersistenceUnitTransactionType defaultValue() {
- return subject().getDefaultTransactionType();
- }
-
- @Override
- protected String displayString(PersistenceUnitTransactionType value) {
- return buildDisplayString(
- JptUiPersistenceMessages.class,
- PersistenceUnitConnectionGeneralComposite.this,
- value
- );
- }
-
- @Override
- protected PersistenceUnitTransactionType getValue() {
- return subject().getSpecifiedTransactionType();
- }
-
- @Override
- protected void setValue(PersistenceUnitTransactionType value) {
- subject().setSpecifiedTransactionType(value);
- }
- };
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected void initializeLayout(Composite container) {
-
- // Transaction Type widgets
- buildLabeledComposite(
- container,
- JptUiPersistenceMessages.PersistenceUnitConnectionGeneralComposite_transactionType,
- buildTransactionTypeCombo(container).getControl()
- );
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitGeneralComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitGeneralComposite.java
deleted file mode 100644
index db7cb4ee8b..0000000000
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitGeneralComposite.java
+++ /dev/null
@@ -1,266 +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.persistence.details;
-
-import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.ui.WidgetFactory;
-import org.eclipse.jpt.ui.details.JpaPageComposite;
-import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.ui.internal.persistence.JptUiPersistenceMessages;
-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.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | |
- * | - General --------------------------------------------------------------- |
- * | ------------------------------------------------- |
- * | Name: | I | |
- * | ------------------------------------------------- |
- * | ------------------------------------------------- |
- * | Persistence Provider: | |v| |
- * | ------------------------------------------------- |
- * | |
- * | |
- * | - Mapped Classes -------------------------------------------------------- |
- * | |
- * | Description |
- * | |
- * | ----------------------------------------------------------------------- |
- * | | | |
- * | | PersistenceUnitMappedClassesComposite | |
- * | | | |
- * | ----------------------------------------------------------------------- |
- * | |
- * | |
- * | - XML Mapping Files ----------------------------------------------------- |
- * | |
- * | Description |
- * | |
- * | ----------------------------------------------------------------------- |
- * | | | |
- * | | PersistenceUnitMappingFilesComposite | |
- * | | | |
- * | ----------------------------------------------------------------------- |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see PersistenceUnit
- * @see PersistenceUnitJarFilesComposite
- * @see PersistenceUnitMappedClassesComposite
- * @see PersistenceUnitMappingFilesComposite
- *
- * @version 2.0
- * @since 2.0
- */
-public class PersistenceUnitGeneralComposite extends AbstractFormPane<PersistenceUnit>
- implements JpaPageComposite<PersistenceUnit>
-{
- /**
- * Creates a new <code>PersistenceUnitGeneralComposite</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 PersistenceUnitGeneralComposite(PropertyValueModel<PersistenceUnit> subjectHolder,
- Composite container,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, container, widgetFactory);
- }
-
-// private void initializeJavaArchivesPane(Composite container) {
-//
-// container = buildSection(
-// container,
-// JptUiPersistenceMessages.PersistenceUnitComposite_javaArchives
-// );
-//
-// new PersistenceUnitJavaArchivesComposite(this, container);
-// }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected Composite buildContainer(Composite parent) {
-
- GridLayout layout = new GridLayout(1, true);
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.marginTop = 0;
- layout.marginLeft = 0;
- layout.marginBottom = 0;
- layout.marginRight = 0;
- layout.verticalSpacing = 15;
-
- Composite container = buildPane(parent, layout);
- updateGridData(container);
-
- return container;
- }
-
- private WritablePropertyValueModel<String> buildPersistenceProviderHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.PROVIDER_PROPERTY) {
- @Override
- protected String buildValue_() {
- return subject.getProvider();
- }
-
- @Override
- protected void setValue_(String value) {
- if (value.length() == 0) {
- value = null;
- }
- subject.setProvider(value);
- }
- };
- }
-
- private WritablePropertyValueModel<String> buildPersistenceUnitNameHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.NAME_PROPERTY) {
- @Override
- protected String buildValue_() {
- return subject.getName();
- }
-
- @Override
- protected void setValue_(String value) {
- subject.setName(value);
- }
- };
- }
-
- private WritablePropertyValueModel<String> buildPersistenceUnitDescriptionHolder() {
- return new PropertyAspectAdapter<PersistenceUnit, String>(getSubjectHolder(), PersistenceUnit.DESCRIPTION_PROPERTY) {
- @Override
- protected String buildValue_() {
- return subject.getDescription();
- }
-
- @Override
- protected void setValue_(String value) {
- if (value.length() == 0) {
- value = null;
- }
- subject.setDescription(value);
- }
- };
- }
-
- /*
- * (non-Javadoc)
- */
- public String getHelpID() {
- return JpaHelpContextIds.PERSISTENCE_UNIT_GENERAL;
- }
-
- /*
- * (non-Javadoc)
- */
- public Image getPageImage() {
- return null;
- }
-
- /*
- * (non-Javadoc)
- */
- public String getPageText() {
- return JptUiPersistenceMessages.PersistenceUnitGeneralComposite_general;
- }
-
- private void initializeGeneralPane(Composite container) {
-
- container = buildSection(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_general
- );
-
- // Name widgets
- buildLabeledText(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_name,
- buildPersistenceUnitNameHolder()
- );
-
- // Persistence Provider widgets
- buildLabeledText(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_persistenceProvider,
- buildPersistenceProviderHolder()
- );
-
- // Description widgets
- buildLabeledText(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_description,
- buildPersistenceUnitDescriptionHolder()
- );
- }
-
- private void initializeJPAMappingDescriptorsPane(Composite container) {
-
- container = buildSection(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_jpaMappingDescriptors,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_jpaMappingDescriptors_description
- );
-
- updateGridData(container);
- updateGridData(container.getParent());
-
- new PersistenceUnitMappingFilesComposite(this, container);
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected void initializeLayout(Composite container) {
-
- initializeGeneralPane(container);
- initializeMappedClassesPane(container);
- initializeJPAMappingDescriptorsPane(container);
-// initializeJavaArchivesPane(container);
-
- }
-
- private void initializeMappedClassesPane(Composite container) {
-
- container = buildSection(
- container,
- JptUiPersistenceMessages.PersistenceUnitGeneralComposite_mappedClasses
- );
-
- updateGridData(container);
- updateGridData(container.getParent());
-
- new PersistenceUnitClassesComposite(this, container);
- }
-
- private void updateGridData(Composite container) {
-
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitJarFilesComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitJarFilesComposite.java
deleted file mode 100644
index b924710d18..0000000000
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitJarFilesComposite.java
+++ /dev/null
@@ -1,57 +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.persistence.details;
-
-import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.ui.internal.widgets.AbstractPane;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | |
- * | Description |
- * | |
- * | ------------------------------------------------------------------------- |
- * | | | |
- * | | AddRemoveListPane | |
- * | | | |
- * | ------------------------------------------------------------------------- |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see PersistenceUnit
- * @see PersistenceUnitGeneralComposite - The parent container
- * @see AddRemoveListPane
- *
- * @version 2.0
- * @since 2.0
- */
-public class PersistenceUnitJarFilesComposite extends AbstractPane<PersistenceUnit>
-{
- /**
- * Creates a new <code>PersistenceUnitJPAMappingDescriptorsComposite</code>.
- *
- * @param parentPane The parent pane of this one
- * @param parent The parent container
- */
- public PersistenceUnitJarFilesComposite(AbstractPane<? extends PersistenceUnit> parentPane,
- Composite parent) {
-
- super(parentPane, parent, false);
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected void initializeLayout(Composite container) {
- }
-}
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java
deleted file mode 100644
index 2d5b0b1ec5..0000000000
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitMappingFilesComposite.java
+++ /dev/null
@@ -1,446 +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.persistence.details;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.util.ListIterator;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jpt.core.context.persistence.MappingFileRef;
-import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.core.internal.resource.orm.translators.OrmXmlMapper;
-import org.eclipse.jpt.ui.JptUiPlugin;
-import org.eclipse.jpt.ui.internal.JptUiIcons;
-import org.eclipse.jpt.ui.internal.persistence.JptUiPersistenceMessages;
-import org.eclipse.jpt.ui.internal.util.SWTUtil;
-import org.eclipse.jpt.ui.internal.widgets.AbstractPane;
-import org.eclipse.jpt.ui.internal.widgets.AddRemoveListPane;
-import org.eclipse.jpt.ui.internal.widgets.PostExecution;
-import org.eclipse.jpt.ui.internal.widgets.AddRemovePane.Adapter;
-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.swing.ObjectListSelectionModel;
-import org.eclipse.jpt.utility.model.value.ListValueModel;
-import org.eclipse.jpt.utility.model.value.WritablePropertyValueModel;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-import org.eclipse.ui.dialogs.ISelectionStatusValidator;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.navigator.ResourceComparator;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | ------------------------------------------------------------------------- |
- * | | | |
- * | | AddRemoveListPane | |
- * | | | |
- * | ------------------------------------------------------------------------- |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see PersistenceUnit
- * @see PersistenceUnitGeneralComposite - The parent container
- * @see AddRemoveListPane
- *
- * @version 2.0
- * @since 2.0
- */
-@SuppressWarnings("nls")
-public class PersistenceUnitMappingFilesComposite extends AbstractPane<PersistenceUnit>
-{
- /**
- * Creates a new <code>PersistenceUnitMappingFilesComposite</code>.
- *
- * @param parentPane The parent pane of this one
- * @param parent The parent container
- */
- public PersistenceUnitMappingFilesComposite(AbstractPane<? extends PersistenceUnit> parentPane,
- Composite parent) {
-
- super(parentPane, parent);
- }
-
- /**
- * Prompts a dialog showing a tree structure of the source paths where the
- * only files shown are JPA mapping descriptors file. The XML file has to be
- * an XML file with the root tag: &lt;entity-mappings&gt;.
- *
- * @param listSelectionModel The selection model used to select the new files
- */
- private void addJPAMappingDescriptor(ObjectListSelectionModel listSelectionModel) {
-
- IProject project = subject().getJpaProject().getProject();
-
- ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(
- shell(),
- new WorkbenchLabelProvider(),
- new WorkbenchContentProvider()
- );
-
- dialog.setHelpAvailable(false);
- dialog.setValidator(buildValidator());
- dialog.setTitle(JptUiPersistenceMessages.PersistenceUnitMappingFilesComposite_mappingFileDialog_title);
- dialog.setMessage(JptUiPersistenceMessages.PersistenceUnitMappingFilesComposite_mappingFileDialog_message);
- dialog.addFilter(new XmlFileViewerFilter(subject().getJpaProject().getJavaProject()));
- dialog.setInput(project);
- dialog.setComparator(new ResourceComparator(ResourceComparator.NAME));
-
- SWTUtil.show(
- dialog,
- buildSelectionDialogPostExecution(listSelectionModel)
- );
- }
-
- private Adapter buildAdapter() {
- return new AddRemoveListPane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
- addJPAMappingDescriptor(listSelectionModel);
- }
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- subject().removeSpecifiedMappingFileRef((MappingFileRef) item);
- }
- }
- };
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected Composite buildContainer(Composite parent) {
-
- GridLayout layout = new GridLayout(1, true);
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- layout.marginTop = 0;
- layout.marginLeft = 0;
- layout.marginBottom = 0;
- layout.marginRight = 0;
-
- Composite container = buildPane(parent, layout);
- updateGridData(container);
-
- return container;
- }
-
- private ListValueModel<MappingFileRef> buildItemListHolder() {
- return new ItemPropertyListValueModelAdapter<MappingFileRef>(
- buildListHolder(),
- MappingFileRef.FILE_NAME_PROPERTY
- );
- }
-
- private ILabelProvider buildLabelProvider() {
- return new LabelProvider() {
- @Override
- public Image getImage(Object element) {
- return JptUiPlugin.getImage(JptUiIcons.MAPPING_FILE_REF);
- }
-
- @Override
- public String getText(Object element) {
- MappingFileRef mappingFileRef = (MappingFileRef) element;
- String name = mappingFileRef.getFileName();
-
- if (name == null) {
- name = JptUiPersistenceMessages.PersistenceUnitMappingFilesComposite_ormNoName;
- }
-
- return name;
- }
- };
- }
-
- private ListValueModel<MappingFileRef> buildListHolder() {
- return new ListAspectAdapter<PersistenceUnit, MappingFileRef>(getSubjectHolder(), PersistenceUnit.SPECIFIED_MAPPING_FILE_REF_LIST) {
- @Override
- protected ListIterator<MappingFileRef> listIterator_() {
- return subject.specifiedMappingFileRefs();
- }
-
- @Override
- protected int size_() {
- return subject.specifiedMappingFileRefsSize();
- }
- };
- }
-
- private WritablePropertyValueModel<MappingFileRef> buildSelectedItemHolder() {
- return new SimplePropertyValueModel<MappingFileRef>();
- }
-
- private PostExecution<ElementTreeSelectionDialog> buildSelectionDialogPostExecution(final ObjectListSelectionModel listSelectionModel) {
- return new PostExecution<ElementTreeSelectionDialog>() {
- public void execute(ElementTreeSelectionDialog dialog) {
-
- if (dialog.getReturnCode() == IDialogConstants.CANCEL_ID) {
- return;
- }
-
- int index = subject().specifiedMappingFileRefsSize();
-
- for (Object result : dialog.getResult()) {
- IFile file = (IFile) result;
- IPath filePath = removeSourcePath(file);
-
- MappingFileRef mappingFileRef = subject().addSpecifiedMappingFileRef(index++);
- mappingFileRef.setFileName(filePath.toPortableString());
-
- listSelectionModel.addSelectedValue(mappingFileRef);
- }
- }
- };
- }
-
- private ISelectionStatusValidator buildValidator() {
- return new ISelectionStatusValidator() {
- public IStatus validate(Object[] selection) {
-
- if (selection.length == 0) {
- return new Status(IStatus.ERROR, JptUiPlugin.PLUGIN_ID, "");
- }
-
- for (Object item : selection) {
- if (item instanceof IFolder) {
- return new Status(IStatus.ERROR, JptUiPlugin.PLUGIN_ID, "");
- }
- }
-
- return new Status(IStatus.OK, JptUiPlugin.PLUGIN_ID, "");
- }
- };
- }
-
- /*
- * (non-Javadoc)
- */
- @Override
- protected void initializeLayout(Composite container) {
-
- // List pane
- new AddRemoveListPane<PersistenceUnit>(
- this,
- container,
- buildAdapter(),
- buildItemListHolder(),
- buildSelectedItemHolder(),
- buildLabelProvider()
- ) {
- @Override
- protected Composite buildContainer(Composite parent) {
- parent = super.buildContainer(parent);
- updateGridData(parent);
- return parent;
- }
-
- @Override
- protected void initializeLayout(Composite container) {
- super.initializeLayout(container);
- updateGridData(getContainer());
- }
- };
- }
-
- /**
- * Returns the path of the given file excluding the source folder.
- *
- * @param file The file to retrieve its path minus the source folder
- * @return The relative path of the given path, the path is relative to the
- * source path
- */
- private IPath removeSourcePath(IFile file) {
- IJavaProject javaProject = subject().getJpaProject().getJavaProject();
- IPath filePath = file.getProjectRelativePath();
-
- try {
- for (IClasspathEntry entry : javaProject.getRawClasspath()) {
-
- // Only check for source paths
- if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
-
- // Retrieve the source path relative to the project
- IPath sourcePath = entry.getPath().removeFirstSegments(1);
-
- // Check to see if the file path starts with the source path
- if (sourcePath.isPrefixOf(filePath)) {
- int count = sourcePath.segmentCount();
- filePath = filePath.removeFirstSegments(count);
- break;
- }
- }
- }
- }
- catch (JavaModelException e) {
- JptUiPlugin.log(e.getStatus());
- }
-
- return filePath;
- }
-
- private void updateGridData(Composite container) {
-
- GridData gridData = new GridData();
- gridData.grabExcessHorizontalSpace = true;
- gridData.grabExcessVerticalSpace = true;
- gridData.horizontalAlignment = SWT.FILL;
- gridData.verticalAlignment = SWT.FILL;
- container.setLayoutData(gridData);
- }
-
- //TODO might we want to do this with content-types instead? is there
- //the potential that an extender could hae a mapping file that doesn't have
- //entity-mappings as the root node??
- /**
- * This handler is responsible to parse the root tag (local name) only.
- */
- private static class SAXHandler extends DefaultHandler {
-
- private String rootTagName;
-
- public String getRootTagName() {
- return rootTagName;
- }
-
- @Override
- public InputSource resolveEntity(String publicId,
- String systemId) throws IOException, SAXException {
-
- InputSource inputSource = new InputSource();
- inputSource.setByteStream(new ByteArrayInputStream(new byte[0]));
- return inputSource;
- }
-
- @Override
- public void startElement(String uri,
- String localName,
- String name,
- Attributes attributes) throws SAXException {
-
- this.rootTagName = name;
- throw new SAXException();
- }
- }
-
- /**
- * This filter will deny showing any file that are not XML files or folders
- * that don't contain any XML files in its sub-hierarchy. The XML files are
- * partially parsed to only accept JPA mapping descriptors.
- */
- private static class XmlFileViewerFilter extends ViewerFilter {
-
- private final IJavaProject javaProject;
-
- XmlFileViewerFilter(IJavaProject javaProject) {
- super();
- this.javaProject = javaProject;
- }
-
- /**
- * Determines whether the given file (an XML file) is a JPA mapping
- * descriptor file. It has to be a valid XML file with a root element
- * named "entity-mappings".
- *
- * @param file The file to parse and see if it's a mapping descriptor file
- * @return <code>true</code> if the given file is a valid XML file with a
- * root element named "entity-mappings"; <code>false</code> in any other
- * case
- */
- private boolean isMappingFile(IFile file) {
- try {
- SAXParserFactory factory = SAXParserFactory.newInstance();
- SAXParser saxParser = factory.newSAXParser();
- SAXHandler handler = new SAXHandler();
- try {
- saxParser.parse(file.getRawLocationURI().toURL().openStream(), handler);
- }
- catch (Exception e) {
- // Ignore since it's caused by SAXHandler to stop the parsing
- // the moment the local name is retrieved
- }
- return OrmXmlMapper.ENTITY_MAPPINGS.equalsIgnoreCase(handler.getRootTagName());
- }
- catch (Exception e) {
- JptUiPlugin.log(e);
- return false;
- }
- }
-
- private boolean isXmlFile(IFile file) {
- return "xml".equalsIgnoreCase(file.getFileExtension());
- }
-
- @Override
- public boolean select(Viewer viewer,
- Object parentElement,
- Object element) {
-
- if (element instanceof IFile) {
- IFile file = (IFile) element;
- return isXmlFile(file) && isMappingFile(file);
- }
- else if (element instanceof IFolder) {
- IFolder folder = (IFolder) element;
-
- try {
- for (IClasspathEntry entry : javaProject.getRawClasspath()) {
- if (entry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
- if (!entry.getPath().isPrefixOf(folder.getFullPath().makeRelative()))
- return false;
- }
- }
-
- for (IResource resource : folder.members()) {
- if (select(viewer, folder, resource)) {
- return true;
- }
- }
- }
- catch (JavaModelException e) {
- JptUiPlugin.log(e.getStatus());
- }
- catch (CoreException e) {
- JptUiPlugin.log(e.getStatus());
- }
- }
-
- return false;
- }
- }
-} \ No newline at end of file
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitPropertiesComposite.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitPropertiesComposite.java
deleted file mode 100644
index 8249296d8c..0000000000
--- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/persistence/details/PersistenceUnitPropertiesComposite.java
+++ /dev/null
@@ -1,398 +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.persistence.details;
-
-import java.util.ListIterator;
-import org.eclipse.jface.viewers.CellEditor;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ICellModifier;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.jface.viewers.TextCellEditor;
-import org.eclipse.jpt.core.context.persistence.PersistenceUnit;
-import org.eclipse.jpt.core.context.persistence.Property;
-import org.eclipse.jpt.ui.WidgetFactory;
-import org.eclipse.jpt.ui.details.JpaPageComposite;
-import org.eclipse.jpt.ui.internal.JpaHelpContextIds;
-import org.eclipse.jpt.ui.internal.persistence.JptUiPersistenceMessages;
-import org.eclipse.jpt.ui.internal.swt.ColumnAdapter;
-import org.eclipse.jpt.ui.internal.widgets.AbstractPane;
-import org.eclipse.jpt.ui.internal.widgets.AddRemoveTablePane;
-import org.eclipse.jpt.utility.internal.model.value.ListAspectAdapter;
-import org.eclipse.jpt.utility.internal.model.value.PropertyAspectAdapter;
-import org.eclipse.jpt.utility.internal.model.value.SimplePropertyValueModel;
-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.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.swt.widgets.TableItem;
-
-/**
- * Here the layout of this pane:
- * <pre>
- * -----------------------------------------------------------------------------
- * | - Properties ------------------------------------------------------------ |
- * | |
- * | Description |
- * | |
- * | ----------------------------------------------------------------------- |
- * | | | |
- * | | AddRemoveTablePane | |
- * | | | |
- * | ----------------------------------------------------------------------- |
- * -----------------------------------------------------------------------------</pre>
- *
- * @see PersistenceUnit
- * @see BaseJpaUiFactory - The invoker
- * @see AddRemoveTablePane
- *
- * @version 2.0
- * @since 2.0
- */
-@SuppressWarnings("nls")
-public class PersistenceUnitPropertiesComposite extends AbstractPane<PersistenceUnit>
- implements JpaPageComposite<PersistenceUnit>
-{
- private WritablePropertyValueModel<Property> propertyHolder;
- private TablePane tablePane;
-
- /**
- * Creates a new <code>PersistenceUnitPropertiesComposite</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 PersistenceUnitPropertiesComposite(PropertyValueModel<PersistenceUnit> subjectHolder,
- Composite container,
- WidgetFactory widgetFactory) {
-
- super(subjectHolder, container, widgetFactory);
- }
-
- private ListValueModel<Property> buildPropertiesListHolder() {
- return new ListAspectAdapter<PersistenceUnit, Property>(getSubjectHolder(), PersistenceUnit.PROPERTIES_LIST) {
- @Override
- protected ListIterator<Property> listIterator_() {
- return subject.properties();
- }
-
- @Override
- protected int size_() {
- return subject.propertiesSize();
- }
- };
- }
-
- private ITableLabelProvider buildPropertyLabelProvider() {
- return new TableLabelProvider();
- }
-
- private AddRemoveTablePane.Adapter buildTableAdapter() {
- return new AddRemoveTablePane.AbstractAdapter() {
- public void addNewItem(ObjectListSelectionModel listSelectionModel) {
-
- Property property = subject().addProperty();
- propertyHolder.setValue(property);
-
- int index = subject().propertiesSize() - 1;
- TableItem tableItem = tablePane.getMainControl().getItem(index);
- tablePane.getMainControl().showItem(tableItem);
-
- tablePane.getTableViewer().editElement(
- property,
- PropertyColumnAdapter.NAME_COLUMN
- );
- }
-
- public void removeSelectedItems(ObjectListSelectionModel listSelectionModel) {
- for (Object item : listSelectionModel.selectedValues()) {
- subject().removeProperty((Property) item);
- }
- }
- };
- }
-
- /**
- * {@inheritDoc}
- */
- public String getHelpID() {
- return JpaHelpContextIds.PERSISTENCE_UNIT_PROPERTIES;
- }
-
- /**
- * {@inheritDoc}
- */
- public Image getPageImage() {
- return null;
- }
-
- /**
- * {@inheritDoc}
- */
- public String getPageText() {
- return JptUiPersistenceMessages.PersistenceUnitPropertiesComposite_properties;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected void initialize() {
- super.initialize();
- propertyHolder = new SimplePropertyValueModel<Property>();
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected void initializeLayout(Composite container) {
-
- buildLabel(
- container,
- JptUiPersistenceMessages.PersistenceUnitPropertiesComposite_properties_description
- );
-
- tablePane = new TablePane(container);
- }
-
- private static class PropertyColumnAdapter implements ColumnAdapter<Property> {
-
- public static final int COLUMN_COUNT = 3;
- public static final int NAME_COLUMN = 1;
- public static final int SELECTION_COLUMN = 0;
- public static final int VALUE_COLUMN = 2;
-
- private WritablePropertyValueModel<String> buildNameHolder(Property subject) {
- return new PropertyAspectAdapter<Property, String>(Property.NAME_PROPERTY, subject) {
- @Override
- protected String buildValue_() {
- return subject.getName();
- }
-
- @Override
- protected void setValue_(String value) {
- subject.setName(value);
- }
- };
- }
-
- private WritablePropertyValueModel<String> buildValueHolder(Property subject) {
- return new PropertyAspectAdapter<Property, String>(Property.VALUE_PROPERTY, subject) {
- @Override
- protected String buildValue_() {
- return subject.getValue();
- }
-
- @Override
- protected void setValue_(String value) {
- subject.setValue(value);
- }
- };
- }
-
- public WritablePropertyValueModel<?>[] cellModels(Property subject) {
- WritablePropertyValueModel<?>[] holders = new WritablePropertyValueModel<?>[COLUMN_COUNT];
- holders[SELECTION_COLUMN] = new SimplePropertyValueModel<Object>();
- holders[NAME_COLUMN] = buildNameHolder(subject);
- holders[VALUE_COLUMN] = buildValueHolder(subject);
- return holders;
- }
-
- public int columnCount() {
- return COLUMN_COUNT;
- }
-
- public String columnName(int columnIndex) {
-
- switch (columnIndex) {
- case PropertyColumnAdapter.NAME_COLUMN: {
- return JptUiPersistenceMessages.PersistenceUnitPropertiesComposite_nameColumn;
- }
-
- case PropertyColumnAdapter.VALUE_COLUMN: {
- return JptUiPersistenceMessages.PersistenceUnitPropertiesComposite_valueColumn;
- }
-
- default: {
- return null;
- }
- }
- }
- }
-
- private class TableLabelProvider extends LabelProvider
- implements ITableLabelProvider {
-
- public Image getColumnImage(Object element, int columnIndex) {
- return null;
- }
-
- public String getColumnText(Object element, int columnIndex) {
-
- Property property = (Property) element;
- String value = null;
-
- switch (columnIndex) {
- case PropertyColumnAdapter.NAME_COLUMN: {
- value = property.getName();
- break;
- }
-
- case PropertyColumnAdapter.VALUE_COLUMN: {
- value = property.getValue();
- break;
- }
- }
-
- if (value == null) {
- value = "";
- }
-
- return value;
- }
- }
-
- private class TablePane extends AddRemoveTablePane<PersistenceUnit> {
-
- private final String SELECTION_COLUMN = "selection";
-
- private TableViewer tableViewer;
-
- private TablePane(Composite parent) {
- super(PersistenceUnitPropertiesComposite.this,
- parent,
- buildTableAdapter(),
- buildPropertiesListHolder(),
- propertyHolder,
- buildPropertyLabelProvider());
- }
-
- private CellEditor[] buildCellEditors(Table table) {
- return new CellEditor[] {
- null,
- new TextCellEditor(table),
- new TextCellEditor(table)
- };
- }
-
- private ICellModifier buildCellModifier() {
- return new ICellModifier() {
-
- public boolean canModify(Object element, String property) {
- return !SELECTION_COLUMN.equals(property);
- }
-
- public Object getValue(Object element, String property) {
- Property propertyModel = (Property) element;
- String value = null;
-
- if (property == Property.NAME_PROPERTY) {
- value = propertyModel.getName();
- }
- else if (property == Property.VALUE_PROPERTY) {
- value = propertyModel.getValue();
- }
-
- if (value == null) {
- value = "";
- }
-
- return value;
- }
-
- public void modify(Object element, String property, Object value) {
- Property propertyModel;
-
- if (element instanceof TableItem) {
- TableItem tableItem = (TableItem) element;
- propertyModel = (Property) tableItem.getData();
- }
- else {
- propertyModel = (Property) element;
- }
-
- if (property == Property.NAME_PROPERTY) {
- propertyModel.setName(value.toString());
- }
- else if (property == Property.VALUE_PROPERTY) {
- propertyModel.setValue(value.toString());
- }
- }
- };
- }
-
- @Override
- protected ColumnAdapter<?> buildColumnAdapter() {
- return new PropertyColumnAdapter();
- }
-
- private String[] buildColumnProperties() {
- return new String[] {
- SELECTION_COLUMN,
- Property.NAME_PROPERTY,
- Property.VALUE_PROPERTY
- };
- }
-
- @Override
- protected Composite buildContainer(Composite parent) {
- Composite container = super.buildContainer(parent);
- container.setLayoutData(new GridData(GridData.FILL_BOTH));
- return container;
- }
-
- TableViewer getTableViewer() {
- return tableViewer;
- }
-
- @Override
- protected void initializeMainComposite(Composite container,
- Adapter adapter,
- ListValueModel<?> listHolder,
- WritablePropertyValueModel<?> selectedItemHolder,
- IBaseLabelProvider labelProvider,
- String helpId) {
-
- super.initializeMainComposite(
- container,
- adapter,
- listHolder,
- selectedItemHolder,
- labelProvider,
- helpId
- );
-
- Table table = getMainControl();
-
- // Make the selection column non-resizable since it's only used to
- // ease the selection of rows
- TableColumn selectionColumn = table.getColumn(PropertyColumnAdapter.SELECTION_COLUMN);
- selectionColumn.setResizable(false);
- selectionColumn.setWidth(20);
-
- // Install the editors
- tableViewer = new TableViewer(table);
- tableViewer.setCellEditors(buildCellEditors(table));
- tableViewer.setCellModifier(buildCellModifier());
- tableViewer.setColumnProperties(buildColumnProperties());
-
- getContainer().setLayoutData(new GridData(GridData.FILL_BOTH));
- table.setLayoutData(new GridData(GridData.FILL_BOTH));
- }
- }
-} \ No newline at end of file

Back to the top