Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEContentProvider.java')
-rw-r--r--plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEContentProvider.java244
1 files changed, 0 insertions, 244 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEContentProvider.java b/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEContentProvider.java
deleted file mode 100644
index 54e9f24c6..000000000
--- a/plugins/org.eclipse.jst.j2ee.navigator.ui/j2ee-navigator/org/eclipse/jst/j2ee/navigator/internal/J2EEContentProvider.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2006 IBM Corporation and others.
- * 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.navigator.internal;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.edit.provider.ItemProvider;
-import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider;
-import org.eclipse.jem.util.emf.workbench.ProjectUtilities;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jst.j2ee.internal.ejb.provider.BeanClassProviderHelper;
-import org.eclipse.jst.j2ee.internal.provider.MethodsProviderDelegate;
-import org.eclipse.jst.j2ee.navigator.internal.EMFRootObjectProvider.IRefreshHandlerListener;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.navigator.CommonViewer;
-import org.eclipse.ui.progress.UIJob;
-import org.eclipse.wst.common.internal.emfworkbench.integration.DynamicAdapterFactory;
-
-/**
- * <p>
- * The following class is experimental until fully documented.
- * </p>
- */
-public class J2EEContentProvider implements ITreeContentProvider, IRefreshHandlerListener {
-
- private static final Class IPROJECT_CLASS = IProject.class;
-
- private final EMFRootObjectProvider rootObjectProvider;
-
- private AdapterFactoryContentProvider delegateContentProvider;
- private MethodsProviderDelegate delegateMethodsProvider;
-
- private String viewerId = null;
- private AbstractTreeViewer viewer;
-
- /**
- *
- */
- public J2EEContentProvider() {
- rootObjectProvider = new EMFRootObjectProvider();
- rootObjectProvider.addRefreshHandlerListener(this);
- }
-
- /**
- *
- */
- public J2EEContentProvider(String aViewerId) {
- rootObjectProvider = new EMFRootObjectProvider();
- updateContentProviders(aViewerId);
- rootObjectProvider.addRefreshHandlerListener(this);
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
- */
- public Object[] getElements(Object anInputElement) {
- return getChildren(anInputElement);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider#getChildren(java.lang.Object)
- */
- public Object[] getChildren(Object aParentElement) {
- IProject project = null;
- List children = new ArrayList();
- if (aParentElement instanceof IAdaptable && !(aParentElement instanceof EObject) && !(aParentElement instanceof ItemProvider)) {
- project = (IProject) ((IAdaptable) aParentElement).getAdapter(IPROJECT_CLASS);
-
-
- // Verify if the model *is being*
- // loaded and just return the place holder
- if(LoadingDDNode.isBeingLoaded(project)) {
- children.add(LoadingDDNode.createPlaceHolder(project));
-
- // Verify if the model has been loaded, just return it
- } else if (rootObjectProvider.hasLoadedModels(project)) {
- /* model already loaded, just return the model */
- children.addAll(Arrays.asList(rootObjectProvider.getModels(project)));
-
- // Otherwise return a place holder node and start loading job
- } else {
- LoadingDDNode placeHolder = LoadingDDNode.createPlaceHolder(project);
- /* we need to load the model; possible long running operation */
- if(LoadingDDNode.canBeginLoading(project))
- new LoadingDDJob(viewer, placeHolder, (IAdaptable) aParentElement, rootObjectProvider)
- .schedule();
- children.add(placeHolder);
- }
-// if (project != null) {
-// LoadingDDNode placeHolder = new LoadingDDNode(project.getName());
-// LoadingDDJob loadJob = new LoadingDDJob(viewer, placeHolder, (IAdaptable) aParentElement, rootObjectProvider);
-// loadJob.schedule();
-// children.add(placeHolder);
-// }
- } else if (MethodsProviderDelegate.providesContentFor(aParentElement))
- return delegateMethodsProvider.getChildren(aParentElement);
- else /* if (isEMFEditObject(aParentElement)) */{
- Object[] siblings = delegateContentProvider.getChildren(aParentElement);
- if (siblings != null)
- children.addAll(Arrays.asList(siblings));
- }
- return children.toArray();
- }
-
- public Object getParent(Object object) {
- if (MethodsProviderDelegate.providesContentFor(object))
- return delegateMethodsProvider.getParent(object);
- Object parent = delegateContentProvider.getParent(object);
- if(parent instanceof Resource) {
- parent = ProjectUtilities.getProject((EObject) object);
- } else if (parent == null) {
- if(object instanceof BeanClassProviderHelper)
- parent = ((BeanClassProviderHelper) object).getEjb();
- else if (object instanceof EObject) {
- parent = ProjectUtilities.getProject((EObject) object);
- }
- }
- return parent;
- }
-
- /**
- * @see org.eclipse.jface.viewers.IContentProvider#dispose()
- */
- public void dispose() {
- rootObjectProvider.removeRefreshHandlerListener(this);
- delegateContentProvider.dispose();
- rootObjectProvider.dispose();
- delegateMethodsProvider.dispose();
-
- }
-
- /*
- * @see ITreeContentProvider#hasChildren(Object)
- */
- public boolean hasChildren(Object element) {
- if (MethodsProviderDelegate.providesContentFor(element))
- return delegateMethodsProvider.hasChildren(element);
- /* else if (isEMFEditObject(element)) */
- if(element instanceof ItemProvider)
- return true;
- return delegateContentProvider.hasChildren(element);
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
- * java.lang.Object, java.lang.Object)
- */
- public void inputChanged(Viewer aViewer, Object anOldInput, Object aNewInput) {
- String newViewerId = null;
- viewer = (AbstractTreeViewer) aViewer;
- if (aViewer instanceof CommonViewer)
- newViewerId = ((CommonViewer) aViewer).getNavigatorContentService().getViewerId();
-
- if (newViewerId != null && (viewerId == null || !viewerId.equals(newViewerId)))
- updateContentProviders(newViewerId);
-
- delegateContentProvider.inputChanged(aViewer, anOldInput, aNewInput);
- delegateMethodsProvider.inputChanged(aViewer, anOldInput, aNewInput);
- }
-
- /**
- * @param viewerId2
- */
- private void updateContentProviders(String aViewerId) {
-
- /* Dispose of the existing content providers */
- if (delegateContentProvider != null)
- delegateContentProvider.dispose();
- if (delegateMethodsProvider != null)
- delegateMethodsProvider.dispose();
-
- /* Create new content providers using the new viewer id */
- DynamicAdapterFactory adapterFactory = new DynamicAdapterFactory(aViewerId);
- delegateContentProvider = new AdapterFactoryContentProvider(adapterFactory);
- delegateMethodsProvider = new MethodsProviderDelegate(adapterFactory);
-
- /* Remember the viewer id */
- viewerId = aViewerId;
-
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.j2ee.navigator.internal.EMFRootObjectManager.IRefreshHandlerListener#onRefresh(java.lang.Object)
- */
- public void onRefresh(final Object element) {
- if (viewer instanceof AbstractTreeViewer) {
- if (Display.getCurrent() != null) {
- ((AbstractTreeViewer) viewer).refresh(element, true);
- } else {
- /* Create and schedule a UI Job to update the Navigator Content Viewer */
- Job job = new UIJob("Update the Navigator Content Viewer Job") { //$NON-NLS-1$
- public IStatus runInUIThread(IProgressMonitor monitor) {
- ((AbstractTreeViewer) viewer).refresh(element, true);
- return Status.OK_STATUS;
- }
- };
- ISchedulingRule rule = new ISchedulingRule() {
- public boolean contains(ISchedulingRule rule) {
- return rule == this;
- }
- public boolean isConflicting(ISchedulingRule rule) {
- return rule == this;
- }
- };
- if (rule != null) {
- job.setRule(rule);
- }
- job.schedule();
- }
- }
- }
-
-}

Back to the top