Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/navigator/WebJavaContentProvider.java')
-rw-r--r--plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/navigator/WebJavaContentProvider.java302
1 files changed, 0 insertions, 302 deletions
diff --git a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/navigator/WebJavaContentProvider.java b/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/navigator/WebJavaContentProvider.java
deleted file mode 100644
index 1f9cb70bc..000000000
--- a/plugins/org.eclipse.jst.servlet.ui/servlet_ui/org/eclipse/jst/servlet/ui/internal/navigator/WebJavaContentProvider.java
+++ /dev/null
@@ -1,302 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2007 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.servlet.ui.internal.navigator;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-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.jdt.core.IJavaElement;
-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.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jst.j2ee.internal.project.J2EEProjectUtilities;
-import org.eclipse.jst.servlet.ui.internal.plugin.ServletUIPlugin;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.navigator.CommonViewer;
-import org.eclipse.ui.navigator.ICommonContentExtensionSite;
-import org.eclipse.ui.navigator.INavigatorContentExtension;
-import org.eclipse.ui.navigator.INavigatorContentService;
-import org.eclipse.ui.navigator.IPipelinedTreeContentProvider;
-import org.eclipse.ui.navigator.PipelinedShapeModification;
-import org.eclipse.ui.navigator.PipelinedViewerUpdate;
-
-public class WebJavaContentProvider implements IPipelinedTreeContentProvider {
-
- private static final Object[] NO_CHILDREN = new Object[0];
- private static final String JAVA_EXTENSION_ID = "org.eclipse.jdt.java.ui.javaContent"; //$NON-NLS-1$
-
- /*
- * JDT likes to make it interesting so just one of their viewer types is made internal To avoid
- * the dependency, we use some reflection here to filter the type.
- */
-
- private static Class INTERNAL_CONTAINER_CLASS;
- static {
- try {
- INTERNAL_CONTAINER_CLASS = Class.forName("org.eclipse.jdt.internal.ui.packageview.ClassPathContainer"); //$NON-NLS-1$
- } catch (Throwable t) {
- // ignore if the class has been removed or renamed.
- INTERNAL_CONTAINER_CLASS = null;
- }
- }
-
-
- private CommonViewer commonViewer;
- private ITreeContentProvider delegateContentProvider;
- private final Map compressedNodes = new HashMap();
-
- public void getPipelinedChildren(Object aParent, Set theCurrentChildren) {
- try {
- if (aParent instanceof IProject && ((IProject)aParent).hasNature(JavaCore.NATURE_ID) && J2EEProjectUtilities.isDynamicWebProject((IProject)aParent)) {
- cleanJavaContribution(theCurrentChildren);
- theCurrentChildren.add(getCompressedNode((IProject)aParent));
- }
- } catch (CoreException e) {
- ServletUIPlugin.log(e);
- }
- }
-
- private void cleanJavaContribution(Set theCurrentChildren) {
- IJavaElement element = null;
- for (Iterator iter = theCurrentChildren.iterator(); iter.hasNext();) {
- Object child = iter.next();
- if (child instanceof IResource && ((element = JavaCore.create((IResource) child)) != null) && element.exists())
- iter.remove();
- else if (child instanceof IJavaElement)
- iter.remove();
- else if (INTERNAL_CONTAINER_CLASS != null && INTERNAL_CONTAINER_CLASS.isInstance(child))
- iter.remove();
- }
- }
-
- private CompressedJavaProject getCompressedNode(IProject project) {
- if (!J2EEProjectUtilities.isDynamicWebProject(project))
- return null;
- CompressedJavaProject result = (CompressedJavaProject) compressedNodes.get(project);
- if (result == null) {
- compressedNodes.put(project, result = new CompressedJavaProject(commonViewer, project));
- }
- return result;
- }
-
- public void getPipelinedElements(Object anInput, Set theCurrentElements) {
-
- }
-
- public Object getPipelinedParent(Object anObject, Object aSuggestedParent) {
-
- try {
- if (anObject instanceof IPackageFragmentRoot) {
- IPackageFragmentRoot root = (IPackageFragmentRoot) anObject;
- if (!root.isExternal()) {
- if( aSuggestedParent instanceof IJavaProject ) {
- return getCompressedNode( ((IJavaProject) aSuggestedParent).getProject() );
- } else if ( aSuggestedParent instanceof IProject && ((IProject)aSuggestedParent).hasNature(JavaCore.NATURE_ID) && J2EEProjectUtilities.isDynamicWebProject((IProject)aSuggestedParent) ){
- return getCompressedNode( ((IProject) aSuggestedParent) );
- }
- }
- } else if(INTERNAL_CONTAINER_CLASS.isInstance(anObject)) {
- if( aSuggestedParent instanceof IJavaProject ) {
- return getCompressedNode( ((IJavaProject) aSuggestedParent).getProject() ).getCompressedJavaLibraries();
- } else if ( aSuggestedParent instanceof IProject && ((IProject)aSuggestedParent).hasNature(JavaCore.NATURE_ID) && J2EEProjectUtilities.isDynamicWebProject((IProject)aSuggestedParent)){
- return getCompressedNode( ((IProject) aSuggestedParent) ).getCompressedJavaLibraries();
- }
- }
- } catch (CoreException e) {
- ServletUIPlugin.log(e);
- }
-
- return null;
- }
-
- public PipelinedShapeModification interceptAdd(PipelinedShapeModification anAddModification) {
- Object parent = anAddModification.getParent();
-
- if (parent instanceof IPackageFragmentRoot) {
- IPackageFragmentRoot sourceFolder = (IPackageFragmentRoot) parent;
- if (J2EEProjectUtilities.isDynamicWebProject(sourceFolder.getJavaProject().getProject())) {
- CompressedJavaProject compressedNode = getCompressedNode(sourceFolder.getJavaProject().getProject());
- if(compressedNode.isFlatteningSourceFolder()) {
- anAddModification.setParent(compressedNode);
- }
- }
- }
-
- return anAddModification;
- }
-
-
- public PipelinedShapeModification interceptRemove(PipelinedShapeModification aRemoveModification) {
-
- Object parent = aRemoveModification.getParent();
-
- Set children = aRemoveModification.getChildren();
-
- for (Object child : children) {
- if (child instanceof IFolder){
- try {
- IPackageFragment locatePackageFragment = locatePackageFragment((IFolder)child);
- if(locatePackageFragment != null){
- aRemoveModification.getChildren().remove(child);
- aRemoveModification.getChildren().add(locatePackageFragment);
-
- return aRemoveModification;
- }
- } catch (JavaModelException e) {
- }
- }
- }
-
- if (parent instanceof IPackageFragmentRoot) {
- IPackageFragmentRoot sourceFolder = (IPackageFragmentRoot) parent;
- if (J2EEProjectUtilities.isDynamicWebProject(sourceFolder.getJavaProject().getProject())) {
- CompressedJavaProject compressedNode = getCompressedNode(sourceFolder.getJavaProject().getProject());
- if(compressedNode.isFlatteningSourceFolder()) {
- aRemoveModification.setParent(compressedNode);
- }
- }
-
- }
-
- return aRemoveModification;
- }
-
- private IPackageFragment locatePackageFragment(IFolder child) throws JavaModelException {
- IJavaProject javaProject = JavaCore.create(child.getProject());
- IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots();
-
- IJavaElement elem = JavaCore.create(child);
- if (elem instanceof IPackageFragment) {
- IPackageFragment packageFragment = (IPackageFragment)elem;
- for (IJavaElement javaElem = packageFragment ; javaElem != null ; javaElem = javaElem.getParent()) {
- if (javaElem instanceof IPackageFragmentRoot) {
- IPackageFragmentRoot fragmentRoot = (IPackageFragmentRoot)javaElem;
- if (!fragmentRoot.isReadOnly() && !fragmentRoot.isExternal()) {
- return packageFragment;
- }
- }
- }
- }
- return null;
- }
-
- public boolean interceptRefresh(PipelinedViewerUpdate aRefreshSynchronization) {
-
- Set refreshTargets = aRefreshSynchronization.getRefreshTargets();
- for (Iterator iter = refreshTargets.iterator(); iter.hasNext();) {
- Object refreshTarget = iter.next();
- if (refreshTarget instanceof IPackageFragmentRoot) {
- IPackageFragmentRoot sourceFolder = (IPackageFragmentRoot) refreshTarget;
- if (J2EEProjectUtilities.isDynamicWebProject(sourceFolder.getJavaProject().getProject())) {
- CompressedJavaProject compressedNode = getCompressedNode(sourceFolder.getJavaProject().getProject());
- if(compressedNode.isFlatteningSourceFolder()) {
- iter.remove(); // voids the iter but is okay because we're done with it
- refreshTargets.add(compressedNode);
- return true;
- }
- }
-
- }
- }
-
- return false;
- }
-
-
- public boolean interceptUpdate(PipelinedViewerUpdate anUpdateSynchronization) {
- Set refreshTargets = anUpdateSynchronization.getRefreshTargets();
- for (Iterator iter = refreshTargets.iterator(); iter.hasNext();) {
- Object refreshTarget = iter.next();
- if (refreshTarget instanceof IPackageFragmentRoot) {
- IPackageFragmentRoot sourceFolder = (IPackageFragmentRoot) refreshTarget;
- if (sourceFolder.getJavaProject()!=null && sourceFolder.getJavaProject().exists() && sourceFolder.getJavaProject().isOpen() && J2EEProjectUtilities.isDynamicWebProject(sourceFolder.getJavaProject().getProject())) {
- CompressedJavaProject compressedNode = getCompressedNode(sourceFolder.getJavaProject().getProject());
- if(compressedNode.isFlatteningSourceFolder()) {
- iter.remove(); // voids the iterator; but is okay because we're done with it
- refreshTargets.add(compressedNode);
- return true;
- }
- }
- }
- }
-
- return false;
- }
-
- public void init(ICommonContentExtensionSite aSite) {
- }
-
- public Object[] getChildren(Object parentElement) {
- if (delegateContentProvider != null) {
- if (parentElement instanceof CompressedJavaProject) {
- return ((CompressedJavaProject)parentElement).getChildren(delegateContentProvider);
- } else if (parentElement instanceof CompressedJavaLibraries) {
- return ((CompressedJavaLibraries)parentElement).getChildren(delegateContentProvider);
- }
- }
- return NO_CHILDREN;
- }
-
- public Object getParent(Object element) {
- if (element instanceof CompressedJavaProject)
- return ((CompressedJavaProject) element).getProject();
- if (element instanceof CompressedJavaLibraries)
- return ((CompressedJavaLibraries) element).getCompressedProject();
- return null;
- }
-
- public boolean hasChildren(Object element) {
- return (element instanceof CompressedJavaProject || element instanceof CompressedJavaLibraries);
- }
-
- public Object[] getElements(Object inputElement) {
- return NO_CHILDREN;
- }
-
- public void dispose() {
- compressedNodes.clear();
- }
-
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- if (viewer instanceof CommonViewer) {
- commonViewer = (CommonViewer) viewer;
- INavigatorContentService service = commonViewer.getNavigatorContentService();
- INavigatorContentExtension javaext = service.getContentExtensionById(JAVA_EXTENSION_ID);
- if (javaext != null)
- delegateContentProvider = javaext.getContentProvider();
- compressedNodes.clear();
- }
-
- }
-
- public void restoreState(IMemento aMemento) {
-
- }
-
- public void saveState(IMemento aMemento) {
-
- }
-
- public boolean isClasspathContainer(Object o) {
- return INTERNAL_CONTAINER_CLASS != null && INTERNAL_CONTAINER_CLASS.isInstance(o);
- }
-
-}

Back to the top