diff options
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/JpaDetailsView.java')
-rw-r--r-- | jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/JpaDetailsView.java | 216 |
1 files changed, 0 insertions, 216 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/JpaDetailsView.java b/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/JpaDetailsView.java deleted file mode 100644 index 3001902588..0000000000 --- a/jpa/plugins/org.eclipse.jpt.ui/src/org/eclipse/jpt/ui/internal/views/JpaDetailsView.java +++ /dev/null @@ -1,216 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2008 Oracle. All rights reserved. This - * program and the accompanying materials are made available under the terms of - * the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: Oracle. - initial API and implementation - *******************************************************************************/ -package org.eclipse.jpt.ui.internal.views; - -import java.util.HashMap; -import java.util.Map; -import org.eclipse.jpt.core.JpaStructureNode; -import org.eclipse.jpt.ui.JpaPlatformUi; -import org.eclipse.jpt.ui.JptUiPlugin; -import org.eclipse.jpt.ui.details.JpaDetailsPage; -import org.eclipse.jpt.ui.details.JpaDetailsProvider; -import org.eclipse.jpt.ui.internal.JptUiMessages; -import org.eclipse.jpt.ui.internal.Tracing; -import org.eclipse.jpt.ui.internal.platform.JpaPlatformUiRegistry; -import org.eclipse.jpt.ui.internal.selection.JpaSelection; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.FillLayout; -import org.eclipse.swt.widgets.Composite; - -/** - * The JPA view that shows the details a mapping (either type or attribute). - * - * @version 2.0 - * @since 1.0 - */ -@SuppressWarnings("nls") -public class JpaDetailsView extends AbstractJpaView -{ - /** - * The current <code>IJpaDetailsPage</code> that was retrieve based on the - * current selection. - */ - private JpaDetailsPage<JpaStructureNode> currentPage; - - /** - * The current selection used to show the right <code>IJpaDetailsPage</code>. - */ - private JpaSelection currentSelection; - - /** - * key: Object content node id, value: Composite page. - */ - private Map<Object, JpaDetailsPage<? extends JpaStructureNode>> detailsPages; - - /** - * Creates a new <code>JpaDetailsView</code>. - */ - public JpaDetailsView() { - super(JptUiMessages.JpaDetailsView_viewNotAvailable); - } - - private JpaDetailsPage<? extends JpaStructureNode> buildDetailsPage(JpaStructureNode structureNode) { - JpaDetailsProvider detailsProvider = getDetailsProvider(structureNode); - - if (detailsProvider == null) { - return null; - } - - String id = structureNode.getId(); - - Composite container = getWidgetFactory().createComposite(getPageBook()); - container.setLayout(new FillLayout(SWT.HORIZONTAL)); - - JpaDetailsPage<? extends JpaStructureNode> page = detailsProvider.buildDetailsPage( - container, - id, - getWidgetFactory() - ); - - if (page != null) { - this.detailsPages.put(id, page); - } - - return page; - } - - /* - * (non-Javadoc) - */ - @Override - public void dispose() { - - detailsPages.clear(); - - currentSelection = JpaSelection.NULL_SELECTION; - currentPage = null; - - super.dispose(); - } - - private JpaDetailsPage<? extends JpaStructureNode> getDetailsPage(JpaStructureNode structureNode) { - if (detailsPages.containsKey(structureNode.getId())) { - JpaDetailsPage<? extends JpaStructureNode> page = detailsPages.get(structureNode.getId()); - - if ((page != null) && - (page.getControl().isDisposed())) { - detailsPages.remove(structureNode.getId()); - } - else { - return page; - } - } - return buildDetailsPage(structureNode); - } - - private JpaDetailsProvider getDetailsProvider(JpaStructureNode structureNode) { - - String platformId = structureNode.getJpaProject().getJpaPlatform().getId(); - JpaPlatformUi jpaPlatformUI = JpaPlatformUiRegistry.instance().jpaPlatform(platformId); - return jpaPlatformUI.detailsProvider(structureNode); - - //TODO this view and the detailsProviders Map is not created on a per project basis. - //the detailsProviders and their fileContentTypes could overlap across project, this would cause problems with storing this map. - } - - public JpaSelection getSelection() { - return currentSelection; - } - - /* - * (non-Javadoc) - */ - @Override - protected void initialize() { - super.initialize(); - - this.currentSelection = JpaSelection.NULL_SELECTION; - this.detailsPages = new HashMap<Object, JpaDetailsPage<? extends JpaStructureNode>>(); - } - - private void log(String message) { - if (Tracing.booleanDebugOption(Tracing.UI_DETAILS_VIEW)) { - Tracing.log(message); - } - } - - /* - * (non-Javadoc) - */ - @Override - public void select(JpaSelection jpaSelection) { - if (jpaSelection.equals(currentSelection)) { - return; - } - - currentSelection = jpaSelection; - - if (jpaSelection != JpaSelection.NULL_SELECTION) { - JpaStructureNode newNode = jpaSelection.getSelectedNode(); - JpaDetailsPage<? extends JpaStructureNode> newPage = getDetailsPage(newNode); - setCurrentPage(newPage); - } - else { - setCurrentPage(null); - } - } - - /** - * Changes the current page and shows the given page. - * - * @param newPage The new page to display - */ - @SuppressWarnings("unchecked") - private void setCurrentPage(JpaDetailsPage<? extends JpaStructureNode> page) { - - // Unpopulate old page - if (currentPage != null) { - try { - log("JpaDetailsView.setCurrentPage() : disposing of current page"); - - currentPage.setSubject(null); - } - catch (Exception e) { - JptUiPlugin.log(e); - } - } - - JpaDetailsPage<JpaStructureNode> newPage = (JpaDetailsPage<JpaStructureNode>) page; - - // Populate new page - if (page != null) { - try { - log("JpaDetailsView.setCurrentPage() : populating new page"); - newPage.setSubject(currentSelection.getSelectedNode()); - } - catch (Exception e) { - // Show error page - page = null; - JptUiPlugin.log(e); - } - } - else { - log("JpaDetailsView.setCurrentPage() : No page to populate"); - } - - //no need to show the page again if it is still the same - if (newPage != null && currentPage == newPage) { - return; - } - currentPage = newPage; - - // Show new page - if (page == null) { - showDefaultPage(); - } - else { - showPage(page.getControl()); - } - } -}
\ No newline at end of file |